Титла: Cvs mirror ? Публикувано от: sana в Mar 18, 2007, 20:12 Здравейте,
Някой знае ли дали е възможно да се направи "огледало" на CVS сървър, така че работата с двата сървъра да е напълно прозрачна (ако commit-неш в единия, промените автоматично да се приложат в другия). При моето търсене в интернет попадах на решения с rsync, но това не е приложимо за динамична работа ... Мерси предварително Титла: Cvs mirror ? Публикувано от: tarator в Mar 18, 2007, 20:34 Можеш да опиташ с rsync и скриптовете в CVSROOT, които се изпълняват всеки път когато се прави commit.
Титла: Cvs mirror ? Публикувано от: dilyan_rusev в Mar 18, 2007, 20:36 може би скрипт, който да cvs commit-ва едновременно и в двата сървъра (всъчщност да повтаря комнадата във втория). поне за това се сещам - може би има по-лесно решение, но нали и аз съм новичък в cvs и не мога да се сетя
![]() редакция: например:
пп: още съм нов и във cvs, и в bash - така че ме поправете ако греша някъде, но попринцип не виждам дупка в логиката... Титла: Cvs mirror ? Публикувано от: Hapkoc в Mar 19, 2007, 11:30 Има комерсиални решения, примерно: http://www.wandisco.com/php/product_detail.php?lname=cvs
Има и с отворен код, но там има някои изисквания към процеса на разработка (всяка група разработчици, ползваща един сървър работи в отделен клон май): http://dcvs.elegosoft.com/doc/dcvs_overview.html dilyan_rusev, не е читаво по тоя начин. Commit-ваш да кажем в първия сървър, но през това време някой е commit-нал на втория файл, който и ти се опитваш да commit-неш. Получава се неконсистентност м/у двете машини, която трябва да се разрешава на ръка. Отделно, че трябва на всяка работна станция да подсигуриш, че винаги ще се използва въпросния скрипт, а не оригиналния cvs клиент. Титла: Cvs mirror ? Публикувано от: dilyan_rusev в Mar 19, 2007, 18:12
ъъ нещо не разбрах това с commit-ването. то не съществува ли попринцип този проблем и ако си го пишеш на ръка - тоест cvs commit по отделно за всеки сървър? пък това за многото копютри - аз разбрах, че sana ще работи на един и ще препраща към няколко. не се заяждам - както казах съм нов (само от няколко месеца съм с линукс и едва от седмица ми се налага да ползвам cvs за един проект в sourceforge.net) и искам да разбера нещо ново (както и къде греша). Титла: Cvs mirror ? Публикувано от: Hapkoc в Mar 19, 2007, 18:24 dilyan_rusev, абсолютно, проблема си съществува и ако на ръка commit-ваш в двете хранилища.
Идеята, доколкото разбирам, е да има две (или повече) хранилища и всеки разработчик да работи с едно от тях (update/commit/tag/etc) като промените автоматично да се разхвърлят по останалите. Ако е нужно всеки конфликт да се разрешава на ръка, при малко по-голям брой разработчици ще стане ад за поддръжка. Търсил съм подобно решение, но единственото което намерих open source е DCVS, към което съм дал връзка. Иначе може сравнително лесно да се направи read-only CVS огледало, примерно както казва tarator - с rsync и post-commit скрипт. Проблема е именно като трябва да може да се commit-ва във всеки сървър, как да се гарантира, че няма да се замаже нечий труд. п.п. и аз не се заяждам. дано си ме разбрал този път Титла: Cvs mirror ? Публикувано от: tarator в Mar 19, 2007, 18:42 Вероятно няма да е ужасно трудно да се направи rw копие с pre-/post-commit скриптове, но въпросът дали има смисъл?
![]() Титла: Cvs mirror ? Публикувано от: dilyan_rusev в Mar 19, 2007, 21:17 ами май разбрах. само дето като се замисля, то няма начин да няма проблеми - то винаги трябва да се викне cvs update в отделна папка за да се види кой какви промени е направил. без читаво управление на проекта не виждам как cvs въобще може да помогне с нещо - номерът е всеки да си има точно определена задача, за да не се "препокрива" работата на разработчиците...
ако и сега не съм разбрал, господ да ми е на помощ ![]() ![]() ![]() Титла: Cvs mirror ? Публикувано от: sana в Mar 27, 2007, 20:14 Благодара за отговорите !!!
Всъщност, оказа се, че проблема си е много стар и е един от многото, които просто са заложени в архитектурата на CVS. Старичка е и за това не мога да съм недоволен (през 1986 си е била съвсем наред, но днес ...). До колкото разбрах, разработчиците са са я изоставили и са стартирали "новия" проект SVN, та може би това ще е следващия ми избор. Проучвам още ... |