git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
@ 2005-04-26  3:24 Petr Baudis
  2005-04-26  3:29 ` Petr Baudis
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Petr Baudis @ 2005-04-26  3:24 UTC (permalink / raw
  To: git; +Cc: linux-kernel

  Hello,

  here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree
history tracker. This package was formerly called git-pasky, however
this release brings big changes. The usage is significantly different,
as well as some basic concepts; the history changed again (hopefully the
last time?) because of fixing dates of some old commits. The .git/
directory layout changed too.

  Upgrading through pull is possible, but rather difficult and requires
some intimacy with both git, git-pasky and Cogito. So probably the best
way to go is to just get cogito-0.8 tarball at

	http://www.kernel.org/pub/software/scm/cogito/

or

	ftp://ftp.kernel.org/pub/software/scm/cogito/

build and install it, and do

	cg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git



  Yes, this is a huge change. No, I don't expect any further changes of
similar scale. I think the new interface is significantly simpler _and_
cleaner than the old one.

  First for the concept changes. There is no concept of tracking
anymore; you just do either cg-pull to just fetch the changes, or
cg-update to fetch them as well as merge them to your working tree.
Even more significant change is that Cogito does not directly support
local branches anymore - git fork is gone, you just go to new directory
and do

	cg-init ~/path/to/your/original/repository

(or cg-clone, which will try to create a new subdirectory for itself).
This now acts as a separate repository, except that it is hardlinked
with the original one; therefore you get no additional disk usage.  To
get new changes to it from the original repository, you have to
cg-update origin. If you decide you want to merge back, go to the
original repository, add your new one as a branch and pull/update from
it.

  As for the interface changes, you will probably find out on your own;
cg-help should be of some help. All the scripts now start with 'cg-',
and you should ignore the 'cg-X*' ones. The non-trivial mapping is:

	git addremote -> cg-branch-add
	git lsremote -> cg-branch-ls
	git patch -> cg-mkpatch
	git apply -> cg-patch
	git lsobj -> cg-admin-lsobj

  Commands that are gone:

	git fork
	git track

  New commands:

	cg-clone
	cg-update



  Of course other changes include various bugfixes, and latest Linus'
stuff (although we do not make use of Linus' tags yet).

  Note that I don't know how many time will I have for hacking Cogito
until the next Sunday/Monday. I hope I will get some time to at least
apply bugfixes etc, but I don't know how much more will I be able to do.
You would make me a happy man if you could please port your pending
patches from git-pasky to Cogito; I promise to apply them and I hope
there isn't going to be another so big change in the foreseeable future,
which would cause major conflicts for your patches etc.


  Note that I cc'd LKML since it is going to break stuff for anyone
using git-pasky now (apologies for that; it won't happen another time).
Please try not to keep it in the cc' list unless it is really relevant.

  Have fun,

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
@ 2005-04-26  3:29 ` Petr Baudis
  2005-04-26  4:12 ` Mike Taht
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Petr Baudis @ 2005-04-26  3:29 UTC (permalink / raw
  To: git; +Cc: linux-kernel

Dear diary, on Tue, Apr 26, 2005 at 05:24:22AM CEST, I got a letter
where Petr Baudis <pasky@ucw.cz> told me that...
>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree
> history tracker. This package was formerly called git-pasky, however
> this release brings big changes. The usage is significantly different,
> as well as some basic concepts; the history changed again (hopefully the
> last time?) because of fixing dates of some old commits. The .git/
> directory layout changed too.

I forgot to mention that you should really only upgrade if you feel
brave and are willing to do some testing; it is likely there are some
new bugs introduced by the renaming, some leftovers of the original
git-pasky stuff in some not-so-frequently called scripts, etc. I will
see how many bug reports will we get and how fast will the bugcount
drop; if things won't stabilize very quickly, I might release
git-pasky-0.7.1 with few obvious bugfixes.

(And don't write announcements at 4am.)

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
  2005-04-26  3:29 ` Petr Baudis
