All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Brian Gernhardt <benji@silverinsanity.com>,
	Russ Dill <russ.dill@gmail.com>,
	Stephen Sinclair <radarsat1@gmail.com>,
	git@vger.kernel.org
Subject: Re: branch description
Date: Tue, 15 Apr 2008 15:56:00 -0700	[thread overview]
Message-ID: <7vod8awwvz.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <20080415223716.GA1891@sigill.intra.peff.net> (Jeff King's message of "Tue, 15 Apr 2008 18:37:16 -0400")

Jeff King <peff@peff.net> writes:

> On Tue, Apr 15, 2008 at 03:19:30PM -0400, Jeff King wrote:
>
>> > Not complicated at all.  Put that description in-tree in a known location
>> > (say, "help-branch") in-tree and your propagation problem is solved.
>> >
>> > And have a scriptlet in $HOME/bin/git-help-branch to grep from that file.
>> 
>> It is perhaps a little slow if you want to do things like adding the
>> help text to branch name decorations in log output. Maybe instead of a
>> flat file, you could parallel the ref name hierarchy in a tree? I.e.,
>
> It occurred to me that you actually meant "just stick it in a file in
> your actual work tree", not on a separate branch (for some reason,
> reading the name "help-branch" made me think you meant a ref).
>
> So that is obviously the very simple solution. But for fun, and because
> maybe somebody could learn something, here is a script implementing my
> approach. I dunno if it is worth including in contrib.

Another independent approach I was very tempted to suggest was to mimick
how "What's cooking" has been maintained over time (in other words, what I
describe here is a toolset that has proven to be viable and useful, backed
by the real world experience ;-).

All the tools I use for this are stored in my 'todo' branch, and I have a
checkout of the 'todo' branch in Meta/ subdirectory.

The core workhorse of this toolset is "Meta/topic.perl" script.  It lists
topic branches, and shows the list of commits on each branch that are
still not integrated in the final integration branch.  The script has a
built-in assumption of how the topic branches are named, and what
integration branches there are (namely, 'master', 'next' and 'pu'), but it
should not be too hard if somebody wants to generalize it to have more
than two "still cooking" stages and how they are named.

The' topic' script is called by "Meta/WC" script (obviously, that stands
for "What's Cooking") that applies a slight formatting of its output.
There isn't much to see in this intermediate script.

When I send out a new edition of "What's cooking", I feed the previous
edition of the message to "Meta/UWC" ("Update What's Cooking") script.

This script:

 - reads the old edition from its standard input, to remember the commits
   and explanatory text associated with each topic in the previous round;

 - reads from the "Meta/WC" output to learn the commits that currently
   reside in each topic;

 - compares the above two, insert new branches into "[New topics]"
   section, and mark the changed topics.

 - outputs the new edition to the standard output.

Then I can add descriptions for new topics, edit them for the ones whose
status have changed.

I do not personally keep any temporary or in-tree copies, because I happen
to do all the above in my MUA edit buffer.  But if I wanted to, I could
use one in-tree file dedicated for it and track it as part of the
contents.

  reply	other threads:[~2008-04-15 22:57 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-15 16:51 branch description Stephen Sinclair
2008-04-15 17:31 ` Russ Dill
2008-04-15 18:01   ` Brian Gernhardt
2008-04-15 19:12     ` Junio C Hamano
2008-04-15 19:19       ` Jeff King
2008-04-15 22:37         ` Jeff King
2008-04-15 22:56           ` Junio C Hamano [this message]
2008-04-15 20:53       ` Stephen Sinclair
2008-04-15 21:04         ` Brian Gernhardt
2008-04-16  1:33       ` Jakub Narebski
2008-04-16  2:55         ` Jeff King
2008-04-16  3:28         ` Stephen Sinclair
2008-04-16  5:55           ` Mike Hommey
2008-04-16  3:46         ` Matt Graham
2008-04-16  8:29           ` Johan Herland
2008-04-18 21:58             ` Jakub Narebski
2008-04-19  9:18               ` Johan Herland
2008-04-19 17:43                 ` Junio C Hamano
2008-04-19 18:09                   ` Johan Herland
2008-04-19 21:05                 ` Jakub Narebski
2008-04-16  5:27         ` Junio C Hamano
2008-04-16 19:56           ` Jakub Narebski
2008-04-15 18:36   ` Jakub Narebski
  -- strict thread matches above, loose matches on Subject: below --
2008-04-22 17:57 Michael Dressel
2008-04-22 18:46 ` Johan Herland
2008-04-22 18:59 ` Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vod8awwvz.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=benji@silverinsanity.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=radarsat1@gmail.com \
    --cc=russ.dill@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.