diff extra/fast-export/hg-reset.sh @ 1544:e9e55585ebf2 feature_1136

Add fast-export
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Tue, 12 Jan 2016 13:39:30 +0000
parents
children 3ad53f43483d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/fast-export/hg-reset.sh	Tue Jan 12 13:39:30 2016 +0000
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# Copyright (c) 2007, 2008 Rocco Rutte <pdmef@gmx.net> and others.
+# License: MIT <http://www.opensource.org/licenses/mit-license.php>
+
+ROOT="`dirname $0`"
+REPO=""
+PFX="hg2git"
+SFX_MARKS="marks"
+SFX_MAPPING="mapping"
+SFX_HEADS="heads"
+SFX_STATE="state"
+QUIET=""
+PYTHON=${PYTHON:-python}
+
+USAGE="[-r <repo>] -R <rev>"
+LONG_USAGE="Print SHA1s of latest changes per branch up to <rev> useful
+to reset import and restart at <rev>.
+If <repo> is omitted, use last hg repository as obtained from state file,
+GIT_DIR/$PFX-$SFX_STATE by default.
+
+Options:
+	-R	Hg revision to reset to
+	-r	Mercurial repository to use
+"
+
+. "$(git --exec-path)/git-sh-setup"
+cd_to_toplevel
+
+while case "$#" in 0) break ;; esac
+do
+  case "$1" in
+    -r|--r|--re|--rep|--repo)
+      shift
+      REPO="$1"
+      ;;
+    -*)
+      # pass any other options down to hg2git.py
+      break
+      ;;
+    *)
+      break
+      ;;
+  esac
+  shift
+done
+
+# for convenience: get default repo from state file
+if [ x"$REPO" = x -a -f "$GIT_DIR/$PFX-$SFX_STATE" ] ; then
+  REPO="`grep '^:repo ' "$GIT_DIR/$PFX-$SFX_STATE" | cut -d ' ' -f 2`"
+  echo "Using last hg repository \"$REPO\""
+fi
+
+# make sure we have a marks cache
+if [ ! -f "$GIT_DIR/$PFX-$SFX_MARKS" ] ; then
+  touch "$GIT_DIR/$PFX-$SFX_MARKS"
+fi
+
+GIT_DIR="$GIT_DIR" $PYTHON "$ROOT/hg-reset.py" \
+  --repo "$REPO" \
+  --marks "$GIT_DIR/$PFX-$SFX_MARKS" \
+  --mapping "$GIT_DIR/$PFX-$SFX_MAPPING" \
+  --heads "$GIT_DIR/$PFX-$SFX_HEADS" \
+  --status "$GIT_DIR/$PFX-$SFX_STATE" \
+  "$@"
+
+exit $?