Guilt: Autotagging - aye or nay?

Previous thread: Re: [patch 00/17] multi size, and giant hugetlb page support, 1GB hugetlb for x86 by Nish Aravamudan on Thursday, April 10, 2008 - 7:59 pm. (3 messages)

Next thread: Re: Data corruption on software RAID by Mikulas Patocka on Thursday, April 10, 2008 - 10:55 pm. (1 message)
To: <guilt@...>
Cc: <linux-kernel@...>, <git@...>
Date: Thursday, April 10, 2008 - 8:01 pm

Guilt v0.30 is available for download (once it mirrors out on kernel.org).

Guilt (Git Quilt) is a series of bash scripts which add a Mercurial
queues-like functionality and interface to git.

Tarballs:
http://www.kernel.org/pub/linux/kernel/people/jsipek/guilt/

Git repo:
git://git.kernel.org/pub/scm/linux/kernel/git/jsipek/guilt.git

As promissed, this version includes some interesting changes. The major one
being the status file now has a new format. The motivation for this was the
fact that the series file effectively duplicated functionality that git
itself offered by setting arbitrary refs (e.g., refs/patches/$branch/$patch).
Migration between the two formats should be rather painless. If you have no
applied patches, no extra work is required. If you happen to have some
patches already applied, any guilt command will tell you to run:
guilt-repair --status.

Other than the status file change, there have been a number of improvements
all over the place. A couple of bash-isms were removed, patchbomb no longer
includes "1/1" in the subject when there's only one patch, guilt-repair is
more powerful, and can be used to fix up a number of conditions (e.g.,
autotags left behind, status file format upgrade, etc.), autotagging no
longer ignores global guilt.autotag config value.

As always, patches, and other feedback is welcome.

Josef "Jeff" Sipek.

------------
Changes since v0.29:

Adam Golebiowski (1):
Add support for DESTDIR in guilt/Makefile.

Josef 'Jeff' Sipek (35):
guilt: Use 'git update-ref' instead of echo
Patch names cannot contain whitespace
guilt: setup/teardown refs/patches/$branch/$patch on push/pop
Remove old status format
repair: remove patch refs
regression: test guilt-repair
commit: new command to permanently commit patches
regression: guilt-commit test
regression: fix up test 028 expected output
Update my email address
repair: allow status file upgrade
guilt: chec...

To: <guilt@...>
Cc: <linux-kernel@...>, <git@...>
Date: Thursday, April 10, 2008 - 8:26 pm

Greetings all!

I was trying to figure out what the default for Guilt's autotagging feature
should be. Currently, the default is for it to be on, unless it's
overridden by an already existing config setting.

For those who may not be familiar with autotagging, here's an excerpt from
the guilt(7) man page:

Autotagging is a feature that automatically creates unannotated tags
for top, bottom, and base of the stack.

On every push or pop operation (refresh is a pop followed by a
push), Guilt updates the stack top (${branch}_top), stack bottom
(${branch}_bottom), and stack base (${branch}_base) tags.

Top: Top-most applied patch/commit
Bottom: Bottom-most applied patch/commit
Base: Commit on top of which the bottom most patch is applied

Having these three tags, one can easily get the log/diff/other
information only for commits that are (or are not!) part of the
patch stack.

So far the few people (including myself for the past few months) I asked
privately, all said that they turn the feature off.

Ideas? Comments? Suggestions?

Josef 'Jeff' Sipek.

--
I think there is a world market for maybe five computers.
- Thomas Watson, chairman of IBM, 1943.
--

Previous thread: Re: [patch 00/17] multi size, and giant hugetlb page support, 1GB hugetlb for x86 by Nish Aravamudan on Thursday, April 10, 2008 - 7:59 pm. (3 messages)

Next thread: Re: Data corruption on software RAID by Mikulas Patocka on Thursday, April 10, 2008 - 10:55 pm. (1 message)