diff options
author | root <root@localhost> | 2013-02-14 00:00:00 +0000 |
---|---|---|
committer | root <root@localhost> | 2013-02-14 00:00:00 +0000 |
commit | fdb2732abbc3fe5394208668030c194c178a3985 (patch) | |
tree | afe5ce639e0ff055bede05a2be1d57b3d3ff7f3d | |
parent | 8e1246e7388313779e93ce6d58e45da3eb64239e (diff) | |
download | git-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-x | git-remote-gcrypt | 13 |
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_") |