Now that git-cvsimport and git-svn are mature, I'll share my script which I call "get.cvs" to track a number of remote archives. It's not extremely general, but maybe it'll inspire someone else to generalize it. I have ~/MIRROR/foo-GITSVN tracking a remote archive using git-svn, so the name of the directory reflects the tracking mechanism. There's also *-CVS, *-SVN, *-GIT, and *-GITCVS. For *-GITCVS, I have to keep the args for git-cvsimport around, so I store that in the respository under getcvs.gitcvsargs. For *-GITSVN, I have to force the head/origin to softlink to the proper remote svn reference. The *-GIT* merges are safe, because they won't pull over any uncommited entries, but they *will* merge into whatever the current branch is. This keeps any checked out tree trivially up to date, which is mostly what I'm watching anyway. Setting up *-GIT* generally requires checking out a master branch to really track the files... I think I did this with "git-checkout -b master origin". #!/bin/sh cd && cd MIRROR || exit 1 case $# in 0) set -- '*';; esac eval set -- "$@" trap ':' 2 for i in "$@" do ( trap - 2 cd $i || exit echo == $i == case $i in *-CVS) cvs -q update;; *-SVN) svn update;; *-GIT*) ## first, update "origin": case $i in *-GIT) git-fetch ;; *-GITCVS) git-cvsimport -k -i $(git-repo-config getcvs.gitcvsargs) ;; *-GITSVN) ## be sure to have origin "ref: refs/remotes/git-svn" git-svn multi-fetch ;; esac if git-status | grep -v 'nothing to commit' then echo UPDATE SKIPPED else if git-pull . origin | egrep -v 'up-to-date' then git log --no-merges ORIG_HEAD.. | git shortlog fi fi ;; *) echo "[ignoring]";; esac ) done -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <merlyn@xxxxxxxxxxxxxx> <URL:http://www.stonehenge.com/merlyn/> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html