@ 2005-04-26  4:12 ` Mike Taht
  2005-04-26 12:23   ` Petr Baudis
  2005-04-26 15:15   ` Martin Atukunda
  2005-04-26  4:22 ` Benjamin Herrenschmidt
                   ` (4 subsequent siblings)
  6 siblings, 2 replies; 15+ messages in thread
From: Mike Taht @ 2005-04-26  4:12 UTC (permalink / raw
  To: pasky, git; +Cc: linux-kernel


>   Yes, this is a huge change. No, I don't expect any further changes of
> similar scale. I think the new interface is significantly simpler _and_
> cleaner than the old one.

Heh. Another huge change would be moving the top level directories 
around a bit.


bindings  COPYING  git.spec  Makefile  programs  README.reference  tests
contrib   doc      include   po        README    src  VERSION

Leaving fixing the makefiles aside as an exercise for the interested 
reader... that's:

#!/bin/sh

# completely rearrange the file structure of cogito/git
# just to make pasky and other scm users insane once again
# FIXME - fix the makefiles, git.spec

CFILES=`ls *.c`
DFILES=`ls ppc/* mozilla-sha1/*`
HFILES=`ls *.h`
SRCDIR=src # or libgit?
INCDIR=include/git-guts # or keep in SRCDIR or include/git or whatever
COGDIR=programs/cogito # or just cogito. is git-web likely to be inc?

mkdir -p $SRCDIR $INCDIR $COGDIR \
bindings/perl bindings/python bindings/ruby po tests doc # just ideas,
# no files (yet)

mv $CFILES ppc mozilla-sha1 $SRCDIR
mv $HFILES $INCDIR
COGFILES=`file * | grep "script text executable" | cut -f1 -d:`
mv $COGFILES $COGDIR

cg-rm $CFILES $HFILES $COGFILES
for i in $CFILES $DFILES
do
         cg-add $SRCDIR/$i
done
for i in $HFILES
do
         cg-add $INCDIR/$i
done

cg-commit




-- 

Mike Taht


   "A straw vote only shows which way the hot air blows.
	-- O'Henry"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
  2005-04-26  3:29 ` Petr Baudis
  2005-04-26  4:12 ` Mike Taht
@ 2005-04-26  4:22 ` Benjamin Herrenschmidt
  2005-04-26  4:58 ` Jeff Garzik
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Benjamin Herrenschmidt @ 2005-04-26  4:22 UTC (permalink / raw
  To: pasky, git; +Cc: Linux Kernel list

On Tue, 2005-04-26 at 05:24 +0200, Petr Baudis wrote:
>   Hello,
> 
>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree
> history tracker. This package was formerly called git-pasky, however
> this release brings big changes. The usage is significantly different,
> as well as some basic concepts; the history changed again (hopefully the
> last time?) because of fixing dates of some old commits. The .git/
> directory layout changed too.
>
> .../...

Unless you already did this in the latest release, it would be nice to
have something like havign all the low level tools be by default in some
~/lib/git or whatever, and only the cg-* scripts in ~/bin on install,
unless maybe you pass some kind of I_AM_A_REAL_GIT=1 on the make
line ...

I don't really plan to use the low level tools, and I don't like the way
they clobber my bin namespace :)

Ben.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
                   ` (2 preceding siblings ...)
  2005-04-26  4:22 ` Benjamin Herrenschmidt
@ 2005-04-26  4:58 ` Jeff Garzik
  2005-04-26  5:18   ` Daniel Barkalow
  2005-04-26  7:02 ` [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Philip Pokorny
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Jeff Garzik @ 2005-04-26  4:58 UTC (permalink / raw
  To: pasky, git; +Cc: linux-kernel

Petr Baudis wrote:
>   Hello,
> 
>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree
> history tracker. This package was formerly called git-pasky, however
> this release brings big changes. The usage is significantly different,
> as well as some basic concepts; the history changed again (hopefully the
> last time?) because of fixing dates of some old commits. The .git/
> directory layout changed too.

tar xvfj $x
cd x
make
...
gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rpull rpull.c 
libgit.a rsh.c -lz -lssl
gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rev-list rev-list.c 
libgit.a -lz -lssl
gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o git-mktag 
git-mktag.c libgit.a -lz -lssl
gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o diff-tree-helper 
diff-tree-helper.c libgit.a -lz -lssl
make: commit-id: Command not found
Generating cg-version...



So, it still complains about commit-id

	Jeff



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  4:58 ` Jeff Garzik
@ 2005-04-26  5:18   ` Daniel Barkalow
  2005-04-26  5:40     ` Al Viro
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Barkalow @ 2005-04-26  5:18 UTC (permalink / raw
  To: Jeff Garzik; +Cc: pasky, git, linux-kernel

On Tue, 26 Apr 2005, Jeff Garzik wrote:

> tar xvfj $x
> cd x
> make
> ...
> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rpull rpull.c 
> libgit.a rsh.c -lz -lssl
> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o rev-list rev-list.c 
> libgit.a -lz -lssl
> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o git-mktag 
> git-mktag.c libgit.a -lz -lssl
> gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o diff-tree-helper 
> diff-tree-helper.c libgit.a -lz -lssl
> make: commit-id: Command not found
> Generating cg-version...
> 
> So, it still complains about commit-id

In this case, it would complain about .git/HEAD even if it found
commit-id. The right solution is probably to suppress that part if there's
no .git/HEAD.

	-Daniel
*This .sig left intentionally blank*


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  5:18   ` Daniel Barkalow
@ 2005-04-26  5:40     ` Al Viro
  2005-04-26  6:03       ` [PATCH] Don't use commit-id in building Daniel Barkalow
  0 siblings, 1 reply; 15+ messages in thread
From: Al Viro @ 2005-04-26  5:40 UTC (permalink / raw
  To: Daniel Barkalow; +Cc: Jeff Garzik, pasky, git, linux-kernel

> > So, it still complains about commit-id
> 
> In this case, it would complain about .git/HEAD even if it found
> commit-id. The right solution is probably to suppress that part if there's
> no .git/HEAD.

The right thing is to stop assuming that everyone has . in their $PATH,
to start with...

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH] Don't use commit-id in building
  2005-04-26  5:40     ` Al Viro
@ 2005-04-26  6:03       ` Daniel Barkalow
  0 siblings, 0 replies; 15+ messages in thread
From: Daniel Barkalow @ 2005-04-26  6:03 UTC (permalink / raw
  To: Al Viro; +Cc: Jeff Garzik, pasky, git, linux-kernel

On Tue, 26 Apr 2005, Al Viro wrote:

> > > So, it still complains about commit-id
> > 
> > In this case, it would complain about .git/HEAD even if it found
> > commit-id. The right solution is probably to suppress that part if there's
> > no .git/HEAD.
> 
> The right thing is to stop assuming that everyone has . in their $PATH,
> to start with...

Does anyone have . in their $PATH? I've only used the commit-id that I
installed previously. Since the tarball doesn't have a .git directory, the
only way you end up building cogito from a directory with a repository is
by using an earlier cogito or something of the sort, in which case, you
probably have the program.

In any case, commit-id isn't actually necessary for this operation.

-
We don't necessarily have commit-id available when building. Furthermore,
we don't necessarily have a repository. Just put in .git/HEAD if it
exists; otherwise, it's a base distribution.

Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org>

Index: Makefile
===================================================================
--- f262000f302b749e485f5eb971e6aabefbb85680/Makefile  (mode:100644 sha1:4f01bbbbb3fd0e53e9ce968f167b6dae68fcfa92)
+++ uncommitted/Makefile  (mode:100644)
@@ -87,11 +87,13 @@
 http-pull: LIBS += -lcurl
 
 
-cg-version: $(VERSION)
+cg-version: $(VERSION) .git/HEAD
 	@echo Generating cg-version...
 	@rm -f $@
 	@echo "#!/bin/sh" > $@
-	@PATH=.:$(PATH) echo "echo \"$(shell cat $(VERSION)) ($(shell commit-id))\"" >> $@
+	@echo -n "echo \"$(shell cat $(VERSION))" >> $@
+	@if [ -r .git/HEAD ]; then echo -n " ($(shell cat .git/HEAD))" >> $@; fi
+	@echo "\"" >> $@
 	@chmod +x $@
 
 install: $(PROG) $(SCRIPTS) $(SCRIPT) $(GEN_SCRIPT)


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
                   ` (3 preceding siblings ...)
  2005-04-26  4:58 ` Jeff Garzik
@ 2005-04-26  7:02 ` Philip Pokorny
  2005-04-26 20:43   ` Petr Baudis
  2005-04-26 13:36 ` Morten Welinder
  2005-04-26 22:21 ` Pavel Machek
  6 siblings, 1 reply; 15+ messages in thread
From: Philip Pokorny @ 2005-04-26  7:02 UTC (permalink / raw
  To: pasky, git; +Cc: linux-kernel

Petr Baudis wrote:

> the history changed again (hopefully the
>last time?) because of fixing dates of some old commits.
>

Looks like the git-pasky-0.7 tags (and friends) are now dead links. For 
example:

[philip@xray cogito]$ cg-mkpatch git-pasky-0.7:HEAD
.git/objects/c8/3b95297c2a6336c2007548f909769e0862b509: No such file or 
directory
fatal: cat-file c83b95297c2a6336c2007548f909769e0862b509: bad file
Invalid id: c83b95297c2a6336c2007548f909769e0862b509


Is there any way to recover that, or has the timeline been irrevocably 
altered, and we're all now doomed to meet bastard daughters of long dead 
crew members? [grin]...

:v)

Actually, I really liked that Enterprise-C episode...

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  4:12 ` Mike Taht
@ 2005-04-26 12:23   ` Petr Baudis
  2005-04-26 17:40     ` Paul Jackson
  2005-04-26 15:15   ` Martin Atukunda
  1 sibling, 1 reply; 15+ messages in thread
From: Petr Baudis @ 2005-04-26 12:23 UTC (permalink / raw
  To: Mike Taht; +Cc: git

Dear diary, on Tue, Apr 26, 2005 at 06:12:04AM CEST, I got a letter
where Mike Taht <mike.taht@timesys.com> told me that...
> 
> >  Yes, this is a huge change. No, I don't expect any further changes of
> >similar scale. I think the new interface is significantly simpler _and_
> >cleaner than the old one.
> 
> Heh. Another huge change would be moving the top level directories 
> around a bit.
> 
> 
> bindings  COPYING  git.spec  Makefile  programs  README.reference  tests
> contrib   doc      include   po        README    src  VERSION
> 
> Leaving fixing the makefiles aside as an exercise for the interested 
> reader... that's:

Actually, I've been thinking about this, but I think we just don't need
it *yet*.

And by the time we will need to make things more hierarchical, we will
hopefully have some way to deal with renames sensibly. We need something
for that too - either something ultra-smart as Linus describes, or
explicit renames, but merging not working across renames makes them
total nightmare.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
                   ` (4 preceding siblings ...)
  2005-04-26  7:02 ` [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Philip Pokorny
@ 2005-04-26 13:36 ` Morten Welinder
  2005-04-26 22:21 ` Pavel Machek
  6 siblings, 0 replies; 15+ messages in thread
From: Morten Welinder @ 2005-04-26 13:36 UTC (permalink / raw
  To: pasky, git

> [...] build and install it, [...]

It assumes the presense of .git/HEAD but doesn't actually fail when missing.

...
gcc -g -O2 -Wall '-DSHA1_HEADER=<openssl/sha.h>' -o diff-tree-helper
diff-tree-helper.c libgit.a -lz -lssl
cat: .git/HEAD: No such file or directory
Invalid id: 
Generating cg-version...

Morten

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  4:12 ` Mike Taht
  2005-04-26 12:23   ` Petr Baudis
@ 2005-04-26 15:15   ` Martin Atukunda
  1 sibling, 0 replies; 15+ messages in thread
From: Martin Atukunda @ 2005-04-26 15:15 UTC (permalink / raw
  To: git

On Tuesday 26 April 2005 07:12, Mike Taht wrote:
> >   Yes, this is a huge change. No, I don't expect any further changes of
> > similar scale. I think the new interface is significantly simpler _and_
> > cleaner than the old one.
>
> Heh. Another huge change would be moving the top level directories
> around a bit.
>
>
> bindings  COPYING  git.spec  Makefile  programs  README.reference  tests
> contrib   doc      include   po        README    src  VERSION
>
> Leaving fixing the makefiles aside as an exercise for the interested
> reader... that's:
<snip>
something like:

--- cogito-0.8.orig/Makefile	2005-04-26 06:02:01.000000000 +0300
+++ cogito-0.8/Makefile	2005-04-26 18:10:52.558786968 +0300
@@ -15,7 +15,7 @@
 # BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely 
randomly
 # break unless your underlying filesystem supports those sub-second times
 # (my ext3 doesn't).
-CFLAGS=-g -O2 -Wall
+CFLAGS=-g -O2 -Wall -Isrc
 
 # Should be changed to /usr/local
 prefix=$(HOME)
@@ -25,19 +25,23 @@
 CC=gcc
 AR=ar
 
-SCRIPTS=git-merge-one-file-script git-prune-script git-pull-script 
git-tag-script
+SCRIPTS=programs/cogito/git-merge-one-file-script 
programs/cogito/git-prune-script \
+	programs/cogito/git-pull-script programs/cogito/git-tag-script
 
-PROG=   update-cache show-diff init-db write-tree read-tree commit-tree \
-	cat-file fsck-cache checkout-cache diff-tree rev-tree show-files \
-	check-files ls-tree merge-base merge-cache unpack-file git-export \
-	diff-cache convert-cache http-pull rpush rpull rev-list git-mktag \
-	diff-tree-helper
-
-SCRIPT=	commit-id tree-id parent-id cg-Xdiffdo cg-Xmergefile \
-	cg-add cg-admin-lsobj cg-cancel cg-clone cg-commit cg-diff \
-	cg-export cg-help cg-init cg-log cg-ls cg-merge cg-mkpatch \
-	cg-patch cg-pull cg-branch-add cg-branch-ls cg-rm cg-seek cg-status \
-	cg-tag cg-update cg-Xlib
+PROG=   src/update-cache src/show-diff src/init-db src/write-tree 
src/read-tree src/commit-tree \
+	src/cat-file src/fsck-cache src/checkout-cache src/diff-tree src/rev-tree 
src/show-files \
+	src/check-files src/ls-tree src/merge-base src/merge-cache src/unpack-file 
src/git-export \
+	src/diff-cache src/convert-cache src/http-pull src/rpush src/rpull 
src/rev-list src/git-mktag \
+	src/diff-tree-helper
+
+SCRIPT=	programs/cogito/commit-id programs/cogito/tree-id 
programs/cogito/parent-id programs/cogito/cg-Xdiffdo\
+	programs/cogito/cg-Xmergefile programs/cogito/cg-add 
programs/cogito/cg-admin-lsobj \
+	programs/cogito/cg-cancel programs/cogito/cg-clone programs/cogito/cg-commit 
programs/cogito/cg-diff \
+	programs/cogito/cg-export programs/cogito/cg-help programs/cogito/cg-init 
programs/cogito/cg-log \
+	programs/cogito/cg-ls programs/cogito/cg-merge programs/cogito/cg-mkpatch 
programs/cogito/cg-patch \
+	programs/cogito/cg-pull programs/cogito/cg-branch-add 
programs/cogito/cg-branch-ls \
+	programs/cogito/cg-rm programs/cogito/cg-seek programs/cogito/cg-status 
programs/cogito/cg-tag \
+	programs/cogito/cg-update programs/cogito/cg-Xlib
 
 COMMON=	read-cache.o
 
@@ -45,17 +49,17 @@
 
 VERSION= VERSION
 
-LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o
-LIB_FILE=libgit.a
-LIB_H=cache.h object.h
+LIB_OBJS=src/read-cache.o src/sha1_file.o src/usage.o src/object.o 
src/commit.o src/tree.o src/blob.o src/rsh.o
+LIB_FILE=src/libgit.a
+LIB_H=src/cache.h src/object.h src/rsh.h
 
-LIB_H += strbuf.h
-LIB_OBJS += strbuf.o
+LIB_H += src/strbuf.h
+LIB_OBJS += src/strbuf.o
 
-LIB_H += diff.h
-LIB_OBJS += diff.o
+LIB_H += src/diff.h
+LIB_OBJS += src/diff.o
 
-LIBS = -lz
+LIBS = -lz -lcurl
 
 ifdef MOZILLA_SHA1
 	SHA1_HEADER="mozilla-sha1/sha1.h"
@@ -98,8 +102,14 @@
 	install -m755 -d $(DESTDIR)$(bindir)
 	install $(PROG) $(SCRIPTS) $(SCRIPT) $(GEN_SCRIPT) $(DESTDIR)$(bindir)
 
+uninstall:
+	$(foreach file,$(SCRIPT),$(shell rm $(DESTDIR)$(bindir)/$(shell basename 
$(file))))
+	$(foreach file,$(PROG),$(shell rm $(DESTDIR)$(bindir)/$(shell basename 
$(file))))
+	$(foreach file,$(SCRIPTS),$(shell rm $(DESTDIR)$(bindir)/$(shell basename 
$(file))))
+	$(foreach file,$(GEN_SCRIPT),$(shell rm $(DESTDIR)$(bindir)/$(shell basename 
$(file))))
+
 clean:
-	rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROG) $(GEN_SCRIPT) $(LIB_FILE)
+	rm -f *.o src/*.o cogito/*.o mozilla-sha1/*.o ppc/*.o $(PROG) $(GEN_SCRIPT) 
$(LIB_FILE)
 
 backup: clean
 	cd .. ; tar czvf dircache.tar.gz dir-cache

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26 12:23   ` Petr Baudis
@ 2005-04-26 17:40     ` Paul Jackson
  0 siblings, 0 replies; 15+ messages in thread
From: Paul Jackson @ 2005-04-26 17:40 UTC (permalink / raw
  To: Petr Baudis; +Cc: mike.taht, git

> some way to deal with renames sensibly. 

For a Linux kernel merge tool that I did inside SGI, I come to the
conclusion the following heuristics identified renames fairly
accurately, coming up with the same renames as a careful manual
examination.

The key heuristic was to consider one file A to be a rename of another B
if the size (number of lines) of the diff of A and B (diff -auw A B | wc
-l) is less than 50% of the combined size of A and B (cat A B | wc -l).

Only pathname pairs with the same basename were considered - I was
focused here on renames due to directory restructuring.  I'm not sure
now if this is a good assumption - but it sure saved some computation.

Any file with the string "Makefile" in its name had to be excluded from
consideration.

In case of multiple potential renames (say one file is copied to two
places, removing the original and modifying each copy a little), the
'best' rename was selected, where 'best' meant the lowest ratio of
diff 'diff -auw' size to combined 'cat' size.

The end result of the above was a fairly natural identification of
renames.  If say I moved kernel/cpuset.c to mm/cpuset.c and changed
it a little bit, the above heuristics would show a rename, plus
a few changes.

-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@engr.sgi.com> 1.650.933.1373, 1.925.600.0401

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  7:02 ` [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Philip Pokorny
@ 2005-04-26 20:43   ` Petr Baudis
  0 siblings, 0 replies; 15+ messages in thread
From: Petr Baudis @ 2005-04-26 20:43 UTC (permalink / raw
  To: Philip Pokorny; +Cc: git, linux-kernel

Dear diary, on Tue, Apr 26, 2005 at 09:02:34AM CEST, I got a letter
where Philip Pokorny <ppokorny@mindspring.com> told me that...
> Petr Baudis wrote:
> 
> >the history changed again (hopefully the
> >last time?) because of fixing dates of some old commits.
> >
> 
> Looks like the git-pasky-0.7 tags (and friends) are now dead links. For 
> example:
> 
> [philip@xray cogito]$ cg-mkpatch git-pasky-0.7:HEAD
> .git/objects/c8/3b95297c2a6336c2007548f909769e0862b509: No such file or 
> directory
> fatal: cat-file c83b95297c2a6336c2007548f909769e0862b509: bad file
> Invalid id: c83b95297c2a6336c2007548f909769e0862b509

Oops. Good catch, fixed. I actually just iterated cg-log. ;-)

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!)
  2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
                   ` (5 preceding siblings ...)
  2005-04-26 13:36 ` Morten Welinder
@ 2005-04-26 22:21 ` Pavel Machek
  6 siblings, 0 replies; 15+ messages in thread
From: Pavel Machek @ 2005-04-26 22:21 UTC (permalink / raw
  To: pasky, git

Hi!

>   here goes Cogito-0.8, my SCMish layer over Linus Torvald's git tree
> history tracker. This package was formerly called git-pasky, however
> this release brings big changes. The usage is significantly different,
> as well as some basic concepts; the history changed again (hopefully the
> last time?) because of fixing dates of some old commits. The .git/
> directory layout changed too.
> 
>   Upgrading through pull is possible, but rather difficult and requires
> some intimacy with both git, git-pasky and Cogito. So probably the best
> way to go is to just get cogito-0.8 tarball at
> 
> 	http://www.kernel.org/pub/software/scm/cogito/
> 
> or
> 
> 	ftp://ftp.kernel.org/pub/software/scm/cogito/
> 
> build and install it, and do
> 
> 	cg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git
> 
> 
> 
>   Yes, this is a huge change. No, I don't expect any further changes of
> similar scale. I think the new interface is significantly simpler _and_
> cleaner than the old one.

It seems to need libcurl-dev... installed.

Error handling could certainly be improved:

pavel@amd:/data/l/cogito$ cg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git
./cg-clone: line 22: cg-init: command not found
pavel@amd:/data/l/cogito$ PATH=/data/l/cogito:$PATH
pavel@amd:/data/l/cogito$ cg-clone rsync://rsync.kernel.org/pub/scm/cogito/cogito.git
cg-clone: cogito/ already exists

										Pavel
-- 
Boycott Kodak -- for their patent abuse against Java.

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2005-04-26 22:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-26  3:24 [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Petr Baudis
2005-04-26  3:29 ` Petr Baudis
2005-04-26  4:12 ` Mike Taht
2005-04-26 12:23   ` Petr Baudis
2005-04-26 17:40     ` Paul Jackson
2005-04-26 15:15   ` Martin Atukunda
2005-04-26  4:22 ` Benjamin Herrenschmidt
2005-04-26  4:58 ` Jeff Garzik
2005-04-26  5:18   ` Daniel Barkalow
2005-04-26  5:40     ` Al Viro
2005-04-26  6:03       ` [PATCH] Don't use commit-id in building Daniel Barkalow
2005-04-26  7:02 ` [ANNOUNCE] Cogito-0.8 (former git-pasky, big changes!) Philip Pokorny
2005-04-26 20:43   ` Petr Baudis
2005-04-26 13:36 ` Morten Welinder
2005-04-26 22:21 ` Pavel Machek

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).