Skip to content
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
@dsiebel

Description

@dsiebel

git svn clone

  • configurable --prefix
  • configurable --stdlayout
  • configurable repository (local) name
  • integrate --authors-progfor 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

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions