Скажем, что у меня есть два файла в репозитории Subversion:
workingcopy/
file1.txt
file2.txt
И затем я переименовываю одно, внешнее SVN:
$ mv file1.txt fileA.txt
Теперь SVN отмечает файл file1.txt как отсутствующий, fileA.txt
как неверсифицированный
$ svn st
! file1.txt
? fileA.txt
Насколько известно SVN, я удалил file1.txt
и создал совершенно другой файл fileA.txt
, поэтому он не будет знать, как отслеживать изменения между файлами.
EDIT: это действительно работает, я просто не могу правильно записать имена файлов:)
Аналогично, если вы удалите файл
$ rm file2.txt
$ svn st
! file2.txt
SVN знает только, что файл пропал без вести, и попытка удалить его не работает:
Забастовкa >
$ svn remove file2.txt
svn: 'file2.txt' does not exist
Я знаю, что в Mercurial вы можете пометить файл как перемещенный, скопированный, удаленный и т.д. после факта с флагом --after
, независимо от того, что Mercurial видит в рабочей копии.
Есть ли аналогичный трюк в SVN?