SVN Log / diff для файлов в удаленном каталоге - PullRequest
3 голосов
/ 12 октября 2010

В моем проекте другой разработчик реорганизовал некоторые файлы, и теперь у меня возникли некоторые проблемы с получением их различий :-( Я начал с того, что подумал, что было бы неплохо, чтобы webSVN мог показывать эти различия,теперь я просто хотел бы видеть их сам!

Я знаю, что 'svn way' - это удаление как операции над родительским каталогом, но моя проблема усугубляется тем, чтофайлы были в подкаталоге, который был удален.

Исходная структура:

 conf/
      files/
            configfile1
            configfile2

Вот что произошло:

$ svn log -vr 5
...
D /conf/files
A /conf/combined_configfile

То, что я пытаюсь получить, этоРазличия изменений, ранее внесенных в конфигурационные файлы, до того, как произойдет удаление. Было бы неплохо примерно так:

svn diff -r 2:4 conf/files/configfile1
svn: 'conf/files' is not a working copy
svn: 'conf/files' does not exist

или даже:

svn diff -r 2:4 'conf/files'
svn: 'conf/files' is not under version control

или как насчет:

svn diff -r 2:4 'https://svnhost.localdomain/project1/conf/files'
svn: '/proj1/!svn/bc/1343/conf/files' path not found

Похоже, что единственный способ добраться до этой истории - через svn-операции над каталогом, который в настоящее время присутствует в головной версии репозитория (в данном случае conf/), расширяя область действияdiff massively.

Конечно, должен быть лучший путь?

Ответы [ 2 ]

6 голосов
/ 12 октября 2010

svn diff имеет несколько форм использования

одна, если они

diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]

Это лучше, чем опция -r при изменении структуры каталогов проекта.Попробуйте это:

svn diff  https://svnhost.localdomain/project1/conf/files@2 https://svnhost.localdomain/project1/conf/files@4
1 голос
/ 12 октября 2010

Почему бы не получить копию файлов, которые вам нужны из предыдущей версии, а затем получить ваши последние, с которыми вы хотите столкнуться, а затем использовать многочисленные открытые разностные программы ... TortiseSVN (также сделайте его своим пользовательским интерфейсом для репозитория SVN), WinMerge и т. д. *

Не заставляйте использовать CLN CLN для различий, используйте любойи все инструменты доступны.Пока вы можете получить доступ к предыдущим версиям, это не должно быть проблемой.

...