Subversion: можно ли совершать локальные ревизии, не нажимая их, и нажимать их на более позднюю дату - или это недостаток этой функции, почему она называется "централизованной"?
Svn: локальные коммиты
Ответ 1
Невозможно выполнить локальные коммиты с Subversion.
Это связано с тем, что в качестве централизованной системы управления версиями ваша локальная рабочая копия не имеет всей информации, имеющейся у сервера о прошлых версиях, журнальных записях и т.д., которые она имела бы, если бы это была система управления распределенной версией ( ГНКР).
Рабочая копия подрывной операции содержит копию всех файлов по мере их извлечения, чтобы вы могли отменить измененные файлы без обращения к серверу.
Если вы действительно хотите выполнять локальные коммиты, вы должны взглянуть на SVK, который построен поверх Subversion и предоставляет DVCS как функции.
Ответ 2
Значительная часть из вышеперечисленного несколько устарела, и поскольку этот вопрос появляется в результате поиска в google-поиске для "svn local commit" здесь:
Рассмотрите возможность использования пакета "git -svn" (вместе с "git -gui", если вы не знаете git), чтобы сделать локальные коммиты возможными и легкими, с полной удаленной SVN-интеграцией. Хороший обзор/учебник/прецедент - это здесь. Я только начал использовать этот процесс с проектами Sourceforge, поэтому я пока не могу сообщить о каких-либо проблемах. Обязательно получите файл авторов правильно!
EDIT: обновленная ссылка. Спасибо, hdl!
Ответ 3
Вы можете сделать так, чтобы интерфейс SVN был связан с GIT или Mercurial Bridge. Поскольку GIT и Mercurial могут выполнять локальные коммиты, вы можете использовать их так. Возможно, проверьте git -svn или что-то похожее (я помню, что там был базар-svn, но не уверен).
Ответ 4
Вот почему он называется централизованным. Вы можете попробовать использовать репо внутри репо. Один из них локальный, а другой - удаленный. Затем вы передаете весь внутренний репозиторий удаленному.
Ответ 5
Как говорили другие, нет.
Я бы настоятельно рекомендовал пытаться использовать что-либо удаленно janky с svn.
Я не использовал SVK достаточно, чтобы рекомендовать против него, это показалось достаточно хорошим. Однако я скептически отношусь к использованию чего-либо, построенного на вершине SVN, для всего проекта без каких-либо взломов. Я использую SVN достаточно, чтобы знать, что даже обычные рабочие циклы могут поджечь его, если вы не будете осторожны.
Мы используем SVN на работе. Я использую bzr и bzr-svn для выполнения всего моего взаимодействия, и он работает чудесно. Мой рабочий процесс похож:
$ bzr branch file:///var/svn/project ~/project
(взломать, взломать, взломать)
$ bzr commit -m "commit log"
(Повтор)
когда я готов
$ bzr push
Да, вместо обновления у вас есть $ bzr merge
и фиксация изменений (возможно, откладывание на то, над чем вы работаете), но локальные коммиты - это очень хорошая вещь, и стеллажи тоже (стеллажи похожи на возврат с сохранением)
Я думаю, что git справляется с этим. Я слышал, что это не так полно, как bzr-svn, но я не могу это подтвердить.
Но использование DVCS с репозиторием svn - хороший способ!
Ответ 6
В дополнение к ответу BobC, для mercurial вы должны использовать hgsubversion
.
Ответ 7
Нет! git однако может это сделать, и вы можете использовать git -svn для синхронизировать с исходным репозиторием.
Ответ 8
Чтобы получить лучшее из обоих миров, SVK был построен поверх Subversion, но поддерживал локальное состояние, поэтому вы можете делать локальные совершает...