echo "Registering svn url: $url in $MR_CONFIG"
mr -c "$MR_CONFIG" config "`pwd`" checkout="svn co $url $MR_REPO"
git_register =
- url="$(LANG=C git-config --get remote.origin.url)"
+ url="$(LANG=C git-config --get remote.origin.url)" || true
if [ -z "$url" ]; then
error "cannot determine git url"
fi
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)"
+ 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 $url $MR_REPO"
+ 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)"
+ 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
+ if [ -z "$worktree" ]; then
+ error "git worktree is not set"
+ fi
+ 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 $url $MR_REPO"
+ 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"
help =
if [ ! -e "$MR_PATH" ]; then