{"thread":{"id":"318","subject":"[ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","startedAt":"2005-04-26T03:24:22Z","lastAt":"2005-04-26T22:21:19Z","messageCount":15,"participants":["Petr Baudis","Mike Taht","Benjamin Herrenschmidt","Jeff Garzik","Daniel Barkalow","Al Viro","Philip Pokorny","Morten Welinder","Martin Atukunda","Paul Jackson","Pavel Machek"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"1698","messageId":"20050426032422.GQ13467@pasky.ji.cz","threadId":"318","inReplyTo":null,"subject":"[ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-26T03:24:22Z","receivedAt":"2005-04-26T03:24:22Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hello,\n\n  here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree\nhistory tracker. This package was formerly called git-pasky, however\nthis release brings big changes. The usage is significantly different,\nas well as some basic concepts; the history changed again (hopefully the\nlast time?) because of fixing dates of some old commits. The .git/\ndirectory layout changed too.\n\n  Upgrading through pull is possible, but rather difficult and requires\nsome intimacy with both git, git-pasky and Cogito. So probably the best\nway to go is to just get cogito-0.8 tarball at\n\n\thttp://www.kernel.org/pub/software/scm/cogito/\n\nor\n\n\tftp://ftp.kernel.org/pub/software/scm/cogito/\n\nbuild and install it, and do\n\n\tcg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git\n\n\n\n  Yes, this is a huge change. No, I don't expect any further changes of\nsimilar scale. I think the new interface is significantly simpler _and_\ncleaner than the old one.\n\n  First for the concept changes. There is no concept of tracking\nanymore; you just do either cg-pull to just fetch the changes, or\ncg-update to fetch them as well as merge them to your working tree.\nEven more significant change is that Cogito does not directly support\nlocal branches anymore - git fork is gone, you just go to new directory\nand do\n\n\tcg-init ~/path/to/your/original/repository\n\n(or cg-clone, which will try to create a new subdirectory for itself).\nThis now acts as a separate repository, except that it is hardlinked\nwith the original one; therefore you get no additional disk usage.  To\nget new changes to it from the original repository, you have to\ncg-update origin. If you decide you want to merge back, go to the\noriginal repository, add your new one as a branch and pull/update from\nit.\n\n  As for the interface changes, you will probably find out on your own;\ncg-help should be of some help. All the scripts now start with 'cg-',\nand you should ignore the 'cg-X*' ones. The non-trivial mapping is:\n\n\tgit addremote -> cg-branch-add\n\tgit lsremote -> cg-branch-ls\n\tgit patch -> cg-mkpatch\n\tgit apply -> cg-patch\n\tgit lsobj -> cg-admin-lsobj\n\n  Commands that are gone:\n\n\tgit fork\n\tgit track\n\n  New commands:\n\n\tcg-clone\n\tcg-update\n\n\n\n  Of course other changes include various bugfixes, and latest Linus'\nstuff (although we do not make use of Linus' tags yet).\n\n  Note that I don't know how many time will I have for hacking Cogito\nuntil the next Sunday/Monday. I hope I will get some time to at least\napply bugfixes etc, but I don't know how much more will I be able to do.\nYou would make me a happy man if you could please port your pending\npatches from git-pasky to Cogito; I promise to apply them and I hope\nthere isn't going to be another so big change in the foreseeable future,\nwhich would cause major conflicts for your patches etc.\n\n\n  Note that I cc'd LKML since it is going to break stuff for anyone\nusing git-pasky now (apologies for that; it won't happen another time).\nPlease try not to keep it in the cc' list unless it is really relevant.\n\n  Have fun,\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"},{"id":"1699","messageId":"20050426032941.GR13467@pasky.ji.cz","threadId":"318","inReplyTo":"20050426032422.GQ13467@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-26T03:29:41Z","receivedAt":"2005-04-26T03:29:41Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Tue, Apr 26, 2005 at 05:24:22AM CEST, I got a letter\nwhere Petr Baudis <pasky@ucw.cz> told me that...\n>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree\n> history tracker. This package was formerly called git-pasky, however\n> this release brings big changes. The usage is significantly different,\n> as well as some basic concepts; the history changed again (hopefully the\n> last time?) because of fixing dates of some old commits. The .git/\n> directory layout changed too.\n\nI forgot to mention that you should really only upgrade if you feel\nbrave and are willing to do some testing; it is likely there are some\nnew bugs introduced by the renaming, some leftovers of the original\ngit-pasky stuff in some not-so-frequently called scripts, etc. I will\nsee how many bug reports will we get and how fast will the bugcount\ndrop; if things won't stabilize very quickly, I might release\ngit-pasky-0.7.1 with few obvious bugfixes.\n\n(And don't write announcements at 4am.)\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"},{"id":"1703","messageId":"426DBF94.3010502@timesys.com","threadId":"318","inReplyTo":"20050426032422.GQ13467@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Mike Taht","fromEmail":"mike.taht@timesys.com","sentAt":"2005-04-26T04:12:04Z","receivedAt":"2005-04-26T04:12:04Z","isPatch":false,"sender":{"key":"mike.taht@timesys.com","avatar":null},"body":"\n>   Yes, this is a huge change. No, I don't expect any further changes of\n> similar scale. I think the new interface is significantly simpler _and_\n> cleaner than the old one.\n\nHeh. Another huge change would be moving the top level directories \naround a bit.\n\n\nbindings  COPYING  git.spec  Makefile  programs  README.reference  tests\ncontrib   doc      include   po        README    src  VERSION\n\nLeaving fixing the makefiles aside as an exercise for the interested \nreader... that's:\n\n#!/bin/sh\n\n# completely rearrange the file structure of cogito/git\n# just to make pasky and other scm users insane once again\n# FIXME - fix the makefiles, git.spec\n\nCFILES=`ls *.c`\nDFILES=`ls ppc/* mozilla-sha1/*`\nHFILES=`ls *.h`\nSRCDIR=src # or libgit?\nINCDIR=include/git-guts # or keep in SRCDIR or include/git or whatever\nCOGDIR=programs/cogito # or just cogito. is git-web likely to be inc?\n\nmkdir -p $SRCDIR $INCDIR $COGDIR \\\nbindings/perl bindings/python bindings/ruby po tests doc # just ideas,\n# no files (yet)\n\nmv $CFILES ppc mozilla-sha1 $SRCDIR\nmv $HFILES $INCDIR\nCOGFILES=`file * | grep \"script text executable\" | cut -f1 -d:`\nmv $COGFILES $COGDIR\n\ncg-rm $CFILES $HFILES $COGFILES\nfor i in $CFILES $DFILES\ndo\n         cg-add $SRCDIR/$i\ndone\nfor i in $HFILES\ndo\n         cg-add $INCDIR/$i\ndone\n\ncg-commit\n\n\n\n\n-- \n\nMike Taht\n\n\n   \"A straw vote only shows which way the hot air blows.\n\t-- O'Henry\"\n"},{"id":"1707","messageId":"1114489365.7111.40.camel@gaston","threadId":"318","inReplyTo":"20050426032422.GQ13467@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Benjamin Herrenschmidt","fromEmail":"benh@kernel.crashing.org","sentAt":"2005-04-26T04:22:45Z","receivedAt":"2005-04-26T04:22:45Z","isPatch":false,"sender":{"key":"benh@kernel.crashing.org","avatar":null},"body":"On Tue, 2005-04-26 at 05:24 +0200, Petr Baudis wrote:\n>   Hello,\n> \n>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree\n> history tracker. This package was formerly called git-pasky, however\n> this release brings big changes. The usage is significantly different,\n> as well as some basic concepts; the history changed again (hopefully the\n> last time?) because of fixing dates of some old commits. The .git/\n> directory layout changed too.\n>\n> .../...\n\nUnless you already did this in the latest release, it would be nice to\nhave something like havign all the low level tools be by default in some\n~/lib/git or whatever, and only the cg-* scripts in ~/bin on install,\nunless maybe you pass some kind of I_AM_A_REAL_GIT=1 on the make\nline ...\n\nI don't really plan to use the low level tools, and I don't like the way\nthey clobber my bin namespace :)\n\nBen.\n\n\n"},{"id":"1710","messageId":"426DCA75.901@pobox.com","threadId":"318","inReplyTo":"20050426032422.GQ13467@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-04-26T04:58:29Z","receivedAt":"2005-04-26T04:58:29Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"Petr Baudis wrote:\n>   Hello,\n> \n>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree\n> history tracker. This package was formerly called git-pasky, however\n> this release brings big changes. The usage is significantly different,\n> as well as some basic concepts; the history changed again (hopefully the\n> last time?) because of fixing dates of some old commits. The .git/\n> directory layout changed too.\n\ntar xvfj $x\ncd x\nmake\n...\ngcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rpull rpull.c \nlibgit.a rsh.c -lz -lssl\ngcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rev-list rev-list.c \nlibgit.a -lz -lssl\ngcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o git-mktag \ngit-mktag.c libgit.a -lz -lssl\ngcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o diff-tree-helper \ndiff-tree-helper.c libgit.a -lz -lssl\nmake: commit-id: Command not found\nGenerating cg-version...\n\n\n\nSo, it still complains about commit-id\n\n\tJeff\n\n\n"},{"id":"1712","messageId":"Pine.LNX.4.21.0504260103050.30848-100000@iabervon.org","threadId":"318","inReplyTo":"426DCA75.901@pobox.com","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2005-04-26T05:18:32Z","receivedAt":"2005-04-26T05:18:32Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Tue, 26 Apr 2005, Jeff Garzik wrote:\n\n> tar xvfj $x\n> cd x\n> make\n> ...\n> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rpull rpull.c \n> libgit.a rsh.c -lz -lssl\n> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rev-list rev-list.c \n> libgit.a -lz -lssl\n> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o git-mktag \n> git-mktag.c libgit.a -lz -lssl\n> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o diff-tree-helper \n> diff-tree-helper.c libgit.a -lz -lssl\n> make: commit-id: Command not found\n> Generating cg-version...\n> \n> So, it still complains about commit-id\n\nIn this case, it would complain about .git/HEAD even if it found\ncommit-id. The right solution is probably to suppress that part if there's\nno .git/HEAD.\n\n\t-Daniel\n*This .sig left intentionally blank*\n\n"},{"id":"1714","messageId":"20050426054017.GS13052@parcelfarce.linux.theplanet.co.uk","threadId":"318","inReplyTo":"Pine.LNX.4.21.0504260103050.30848-100000@iabervon.org","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Al Viro","fromEmail":"viro@parcelfarce.linux.theplanet.co.uk","sentAt":"2005-04-26T05:40:17Z","receivedAt":"2005-04-26T05:40:17Z","isPatch":false,"sender":{"key":"viro@parcelfarce.linux.theplanet.co.uk","avatar":null},"body":"> > So, it still complains about commit-id\n> \n> In this case, it would complain about .git/HEAD even if it found\n> commit-id. The right solution is probably to suppress that part if there's\n> no .git/HEAD.\n\nThe right thing is to stop assuming that everyone has . in their $PATH,\nto start with...\n"},{"id":"1716","messageId":"Pine.LNX.4.21.0504260142130.30848-100000@iabervon.org","threadId":"318","inReplyTo":"20050426054017.GS13052@parcelfarce.linux.theplanet.co.uk","subject":"[PATCH] Don't use commit-id in building","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2005-04-26T06:03:23Z","receivedAt":"2005-04-26T06:03:23Z","isPatch":true,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Tue, 26 Apr 2005, Al Viro wrote:\n\n> > > So, it still complains about commit-id\n> > \n> > In this case, it would complain about .git/HEAD even if it found\n> > commit-id. The right solution is probably to suppress that part if there's\n> > no .git/HEAD.\n> \n> The right thing is to stop assuming that everyone has . in their $PATH,\n> to start with...\n\nDoes anyone have . in their $PATH? I've only used the commit-id that I\ninstalled previously. Since the tarball doesn't have a .git directory, the\nonly way you end up building cogito from a directory with a repository is\nby using an earlier cogito or something of the sort, in which case, you\nprobably have the program.\n\nIn any case, commit-id isn't actually necessary for this operation.\n\n-\nWe don't necessarily have commit-id available when building. Furthermore,\nwe don't necessarily have a repository. Just put in .git/HEAD if it\nexists; otherwise, it's a base distribution.\n\nSigned-Off-By: Daniel Barkalow <barkalow@iabervon.org>\n\nIndex: Makefile\n===================================================================\n--- f262000f302b749e485f5eb971e6aabefbb85680/Makefile  (mode:100644 sha1:4f01bbbbb3fd0e53e9ce968f167b6dae68fcfa92)\n+++ uncommitted/Makefile  (mode:100644)\n@@ -87,11 +87,13 @@\n http-pull: LIBS += -lcurl\n \n \n-cg-version: $(VERSION)\n+cg-version: $(VERSION) .git/HEAD\n \t@echo Generating cg-version...\n \t@rm -f $@\n \t@echo \"#!/bin/sh\" > $@\n-\t@PATH=.:$(PATH) echo \"echo \\\"$(shell cat $(VERSION)) ($(shell commit-id))\\\"\" >> $@\n+\t@echo -n \"echo \\\"$(shell cat $(VERSION))\" >> $@\n+\t@if [ -r .git/HEAD ]; then echo -n \" ($(shell cat .git/HEAD))\" >> $@; fi\n+\t@echo \"\\\"\" >> $@\n \t@chmod +x $@\n \n install: $(PROG) $(SCRIPTS) $(SCRIPT) $(GEN_SCRIPT)\n\n"},{"id":"1718","messageId":"426DE78A.3050508@mindspring.com","threadId":"318","inReplyTo":"20050426032422.GQ13467@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Philip Pokorny","fromEmail":"ppokorny@mindspring.com","sentAt":"2005-04-26T07:02:34Z","receivedAt":"2005-04-26T07:02:34Z","isPatch":false,"sender":{"key":"ppokorny@mindspring.com","avatar":null},"body":"Petr Baudis wrote:\n\n> the history changed again (hopefully the\n>last time?) because of fixing dates of some old commits.\n>\n\nLooks like the git-pasky-0.7 tags (and friends) are now dead links. For \nexample:\n\n[philip@xray cogito]$ cg-mkpatch git-pasky-0.7:HEAD\n.git/objects/c8/3b95297c2a6336c2007548f909769e0862b509: No such file or \ndirectory\nfatal: cat-file c83b95297c2a6336c2007548f909769e0862b509: bad file\nInvalid id: c83b95297c2a6336c2007548f909769e0862b509\n\n\nIs there any way to recover that, or has the timeline been irrevocably \naltered, and we're all now doomed to meet bastard daughters of long dead \ncrew members? [grin]...\n\n:v)\n\nActually, I really liked that Enterprise-C episode...\n"},{"id":"1730","messageId":"20050426122304.GD18971@pasky.ji.cz","threadId":"318","inReplyTo":"426DBF94.3010502@timesys.com","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-26T12:23:04Z","receivedAt":"2005-04-26T12:23:04Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Tue, Apr 26, 2005 at 06:12:04AM CEST, I got a letter\nwhere Mike Taht <mike.taht@timesys.com> told me that...\n> \n> >  Yes, this is a huge change. No, I don't expect any further changes of\n> >similar scale. I think the new interface is significantly simpler _and_\n> >cleaner than the old one.\n> \n> Heh. Another huge change would be moving the top level directories \n> around a bit.\n> \n> \n> bindings  COPYING  git.spec  Makefile  programs  README.reference  tests\n> contrib   doc      include   po        README    src  VERSION\n> \n> Leaving fixing the makefiles aside as an exercise for the interested \n> reader... that's:\n\nActually, I've been thinking about this, but I think we just don't need\nit *yet*.\n\nAnd by the time we will need to make things more hierarchical, we will\nhopefully have some way to deal with renames sensibly. We need something\nfor that too - either something ultra-smart as Linus describes, or\nexplicit renames, but merging not working across renames makes them\ntotal nightmare.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"},{"id":"1735","messageId":"118833cc05042606362cc60ad2@mail.gmail.com","threadId":"318","inReplyTo":"20050426032422.GQ13467@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Morten Welinder","fromEmail":"mwelinder@gmail.com","sentAt":"2005-04-26T13:36:50Z","receivedAt":"2005-04-26T13:36:50Z","isPatch":false,"sender":{"key":"mwelinder@gmail.com","avatar":null},"body":"> [...] build and install it, [...]\n\nIt assumes the presense of .git/HEAD but doesn't actually fail when missing.\n\n...\ngcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o diff-tree-helper\ndiff-tree-helper.c libgit.a -lz -lssl\ncat: .git/HEAD: No such file or directory\nInvalid id: \nGenerating cg-version...\n\nMorten\n"},{"id":"1741","messageId":"200504261815.56889.matlads@ds.co.ug","threadId":"318","inReplyTo":"426DBF94.3010502@timesys.com","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Martin Atukunda","fromEmail":"matlads@ds.co.ug","sentAt":"2005-04-26T15:15:56Z","receivedAt":"2005-04-26T15:15:56Z","isPatch":false,"sender":{"key":"matlads@ds.co.ug","avatar":null},"body":"On Tuesday 26 April 2005 07:12, Mike Taht wrote:\n> >   Yes, this is a huge change. No, I don't expect any further changes of\n> > similar scale. I think the new interface is significantly simpler _and_\n> > cleaner than the old one.\n>\n> Heh. Another huge change would be moving the top level directories\n> around a bit.\n>\n>\n> bindings  COPYING  git.spec  Makefile  programs  README.reference  tests\n> contrib   doc      include   po        README    src  VERSION\n>\n> Leaving fixing the makefiles aside as an exercise for the interested\n> reader... that's:\n<snip>\nsomething like:\n\n--- cogito-0.8.orig/Makefile\t2005-04-26 06:02:01.000000000 +0300\n+++ cogito-0.8/Makefile\t2005-04-26 18:10:52.558786968 +0300\n@@ -15,7 +15,7 @@\n # BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely \nrandomly\n # break unless your underlying filesystem supports those sub-second times\n # (my ext3 doesn't).\n-CFLAGS=-g -O2 -Wall\n+CFLAGS=-g -O2 -Wall -Isrc\n \n # Should be changed to /usr/local\n prefix=$(HOME)\n@@ -25,19 +25,23 @@\n CC=gcc\n AR=ar\n \n-SCRIPTS=git-merge-one-file-script git-prune-script git-pull-script \ngit-tag-script\n+SCRIPTS=programs/cogito/git-merge-one-file-script \nprograms/cogito/git-prune-script \\\n+\tprograms/cogito/git-pull-script programs/cogito/git-tag-script\n \n-PROG=   update-cache show-diff init-db write-tree read-tree commit-tree \\\n-\tcat-file fsck-cache checkout-cache diff-tree rev-tree show-files \\\n-\tcheck-files ls-tree merge-base merge-cache unpack-file git-export \\\n-\tdiff-cache convert-cache http-pull rpush rpull rev-list git-mktag \\\n-\tdiff-tree-helper\n-\n-SCRIPT=\tcommit-id tree-id parent-id cg-Xdiffdo cg-Xmergefile \\\n-\tcg-add cg-admin-lsobj cg-cancel cg-clone cg-commit cg-diff \\\n-\tcg-export cg-help cg-init cg-log cg-ls cg-merge cg-mkpatch \\\n-\tcg-patch cg-pull cg-branch-add cg-branch-ls cg-rm cg-seek cg-status \\\n-\tcg-tag cg-update cg-Xlib\n+PROG=   src/update-cache src/show-diff src/init-db src/write-tree \nsrc/read-tree src/commit-tree \\\n+\tsrc/cat-file src/fsck-cache src/checkout-cache src/diff-tree src/rev-tree \nsrc/show-files \\\n+\tsrc/check-files src/ls-tree src/merge-base src/merge-cache src/unpack-file \nsrc/git-export \\\n+\tsrc/diff-cache src/convert-cache src/http-pull src/rpush src/rpull \nsrc/rev-list src/git-mktag \\\n+\tsrc/diff-tree-helper\n+\n+SCRIPT=\tprograms/cogito/commit-id programs/cogito/tree-id \nprograms/cogito/parent-id programs/cogito/cg-Xdiffdo\\\n+\tprograms/cogito/cg-Xmergefile programs/cogito/cg-add \nprograms/cogito/cg-admin-lsobj \\\n+\tprograms/cogito/cg-cancel programs/cogito/cg-clone programs/cogito/cg-commit \nprograms/cogito/cg-diff \\\n+\tprograms/cogito/cg-export programs/cogito/cg-help programs/cogito/cg-init \nprograms/cogito/cg-log \\\n+\tprograms/cogito/cg-ls programs/cogito/cg-merge programs/cogito/cg-mkpatch \nprograms/cogito/cg-patch \\\n+\tprograms/cogito/cg-pull programs/cogito/cg-branch-add \nprograms/cogito/cg-branch-ls \\\n+\tprograms/cogito/cg-rm programs/cogito/cg-seek programs/cogito/cg-status \nprograms/cogito/cg-tag \\\n+\tprograms/cogito/cg-update programs/cogito/cg-Xlib\n \n COMMON=\tread-cache.o\n \n@@ -45,17 +49,17 @@\n \n VERSION= VERSION\n \n-LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o\n-LIB_FILE=libgit.a\n-LIB_H=cache.h object.h\n+LIB_OBJS=src/read-cache.o src/sha1_file.o src/usage.o src/object.o \nsrc/commit.o src/tree.o src/blob.o src/rsh.o\n+LIB_FILE=src/libgit.a\n+LIB_H=src/cache.h src/object.h src/rsh.h\n \n-LIB_H += strbuf.h\n-LIB_OBJS += strbuf.o\n+LIB_H += src/strbuf.h\n+LIB_OBJS += src/strbuf.o\n \n-LIB_H += diff.h\n-LIB_OBJS += diff.o\n+LIB_H += src/diff.h\n+LIB_OBJS += src/diff.o\n \n-LIBS = -lz\n+LIBS = -lz -lcurl\n \n ifdef MOZILLA_SHA1\n \tSHA1_HEADER=\"mozilla-sha1/sha1.h\"\n@@ -98,8 +102,14 @@\n \tinstall -m755 -d $(DESTDIR)$(bindir)\n \tinstall $(PROG) $(SCRIPTS) $(SCRIPT) $(GEN_SCRIPT) $(DESTDIR)$(bindir)\n \n+uninstall:\n+\t$(foreach file,$(SCRIPT),$(shell rm $(DESTDIR)$(bindir)/$(shell basename \n$(file))))\n+\t$(foreach file,$(PROG),$(shell rm $(DESTDIR)$(bindir)/$(shell basename \n$(file))))\n+\t$(foreach file,$(SCRIPTS),$(shell rm $(DESTDIR)$(bindir)/$(shell basename \n$(file))))\n+\t$(foreach file,$(GEN_SCRIPT),$(shell rm $(DESTDIR)$(bindir)/$(shell basename \n$(file))))\n+\n clean:\n-\trm -f *.o mozilla-sha1/*.o ppc/*.o $(PROG) $(GEN_SCRIPT) $(LIB_FILE)\n+\trm -f *.o src/*.o cogito/*.o mozilla-sha1/*.o ppc/*.o $(PROG) $(GEN_SCRIPT) \n$(LIB_FILE)\n \n backup: clean\n \tcd .. ; tar czvf dircache.tar.gz dir-cache\n"},{"id":"1759","messageId":"20050426104022.0c53167d.pj@sgi.com","threadId":"318","inReplyTo":"20050426122304.GD18971@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Paul Jackson","fromEmail":"pj@sgi.com","sentAt":"2005-04-26T17:40:22Z","receivedAt":"2005-04-26T17:40:22Z","isPatch":false,"sender":{"key":"pj@sgi.com","avatar":null},"body":"> some way to deal with renames sensibly. \n\nFor a Linux kernel merge tool that I did inside SGI, I come to the\nconclusion the following heuristics identified renames fairly\naccurately, coming up with the same renames as a careful manual\nexamination.\n\nThe key heuristic was to consider one file A to be a rename of another B\nif the size (number of lines) of the diff of A and B (diff -auw A B | wc\n-l) is less than 50% of the combined size of A and B (cat A B | wc -l).\n\nOnly pathname pairs with the same basename were considered - I was\nfocused here on renames due to directory restructuring.  I'm not sure\nnow if this is a good assumption - but it sure saved some computation.\n\nAny file with the string \"Makefile\" in its name had to be excluded from\nconsideration.\n\nIn case of multiple potential renames (say one file is copied to two\nplaces, removing the original and modifying each copy a little), the\n'best' rename was selected, where 'best' meant the lowest ratio of\ndiff 'diff -auw' size to combined 'cat' size.\n\nThe end result of the above was a fairly natural identification of\nrenames.  If say I moved kernel/cpuset.c to mm/cpuset.c and changed\nit a little bit, the above heuristics would show a rename, plus\na few changes.\n\n-- \n                  I won't rest till it's the best ...\n                  Programmer, Linux Scalability\n                  Paul Jackson <pj@engr.sgi.com> 1.650.933.1373, 1.925.600.0401\n"},{"id":"1794","messageId":"20050426204357.GN13224@pasky.ji.cz","threadId":"318","inReplyTo":"426DE78A.3050508@mindspring.com","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-26T20:43:57Z","receivedAt":"2005-04-26T20:43:57Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Tue, Apr 26, 2005 at 09:02:34AM CEST, I got a letter\nwhere Philip Pokorny <ppokorny@mindspring.com> told me that...\n> Petr Baudis wrote:\n> \n> >the history changed again (hopefully the\n> >last time?) because of fixing dates of some old commits.\n> >\n> \n> Looks like the git-pasky-0.7 tags (and friends) are now dead links. For \n> example:\n> \n> [philip@xray cogito]$ cg-mkpatch git-pasky-0.7:HEAD\n> .git/objects/c8/3b95297c2a6336c2007548f909769e0862b509: No such file or \n> directory\n> fatal: cat-file c83b95297c2a6336c2007548f909769e0862b509: bad file\n> Invalid id: c83b95297c2a6336c2007548f909769e0862b509\n\nOops. Good catch, fixed. I actually just iterated cg-log. ;-)\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"},{"id":"1815","messageId":"20050426222119.GA19742@elf.ucw.cz","threadId":"318","inReplyTo":"20050426032422.GQ13467@pasky.ji.cz","subject":"Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)","fromName":"Pavel Machek","fromEmail":"pavel@ucw.cz","sentAt":"2005-04-26T22:21:19Z","receivedAt":"2005-04-26T22:21:19Z","isPatch":false,"sender":{"key":"pavel@ucw.cz","avatar":null},"body":"Hi!\n\n>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree\n> history tracker. This package was formerly called git-pasky, however\n> this release brings big changes. The usage is significantly different,\n> as well as some basic concepts; the history changed again (hopefully the\n> last time?) because of fixing dates of some old commits. The .git/\n> directory layout changed too.\n> \n>   Upgrading through pull is possible, but rather difficult and requires\n> some intimacy with both git, git-pasky and Cogito. So probably the best\n> way to go is to just get cogito-0.8 tarball at\n> \n> \thttp://www.kernel.org/pub/software/scm/cogito/\n> \n> or\n> \n> \tftp://ftp.kernel.org/pub/software/scm/cogito/\n> \n> build and install it, and do\n> \n> \tcg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git\n> \n> \n> \n>   Yes, this is a huge change. No, I don't expect any further changes of\n> similar scale. I think the new interface is significantly simpler _and_\n> cleaner than the old one.\n\nIt seems to need libcurl-dev... installed.\n\nError handling could certainly be improved:\n\npavel@amd:/data/l/cogito$ cg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git\n./cg-clone: line 22: cg-init: command not found\npavel@amd:/data/l/cogito$ PATH=/data/l/cogito:$PATH\npavel@amd:/data/l/cogito$ cg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git\ncg-clone: cogito/ already exists\n\n\t\t\t\t\t\t\t\t\t\tPavel\n-- \nBoycott Kodak -- for their patent abuse against Java.\n"}]}