On Tue, Jun 28, 2005 at 02:40:56AM -0700, Junio C Hamano wrote: > >>>>> "LT" == Linus Torvalds <torvalds@osdl.org> writes: > Still a good space reduction. Good job! > > I am now dreaming if we someday would enhance the mechanism with > append-only updates to the *.pack files with complete rewrite of > the *.idx files, and get rid of files under .git/objects totally. No offense my friend, this has been done. It's name is mercurial. > This would make things reasonably friendly to rsync. The kernel > pack has around 60M pack with 1.1M index, so everyday use would > involve incremental updates to the pack [*1*] and full download > of the index file. It still have other open issue. Now it would be harder to not sync all the heads. If I just want the clean Linus-2.6 tree, I have to dig it out from the pack file which mixing with other heads. You could host different projects with it's own pack file. That will lost the space saving on co-hosting projects. So I am not convince rsync is the way to go in long run. You need to have your own network syncing method. > > [Footnote] > > *1* Presumably many objects are deltified against older objects > which is suboptimal. Most likely the newer objects are accessed > far more often and they are what we would want to keep in full > not as delta. So even with this scheme we would want to have > weekly repacking. Interestingly enough, pack-objects gets the > objects via usual read_sha1_file() interface so it can produce a > new pack from an existing pack. It sounds like you are suggesting backward delta. Keeping the latest node in full and using delta to access the old one. It should work but it will lose the append only property. Chris - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Wed Jun 29 00:29:47 2005
This archive was generated by hypermail 2.1.8 : 2005-06-29 00:29:51 EST