aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <root@localhost>2013-02-14 00:00:00 +0000
committerroot <root@localhost>2013-02-14 00:00:00 +0000
commitfdb2732abbc3fe5394208668030c194c178a3985 (patch)
treeafe5ce639e0ff055bede05a2be1d57b3d3ff7f3d
parent8e1246e7388313779e93ce6d58e45da3eb64239e (diff)
downloadgit-remote-gcrypt-fdb2732abbc3fe5394208668030c194c178a3985.zip
git-remote-gcrypt-fdb2732abbc3fe5394208668030c194c178a3985.tar.gz
git-remote-gcrypt-fdb2732abbc3fe5394208668030c194c178a3985.tar.bz2
Use batch-check to use only the remote_has commits we also have locally
-rwxr-xr-xgit-remote-gcrypt13
1 files changed, 6 insertions, 7 deletions
diff --git a/git-remote-gcrypt b/git-remote-gcrypt
index be3a4a7..909aa25 100755
--- a/git-remote-gcrypt
+++ b/git-remote-gcrypt
@@ -249,10 +249,8 @@ pack_hash()
# Pass the branch/ref by pipe to git
safe_git_rev_parse()
{
- local out_=
- out_=$(xecho "$1" | git cat-file --batch-check)
- out_=${out_%%*missing}
- xecho "${out_%% *}"
+ git cat-file --batch-check 2>/dev/null |
+ xgrep -v "missing" | cut -f 1 -d ' '
}
check_recipients()
@@ -446,8 +444,9 @@ do_push()
trap 'rm -f "$TmpPack_Encrypted" "$TmpObjlist"' EXIT
if isnonnull "$Branchlist"
then
- remote_has=$(xecho "$Branchlist" |
- cut -f 1 -d ' ' | sed -e 's/^\(.\)/^&/')
+ # filter through batch-check to mark only the commits we have
+ remote_has=$(xecho "$Branchlist" | cut -f 1 -d ' ' |
+ safe_git_rev_parse | sed -e 's/^\(.\)/^&/')
fi
while read line_ # from <<
@@ -458,7 +457,7 @@ do_push()
then
remote_want=$(append "$remote_want" "$prefix_")
Branchlist=$(append "$Branchlist" \
- "$(safe_git_rev_parse "$prefix_") $suffix_")
+ "$(xecho "$prefix_" | safe_git_rev_parse) $suffix_")
else
# Mark branch for deletion
Branchlist=$(append "$Branchlist" "$del_hash $suffix_")