Как переименовать файл с помощью 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

Что все!!!