Dear diary, on Wed, Oct 18, 2006 at 04:52:25PM CEST, I got a letter where Linus Torvalds <torvalds@xxxxxxxx> said that... > In other words, to get such a pack, we'd _literally_ just do something > like > > git-rev-list --objects-edge origin.. | > git-pack-objects --stdout | > uuencode > > and that would be it. You'd still need to add a "diffstat" to the thing, > and tell the other end what the current HEAD is (so that it knows what > it's supposed to fast-forward to), but it _literally_ is that simple. > > "plug-in architecture" my ass. "I recognize this - it's UNIX!". Took me exactly an hour from mkdir cogito-bundle to cg-push to kernel.org. :-) cogito-bundle is an example on how to create third-party addons or plugins adding own commands to Cogito and using Cogito's infrastructure. It's not _that_ easy currently since you have to replicate large part of the build infrastructure locally; that could be fixed by installing some "library makefiles" and asciidoc toolkit to /usr/share or something, if there would be a real demand for such an addon API. cg-help and the cg wrapper will pick up the newly installed commands automagically. The only thing missing is updating cogito(7) to list the addon commands, which would take a bit more work. Though it's an example, it's actually supposed to be useful, by doing exactly what is outlined above - l - it lets you exchange commits over mail by so-called "bundles", similar to e.g. Bazaar bundles - basically, it is like push or fetch, but over email, and the commit ids are preserved when transferred in bundles (if you just send patches, the commit ids will end up different). The provided cg-bundle and cg-unbundle commands are rather crude and don't support many things - they don't actually include a diff, only a diffstat, etc. The uuencoded bundle is inlined in the mail, which I suspect isn't very useful; perhaps it would be more practical to just attach it binarily. Feel free to send patches (or bundles ;). An example bundle is available at http://pasky.or.cz/~pasky/cp/example-bundle.txt as generated by cogito.master$ cg-bundle -r v0.18 -m"Subject is this" \ -m"And some body now..." --stdout and cogito-bundle is available at git://git.kernel.org/pub/scm/cogito/cogito-bundle.git/ (gitweb http://kernel.org/git/?p=cogito/cogito-bundle.git) -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html