X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/8785f32e84c060b4d9a4264dd46995ae7e39e943..40e3d94eed1a9bef9da8d02170a9d9f09d91620b:/lib/git-fake-bare diff --git a/lib/git-fake-bare b/lib/git-fake-bare index eeff551..786a8d7 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,7 +49,8 @@ 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 @@ -59,6 +60,9 @@ git_fake_bare_commit = 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 "$@"