This repository was archived by the owner on May 17, 2019. It is now read-only.
This repository was archived by the owner on May 17, 2019. It is now read-only.
MigrateCommand enhancements #3
Open
Description
git svn clone
- configurable
--prefix
- configurable
--stdlayout
- configurable repository (local) name
- integrate
--authors-prog
for fallback keep empty subversion directories (sometimes they might be necessary)497e64e
branch & tag migration
- try updating if branch exists (trust cli return codes?)
- move "trunk" to master if applicable
- git branch -M trunk master;
- cleanup bogus branches of the form "name@REV"
git for-each-ref --format='%(refname)' refs/heads | grep '@[0-9][0-9]*' | cut -d / -f 3-
git for-each-ref --format='%(refname)' refs/remotes
might be a better fit to migrate branches and tags (if we can dispence the tag's messages)?
continue where I left of
- fetch changes from svn if first command did not run successfully (timeout, etc.)
final bare repository after migration (local)
git init --bare $gitinit_params;
git symbolic-ref HEAD refs/heads/trunk;
git remote add bare <final bare repo>;
git config remote.bare.push 'refs/remotes/*:refs/heads/*';
git push bare;
automatically transfer svn-ignore
git svn show-ignore --id trunk >> .gitignore;
git add .gitignore;
git commit --author="svn2git <nobody@example.org>" -m 'Convert svn:ignore properties to .gitignore.';
git
- abstract git commands to separate layer