X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/8785f32e84c060b4d9a4264dd46995ae7e39e943..dc44c0be2ca2c70c1dc179dfe23d6ed9567b5555:/lib/git-fake-bare diff --git a/lib/git-fake-bare b/lib/git-fake-bare index eeff551..b90304d 100644 --- a/lib/git-fake-bare +++ b/lib/git-fake-bare @@ -23,11 +23,11 @@ lib = cd "$repo" mkdir -p "$worktree" PWD="`pwd`" + mv .git/* . + rmdir .git GIT_DIR="$PWD" git read-tree HEAD GIT_DIR="$PWD" git checkout-index -a --prefix="$worktree" || true GIT_DIR="$PWD" git config core.worktree "$worktree" - mv .git/* . - rmdir .git } git_get_worktree() { local worktree @@ -39,7 +39,7 @@ lib = if [ ! -d "$worktree" ]; then error "git worktree $worktree does not exist" fi - echo "$worktree" + echo "$worktree" } git_fake_bare_test = @@ -49,16 +49,20 @@ git_fake_bare_test = git_fake_bare_update = args="$@" - [ -z "$args" ] && args="-t origin master" + branch="$(GIT_DIR="$MR_REPO" git symbolic-ref HEAD | sed -re 's,.+/,,')" + [ -z "$args" ] && args="-t origin $branch" GIT_DIR="$MR_REPO" git pull $args -git_fake_bare_status = GIT_DIR="$MR_REPO" git status "$@" || true +git_fake_bare_status = GIT_DIR="$MR_REPO" git status -s "$@" || true git_fake_bare_commit = cd "$(git_get_worktree)" GIT_DIR="$MR_REPO" git commit -a "$@" GIT_DIR="$MR_REPO" git push --all +git_fake_bare_push = + GIT_DIR="$MR_REPO" git push --all + git_fake_bare_record = cd "$(git_get_worktree)" GIT_DIR="$MR_REPO" git commit -a "$@"