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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions