LINUX.ORG.RU

Системы управления версиями для Linux


0

0

Обзор архитектуры, моделей и примеров. Системы управления версиями (VCS) или Системы управления исходным кодом (SMS) - важный аспект разработки современного ПО. Эта статья дает обзор систем Управления Конфигурации ПО (SCM) и их преимущества, включая CVS, Subversion, Arch и Git. Наконец, она рассматривает некоторые из новых подходов, которые пригодны и как они отличаются от прежних методов.

>>> Подробности

★★★

Проверено: Shaman007 ()

Кому нахнужен Arch? Где Mercurial? Аффтару низач0т.

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

>Subversion (SVN) была разработана как прямая замена CVS, но без свойственных CVS заранее определенных выпусков

Я тоже в школе слово issue иначе как "выпуск" не переводил =)

anonymous
()

Или машинный перевод или лоровец.. "Это очень просто, но это стоит работы децентрализованной SCM, основанной на методе "набора изменений" и используется как SCM для ядра Linux. Он использует модель группировки файлов больше, чем отслеживание отдельными файлами. Изменения сжаты и раздроблены с помощью SHA1, подтверждая их целостность. (см. листинг 4)"

anonymous
()
Ответ на: комментарий от anonymous

Я тоже порадовался про issues. Может, думаю, они так changeset перевели, но вроде бы не очень в кассу, а тут все просто как топор.

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

anonymous
()
Ответ на: комментарий от anonymous

> Хочется попросить IBM давать ссылки на оригинальные статьи, потому что перевод на русский иногда бывает очень сложно понять без перевода.

Без рекурсии рекурсию не понять, да.

annoynymous ★★
()

Интересно было бы еще узнать о преимуществах darcs и mercurial

swizard
()

перевод чудовищен. перевести issues как выпуск, а hashed как раздроблен... это просто праздник какой-то

anonymous
()

Напоминает текст на упаковках "натуральных арахисов". Вообще ужас.

>> Его неиспользование сродни вождению машины слишком быстро: это смешно, и вы можете попасть в пункт назначения быстрее, но катастрофа неизбежна.

Смешно?!

>> она рассматривает некоторые из новых подходов, которые пригодны

no comments

>> перенаименование файлов

шарман

Ну, хватит. Вот ссылка на оригинал: http://www-128.ibm.com/developerworks/linux/library/l-vercon/?S_TACT=105AGX99... Она в самом низу дана, в списке литературы.

annoynymous ★★
()

Присоединяюсь к предыдущим ораторам. Стыдно должно быть такой перевод выкладывать. Уж лучше бы ссылку на оригинальную статью дали чтобы не позориться.

Или это у них переводчик схалявил и вместо того, чтобы переводить вручную, прогнал текст через программную переводилку?

slav ★★
()

hg забыли, по удобству он уделывает все вышеперечисленные, ну а arch это вообще не для людей делали.

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

> hg забыли, по удобству он уделывает все вышеперечисленные

URL ?

> ну а arch это вообще не для людей делали.

Факт.

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

> hg забыли, по удобству он уделывает все вышеперечисленные

Можно поконкретнее? Я ковырял немного hg в своё время (версии ~0.9.1), в итоге сделал выбор в пользу git. Не нашёл в хг ничего, чем он принципиально лучше гита.

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

> Я ковырял немного hg в своё время (версии ~0.9.1), в итоге сделал выбор в пользу git.

А я ковырял несколько версий git, в итоге сделал выбор в пользу hg :)

> Не нашёл в хг ничего, чем он принципиально лучше гита.

Принципиально он не лучше, но зато им можно пользоваться, не будучи Линусом. Ну и мелкие радости типа "человеческих" номеров ревизий в духе SVN.

А насчет принципиальных улучшений - чем Git лучше Monotone? ;)

tailgunner ★★★★★
()

гавно статья :)
и информации мягко говоря очень мало ...

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

> А насчет принципиальных улучшений - чем Git лучше Monotone? ;)

Лучше тем что быстрее.

Хуже тем что он не мультиплатформенный и прожерливый

MrKooll ★★★
()

В таком виде, да, git рулез-форёва.
Но реально, они забыли рассмотреть следующие vcs (version contril system)
(это только те которые я сам смотрел):
* CVS
* Darcs
* Vesta
* Codeville
* Subversion
* SVK
* Aegis
* Stellation
* META-CVS
* GNU Arch & Bazaar
* Arch 2.0/"revc"
* ArX
* Bazaar-NG
* Monotone
* OpenCM
* PRCS
* DCVS
* Superversion
* Jedi VCS
* Archipel
* SourceJammer
* FastCST
* CBE
* SiVeCo
* Git/Cogito/etch
* Mercurial
* BriefCase
* Gat
* Bky
* LibreSource
* Pastwatch
* A Simple Version Control System
* shapeTools
* rcs

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

>> А насчет принципиальных улучшений - чем Git лучше Monotone? ;)

> Лучше тем что быстрее.

А "быстрее" засчитывается как "принципиальное"? :) И с какой версией Monotone сравнивалось?

> не мультиплатформенный

тоже, ИМХО, не "принципиально". Кстати, Mercurial поддерживает Windows.

> прожерливый

А можно подробнее?

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

RIP они будут тогда и только тогда, когда ими пользоваться перестанут.

Вон, многие кричат что tla сдохла и воняет, и тоже присваивают статус RIP, ан нет, ей активно многие пользуются ;)

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

> RIP они будут тогда и только тогда, когда ими пользоваться перестанут.

Неужели OpenCM еще кто-то пользуется? Можно ссылку на проект? То же самое - со Stellation. revc родился мертвым, FastCST - вообще прототип, написанный классным парнем Zed'ом, но не претендовавший на бытие полной VCS.

> tla сдохла и воняет, и тоже присваивают статус RIP, ан нет, ей активно многие пользуются ;)

"Перестаньте наконец насиловать труп" (c) :D

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

>> Лучше тем что быстрее.

> А "быстрее" засчитывается как "принципиальное"? :) И с какой версией Monotone сравнивалось?

С любой. Да его разогнали по сравнению с 0.2x Но все равно меделеннее git и mercurial. Насколько я помню git начал писаться потому что скорость монотона сильно не устраивала Линуса.

>> прожерливый

> А можно подробнее?

Трафик жрет как свинья помои.

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

А если ссылок нету, т.к. это не публичный проект?

Многие системы контроля версий используются по привычки. Так у меня для моих проектов используется их больше десятка. С какой начали проект, на такой и живем... Хотя сейчас появилась тенденция унифицировать их ;)

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

И darcs, и monotone, и hg сходят сума когда объемы исходного кода становятся огромными.

С парой сотен мегабайт и выше выбор только один -- git

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

Странные у вас требования.

Я бы сделал так: зашел на сервер, там бы сделал git clone, потом перепаковал и сжал бы tar'ом, потом по ssh на свою машину бы скачал, если трафик дорог, ну и дальше просто poll'ился, естественно, немного поправив url ;)

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

> Так у меня для моих проектов используется их больше десятка.

Убицца веником :D

> Хотя сейчас появилась тенденция унифицировать их ;)

На какой, если не секрет?

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

> > А насчет принципиальных улучшений - чем Git лучше Monotone? ;)

> Хуже тем что он не мультиплатформенный и прожерливый

По поводу мультиплатформенности - правильнее сказать, git мультиплатформенный, но имеет проблемы на платформах, которые на данном сайте являются оффтопиком :) Проблемы свзязаны в первую очередь с тем, что git строился по принципу UNIX-way (в чём ИМХО один из его больших плюсов), что неизбежно приводит к частым fork()+exec(), которые весьма быстры в юниксах, но не поддерживаются в оффтопике (а имеющиеся аналоги весьма медленные). Поэтому под оффтопиком гит тормозит. Но работает в принципе...

По поводу прожорливости - man git-repack и man git-gc. После упаковки всего репозитория в один pack-файл он занимает примерно столько же, сколько и в остальных СКВ (т. к. хранится он в этом случае сжатый, в т. ч. с использованием дельт).

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

> И darcs, и monotone, и hg сходят сума когда объемы исходного кода становятся огромными.

Насчет hg - вызывающе неверная.

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

> hg просто тормоз на большом проекте

На каких операциях тормоза? У меня дома на диске клоны Linux в Git и Mercurial, хочется сравнить.

> относительно маленького-тупого-и-шустрого git'а

hg не больше, хотя и умнее

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

Да почти на всех :)

Большой проект в моем понимание, если слить все git репозитории в один (с ядром) и сравнить такой же объем для hg.

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

> Трафик жрет как свинья помои.

Кстати, по поводу трафика. Какие из распределённых СКВ поддерживают выкачивание только какой-то "головы" репозитория _без_ всей истории (ну типа чтобы только собрать текущую версию)? В гите это реализовали только в версии 1.5 (в более старых можно было извратиться и сделать аналогичное действие руками, но это работало только по ssh-транспорту (и, возможно, по http, но не уверен), по git:// это уже не срабатывало, а публичные сервера анонимусов только по git:// пускают). Да и то, для выкачивания одной "головы" стандартными средствами надо чтобы и клиент, и _сервер_ были версии не ниже 1.5. В других системах с этим лучше, или всё аналогично?

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

> Большой проект в моем понимание, если слить все git репозитории в один (с ядром)

А я было подумал, что 200Мбайт

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

> Какие из распределённых СКВ поддерживают выкачивание только какой-то "головы" репозитория _без_ всей истории (ну типа чтобы только собрать текущую версию)?

В hgweb есть такая возможность.

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

200 мегабайт максимум один HEAD :)

До гигабайта 200-300 ревизий суммарно все системы контроля версий более менее адекватно ведут. Вот когда перешагиваешь гигабайт или еще больше, начинается ощущаться многое

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

> 200 мегабайт максимум один HEAD :)

Ну, как раз Линукс

> До гигабайта 200-300 ревизий суммарно

Что здесь 1Г - объем репозитория? Суммарный объем всех ревизий в несжатом виде? Размер рабочей копии?

> когда перешагиваешь гигабайт или еще больше, начинается ощущаться многое

Гигабайт ЧЕГО?

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

> Суммарный объем текущей (головной) версии и нескольких патчей вниз.

Так я и не понял, объем чего ты имеешь в виду. Ну да ладно, для 99% программистов даже объем Linux kernel недостижим... так что какой смысл говорить о том, с чем лучше охотиться на китов.

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

> в gitweb тоже это есть.

Вот именно что только в относительно свежих версиях. Мне как-то понадобилось взять драйвер видюхи с git.freedesktop.org - у них там гит далеко не самый свежий. В общем, ничего лучше чем тупо сделать clone не нашёл.

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

я и говорю про себя. Ибо я по жизни охочусь на китов, причем с пистолетом, ибо из автомата можно шкуру повредить ;)

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

> я по жизни охочусь на китов, причем с пистолетом, ибо из автомата можно шкуру повредить ;)

настоящие мужчины охотятся на китов с голыми рукам, причем не надевая маски, ласт и даже плавок - ибо они настолько круты, что это было бы неспортивно.

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

я не хочу быть настолько крутым, что бы отказываться от системы контроля версий ;)

Мне и так неплохо

catap ★★★★★
()

Ага, классный перевод. "Ночь была жаркой, но груда камней, служившая домом уже двадцати шести поколениям семьи Атридесов, дышала прохладой" :-)

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