Материал из Xgu.ru
|
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.
|
Source Code Management, SCM (другая расшифровка SCM: Software Configuration Management; фактически Software Configuration Management является более общим понятием, в которое Source Code Management входит как часть) — совокупность подходов и механизмов, использующихся для управления исходным кодом программного обеспечения.
Различают централизованные (centralized) и распределённые (distributed, DVCS, Distributed Version Control Systems) системы
управления исходным кодом[1]
[править] Основные отличия между централизованными и распределёнными VCS
- В DVCS нет центрального репозитория, у каждого участника свой собственный.
- В VCS обмен изменениями построен по клиент-серверному принципу, а в DVCS по принципу peer-to-peer.
- В DVCS разделены публикация и создание снапшотов (не обязательно публиковать что-то, для того чтобы сохранить результаты своей работы и в случае чего к ним вернуться).
- В DVCS есть возможность работать в отключённом состоянии, в VCS нужно быть на связи с репозиторием, если нужно сохранить изменения.
[править] Некоторые факты
- одной из первых распределённых систем контроля версий была TeamWare, разработанная в начале 90х Sun Microsystems[2]
- в начале 2000 Грайдон Хоаре (Graydon Hoare) начал разработку новой распределённой системы управления версиями, Monotone, в которой было реализовано множество новых амбициозных идей (например, использование хэшей в качестве идентификаторов)
[править] Дополнительная информация
- Better SCM Initiative: Comparison Version Control System Comparison (англ.) — сравнение большого количества различных SCM
- A Visual Guide to Version Control (англ.) — небольшое введение в централизованные системы управления исходным кодом
- Intro to Distributed Version Control (Illustrated) (англ.) — небольшое введение в распределённые системы управления исходным кодом
- Linus Torvalds on GIT and SCM (англ.) — Линус Торвальдс рассказывает, почему Subversion (и иже с ними) — зло, а чуваки рассказывают где Линус ошибается
- Distributed Version Control Systems — Why and How, Ian Caltworthy, Canonical — о преимуществах и недостатках (главным образом, преимуществах) распределённых систем управления исходным кодом + небольшое введение в Bazaar
- High-level Best Practices in Software Configuration Management (англ.) — введение в централизованные системы управления исходным кодом
- Version Control Blog (англ.) — блог, посвящённый различным системам управления кодом (только, похоже, что этот блог уже не ведётся)
- Understanding Version-Control Systems, Eric Raymond (англ.) (в процессе написания) — обзор этапов развития систем управления исходным кодом, сравнение этих систем, примеры работы с ними
- ↑
Кроме терминов SCM и VCS существует ещё несколько,
обозначающих приблизительно одинаковые понятия.
- Software configuration management (SCM) или configuration management;
- Source code management;
- Source code control или source control;
- Version control (VCS).
- ↑ http://hgbook.red-bean.com/read/how-did-we-get-here.html A short history of revision control