Изменения

Перейти к: навигация, поиск

Сравнение DVCS - несколько задач

2755 байтов добавлено, 14:18, 20 ноября 2009
Управление патчами
* легко поддерживать ветку, содержащую объединение всех патчей — для развёртывания.
'''TopGit'''Хотя и то, и другое, в принципе, сделать можно и так. Плюс же расширения заключается в [http: (исследую)//arrenbrecht.ch/mercurial/pbranch/index.htm хорошей online-документации] — у TopGit такой нет…
'''TopGit''': тоже весьма хорошо, даже чуть получше (версия на момент тестирования была 0.8). А в будущем станет ещё лучше — по ходу просмотра справки по некоторым командам выводится по одному-два TODO — значит, они, наверное, появятся. Забавная, кстати, вещь. Явно написана в общем духе git-а (смесь скриптов на bash, perl и программ на C). «Головной» скрипт '''<tt>tg</tt>''' (TopGit) написан на шелле, и команды <tt>tg --help, tg -h, tg help</tt> и т. п. сначала вводят в недоумение — «<tt>no git repository here</tt>». Справку TopGit печатать умеет, но для этого сначала надо зайти в git-репозиторий :) типа ''Чего ты спрашиваешь? У тебя интерес реальный? Ты покупать будешь или нет?..'' '''TopGit''', как уже сказано, умеет побольше '''pbranch''', в частности, умеет вышеупомянутые «хотелки» — команда <tt>tg create</tt> может создать новую ветку-патч на основе множества зависимостей, автоматически объединяя их и предлагая разрешать возникающие конфликты, а с помощью <tt>tg update</tt> можно обновлять изменения в зависимостях в ветки патчей, причём рекурсивно. На самом деле и то, и другое можно сделать и в '''pbranch''', и даже вообще без него, но придётся набрать чуть больше команд. Команды расширения: ;create: создать новую ветку-патч на основе одной или нескольких веток.;delete: удалить ветку-патч.;depend: редактировать зависимости.;export: экспортировать историю текущей ветки в формате quilt или «подчищенной» новой git-ветки.;import: импортировать коммиты в виде патчей.;info: аналог <tt>hg pstatus</tt>, выводит состояние ветки — сколько, чего и откуда надо обновить и т. п.;mail: отправка патчей по почте.;patch: аналоги <tt>hg diff</tt>, выводит текущий патч в виде diff + комментарий вверху.;push: отправляет изменения из tg-шной ветки.;remote: перевести внешние (remote-tracking) ветки под управление tg.;summary: выводит список патчей со статусами и/или граф зависимостей через [[lib:Graphviz|Graphviz]].;update: см.выше.
== Схема управления рабочими копиями ==

Навигация