Не удается зафиксировать папки с помощью черепахи - PullRequest
0 голосов
/ 21 июля 2010

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

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

Когда я пытаюсь обновить ее, я получаю «Целевой путь» [местоположение] «не существует».К сожалению, это место в структуре, в которой существовали папки, ДО того, как я их переместил.Кажется, он пытается обновить их из неправильного местоположения.

Итак, я застрял в цикле «не могу зафиксировать, не могу обновить», и я понятия не имею, как из него выйти.

Я думаю, что, должно быть, произошло то, что я скопировал папку, включая папку .svn внутри нее, в новое место.Подрывная деятельность в папке .svn все еще думает, что она должна соединиться со старым местоположением при обращении к хранилищу.

Может кто-нибудь помочь?

Спасибо

Дэвид

Ответы [ 3 ]

0 голосов
/ 21 июля 2010

В этом случае я решил проблему, удалив папки .svn в папке.Это означало, что они просто казались черепахам новыми папками, и я смог их зафиксировать.

0 голосов
/ 22 июля 2010

Рад, что вы смогли решить это. Я предполагаю, что вам пришлось "svn добавить" папку после удаления папки ".svn". Это имеет неприятный побочный эффект - уносит историю этих файлов.

В будущем, когда вы перемещаете вещи, используя Черепаху, вы должны помнить о самой забытой функции : перетаскивание правой кнопкой мыши. Вы должны привыкнуть использовать перетаскивание правой кнопкой мыши при перемещении версионных файлов и папок с помощью Tortoise, поскольку перетаскивание правой кнопкой мыши позволяет «svn move», «svn copy» или «svn add» файлы / папки, которые вы тянут. Ключ к работе с Tortoise (и всеми svn-клиентами, в этом отношении) заключается в том, чтобы помнить, что стандартные операции с файловой системой могут запутать svn. Любые операции, которые вы выполняете над своими файлами, должны выполняться с помощью соответствующих действий «svn», чтобы svn знал, как отслеживать изменения и сохранять историю файлов / папок.

Если вы работаете в IDE, я бы предложил использовать плагин svn для IDE, потому что они, как правило, очень хорошо справляются с этими проблемами. В стране MS есть VisualSVN , а в земле Java - Subversive .

0 голосов
/ 21 июля 2010

Иногда принудительное обновление работает

svn up --force .

В командной строке

...