Показать сообщение отдельно
Старый 24.12.2007, 11:03   #7  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
а ядро с редактором ничего не знает ни о системе контроля, ни о checkin/checkout
Это я знаю, я имел в виду несколько другое. Все системы контроля версий по принципу блокирования можно поделить на 2 категории:

- Пессиместичное блокирование: прежде чем править файл мы ОБЯЗАНЫ сделать его checkout. При этом система блокирует данный файл в хранилище и никому не позволит с ним работать, пока я не сделаю checkin.
- Оптимистичное блокирование: здесь checkout означает лишь только указание системе контроля версий выдать нам файлы, но никакой блокировки в репозитории не накладывется. Любой другой пользователь может взять этот же файл для редактирования. Разруливание всех конфликтов (merge) происходит в момент checkin. Если система контроля версий видит, что файл изменился с тех пор как я его забрал она предлагает совместить изменения (в автоматическом или ручном режиме).

Первое - это SourceSafe, Perforce. Второе - SVN, ClearCase и прочие. Есть ее distributed cvs - но там совсем все по другому.

MBS упорно пытается интегрировать Аксапту с SS, хотя на мой взглад, идеологически, конкретно в данном случае удобнее второй механизм. Разработчку, работающему например дома, удобнее внести все необходимые изменения локально, а придя на работу слить свои изменения с центральным репозиторием, возможно разрулив какие-то пересечения. В случае SS разработчику не остается ничего, как перед уходом домой блокировать все потенциально необходимые объекты со всемы вытекающими последствиями.