2010-01-27 4 views
6

Когда я передаю код в репозиторий Subversion моей компании, у меня часто есть несколько файлов, которые необходимо проверить. Часто я хочу их проверить (зафиксировать) отдельно, потому что мне нравится группировать аналогичные файлы вместе.Удаление версии из TortoiseSVN

По умолчанию TortoiseSVN открывает диалоговое окно Commit со всеми выбранными файлами. Если я хочу только зафиксировать несколько из этих файлов, мне нужно «отменить выбор» тех, которые я не хочу комментировать, добавлять комментарии/примечания и выполнять коммит.

Время от времени я случайно забываю «отменить выбор всех» и завершить все файлы. Если бы я не собирался передавать все файлы, я бы хотел подумать, что смогу войти и удалить ревизию и начать все заново. Имейте в виду, что я не хочу удалять файлы из ревизии, я просто хочу, чтобы эта версия не существовала.

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

Из того, что я вижу, один из вариантов - «Отменить изменения из ревизии 9651». Но это то, что он хранит 9651 в репозитории и откатывается назад, в результате чего код переходит в прежнее состояние. Это означает, что вы потеряете изменения, которые вы только что внесли. Затем вы можете «Обновить до пункта ревизии 9651», а затем повторить процесс фиксации.

Но есть ли другой способ сделать это, способ удалить ревизию из репозитория И избежать необходимости отката затронутого кода?

+0

Это фактически не решает мою проблему удаления/удаления ревизии, но я нашел что-то, что поможет предотвратить запуск сценария, который я описал. Я проверил настройки в TortoiseSVN и обнаружил, что есть опция НЕ иметь элементы, автоматически выбранные в диалоговом окне Commit. Таким образом, мне придется вручную выбрать элементы, которые я хочу использовать, чтобы все это устранило проблему, с которой я столкнулся. Если вы заинтересованы, вы можете получить доступ к настройкам в меню «Пуск» в меню «TortoiseSVN> Настройки». Общие> Диалоги 2> Фиксировать: автоматически выбирать элементы – Lawrence

ответ

1

ИМХО лучший способ справиться с этим, чтобы избежать этого. Лучше вы привыкли работать только по одной вещи, компилировать ее, тестировать/отлаживать ее, а когда она работает, немедленно совершить все изменения. Таким образом, вы можете проверить все измененные файлы, и в большинстве случаев нужно вводить только один комментарий к SVN. Не начинайте со следующей микрофункции, пока вы не совершаете свою работу, когда это возможно. Только частичное добавление увеличивает вероятность того, что кто-то другой получит «перерыв сборки» после обновления, поэтому не делайте этого!

0

Я рекомендую использовать набор изменений для первой группы модифицированных файлов вместе, а затем зафиксировать их (по крайней мере, при использовании SmartSVN). К сожалению, это не сработает, если файлы были изменены таким образом, что некоторые строки должны быть сохранены в этом файле changeet/commit, другие строки в другом.

+0

Мое предпочтение состоит в том, чтобы иметь несколько рабочих копий и убедиться, что каждая рабочая копия используется только для одной вещи одновременно – Andy