Re: lug-bg: Subversion
- Subject: Re: lug-bg: Subversion
- From: Kaloian Doganov <kdoganov@xxxxxxxxxxxx>
- Date: Wed, 02 Mar 2005 12:36:30 +0200
- Organization: Gemini 2000
Димитър Шияшки ти е отговорил по същество, но аз се страхувам, че може
би те грози жестоко омазване. Както си задал въпроса излиза, че считаш
хранилището на сървъра за "нормална" версия на проекта.
Този възглед е дълбоко погрешен. Хранилището не е просто HEAD-версия, то
е проектирано да пази историята на всички версии на файловете, които са
поставени под контрол. Работните копия от страна на клиента отразяват
състоянието на нещата на определено място в даден момент. Това са един
вид частни гледни точки. Хранилището е онзи паноптикум, образуван от
съвкупността на всички тези гледни точки.
Представи си за момент, че Господ, бидейки всезнаещ, знае какво си мисли
всеки един човек по отделно. От своята гледна точка той обема всички
други частни гледни точки. Така неговият поглед не е "просто една от
поредните гледни точки", а нещо съвършено различно по характер.
И хранилището е съвършено различно. По същият начин то не е просто HEAD
и не бива да го третираш като версия. В общия случай не бива да те
интересува как точно е организирано и структурирано то, защото това са
неща "от кухнята" и обикновено е добра идея да си изолиран от тези
подробности. Авторите на Subversion са проектирали системата така, че да
може хранилището да се пази чрез различни backend-механизми. Новата FSFS
наистина има предимства, но те в никакъв случай не са за да бърникаш
всекидневно из хранилището на ниско ниво.
В твоя случай ако просто искаш в някоя директория на сървъра да имаш
последното дърво от HEAD, може би просто трябва да направиш checkout на
HEAD в тази директория и после да кажеш на послушния и търпелив cron
периодично да прави svn update в тази директория. Друг елегантен вариант
да поддържаш огледало на HEAD е вместо cron да сложиш hook-скрипт на
събитието post-commit, който да предизвиква svn update.
On вт, 2005-03-01 at 21:34 +0200, Атанас Мавров wrote:
> първо се извинявам ако въпроса е елементарен, но не можах да намеря решение,
> затова ще ви помоля за помощ. И така става въпрос за следното - инсталирах
> subversion, добавих проекти и всичко си работи чудесно. Но проблема е следния
> - subversion пази (или поне от това което видях) проектите в berkeley db.
> Идеята ми обаче е ако е възможно проекта да бъде и като файлове които може да
> се използват във файловата система на сървъра. Въпроса е как след като някой
> "качи" някой променен файл, това да се отразява и във директорията където е
> "нормалната" версия на проекта?
> Надявам се че успях да обясня какво искам да направя, остава да кажа че
> версията която ползвам е 1.1.3-2.
--
Поздрави,
Калоянъ.
_________________________________________________________
Може би не отговарям, защото: http://6lyokavitza.org/mail
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|