git-svn: add --follow-parent and --no-metadata options to fetch
commita00439acd209142167bf891dcf646a6501a814e5
authorEric Wong <normalperson@yhbt.net>
Wed, 28 Jun 2006 02:39:13 +0000 (27 19:39 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 28 Jun 2006 10:20:50 +0000 (28 03:20 -0700)
tree52ea3c52122b88395302ce9a39f6c760f9a4e2bf
parent27e9fb8d415a7bbc14001c14580f4c568e246381
git-svn: add --follow-parent and --no-metadata options to fetch

--follow-parent:
  This is especially helpful when we're tracking a directory
  that has been moved around within the repository, or if we
  started tracking a branch and never tracked the trunk it was
  descended from.

  This relies on the SVN::* libraries to work.  We can't
  reliably parse path info from the svn command-line client
  without relying on XML, so it's better just to have the SVN::*
  libs installed.

  This also removes oldvalue verification when calling update-ref

  In SVN, branches can be deleted, and then recreated under the
  same path as the original one with different ancestry
  information, causing parent information to be mismatched /
  misordered.

  Also force the current ref, if existing, to be a parent,
  regardless of whether or not it was specified.

--no-metadata:
  This gets rid of the git-svn-id: lines at the end of every commit.

  With this, you lose the ability to use the rebuild command.  If
  you ever lose your .git/svn/git-svn/.rev_db file, you won't be
  able to fetch again, either.  This is fine for one-shot imports.

  Also fix some issues with multi-fetch --follow-parent that were
  exposed while testing this.  Additionally, repack checking is
  simplified greatly.

  git-svn log will not work on repositories using this, either.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
contrib/git-svn/git-svn.perl
contrib/git-svn/t/t0004-follow-parent.sh [new file with mode: 0644]