Jonathan Nieder <jrnie...@gmail.com> writes: > Henrique de Moraes Holschuh wrote: > >> Given the size of the .git dir when you're not using something like stgit >> and have all objects properly packed, one could even consider shipping .git >> inside the package if it is small enough. >> >> Is that a proper way to do this? Or would we need a new 3.0 format variant >> to do it right (assuming we want to do that) ? > > There has been talk [1] of a format variant that uses git bundles to do > that efficiently, but nothing concrete. To me, it seems like a good idea. > > A few points [2] to keep in mind: > > - People can easily download source packages to access the original > source and Debian changes without too much technical > sophistication. Even a quilt series is just a series of patches so > it doesnât require specialized tools. So there is precedent for > making it easy to access a source package from Debian. > > Will âgitâ ever be as ubiquitous as âpatchâ? If the source package > is something you can âgit cloneâ to get a repository with > appropriate âmasterâ and âorigin/upstreamâ branches, is that good > enough? Probably. ;-) > > - The bundle needs to be clonable without use of any external object > repository. The bundle ought to have branches âmasterâ and > âupstreamâ, relevant tags, maybe a âpristine-tarâ branch, and not > much extra junk. > > - To be included in Debian main, everything in the bundle should meet > the free software guidelines (right?); practically speaking, this > means the history would very often be cauterized when the project > is first packaged for Debian. > > Maybe some of the damage from this could be mitigated by including > a suitable grafts file or refs for use by âgit replaceâ. > > - Including the whole history with each upload and forcing users and > buildds to reclone with each download would be unpleasant. (This > can be turned around: with work, a git-based format might be able > to decrease bandwidth use for sites like snapshots.debian.org.) > > - Bundles are hard to recreate. If they were to be created on the > fly some way as in the previous item, the md5sums are not stable. > Just something to think about. > > Thoughts? Especially, if anyone would like to talk implementation, > let me know. It sounds difficult to do right, but thereâs no harm in > experimenting.
Two things: 1) Think about doing this for linux-2.6, XOrg or OOo and what it would mean for the source size or usability. 2) If you want a git repository then use a git repository. Castrating git, hacking the history to pices and then mangling the whole thing into a tar.gz is just stupid. Teach DAK, dpkg-source and libapt about git. The Sources.gz file would then just contain a reference and apt-get source foo would clone the repository and so on. Uploading a new source could then be sending a signed ref to the maintainers git or sending a signed bundle or even just pushing and setting a tag. > The easiest way to try this out now is to include a bundle in the > source tarball (ugh) and clone it at build time. If youâre doing > that, please let me know how it goes. But not the best way. :) > Jonathan > > [1] http://thread.gmane.org/gmane.linux.debian.devel.dpkg.general/11234 > [2] Thanks to Goswin for many of these: > http://thread.gmane.org/gmane.linux.debian.devel.dpkg.general/11234/focus=11264 MfG Goswin -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org