I have a repository which has ~2000 branches on the remote, and it takes ~8 
seconds to push a change to one ref. The majority of this time is spent in 
pack-object. I wrote a hack so that only the ref being updated would be packed 
(the normal behavior is to pack for every ref on the remote).  The push time 
dropped to <1 second with (seemingly) no consequences. This raised a couple of 
questions:

1) Are there consequences for not packing refs that are not being updated? Can 
all operations in send-pack which operate on other refs be skipped?
2) Why isn't git more selective about what it packs? Is it simply a performance 
optimization not worth the implementation complexity?
3) Is something about my repository strange? ex: 2000 is too many branches, 
packing for each ref takes me an unusually long time, etc.

Thanks in advance to anyone who takes the time to clarify this for me.

Daniel
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to