首页 > 解决方案 > 将存储在 svn 上的文件与本地驱动器上的文件进行比较

问题描述

我正在尝试在 PowerShell 上编写一个脚本,它将 svn 文件与本地文件进行比较,然后显示有更改的文件。我还想显示存在于本地驱动器上但不在 svn 位置上的文件名。

我的代码是:

$list1 = (svn list C:\Users\name\Desktop\Workingfiles\)

foreach ($thisFile in $list1){
    Write-Host $thisFile
    $var = (svn diff C:\Users\name\Desktop\Workingfiles\$thisFile svn://server/files/Users/name/$thisFile )
    # Write-Host $var
}

标签: powershellsvn

解决方案


您可以将svn diff命令与--old--new选项一起使用。但是,您似乎无法将存储库项与本地未版本化的存储库项进行比较。不过,您应该能够将文件与未版本化文件的工作副本区分开来。

但是将 repo 文件的内容写入文件呢?这是一个例子:

svn cat URL-TO-FILE > file-from-repo.txt
svn diff --old file-from-repo.txt --new local-file.txt

推荐阅读