]> Nutra Git (v1) - gamesguru/git-remote-gcrypt.git/commitdiff
Allow deleting remote refs
authorroot <root@localhost>
Thu, 14 Feb 2013 00:00:00 +0000 (00:00 +0000)
committerroot <root@localhost>
Thu, 14 Feb 2013 00:00:00 +0000 (00:00 +0000)
README.rst
git-remote-gcrypt

index b5402a494dd0806b6d7512605de721ec026301b8..5775bd21d2a2ac550d139f8f32e51f88c770894c 100644 (file)
@@ -147,7 +147,6 @@ Yet to be Implemented
 .....................
 
 + Repacking the remote repository
-+ Deleting remote refs
 + Some kind of simple keyring management
 
 See Also
index 49fed5fbd90c81192e46c264ea368c8265c1eb6f..be3a4a7865eabe0a3395ac66be63c81cb5437649 100755 (executable)
@@ -433,6 +433,7 @@ do_push()
        # file's hash. The manifest is updated with the pack id.
        # The manifest is encrypted.
        local remote_has= remote_want= prefix_= suffix_= line_= pack_id= key_=
+       del_hash=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
        ensure_connected
        check_recipients
@@ -459,13 +460,15 @@ do_push()
                        Branchlist=$(append "$Branchlist" \
                                "$(safe_git_rev_parse "$prefix_") $suffix_")
                else
-                       :  # FIXME delete branch
+                       # Mark branch for deletion
+                       Branchlist=$(append "$Branchlist" "$del_hash $suffix_")
                fi
        done <<EOF
 $1
 EOF
 
-       Branchlist=$(xecho "$Branchlist" | sort_stable_k2 | tac | uniq -s 40)
+       Branchlist=$(xecho "$Branchlist" | sort_stable_k2 | tac | uniq -s 40 |
+               xgrep -v "^$del_hash")
 
        TmpPack_Encrypted="$Localdir/tmp_pack_ENCRYPTED_.$$"
        TmpObjlist="$Localdir/tmp_packrevlist.$$"
@@ -505,17 +508,12 @@ EOF
        rm -f "$TmpManifest_Enc"
        trap - EXIT
 
-       # ok all updates (not deletes)
+       # ok all updates
        xecho "$1" | while read line_
        do
                # +src:dst -- remove leading + then split at :
                splitcolon "${line_#+}"
-               if isnull "$prefix_"
-               then
-                       echo_git "error $suffix_ delete not supported yet"
-               else
-                       echo_git "ok $suffix_"
-               fi
+               echo_git "ok $suffix_"
        done
        
        echo_git