Вопрос

Я использую TortoiseSVN для репозитория SourceForge SVN.Я хотел бы переместить файл из одной папки в другую, чтобы сохранить историю его изменений.Это возможно?Если так, то как ты это делаешь?

(Моя текущая стратегия заключалась в том, чтобы скопировать файл в новую папку, вернуть его, а затем удалить файл из текущей папки.)

Это было полезно?

Решение

Subversion имеет встроенную поддержку перемещения файлов.

svn move SOURCE DESTINATION

Дополнительную информацию смотрите в онлайн-справке (svn help move).

Другие советы

Посмотреть раздел 5.14.2.Перемещение файлов и папок (или проверьте «переместить» в указателе справки) справки TortoiseSVN.Вы делаете движение, перетаскивая вправо.В нем также упоминается, что вам необходимо выполнить фиксацию из родительской папки, чтобы сделать ее «одной» ревизией.Это работает для внесения изменений в рабочую копию.

(Обратите внимание, что элементы SVN на следующем изображении будут отображаться только в том случае, если папка назначения уже добавлена ​​в репозиторий.)

tortoise move menu

Вы также можете выполнить перемещение через браузер репо (раздел 5.23.Браузер репозитория о помощи).

С TortoiseSVN я просто перемещаю файл на диск.

Когда я прихожу к фиксации своих изменений, я выбираю отсутствующий файл и новый и выбираю "Ремонтный переезд" из контекстного меню:

enter image description here

Это означает, что я могу позволить своей IDE перемещать файлы и использовать инструменты рефакторинга без потери истории.

В TortoiseSVN щелкните правой кнопкой мыши где-нибудь и выберите TortoiseSVN > Браузер репозитория, чтобы открыть репозиторий.

Все, что вам нужно сделать, это перетащить файл из одной папки в нужное место.Он попросит вас добавить сообщение о фиксации и по умолчанию установит его как «Файл/папка перемещена удаленно».

Используя TortoiseSVN, я просто щелкаю правой кнопкой мыши и перетаскиваю папку из одного места в другое.Когда вы отпустите правой кнопкой мыши, у вас будет возможность «File версии SVN перемещения». Тем не менее, я считаю, что SVN не делает ничего «причудливого», а просто удаляет файл в предыдущем месте и добавляет его в новое место.

Для клиента TortoiseSVN:

  1. Выберите файлы, которые хотите переместить,
  2. Верно щелкните и перетащите файлы в папку, в которую вы хотите их переместить,
  3. После того, как вы отпустите перетаскивание папки, появится всплывающее окно.Нажмите «SVN Переместите сюда элементы с версиями»,
  4. После того, как вы нажмете выше, появится окно сообщения о фиксации.Введите сообщение и отправьте.

Теперь все готово.

Вырежьте файл через контекстное меню операционной системы, как обычно, затем вместо обычной вставки щелкните правой кнопкой мыши, чтобы открыть контекстное меню, затем выберите TortoiseSVN -> Paste (убедитесь, что вы делаете коммит от root, чтобы включить в коммит как старые, так и новые файлы).

Я думаю, что в браузере SVN в черепахах его можно просто перетащить из одного места в другое.

Поскольку вы используете Tortoise, возможно, вы захотите перейти по этой ссылке на LosTechies.Это должно быть почти именно то, что вы ищете.

http://www.lostechies.com/blogs/joshua_lockwood/archive/2007/09/12/subversion-tip-of-the-day-moving-files.aspx

Черепаха также может называться «переименовать», но svn move — это команда в базовом клиенте svn.

Если я не ошибаюсь, начиная с версии 1.5 SVN может отслеживать перемещенные файлы\папки.В TortoiseSVN можно перемещать файлы с помощью перетаскивания.

Если вы перемещаете папки через браузер репозитория, опция «Переместить» при щелчке правой кнопкой мыши отсутствует;единственный способ - перетащить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top