Як перенести файл (або папку) з однієї папки в іншу в TortoiseSVN?


247

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

Оновлення: люди запропонували "перейти" з командного рядка. Чи є еквівалент TortoiseSVN?

Відповіді:


448

Щоб перемістити файл або набір файлів за допомогою Tortoise SVN, клацніть правою кнопкою миші та перетягніть цільові файли до місця призначення та відпустіть праву кнопку миші. У спливаючому меню буде SVN move versioned files hereможливість.

Зверніть увагу, що папка призначення повинна бути вже додана до сховища, SVN move versioned files hereщоб з'явитись параметр.


32
Мені потрібно було зробити те саме, і це спрацювало чудово. Ніколи не знав про цей варіант. Велике спасибі!
DavGarcia

4
Дякую! Примітка. Згодом він показує у журналі змін купу ВІДКРИТИХ та ДОБАВЕНИХ файлів та каталогів, але історія редагувань наслідує файли навколо. :)
Yoh Suzuki

1
Що робити, якщо я вже перемістив файл, але svn все ще вважає його в іншому каталозі?
Шон Мклін

4
Вам також (безумовно, v1.7.6) потрібно переконатися, що до каталогу, в який ви переміщуєте файли, вже додано підрив
icc97

Легендарна відповідь зробила мій день, ти!
Кирило Гандон


22

У Windows Explorer за допомогою правої кнопки миші клацніть та перетягніть файл звідти, де ви хочете. Відпустивши праву кнопку миші, ви побачите контекстне меню з такими опціями, як "SVN Move verioned file here".

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



5

Якщо ви хочете переміщувати файли та постійно оновлювати файли csproj, найпростішим способом є використання плагіна Visual Studio, як AnkhSVN . Це автоматично здійснить як переміщення дії (як видалення + додавання з історією, оскільки так працює Subversion), так і зміни в .csproj


4

З командного рядка можна вводити текст svn mv path1 path2. Це створить операцію додавання та видалення, але насправді немає способу обійти це, наскільки я знаю, у Subversion.


3

Subversion ще не має операцій з перейменуванням першого класу.

Проблема має 6-річну помилку: http://subversion.tigris.org/isissue/show_bug.cgi?id=898

Він вважається для 1.6, тепер додано відстеження злиття (більш високий пріоритет) (в 1.5).


1

Використовуйте команду RENAME Tortoise і введіть відносний шлях ("папка / файл.ext").


0

Як згадувалося раніше, ви створите команди додавання та видалення. Ви можете використовувати переміщення svn як на робочій копії, так і на URL-сховищі. Якщо ви використовуєте свою робочу копію, зміни не будуть здійснені - вам потрібно буде здійснити окрему операцію.

Якщо SVN перемістить URL-адресу, вам потрібно буде надати - повідомлення, і зміни будуть відображені в сховищі негайно.


0

Використовуйте svn moveкоманду для переміщення файлу / папки.


0

Ви повинні перетягнути файл за допомогою правої кнопки миші. Щойно ви випустите файл до нового пункту призначення, ви будете дотримуватися опції:

SVN переміщає сюди файли з версією.

Просто виберіть цей варіант, і ви закінчите !!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.