Как переместить файл (или папку) из одной папки в другую в TortoiseSVN? - PullRequest
242 голосов
/ 15 сентября 2008

Я хотел бы переместить файл или папку из одного места в другое в пределах одного и того же хранилища, не используя для этого Repo Browser и не создавая двух независимых операций добавления / удаления. Использование Repo Browser работает отлично, за исключением того, что ваш код будет зависать в нерабочем состоянии до тех пор, пока не будут проверены все последующие изменения (например, файл .csproj).

Обновление: люди предложили «переместить» из командной строки. Есть ли эквивалент TortoiseSVN?

Ответы [ 10 ]

437 голосов
/ 15 сентября 2008

Чтобы переместить файл или набор файлов с помощью Tortoise SVN, щелкните правой кнопкой мыши и перетащите целевые файлы к месту назначения и отпустите правую кнопку мыши. Всплывающее меню будет иметь параметр SVN move versioned files here.

Обратите внимание, что папка назначения должна быть уже добавлена ​​в хранилище, чтобы появилась опция SVN move versioned files here.

59 голосов
/ 15 сентября 2008

svn move - переместить файл или каталог.

http://svnbook.red -bean.com / о / 1,0 / re18.html

21 голосов
/ 15 сентября 2008

В проводнике Windows правой кнопкой мыши перетащите файл из того места, где он находится, в нужное место. После отпускания правой кнопки мыши вы увидите контекстное меню с такими параметрами, как «SVN Move versioned file here».

http://tortoisesvn.net/most-forgotten-feature

6 голосов
/ 15 сентября 2008

Под TortoiseSVN см. Следующую страницу: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-copy.html

5 голосов
/ 15 сентября 2008

Если вы хотите переместить файлы вокруг и , чтобы поддерживать файлы csproj в актуальном состоянии, самый простой способ - использовать плагин Visual Studio, например AnkhSVN . Это автоматически совершит как действие перемещения (как удаление + добавление с историей, потому что так работает Subversion), так и изменение в .csproj

4 голосов
/ 15 сентября 2008

В командной строке вы можете ввести svn mv path1 path2. Это создаст операцию добавления и удаления, но, насколько я знаю, в Subversion этого не существует

3 голосов
/ 15 сентября 2008

В Subversion еще нет операций переименования первого класса.

Существует проблема 6-летней давности: http://subversion.tigris.org/issues/show_bug.cgi?id=898

Это рассматривается для 1.6, теперь добавлено отслеживание слияний (более высокий приоритет) (в 1.5).

1 голос
/ 30 мая 2010

Используйте команду RENAME от Tortoise и введите относительный путь ("folder / file.ext").

0 голосов
/ 15 сентября 2008

Как упоминалось ранее, вы создадите команды добавления и удаления. Вы можете использовать svn move как для своей рабочей копии, так и для URL репозитория. Если вы используете свою рабочую копию, изменения не будут зафиксированы - вам нужно будет зафиксировать их в отдельной операции.

Если вы переместите URL-адрес, вам необходимо указать --message, и изменения будут немедленно отражены в хранилище.

0 голосов
/ 15 сентября 2008

Используйте команду svn move для перемещения файла / папки.

...