Skip to content
  • Junio C Hamano's avatar
    pack-objects --unpacked=<existing pack> option. · 106d710b
    Junio C Hamano authored
    
    
    Incremental repack without -a essentially boils down to:
    
    	rev-list --objects --unpacked --all |
            pack-objects $new_pack
    
    which picks up all loose objects that are still live and creates
    a new pack.
    
    This implements --unpacked=<existing pack> option to tell the
    revision walking machinery to pretend as if objects in such a
    pack are unpacked for the purpose of object listing.  With this,
    we could say:
    
    	rev-list --objects --unpacked=$active_pack --all |
    	pack-objects $new_pack
    
    instead, to mean "all live loose objects but pretend as if
    objects that are in this pack are also unpacked".  The newly
    created pack would be perfect for updating $active_pack by
    replacing it.
    
    Since pack-objects now knows how to do the rev-list's work
    itself internally, you can also write the above example by:
    
    	pack-objects --unpacked=$active_pack --all $new_pack </dev/null
    
    Signed-off-by: default avatarJunio C Hamano <junkio@cox.net>
    106d710b