Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Thursday, September 19, 2024

File: [Platon] / scripts / shell / cvs-switch / README (download)

Revision 1.4, Sun Oct 31 14:56:23 2004 UTC (19 years, 10 months ago) by rajo


Changes since 1.3: +25 -3 lines

Old CVS_IGNORE_REMOTE_ROOT removed - not supported by cvs > 1.10

  The Latest Version
  ------------------

  Details of the latest version can be found on the Platon SDG project page
  under http://platon.sk/cvs/cvs.php/scripts/shell/cvs-switch/





  Why this script was developed?
  ------------------------------

  If you have one master CVS Repository and multiple CVS mirrors, you
  must change CVS/Root files in all subdirectories if you want commit
  into master CVS Repository but make 'cvs diff' towards slave CVS
  Repository (e.g. your local CVS Repository copy).

  With cvs-switch script you can easily switch between multiple CVS
  Repositories (CVS Roots). Actual list of available CVS Repositories is
  based on your current domain name.




  Usage
  -----

  Add next line to your ~/.bashrc, ~/.zshrc or etc.:

  alias cvs-switch='eval `$HOME/prog/cvs/scripts/shell/cvs-switch/cvs-switch.sh`'
  alias cvs='cvs -d $CVSROOT'

  Then you can easily switch between CVS Repositories with alias 'cvs-switch'.
  Available CVS Repositories are configured in your ~/.cvs-repositories.conf





  ~/.cvs-repositories.conf format description
  -------------------------------------------

  ~/.cvs-repositories.conf is regular shell script sourced by cvs-switch.sh
  script on startup. You can configure avaliable CVS Repositories for your
  actual domain.

  You can use the same config file for different hosts/domains. Actual domain
  is autodetected.  Simpy add new section for your domain into your
  ~/.cvs-repositories.conf. The section can look like this:

  ----------------------------------%<----------------------------------
  #
  # settings for *.domain.company.sk
  #
  DOMAIN_domain_company_sk="company_cvs company_rajo company_cvs_local"
  # {{{

  TITLE_company_cvs_local="Local CompanyName"
  CVSROOT_company_cvs_local=":local:/usr/local/cvs_root"

  TITLE_company_cvs="CompanyName rajo@devel02"
  CVSROOT_company_cvs=":ext:rajo@devel02.company.sk:/usr/local/cvs_root"
  CVS_RSH_company_cvs="$HOME/bin/cvs_ssh"

  TITLE_company_rajo="rajo's rajo@platon"
  CVSROOT_company_rajo=":ext:rajo@cvs.platon.sk:/home/rajo/cvs_root"
  CVS_RSH_company_rajo="$HOME/bin/cvs_ssh-platon"

  # }}}
  ----------------------------------%<----------------------------------

  Change name of the variable 'DOMAIN_domain_company_sk' as needed. For
  domainname 'google.com' create variable with name 'DOMAIN_google_com'
  (replace dots with '_' character). Add keywords describing your CVS
  Repositories (available for this domain) into this variable. In example above
  I have used keywords 'company_cvs', 'company_rajo', 'company_cvs_local'.
  Then create variables TITLE_<keyword1>, TITLE_<keyword2>, ...,
  CVSROOT_<keyword1>, CVSROOT_<keyword2>, ..., CVS_RSH_<keyword1>, ...

  If you run 'cvs-switch' command on machine in domain domain.company.sk, you
  can see output:

  ------------------------------%<------------------------------
  16:29 rajo@domain.company.sk: cvs-switch 
   
  0 - NONE 
   
  1 - CompanyName rajo@devel02 
  CVSROOT = :ext:rajo@devel02.company.sk:/usr/local/cvs_root 
  CVS_RSH = /home/rajo/bin/cvs_ssh 
   
  2 - rajo's rajo@platon 
  CVSROOT = :ext:rajo@cvs.platon.sk:/home/rajo/cvs_root 
  CVS_RSH = /home/rajo/bin/cvs_ssh-platon 
   
  3 - Local CompanyName
  CVSROOT = :local:/usr/local/cvs_root 
   
  Your choice: [0]:
  ------------------------------%<------------------------------

  Choose number as you wish add look at output of command 'env | grep CVS'

  Everything is done. You can easily switch between CVS repositories. ;-)




  Compatibility
  -------------

  This script was tested on Linux and FreeBSD. Solaris is not well tested.

  Cvs relase version 1.1 has changed behaviour of 'cvs' command. With
  newer cvs version than 1.10 it is possible for a single CVS command to
  recurse into several CVS roots. See
  https://ccvs.cvshome.org/source/browse/ccvs/NEWS?r1=1.74&r2=1.75 for
  details. But this behaviour is in conflict with this, what you want.
  You will switch between master and slave CVS Repositories "on the
  fly".  ;-)


  Licensing
  ---------

  Licensed under terms of GNU GPL license. See
  http://www.gnu.org/copyleft/gpl.txt for details



  For developers
  --------------

  Operating system  | `uname` | hostname    | domainname                      | FQDN
  ------------------+---------+-------------+---------------------------------+-------------
  Linux             | Linux   | hostname    | hostname -d                     | hostname -f
  FreeBSD           | FreeBSD | hostname -s | hostname | sed 's/^[^.]*\.//g'  | hostname
  Solaris           | SunOS   | hostname    | domainname                      | echo `hostname`.`domainname`


  $Platon: scripts/shell/cvs-switch/README,v 1.3 2004/10/14 14:54:08 rajo Exp $

--
Lubomir Host 'rajo' <rajo AT platon.sk>
http://rajo.platon.sk
http://platon.sk

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top