Как переименовать файл с помощью svn?
Когда я пытаюсь svn mv old_file_name new_file_name
, я получаю
svn: Path 'new_file_name' is not a directory
Каков правильный путь? (извините, это кажется настолько тривиальным, но я застрял).
PS. используя svn версию 1.6.11
EDIT Кажется, я получаю эту ошибку, только если new_file_name
ссылается на имя файла, который в настоящее время находится под управлением версиями. В этом случае, конечно, я могу просто
mv old_file_name new_file_name
svn delete old_file_name
Ответы
Ответ 1
Следующее работает с SVN 1.7.9:
svn rm new_file_name
svn mv old_file_name new_file_name
svn commit
Таким образом, вы можете внести изменения с одной фиксацией, а файл new_file_name
имеет непрерывную историю. Выходной сигнал svn stat
выглядит следующим образом:
R + new_file_name
D old_file_name
R
означает, что файл был заменен другим файлом, а файл содержит историю.
Ответ 2
Использование TortoiseSVN легко работало на Windows для меня.
http://tortoisesvn.net/
Правый файл клика → Меню TortoiseSVN → Repo-browser → файл правого щелчка в репозитории → rename → нажмите Enter → нажмите Ok
Использование SVN 1.8.8
Версия TortoiseSVN 1.8.5
Ответ 3
Это сообщение появится, если вы используете файловую систему, не учитывающую регистр (например, на Mac), и вы пытаетесь использовать это имя (или другое изменение).
В этом случае вам нужно переименовать в третий, фиктивный, имя:
svn mv file-name file-name_
svn mv file-name_ FILE_Name
svn commit
Ответ 4
Вы можете сделать это, выполнив следующие шаги:
- svn rm old_file_name
- svn add new_file_name
- svn commit
Что все!!!