X-Git-Url: https://git.phdru.name/?p=git-scripts.git;a=blobdiff_plain;f=fork;h=51883568272ae6cd3ff03149663e0dacf0217c6f;hp=2f032d54a6acf572e19f9007321e7fc16a4c331f;hb=b90789d369c5500fa85a0954869626e8aa3566ce;hpb=4402fd2c33d3df3eede8ecd8b36807e9f2d7b409 diff --git a/fork b/fork index 2f032d5..5188356 100755 --- a/fork +++ b/fork @@ -1,31 +1,32 @@ #! /bin/sh -if [ -z "$2" ]; then - echo "Usage: $0 upstream origin" >&2 +if [ -z "$2" -o -n "$4" ]; then + echo "Usage: $0 upstream origin [local]" >&2 exit 1 fi upstream="$1" origin="$2" -local_repo="`basename \"$origin\" .git`" +local_repo="$3" +test -z "$local_repo" && local_repo="`basename \"$origin\" .git`" if [ -d "$local_repo"/.git ]; then cd "$local_repo" fi && if [ -d .git ]; then - git remote add upstream "$upstream" && - git remote set-url origin "$origin" + git remote add upstream "$upstream" + git remote set-url origin "$origin" || git remote add origin "$origin" else git clone -o upstream "$upstream" "$local_repo" && cd "$local_repo" && + chmod a-x .git/config && git remote add origin "$origin" fi && +"`dirname \"$0\"`"/set-commit-date-recursive && pwd >> "`dirname \"$0\"`"/locate-all.list && - -chmod a-x .git/config && -branch="`git rev-parse --abbrev-ref HEAD`" +branch="`git rev-parse --abbrev-ref HEAD`" && git pull upstream $branch && git pull origin $branch &&