Re: lug-bg: Subversion
- Subject: Re: lug-bg: Subversion
- From: Krasimir Kazakov <wasp@xxxxxxxx>
- Date: Wed, 02 Mar 2005 12:54:49 +0200
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Kaloian Doganov wrote:
| Димитър Шияшки ти е отговорил по същество, но аз се страхувам, че
| може би те грози жестоко омазване. Както си задал въпроса излиза,
| че считаш хранилището на сървъра за "нормална" версия на проекта.
|
| Този възглед е дълбоко погрешен. Хранилището не е просто
| HEAD-версия, то е проектирано да пази историята на всички версии на
| файловете, които са поставени под контрол. Работните копия от
| страна на клиента отразяват състоянието на нещата на определено
| място в даден момент. Това са един вид частни гледни точки.
| Хранилището е онзи паноптикум, образуван от съвкупността на всички
| тези гледни точки.
|
| Представи си за момент, че Господ, бидейки всезнаещ, знае какво си
| мисли всеки един човек по отделно. От своята гледна точка той обема
| всички други частни гледни точки. Така неговият поглед не е
| "просто една от поредните гледни точки", а нещо съвършено различно
| по характер.
|
| И хранилището е съвършено различно. По същият начин то не е просто
| HEAD и не бива да го третираш като версия. В общия случай не бива
| да те интересува как точно е организирано и структурирано то,
| защото това са неща "от кухнята" и обикновено е добра идея да си
| изолиран от тези подробности. Авторите на Subversion са проектирали
| системата така, че да може хранилището да се пази чрез различни
| backend-механизми. Новата FSFS наистина има предимства, но те в
| никакъв случай не са за да бърникаш всекидневно из хранилището на
| ниско ниво.
|
| В твоя случай ако просто искаш в някоя директория на сървъра да
| имаш последното дърво от HEAD, може би просто трябва да направиш
| checkout на HEAD в тази директория и после да кажеш на послушния и
| търпелив cron периодично да прави svn update в тази директория.
| Друг елегантен вариант да поддържаш огледало на HEAD е вместо cron
| да сложиш hook-скрипт на събитието post-commit, който да
| предизвиква svn update.
Аз го правя точно по този начин от месеци, моят hooks/post-commit
скрипт изглежда като това
#!/bin/bash
WORKING_DIR="/path/to/project/htdocs"
cd $WORKING_DIR ; svn update
мисля че и правата имаха значение, трябва ти executable flag на скрипта.
Преди това се прави svn checkout на trunk-а за да имаш последната
версия (или съответно може друг branch , който се update-ва при
необходимост), и при промяна на trunk-а, промените се отразяват
автоматично. Това съм го тествал и работи безотказно.
|
|
| On вт, 2005-03-01 at 21:34 +0200, Атанас Мавров wrote:
|
|> първо се извинявам ако въпроса е елементарен, но не можах да
|> намеря решение, затова ще ви помоля за помощ. И така става въпрос
|> за следното - инсталирах subversion, добавих проекти и всичко си
|> работи чудесно. Но проблема е следния - subversion пази (или
|> поне от това което видях) проектите в berkeley db. Идеята ми
|> обаче е ако е възможно проекта да бъде и като файлове които може
|> да се използват във файловата система на сървъра. Въпроса е как
|> след като някой "качи" някой променен файл, това да се отразява и
|> във директорията където е "нормалната" версия на проекта? Надявам
|> се че успях да обясня какво искам да направя, остава да кажа че
|> версията която ползвам е 1.1.3-2.
|
|
- --
Regards: Krasimir Kazakov,
ICQ: 6428363,
Site: http://wasp.drun.net/
Key: 0x123C7D60
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.7 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCJZt4+ZmoLhI8fWARAmdyAJ9sbdu82a1thr5lHLPDGurP7YaaRACfSSqM
JNUHmNKSlsvXwM0twH+ogN4=
=NI3F
-----END PGP SIGNATURE-----
============================================================================
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
============================================================================
|