githead.pl - Maintain limited (HEAD and vendor branches only) git mirror of CVS repository.
githead.pl [-o branch] [-C gitdir] [-d CVSROOT] [-s statefile] [-x] CVS_module
githead.pl is a script for maintaining partial git mirror of CVS repository. Partial means HEAD and vendor branches. Majority of CVS use cases assume that all "official" development activity happens in HEAD branch and developer's workspace is just a local copy of it. So if hypothetical developer would like to use git mirror of CVS repo more often than not it's just HEAD. githead.pl covers this particular case.
githead supports incremental updates and keep state of latest successfull sync in cache file. Default filename is based on CVSROOT value and located in ~/.githead directory
Requirements:
Tie::Array::Sorted
YAML
- -h, -?
-
Prints out a brief help message.
- -o branch
-
Specify branch for HEAD. Passed directly to git-cvsimport(1).
- -C gitdir
-
Specify directory for git repository. Default if CVS_module.git
- -d CVSROOT
-
Specify CVS root in format acceptable by cvs(1) command. If not provided - environment variable CVSROOT is used.
- -s
-
Specify file for saveing import states.
- -x
-
Ignore cached state and re-import all commits from CVS. Please, note, that this option does not affect git directory. It should be deleted/moved manually.
Create poptop's CVS repository git mirror from the scratch. Output directory is poptop.git
githead.pl -x -o upstream -d:pserver:anonymous@poptop.cvs.sourceforge.net:/cvsroot/poptop poptop
Create or update (if it exists) git mirror for tmux CVS repo.
githead.pl -o upstream -d:pserver:anonymous@tmux.cvs.sourceforge.net:/cvsroot/tmux tmux
~/.githead/ - directory with cached import state files
Oleksandr Tymoshenko <gonzo@bluezbox.com>