Kodomo

Пользователь

Как пользоваться darcs

Что такое darcs

darcs – это система контроля версий / репозиторий (англ: revision control system, version control system, repository). В наше время на репозиторий принято возлагать ответственность за:

Кроме darcs сегодня более-менее популярны системы хранения версий: git, svn (subversion), cvs, mercurial, bazaar, arch (он же tla). Из них git является безуловно наиболее развитой системой, но с ним несколько сложнее работать, чем с darcs, поэтому в курсе мы используем darcs. Несмотря на то, что каждая из этих систем декларирует, что построена на совершенно особых принципах (и это действительно так), все они предполагают почти идентичный порядок работы с ними, поэтому главное для начала обучиться работе с одной из них, тогда научиться работе с любой другой будет совсем несложно (фактически, достаточно будет узнать, как в другой системе называются десять основных команд).

Важно понимать, что репозиторий предназначен для хранения любых (желательно, текстовых) файлов, а не только программ (и уж точно не только программ на питоне). Например, в репозитории удобно писать текст статьи, особенно, если вы пишете статью в соавторстве.

Терминология

Как подписывать изменения

Что стоит, что не стоит хранить в репозитории

Пока Вы работаете в одиночку

Подготовка репозитория:

Собственно, работа:

Полезные команды:

Когда вы работаете вдвоём

Сначала первый участник готовит репозиторий так же, как если бы он работал в одиночку. (Может так статься, что сначала он рассчитывал работать один и сделал кроме подготовки ещё и кучу работы – тем лучше!)

Когда новый участник подключается к разработке проекта:

Теперь собственно работа стала чуть сложнее:

На одном из darcs pull, если участники не договорились о разделении ответственности и редактируют одновременно (или если один из них не соблюдает правила, описанные в предыдущем абзаце), может случиться конфликт. Конфликт (conflict) – это когда darcs думает, что оба участника одновременно поправили одно и то же место в одном и том же файле. Обычно darcs в этом суждении не заблуждается. Если случился конфликт, то это самое место в этом самом файле будет размечено примерно так:

vvvvvvvvvvvvv
   print "Hello, world!"
-------------
   print "Hi, mom!"
^^^^^^^^^^^^^

Если такое случилось, нужно изучить этот фрагмент, понять, кто что сделал или хотя бы как правильно. (В этом поможет команда darcs whatsnew). Затем нужно убрать галочки, сделать правильную версию и снова попытаться сохранить полученное изменение в репозиторий.

Полезные ссылки