Есть ли у SVN эквивалент коммиту git (без push)? - PullRequest
27 голосов
/ 28 декабря 2011

По сути, я хочу внести свои изменения, не нажимая их и не переключая ветви. Это позволяет мне выполнить некоторую работу, commit, когда я нахожусь в хорошей точке остановки, а затем продолжить работу в той же ветке. Если я испорчу, я могу revert, если я добавлю новые изменения, я могу просто commit снова.

Я понимаю, что могу создать ветку объектов в SVN для отслеживания этих изменений, но, опять же, я бы хотел сделать это, оставаясь в той же ветке / стволе. Даже эквивалента git stash будет достаточно, хотя кажется, что в SVN такой функции нет.

Ответы [ 3 ]

36 голосов
/ 28 декабря 2011

Самой точкой распределенного управления версиями является эта функция локальных коммитов, которая в дальнейшем может быть объединена с вышестоящим репозиторием. SVN не распространяется и не может этого сделать. Центральным препятствием является линейная нумерация редакций SVN, которая подразумевает, что каждый клиент должен получить новый идентификационный номер редакции для каждого набора изменений. Поскольку «выделение» номера редакции и последующее его использование приведет к всевозможным условиям гонки, действия «принятие» и «выдвижение» являются атомарными в SVN и каждой нераспределенной системе управления версиями.

Как говорится, интерфейс git для SVN является хорошим выбором, как предположил Джо. Он гарантирует, что SVN никогда не увидит ваши локальные, отдельные коммиты, а «push» преобразуется в один большой SVN-коммит.

30 голосов
/ 28 декабря 2011

По своей конструкции SVN этого не делает, однако вы можете использовать команду git git svn в качестве внешнего интерфейса для SVN.Он позволяет вам выполнять push / pull работу с SVN-пульта, но все еще использует git локально, и, таким образом, делать локальные коммиты без отправки в SVN-репозиторий.

Примерно так может помочь: http://www.viget.com/extend/effectively-using-git-with-subversion/

2 голосов
/ 28 декабря 2011

Возможно, вы сможете использовать quilt для этого, хотя он становится сложнее, если вы хотите зафиксировать часть своей очереди quilt в svn.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...