[ANNOUNCE] Cogito-0.17

From: Petr Baudis
Date: Sun Feb 26 2006 - 20:13:42 EST



The last winter snow
leaves but Cogito comes in
its place, snow-white 0.17
(*)


After some random bugfixes I got no more bugreports so this feels
stable enough for a release. The rest of this mail will mostly be
a rehash of the 0.17rc1 announcement; the rc2-to-0.17 bugfixes were
rather dull.

Huge amount of new features and cool stuff. The highlight is cg-switch
for switching between local branches and massive cg-patch improvements,
but there is plenty of other stuff as well. Read on for more details.

The notable new stuff includes:

* cg-switch - Cogito finally gives you the full convenience of
multiple local branches in a single repository ;)
* cg-patch -c, -C, -d - Cogito now supports cherrypicking, easy commit
reverts and automatic committing of applied patches
* Resumable cg-clone - if cg-clone fails in the middle of the initial
fetch, the directory is not deleted and you do not have to start all
over again - just cd inside and run cg-fetch and it will DTRT

* Support for tracking rebasing branches; as long as you use cg-update
(NOT cg-fetch + cg-merge) and won't commit local changes, Cogito
will correctly update the branch even if it got rebased in the
meanwhile
* Quoting fixes - this means that Cogito should be now theoretically
100% resilient to whitespaces and metacharacters in filenames etc.
Note that filenames containing newlines still aren't supported and
aren't likely to ever be. You are a loonie. Go away.
* Radically improved cg-fetch progressbar; it still doesn't quite work
with rsync (use cg-fetch -v -v), but I don't think that can be
helped. The main advantage is that it will show HTTP fetch progress
even when fetching large files (especially packs).
* Much more sensible behaviour for cg-clean wrt. untracked directories
(do not erase their content).

* Significant merges speedup (but still quite some potential for
improvement)
* cg-* --help now by default shows only short help; use --long-help
to see the full manual
* cg-commit --signoff
* cg-commit --review to review and even modify the patch you are
committing
* cg-commit -M to take the commit message from a file
* bash commandline autocompletion files in contrib/
* cg-fetch -v, cg-fetch -v -v, cg-merge -v, cg-update -v
* cg-push -r to push a different branch (or even a specific commit)
instead of your current branch
* cg-rm -r for recursive directories removal
* cg-mv trivial wrapper for git-mv
* cg-push over HTTP
* cg-patch -u for applying non-git patches while autoadding/removing
files, cg-patch -pN with obvious meaning
* cg-object-id -d for short human-readable commit string id
(just wraps git-describe)

* Too many minor new features to list here

* Incompatible change - cg-log -d renamed to cg-log -D
* Incompatible change - the post-commit hook won't be ran for all the
merged commits anymore when you commit a merge; you can reenable
that in .git/config, see the cg-commit documentation for details


P.S.: See us at #git @ FreeNode!
P.P.S.: (*) That means bug-free, if it wasn't obvious!
P.P.P.S.: Yes, it just occurred to me that I've forgot about the
pre-built documentation, but it's too late in the night by now. Sorry,
the next time.

Happy hacking,

--
Petr "Pasky the lousy poet" Baudis
Stuff: http://pasky.or.cz/
Of the 3 great composers Mozart tells us what it's like to be human,
Beethoven tells us what it's like to be Beethoven and Bach tells us
what it's like to be the universe. -- Douglas Adams
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/