git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: CIA hook for contrib/

From
Eric Raymond <esr@thyrsus.com>
Date
Apr 21, 2010, 15:51 UTC
Message-ID
<20100421155149.GA11223@thyrsus.com>
In-Reply-To
<20100421101002.GD3563@machine.or.cz>
Petr Baudis <pasky@suse.cz>:
Show 7 quoted lines
> On Sat, Mar 27, 2010 at 06:26:32AM -0400, Eric Raymond wrote:
> > Upon investigating further, I find that ciabot.sh seems to be a
> > derivative of ciabot.pl, which is a dangling bit of the moribund
> > Cogito project.  I have been unable to get responses from the authors
> > of either ciabot.sh or ciabot.pl.
> 
>   Strange, I received no mail from you. When did you send it?
About three weeks ago now.  Sorry, it appears I fat-fingered your
address.  I did eventually hear from the author of the 2008 sh
version; he passed me the maintainer's baton on that one.
 
Show 8 quoted lines
>   I'm happy that someone resurrected the hook script, thanks for that!
> By the way, you seem to drop support for XML::RPC altogether while the
> original ciabot.pl could use both. While XML::RPC requires another
> dependency (not sure if plain Python installation can do it) and it can
> time out in case of CIA server trouble (not sure how common these are
> nowadays), the distinct advantage is that the commits will always end up
> in correct order, while it seemed to be common that by mail, push of
> multiple commits would reorder them randomly.

Ah, I did not know of that advantage, it wasn't documented anywhere. It's a sufficient reason to bring back XML-RPC support...and I have just done so in the Python version.

Show 10 quoted lines
> > # update: You have to call it once per merged commit:
> > #
> > #       refname=$1
> > #       oldhead=$2
> > #       newhead=$3
> > #       for merged in $(git rev-list ${oldhead}..${newhead} | tac) ; do
> > #               /path/to/ciabot.bash ${refname} ${merged}
>                   ^^^^^^^^^^^^^^^^^^^^
> 
> Obsolete .bash reference.
Fixed, thanks.
Show 8 quoted lines
> I personally find git-describe'd revspecs extremely ugly, unreadable and
> less practical than plain hex ids (maybe I'm weird?), it would be really
> nice to get a configuration choice between git describe and just:
> 
> 	rev=$(echo "$merged" | cut -c 1-12)
> 
> (Not sure about the bashism rant since you can trivially just replace it
> with the cut.)
Good point about use of cut; I'll do that.  
I've implemented a revformat variable, but defaulted it to 'describe'.
 
Show 5 quoted lines
> I would personally prefer to have this configurable; I consider trying
> to protect your e-mail address against harvesters is a lost fight anyway
> and you'd be much better off just getting a good spam filter, rather
> than making yours and others' life harder by trying to fight in vain.
> But it's not too important for me since I can just disable this easily.
But email name collisions within projects are vanishingly rare, so I
don't see a lot of benefit in publishing the FQDN.
 
Show 6 quoted lines
> Your life would be much easier in both the shell and python script if
> you used something like:
> 
> 	git log -1 '--pretty=format:%an <%ae>%n%at%n%s'
> 
> You would also get <ts> in the correct format, incl. timezone correction.

Good point. I inherited that nasty code; perhaps this facility did not exist when it was written.

-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
Previous: Petr BaudisNext: Petr Baudis
Message 5 of 8 in “CIA hook for contrib/”
  1. Eric RaymondMar 27, 2010
  2. Junio C HamanoMar 29, 2010
  3. Eric RaymondMar 29, 2010
  4. Petr BaudisApr 21, 2010
  5. Eric RaymondApr 21, 2010
  6. Petr BaudisApr 21, 2010
  7. Eric RaymondApr 21, 2010
  8. Eric RaymondApr 21, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.