#powershell #svn
#powershell #svn
Вопрос:
Я пытаюсь написать скрипт на PowerShell, который будет сравнивать файлы svn с локальными файлами, а затем отображать файлы, в которых есть изменения. Я хотел бы также отобразить имена файлов, которые существуют на локальном диске, но не в расположении svn.
Мой код:
$list1 = (svn list C:UsersnameDesktopWorkingfiles)
foreach ($thisFile in $list1){
Write-Host $thisFile
$var = (svn diff C:UsersnameDesktopWorkingfiles$thisFile svn://server/files/Users/name/$thisFile )
# Write-Host $var
}
Комментарии:
1.
svn diff
предназначен для сравнения различных ревизий файла в репозитории, а не для сравнения файла в репозитории с файлом вне репозитория. Для последнего используйте обычные утилиты сравнения файлов вашей системы (diff
,fc
,Compare-Object
, …).2. Я подумал, что это возможно, потому что в Linux вы можете сделать это, я думаю, с помощью команды grep index
Ответ №1:
Вы можете использовать svn diff
команду с параметрами --old
и --new
. Однако, похоже, что вы не можете отличить элемент репозитория от локального неверсированного. Однако вы должны иметь возможность отличать файл от рабочей копии с помощью неверсированного файла.
Но как насчет записи содержимого репозитория в файл? Вот пример:
svn cat URL-TO-FILE > file-from-repo.txt
svn diff --old file-from-repo.txt --new local-file.txt