LINUX.ORG.RU

Есть ли такая VCS?


0

0

Существует ли какая-нибудь система контроля версий, которая работает с внесённым в репозиторий каталогом без надобности прописывать индивидуально файлы и каталоги? Т.е. кидаешь в подкаталог файл - он при коммите уходит в репозиторий. Меняешь - уходит модификация. Удаляешь - удаляется из репозитория (с сохранением версий) Т.е., скажем, cvs/svn без "add"/"del" (или с ними автоматическими).

При этом, понятно, нужно чтобы эта VCS не мусорила своими каталогами в локальной копии репозитория.

★★★★★

Если это серьезный вопрос - да, есть такие VCS. AFAIK, так делает Vesta. SVN в комплекте с WebDAV тоже должна уметь такое.

Но, ИМХО, это придурь и баловство :)

tailgunner ★★★★★
()

Mercurial. :)

hg addremove добавляет новые файлы и удаляет удалённые. Правда, надо не забыть проделать это перед hg commit. Но если сильно захотеть, можно написать маленький плагин, который эти две операции совместит в одну, или просто написать скрипт из двух строчек.

ero-sennin ★★
()
Ответ на: комментарий от tailgunner

Ну, он мусорит одним-единственным каталогом .hg в корневом каталоге рабочей копии, а не так, как CVS и SVN. :) А без .hg откуда он узнает, что это рабочая копия, а не посторонний каталог, и где у неё корень, и куда надо коммитить?

ero-sennin ★★
()
Ответ на: комментарий от ero-sennin

> А без .hg откуда он узнает, что это рабочая копия, а не посторонний каталог, и где у неё корень, и куда надо коммитить?

Если репозиторий - смонтированная виртуальная ФС, этого знать не нужно :) Конечно, Mercurial работает не так, поэтому под представленные требования и не подходит.

tailgunner ★★★★★
()

Погонял hq и git. Обнаружил, что это совершенные близнецы-братья. Hg ушёл в отстой после первого же реального коммита - выругался на предельную длину имени файла (русскоязычный файл в русскоязычном подкаталоге, utf8). git, в принципе, почти то, что надо, но непонятно, как заставить его грохать удалённые файлы. Добавляет новые он исправно, но сносимые надо удалять индивидуально.

Кроме того, видел упоминание, что git отслеживает перемещение файлов по их md5. Так вот, у меня этого нет :-/

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

> Hg ушёл в отстой после первого же реального коммита - выругался на предельную длину имени файла (русскоязычный файл в русскоязычном подкаталоге, utf8)

ОС, версия hg, длина имени, локаль?

> git отслеживает перемещение файлов по их md5

По SHA1 с наворотами.

tailgunner ★★★★★
()
Ответ на: комментарий от KRoN73

> Кроме того, видел упоминание, что git отслеживает перемещение файлов по их md5. Так вот, у меня этого нет :-/

hg addrem отслеживает перемещение файлов, даже если они редактировались (правда, в детали алгоритма не вникал).

ero-sennin ★★
()
Ответ на: комментарий от tailgunner

>ОС, версия hg, длина имени, локаль?

Gentoo Linux, dev-util/mercurial-0.9.4, ru_RU.UTF-8,

hg commit trouble committing Documents/Выложить на Авиабазу/Lenta.ru: Америка: Увольнение прокуроров США было политическим.mht! abort: File name too long: /home/balancer_homesrv/syncronized/.hg/store/data/_documents/~d0~92~d1~8b~d0~bb ~d0~be~d0~b6~d0~b8~d1~82~d1~8c ~d0~bd~d0~b0 ~d0~90~d0~b2~d0~b8~d0~b0~d0~b1~d0~b0~d0~b7~d1~83/_lenta.ru~3a ~d0~90~d0~bc~d0~b5~d1~80~d0~b8~d0~ba~d0~b0~3a ~d0~a3~d0~b2~d0~be~d0~bb~d1~8c~d0~bd~d0~b5~d0~bd~d0~b8~d0~b5 ~d0~bf~d1~80~d0~be~d0~ba~d1~83~d1~80~d0~be~d1~80~d0~be~d0~b2 ~d0~a1~d0~a8~d0~90 ~d0~b1~d1~8b~d0~bb~d0~be ~d0~bf~d0~be~d0~bb~d0~b8~d1~82~d0~b8~d1~87~d0~b5~d1~81~d0~ba~d0~b8~d0~bc.mht.i transaction abort! rollback completed

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

> Хм, не могу воспроизвести... спишем на Gentoo :)

Какая ФС, какая локаль? У меня та же фигня.

Кстати, bzr нормально этот файл усвоил. Правда, addremove там нет, придётся самому писать плагин. :)

ero-sennin ★★
()
Ответ на: комментарий от ero-sennin

>> Хм, не могу воспроизвести... спишем на Gentoo :)

> Какая ФС, какая локаль? У меня та же фигня.

ext3, FC4, пробовал koi8-r и utf-8. правда, у меня не 0.9.4, а немного более ранний... приду домой, попробую 0.9.4

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.