- echo "Registering cvs repository $repo at root $root"
- mr -c "$MR_CONFIG" config "$PWD" \
- checkout="cvs -d '$root' co -d $basedir $repo"
- ;;
- hg)
- url=$(hg showconfig paths.default)
- echo "Registering mercurial repo url: $url in $MR_CONFIG"
- mr -c "$MR_CONFIG" config "$PWD" \
- checkout="hg clone $url $basedir"
- ;;
- darcs)
- url=$(cat _darcs/prefs/defaultrepo)
- echo "Registering darcs repository $url in $MR_CONFIG"
- mr -c "$MR_CONFIG" config "$PWD" \
- checkout="darcs get $url $basedir"
- ;;
- *) error "unable to register this repo type";;
- esac
+ echo "Registering cvs repository $repo at root $root"
+ mr -c "$MR_CONFIG" config "`pwd`" checkout="cvs -d '$root' co -d $MR_REPO $repo"
+hg_register =
+ url=$(hg showconfig paths.default)
+ echo "Registering mercurial repo url: $url in $MR_CONFIG"
+ mr -c "$MR_CONFIG" config "`pwd`" checkout="hg clone $url $MR_REPO"
+darcs_register =
+ url=$(cat _darcs/prefs/defaultrepo)
+ echo "Registering darcs repository $url in $MR_CONFIG"
+ mr -c "$MR_CONFIG" config "`pwd`" checkout="darcs get $url $MR_REPO"
+git_bare_register =
+ url="$(LANG=C GIT_CONFIG=config git-config --get remote.origin.url)" || true
+ if [ -z "$url" ]; then
+ error "cannot determine git url"
+ fi
+ mr -c "$MR_CONFIG" config "`pwd`" \
+ lib="GIT_WORK_TREE=$work_tree; export GIT_WORK_TREE"
+ echo "Registering git url: $url in $MR_CONFIG"
+ mr -c "$MR_CONFIG" config "`pwd`" checkout="git clone --bare $url $MR_REPO"
+git_fake_bare_register =
+ url="$(LANG=C GIT_CONFIG=config git-config --get remote.origin.url)" || true
+ if [ -z "$url" ]; then
+ error "cannot determine git url"
+ fi
+ worktree="$(git-config --get core.worktree)" || true
+ worktree="${worktree%%/}/"
+ if [ ! -d "$worktree" ]; then
+ error "git worktree $worktree does not exist"
+ fi
+ mr -c "$MR_CONFIG" config "`pwd`" \
+ lib="GIT_WORK_TREE=$work_tree; export GIT_WORK_TREE"
+ echo "Registering git url: $url in $MR_CONFIG (with worktree $worktree)"
+ mr -c "$MR_CONFIG" config "`pwd`" \
+ checkout="
+ git clone --no-checkout $url $MR_REPO
+ cd $MR_REPO
+ git read-tree HEAD
+ git checkout-index -a --prefix='$work_tree' || true
+ git config core.worktree '$worktree'"
+ mv .git/* . && rmdir .git"