Является ли git svn dcommit атомарным?

В моей компании есть сервер subversion, и все используют subversion на своих машинах. Однако я хотел бы использовать git, локально внося изменения, а затем «отправлять» их, когда буду готов.

Однако я не могу понять, что происходит в следующей ситуации. Допустим, я сделал 3 git-коммита локально и теперь я готов «протолкнуть» все на сервер subversion. Если я правильно понимаю, git svn dcommitдолжен в основном сделать 3 коммита последовательно на сервере, верно? Но что произойдет, если тем временем (, скажем, между вторым и третьим коммитом )другой мой коллега выпустит коммит? Сценарии, о которых я могу думать,:

1 )git вроде "замков" (это вообще возможно? )сервер подрывной деятельности во время коммитов, чтобы мои коммиты выполнялись атомарно, а коммит моего коллеги выполнялся после моего

2 )История фиксаций на сервере становится моей1 -моей2 -другой -моей3 (даже если «другое» должно завершиться ошибкой, так как мой коллега не имеет обновленной рабочей копии на тот момент ).

Я думаю, что это #2, но, возможно, скорость фиксации настолько высока, что это редко становится проблемой. Так какой из них, #1 или #2?

5
задан Emiliano 3 July 2012 в 16:15
поделиться