[PATCH] git-clone-script: store where we cloned from in .git/branches/origin
A bit more usability enhancement, while retaining Cogito compatibility (and fixing the "-u" flag). Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
bf0dd8a8de
commit
1cadb5a271
@ -22,10 +22,10 @@ while
|
|||||||
0,*) break ;;
|
0,*) break ;;
|
||||||
*,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) use_local=yes ;;
|
*,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) use_local=yes ;;
|
||||||
*,-q|*,--quiet) quiet=-q ;;
|
*,-q|*,--quiet) quiet=-q ;;
|
||||||
1,-u|*,--upload-pack) usage ;;
|
1,-u|1,--upload-pack) usage ;;
|
||||||
*,-u|*,--upload-pack)
|
*,-u|*,--upload-pack)
|
||||||
shift
|
shift
|
||||||
upload_pack="--exec=$2" ;;
|
upload_pack="--exec=$1" ;;
|
||||||
*,-*) usage ;;
|
*,-*) usage ;;
|
||||||
*) break ;;
|
*) break ;;
|
||||||
esac
|
esac
|
||||||
@ -81,23 +81,28 @@ yes,yes)
|
|||||||
HEAD=HEAD
|
HEAD=HEAD
|
||||||
fi
|
fi
|
||||||
tar Ccf "$repo" - refs $HEAD | tar Cxf "$D/.git" - || exit 1
|
tar Ccf "$repo" - refs $HEAD | tar Cxf "$D/.git" - || exit 1
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
esac
|
*)
|
||||||
|
case "$repo" in
|
||||||
case "$repo" in
|
rsync://*)
|
||||||
rsync://*)
|
|
||||||
rsync $quiet -avz --ignore-existing "$repo/objects/" "$D/.git/objects/" &&
|
rsync $quiet -avz --ignore-existing "$repo/objects/" "$D/.git/objects/" &&
|
||||||
rsync $quiet -avz --ignore-existing "$repo/refs/" "$D/.git/refs/"
|
rsync $quiet -avz --ignore-existing "$repo/refs/" "$D/.git/refs/"
|
||||||
;;
|
;;
|
||||||
http://*)
|
http://*)
|
||||||
echo "Somebody should add http fetch" >&2
|
echo "Somebody should add http fetch" >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
cd "$D" && case "$upload_pack" in
|
cd "$D" && case "$upload_pack" in
|
||||||
'') git-clone-pack $quiet "$repo" ;;
|
'') git-clone-pack $quiet "$repo" ;;
|
||||||
*) git-clone-pack $quiet "$upload_pack" "$repo" ;;
|
*) git-clone-pack $quiet "$upload_pack" "$repo" ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Update origin.
|
||||||
|
mkdir -p "$D/.git/branches/" &&
|
||||||
|
rm -f "$D/.git/branches/origin" &&
|
||||||
|
echo "$repo" >"$D/.git/branches/origin"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user