|
From: | David Allouche |
Subject: | Re: [Texmacs-dev] Further Problems with CVS |
Date: | Thu, 26 Sep 2002 19:12:06 +0200 |
User-agent: | Mutt/1.4i |
On Thu, Aug 01, 2002 at 04:59:22PM +0200, Joris van der Hoeven wrote: > > Did someone else try to use the CVS for texmacs-doc? > I had many problems with the CVS myself, but that was at the very > beginning of Savannah and I spent an afternoon hacking with the > main maintainer of Savannah to get my problems arranged... > > So it would be good if someone else could explain to Hans > how to get things working... Well, I just experimented a bit with CVS and had no problem checking-in a small change. Attached is a HTML document describing my experience. Hope this helps. -- _. _ . GNU TeXmacs -- Writing is a pleasure. |\ | |\ Home page -- http://www.texmacs.org | \ ,-.|,--.| \ Resources -- http://alqua.com/tmresources | \| |,-+||--\ TeXmacs is NOT a LaTeX front-end -+--'`- \`-'\- - and is unrelated to emacs.
After some users complained about problems using cvs to access the publictexmacs-doc project, I decided to give it a try and log all my steps. I decided to focus on developper access via SSH, since that is supposedly the harder part.
If after reading that document and the help on Savannah you are still unable to access the texmacs-doc cvs repository, please complain on the texmacs-dev mailing list (subscription is required for posting).
Authentificated access to cvs on Savannah is done through ssh, so you first need to set up a ssh access to subversions.gnu.org The ssh configuration FAQ on Savannah is quite detailed and should be all you need. If you are confused by the stuff about SSH1 or SSH2, on all modern GNU/Linux systems you can generally assume you are using a SSH2 implementation.
Personnally, when I checked the public key registration page, I saw I had already registered one. I could make sure all things were set up properly by running a test connection.
address@hidden david$ ssh -1 address@hidden
The authenticity of host 'subversions.gnu.org (199.232.41.2)' can't be established.
RSA1 key fingerprint is 66:f4:9a:7e:e3:a8:c5:16:d1:88:aa:ef:3e:06:75:30.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'subversions.gnu.org,199.232.41.2' (RSA1) to the list of known hosts.
Welcome to subversions.gnu.org, running Debian GNU/Linux 3.0
"Software by its very nature is subversive: the computer's identity
is redefined by a subtler yet more powerful form of information.
A new species comes into being when a program executes for the first
time, and nobody really knows what it will bring to the universe."
-- Spencer Hammond, 1987
If you are using `rsh' or `rlogin` to connect to subversions, please be sure
to pass the -x flag. Unlike fencepost, we can't require this here because of
CVS.
- Mail <address@hidden> if you have any questions
You tried to execute: `/usr/local/bin/cvssh'.
Sorry, you are only allowed to execute :
CVS_RSH=ssh cvs commands
rsync from /cvsroot or /upload.
rsync to /upload.
sftp to and from /upload.
Connection to subversions.gnu.org closed.
address@hidden david$
The -1 flag to the ssh command is meant to enfore the use of the SSH1 protocol. You should substitute ddaa here by your login on Savannah. The output from ssh shows that the login was successful, but that the account is restricted and do not allow access to an interactive shell, causing an immediate logout.
Then I added:
Host subversions.gnu.org
Protocol 1
to my .ssh/config file, and I could then get the same output with the simpler command:
ssh address@hidden
Now, I have a properly configured ssh access to Savannah.
I dislike to stuff my environment with ad-hoc variables, so I generally create small specialized bash scripts once a command requires arcane environment settings or get too long. So I created a first script named texmacs-doc-co:
#!/bin/bash
export CVS_RSH=ssh
cvs -z3 address@hidden:/cvsroot/texmacs-doc checkout texmacs-doc
However I got an empty tree... of course! The online documentation is stored in the web cvs! So I changed my texmacs-doc-co script to the correct version:
#!/bin/bash
export CVS_RSH=ssh
cvs -z3 address@hidden:/webcvs checkout software/texmacs-doc
According to the Savannah cvs page, people behind fascist firewalls may need to use the https port to connect. The texmacs-doc-co script would thus look like:
#!/bin/bash
export CVS_RSH=ssh
cvs -z3 address@hidden:443/webcvs checkout software/texmacs-doc
After running texmacs-doc-co, a complete copy of the online documentation is available locally. These documents can be read and edited using TeXmacs as usual.
For the needs of the experiment, I added an annotation to the primitives.en.tm document, about the possible use of the document node as an inner node.
In order to easily check-in changes, I have created a small script texmacs-co-ci:
export CVS_RSH=ssh
cvs -z3 address@hidden:443/webcvs commit "$@"
Then, I ran that script with no parameter ("$@" expanding to
nothing) from the same directory where I ran texmacs-doc-co. The
cvs client prompted me for a changelog and commited my change. I could immediately
check the effectiveness of the commit by reloading the documentation page
in TeXmacs.
GNU Emacs provides a very useful package, called vc (for Version Control) which allows integration of the editor with various version control systems (including cvs). You can read the (as usual) very helpful online documentation for vc if you want further information.
Since vc runs cvs as a subprocess of Emacs, one has to set the environment variable CVS_RSH somehow to make it work. What I did was adding (setenv "CVS_RSH" "ssh") in my .emacs file.
[Prev in Thread] | Current Thread | [Next in Thread] |