texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] Further Problems with CVS


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.

Using cvs to access texmacs-doc

About this document

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).

Setting up ssh

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.

Checking out the cvs tree

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

Editing the documentation

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.

Checking in the changes

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.

Working with vc

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]