From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Bokovoy To: devel@linux.iplabs.ru Subject: Re: [devel] Addenda to /etc/profile.d Message-ID: <20010601220300.A30931@main.avilink.net> References: <20010601031906.C4558@boids.avilink.net> <20010601225318.6a2c29f3.vsu@mivlgu.murom.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: <20010601225318.6a2c29f3.vsu@mivlgu.murom.ru>; from vsu@mivlgu.murom.ru on Fri, Jun 01, 2001 at 10:53:18PM +0400 Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: X-Original-Date: Fri, 1 Jun 2001 22:03:00 +0300 Date: Fri, 1 Jun 2001 22:03:00 +0300 Archived-At: List-Archive: List-Post: On Fri, Jun 01, 2001 at 10:53:18PM +0400, Sergey Vlasov wrote: > On Fri, 1 Jun 2001 03:19:07 +0300 > Alexander Bokovoy 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