SVN: местные коммиты

Subversion: возможно ли зафиксировать локальные ревизии, не нажимая их, и выдвинуть их позже - или это отсутствие функции, почему она называется "централизованной"? ?

 nightingale2k104 июл. 2009 г., 03:35
использовать Git. у него есть эта особенность

Ответы на вопрос(7)

если подключите SVN-сервер к GIT или Mercurial Bridge. Поскольку GIT и Mercurial могут выполнять локальные коммиты, вы можете использовать их таким образом. Возможно проверьте git-svn или что-то подобное (я помню, что был базар-svn, но не уверен).

 07 июл. 2009 г., 16:35
Вариант этого состоит в том, чтобы "git init" в рабочей копии SVN отключите локальные коммиты. Позже вы фиксируете конечное состояние (или даже промежуточные) в SVN. После этого вы также можете удалить каталог .git. Это означает, что ваша рабочая копия остается рабочей копией SVN, а не git-repo.

я мог быstrongly Рекомендую пытаться использовать что-нибудь удаленно Janky с SVN.

Я не использовал SVK достаточно, чтобы рекомендовать против него, это казалось достаточно хорошим. Однако я скептически отношусь к тому, чтобы использовать что-либо построенное поверх SVN для всего проекта без каких-либо проблем. Я достаточно использовал SVN, чтобы знать, что даже обычные рабочие циклы могут поджаривать его, если вы не будете осторожны.

Мы используем SVN на работе. Я использовал bzr и bzr-svn, чтобы сделать все мое взаимодействие с, и это работаетwonderfully, Мой рабочий процесс выглядит примерно так:

$ bzr branch file:///var/svn/project ~/project

(hack, hack, hack)

$ bzr commit -m "commit log" (повторение)

когда я буду готов

$ bzr push

Да вместо обновления у тебя$ bzr merge и внесите изменения (возможно, откладывая то, над чем вы работаете), но локальные коммитыvery хорошая вещь, иshelving это тоже (стеллаж какrevert сsave)

Я думаю, что Git также справляется с этим. Я слышал, что он не такой полный, как bzr-svn, но я не могу это подтвердить.

Но использование DVCS с репозиторием SVN - хороший способ!

hgsubversion.

SVK был построен поверх Subversion, но поддерживал локальное состояние, чтобы вы могли выполнять локальные коммиты ...

Решение Вопроса

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

Рабочая копия Subversion содержит копии всех файлов, которые были извлечены, так что вы можете вернуть измененные файлы без обращения к серверу.

Если вы действительно хотите делать локальные коммиты, вам стоит взглянуть наSVK, который построен поверх Subversion и предоставляет DVCS-подобные функции.

 31 окт. 2012 г., 15:06
Я ненавижу SVN: / Я обычно использую HG для такого типа локального контроля версий ...
 04 июл. 2009 г., 01:34
Есть ли у вас опыт работы с SVK? Я использовал это немного, и это казалось нормальным, но я больше не верю в гладкое использование SVN. Я полагаю, что все, что построено на нем, будет таким же шатким.
 29 апр. 2011 г., 19:55
@jskulski: У меня нет опыта работы с SVK, но у них "antiFUD" адрес страницы вашего вопроса:svk.bestpractical.com/view/SVKAntiFUD
 13 окт. 2012 г., 22:18
Этот ответ немного вводит в заблуждение. Не потому, что SVN централизован, локальные коммиты невозможны. Это просто опущенная деталь реализации. Технически выполнимо обрабатывать локальные коммиты как очередь наборов изменений, которые могут быть отправлены в репозиторий в пакетном режиме (это демонстрирует svk) - это просто изменило бы UX до такой степени, что SVN становится более «сложным». использовать (используя стандартный рабочий процесс). SVN предпочитает оптимизировать простоту использования, а не функциональность; но это может быть взломано в Subversion, не нарушая ничего.
 18 мар. 2015 г., 19:23
Что если вы создадите локальный сервер на своем компьютере, чтобы вы могли зафиксировать его, а затем, когда вы будете готовы зафиксировать исходный репозиторий, вы просто фиксируете его обычным способом. Это возможно?

и, поскольку этот вопрос стал хитом в поиске в Google по запросу «svn local commit» Вот обновление:

Подумайте об использовании пакета "git-svn" (вместе с «git-gui», если вы не знаете git), чтобы сделать локальные коммиты возможными и легкими, с полной удаленной интеграцией SVN. Достойный обзор / учебник / сценарий использованияВот, Я только начал использовать этот процесс с проектами Sourceforge, поэтому пока не могу сообщать о каких-либо проблемах. Будьте уверены, чтобы получить файл авторов правильно!

РЕДАКТИРОВАТЬ: Обновленная ссылка. Спасибо, HDL!

 08 июл. 2014 г., 18:33
Эта ссылка мертва.
 10 янв. 2016 г., 00:40
Mercurial и Bazaar также могут работать с SVN-репозиториями. Так что изучите их, если вам не нравится интерфейс git.
 07 янв. 2016 г., 11:48
Ссылка была перемещена наgit-scm.com/book/en/v2/…
 05 июл. 2011 г., 04:31
+1 - за отметку избыточности. Я думаю, что я даже где-то читал, что SVN будет вводить локальные коммиты.
 29 июл. 2014 г., 14:44
@thirtythreeforty: Archive.org имеет копию веб-страницы:web.archive.org/web/20130924234957/http://utsl.gen.nz/talks/…

однако, может сделать это, и вы можете использовать git-svn для синхронизировать с исходным хранилищем.

Ваш ответ на вопрос