Когда я пытаюсь svn mv old_file_name new_file_name
, я получаю
svn: Path 'new_file_name' is not a directory
Как правильно? (извините, это кажется таким тривиальным, но я застрял).
PS. с использованием svn версии 1.6.11
ИЗМЕНИТЬ, похоже, я получаю эту ошибку, только если new_file_name
ссылаюсь на имя файла, который в настоящее время находится под контролем версий. В этом случае, конечно, я могу просто
mv old_file_name new_file_name
svn delete old_file_name
file://...
илиsvn://...
илиhttp://...
к файлу.Ответы:
Поведение различается в зависимости от того, существует ли уже имя целевого файла или нет. Обычно это предохранительный механизм, и существует как минимум 3 разных случая:
Целевой файл не существует:
В этом случае
svn mv
должно работать следующее:Целевой файл уже существует в репозитории:
В этом случае целевой файл необходимо явно удалить, прежде чем исходный файл можно будет переименовать. Это можно сделать в той же транзакции следующим образом:
В выходных данных
svn stat
,R
указывает, что файл был заменен, и что у файла есть история.Целевой файл уже существует локально (неверсирован):
В этом случае содержимое локального файла будет потеряно. Если это нормально, то файл можно удалить локально перед переименованием существующего файла.
источник
Для меня TortoiseSVN легко работал в Windows.
http://tortoisesvn.net/
Щелкните правой кнопкой мыши файл -> меню TortoiseSVN -> Repo-browser -> щелкните правой кнопкой мыши файл в репозитории -> переименовать -> нажмите Enter -> нажмите Ok
Использование SVN 1.8.8 TortoiseSVN версии 1.8.5
источник
Это сообщение появится, если вы используете файловую систему без учета регистра (например, на Mac) и пытаетесь использовать имя с большой буквы (или другое изменение регистра). В этом случае вам нужно переименовать в третье, фиктивное, имя:
источник
Это может быть, если вы создали новый каталог на диске ДО того, как создать / зафиксировать его в SVN. Все, что вам нужно, это просто создать его в SVN и двигаться после:
источник
Вы можете сделать это, выполнив 3 шага:
источник