[devel] Addenda to /etc/profile.d

Alexander Bokovoy =?iso-8859-1?q?ab_=CE=C1_altlinux=2Eru?=
Пт Июн 1 23:03:00 MSD 2001


On Fri, Jun 01, 2001 at 10:53:18PM +0400, Sergey Vlasov wrote:
> On Fri, 1 Jun 2001 03:19:07 +0300
> Alexander Bokovoy <ab на avilink.net> wrote:
> 
> > Подумалось тут, а не добавить ли следующие BASH-ориентированные функции
> > в
> > /etc/profile.d:
> > 1. В /etc/profile.d/cvs.sh можно было бы добавить функции для быстрого
> > доступа в уже имеющиеся на диске репозитарии:
> > 
> > # Обновление репозитария
> > # Использование: cvsgetx имя_репозитария (в текущем каталоге)
> > function cvsgetx {
> >     cvs -d `cat $1/CVS/Root ` -z6 get $@
> > }
> > 
> > # Обновление из конкретной ветки репозитария
> > # Использование: cvsbranch НАЗВАНИЕ_ВЕТКИ имя_репозитария
> > function cvsbranch {
> >     cvs -d `cat $2/CVS/Root ` -z6 get -r $@
> > }
> 
> Т.е. в Вашем варианте я должен написать для обновления "cvsgetx
> some_name". Не проще ли зайти в этот каталог и запустить "cvs -z6 update
> -d" (вот на это как раз можно поставить алиас)? Во втором случае не
> требуется добавлять имя в командную строку.
Предложенный вариант полезен в том случае, когда необходимо обновлять
несколько модулей из одного репозитария, к примеру, из Gnome CVS.
Становимся на верхний уровень и даем:
cvsgetx ximian-setup-tools backend soup libxml ...
и так далее. Сеанс связи в данном случае проходит эффективнее -- CVS не
тратит время на открытие дополнительных соединений для каждого из модулей,
все идет в одном потоке. Это реально ускоряет работу.

 
> Хотя могу себе представить один случай, когда это может оказаться полезным
> - при удалении рабочего каталога оставить CVS/, чтобы можно было потом при
> необходимости снова взять копию из CVS воспользоваться этими функциями.
И это тоже хорошее применение.

 
> > # Отправка данных в репозитарий
> > # Использование: cvscommit
> > function cvscommit {
> >     cvs -d `cat ./CVS/Root ` -z6 commit
> > }
> 
> Зачем такие сложности - cvs commit сам возьмет CVSROOT как раз из
> ./CVS/Root. Явно указывать CVSROOT нужно только для login и checkout.
> Разве что ради -z6 - но это можно просто записать в ~/.cvsrc (или опять же
> добавить алиас).
Тут, вообщем-то можно и оптимизировать, безусловно.


> > Удобство этих функций в том, что не надо устанавливать CVSROOT и помнить
> > его для разных репозитариев.
> CVS это и так умеет.
Нет. Если использовать много модулей из одного репозитария, то придется в
каждый из них заходить, чтобы он это "умел". А так -- "скопом" всех
обрабатывать получается.

--
Sincerely yours, Alexander Bokovoy 
  The Midgard Project   | www.midgard-project.org | ALT Linux Team
Minsk Linux Users Group |    www.minsk-lug.net    | www.altlinux.ru
-- Murphy's Law is recursive.  Washing your car to make it rain doesn't work.
_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel



Подробная информация о списке рассылки Devel