[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: замена cvs (было: локальная VCS)



Kirill A. Korinskiy wrote:

  E> на что рекомендуете обратить внимание?

tla+xtla
darcs+darcsum (мне не удалось сдружить с utf-8 комментариями к комитам)
bzr+bzr-mode(?)
hg+..?


если столько времени потрачено на исследования, может покажете какими командами можно сделать перечисленные действия в упомянутых vcs? commit/update везде похожи, а вот что посложнее как раз и интересно.

повторю еще раз:
есть 2 ветки - A и B, в A интересующие нас изменения были внесены между ревизиями An и Am (после этого возможно были закоммичены ещё какие-то изменения).

1. посмотреть разницу в ветке между ревизиями An и Am (или между двумя датами). в cvs можно или посмотреть в head между двумя датами или же в любой ветке между двумя ревизиями одного файла (каждый файл имеет независимый номер версии).
2. накатить изменения между An и Am на ветку B;
3. отменить изменения в ветке A, произошедшие между ревизиями An и Am.

в общем-то наверное всё, что мне нужно от vcs.

с 1 наверное в системах с атомарным коммитом проблем нет (в cvs можно эмулировать такое поведение, добавляя на кажый коммит новый тэг); 2 и 3 можно сделать натравливая patch на получившийся diff - но наверное vcs должна более интеллектуально конфликты обрабатывать?

ещё пожелания по мелочам (необязательные):
- что-то типа cvs2cl иметь;
- макроподстановки типа $Id$ поддерживать;
- уметь не просто unified diff, а немного настраиваться - я например обычно diff -pub использую; - пропускать текст через фильтры при коммите (commitinfo в cvs)- я например indent с своим набором опций использую (коммичу обычно достаточно небольшими кусками - проще написать и отладить их не заботясь о форматировании) и dos2usnix (на случай если с винды коммичу). тут наверное только svn, как прямая наследница cvs - но что-то она мне несимпатична.



Reply to: