[Top][All Lists]

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

[Savannah-hackers-public] mirroring cvs to git *on* savannah

From: Jim Meyering
Subject: [Savannah-hackers-public] mirroring cvs to git *on* savannah
Date: Fri, 10 Aug 2007 13:34:02 +0200

I plan to mirror a few CVS repositories to git, keeping the entire process
local to savannah.  Before now, I've been mirroring gnulib and emacs
on my desktop and pushing from the resulting git repo to savannah, but
automating that is suboptimal for a few reasons: security, since you have
to choose between using a passwordless ssh key (never! for something like)
and hard-coding an ssh password into some sort of script (even worse).
Plus, it's not as reliable if things are remote: network/desktop problems
stop the mirror.

Tools needed: cvs, rsync, cvsps, git (including git-cvsimport, etc.),
GNU find+xargs.  All but cvsps were already installed.  I did apt-get
install cvsps to install it in the top-level vserver, but then thought it
might be better to do it in the cvs vserver.  There, that same command
would have pulled in a cvs update, so I didn't do it, and for now, I'll
be experimenting from the top-level one instead.
[if someone can okay updating /usr/bin/cvs in the cvs vserver,
 I'll resume working there ]

I expect to run a root cron job that su's to nobody.
It will maintain an rsync'd copy of each repository in
/var/tmp/c2g-mirror, as well as the resulting .git repo.
The repo sizes are negligible compared to available space (380GB):

The .git repository sizes:

     13M  gnulib/.git
    203M  emacs/.git

The cvs repositories:

     45M  /vservers/cvs/sources/gnulib/gnulib
    436M  /vservers/cvs/sources/emacs/emacs/

Unless someone has a better idea, I'll put the two bourne shell
scripts I use in /usr/local/bin.

Any objections?  If so, now's the time to speak up.

reply via email to

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