atom feed69 messages in com.selenic.mercurial-develRe: [PATCH 3 of 4] log: add a marker ...
FromSent OnAttachments
Martin GeislerMay 7, 2010 10:33 am 
Dirkjan OchtmanMay 7, 2010 10:37 am 
Matt MackallMay 7, 2010 10:59 am 
Martin GeislerMay 7, 2010 11:14 am 
Matt MackallMay 7, 2010 11:46 am 
Dirkjan OchtmanMay 7, 2010 1:14 pm 
Gilles MorisMay 8, 2010 12:10 am 
Martin GeislerMay 8, 2010 1:31 am 
Martin GeislerMay 8, 2010 1:34 am 
Martin GeislerMay 8, 2010 1:48 am 
Martin GeislerMay 8, 2010 2:09 am 
Gilles MorisMay 8, 2010 3:50 am 
Martin GeislerMay 8, 2010 1:10 pm 
Gilles MorisMay 9, 2010 9:33 am 
Gilles MorisMay 9, 2010 1:49 pm 
Gilles MorisMay 9, 2010 1:49 pm 
Gilles MorisMay 9, 2010 1:49 pm 
Gilles MorisMay 9, 2010 1:49 pm 
Gilles MorisMay 9, 2010 1:49 pm 
Matt MackallMay 9, 2010 2:36 pm 
Matt MackallMay 9, 2010 2:43 pm 
Matt MackallMay 9, 2010 2:45 pm 
Matt MackallMay 9, 2010 2:47 pm 
Martin GeislerMay 9, 2010 4:11 pm 
Dirkjan OchtmanMay 9, 2010 10:50 pm 
Gilles MorisMay 9, 2010 11:31 pm 
Gilles MorisMay 9, 2010 11:49 pm 
Matt MackallMay 10, 2010 12:04 am 
Gilles MorisMay 10, 2010 12:37 am 
Gilles MorisMay 10, 2010 12:37 am 
Matt MackallMay 10, 2010 12:38 am 
Matt MackallMay 10, 2010 12:58 am 
Sune FoldagerMay 11, 2010 2:02 am 
Sune FoldagerMay 11, 2010 2:08 am 
Sune FoldagerMay 11, 2010 2:14 am 
Sune FoldagerMay 11, 2010 2:20 am 
Matt MackallMay 11, 2010 3:53 pm 
Matt MackallMay 11, 2010 3:56 pm 
Gilles MorisMay 12, 2010 12:52 am 
Gilles MorisMay 12, 2010 1:15 am 
Gilles MorisMay 12, 2010 1:15 am 
Gilles MorisMay 12, 2010 1:15 am 
Gilles MorisMay 12, 2010 1:15 am 
Gilles MorisMay 12, 2010 1:15 am 
Gilles MorisMay 12, 2010 5:17 am 
Augie FacklerMay 12, 2010 7:35 am 
Matt MackallMay 12, 2010 8:33 am 
Matt MackallMay 12, 2010 8:34 am 
Matt MackallMay 12, 2010 8:34 am 
Matt MackallMay 12, 2010 8:55 am 
Gilles MorisMay 12, 2010 2:33 pm 
Gilles MorisMay 13, 2010 7:31 am 
Matt MackallMay 13, 2010 1:48 pm 
Martin GeislerMay 17, 2010 1:09 am 
Martin GeislerMay 17, 2010 1:22 am 
Rafael Villar Burke (Pachi)May 17, 2010 2:07 am 
Augie FacklerMay 17, 2010 5:57 am 
Martin GeislerMay 17, 2010 6:56 am 
Augie FacklerMay 17, 2010 7:46 am 
Martin GeislerMay 17, 2010 8:13 am 
Augie FacklerMay 17, 2010 8:41 am 
Gilles MorisMay 19, 2010 8:00 am 
Martin GeislerMay 19, 2010 3:53 pm 
Martin GeislerMay 19, 2010 3:58 pm 
Augie FacklerMay 24, 2010 5:15 am 
Peter ArrenbrechtMay 26, 2010 6:23 am 
Rafael Fernández LópezJun 3, 2010 5:35 am 
Peter ArrenbrechtJun 3, 2010 6:14 am 
Martin GeislerJun 4, 2010 12:18 am 
Subject:Re: [PATCH 3 of 4] log: add a marker for closed heads
From:Gilles Moris (gill@free.fr)
Date:May 13, 2010 7:31:39 am
List:com.selenic.mercurial-devel

On Wednesday 12 May 2010 11:33:30 pm Gilles Moris wrote:

On Wednesday 12 May 2010 05:56:23 pm Matt Mackall wrote:

Again, my plea to show us what it looks like up front.

changeset:   11:c84627f3c15d + (closed)  branch:      b  user:        test  date:        Thu Jan 01 00:00:09 1970 +0000

Yuck!

Folks, you have to be more imaginative. And by that, I mean you're failing to imagine just how stupid and LAZY your fellow programmers and admins have already been when coding up hacks IN SHELL SCRIPTS to parse these things for their build systems after we've guaranteed they won't change.

We can't stick a new line in there. And we definitely can't stick in a line without a colon! Nor can it go at the end of any existing fixed-form lines. I frankly don't think we can fix this without a new log option or sticking it under --debug.

For now, please send me just the code that implements a new template element (and not the modified templates).

First thanks for queuing the other ones.

OK, OK, not so nice, indeed. I was not expecting this one to go in anyway. I was just seeking some more feedback... Received. So this gave me another idea (also coming from the summary commit line implementation) I'd like to submit to see if there is any interest in the community. Instead of having a simple {closed} keyword, why not having a {changesettype} or equivalent that could return: - head closed - merge: have 2 parents - head: no children - branch head: no children on same branch. Not sure a distinction between head and branch head is needed. - root: no parent - branch root: no parent on same branch - branch merge: parents on a different branch Should it be multi-valued ? "merge, head" Or some should have precedence ? head closed > head > merge > ... > root

This could be later an additional "type:" or whatever line, while I don't see {closed} having its own line.

Feedback ?

Regards. Gilles.

Complementary concept: hidden text for the HG core: ui.write('some text', label='hidden') does not print anything.

When overridden in the color.py extension, this additional output is printed. Alternatively, could be conditional to HGPLAIN.

Something like:

diff -r c6fe3727d0dd -r b1f14c4aa15d hgext/color.py --- a/hgext/color.py Mon May 10 09:56:06 2010 +0200 +++ b/hgext/color.py Thu May 13 15:39:02 2010 +0200 @@ -159,9 +159,13 @@ return ''.join(style(a, label) for a, label in _buffers.pop()) return ''.join(a for a, label in _buffers.pop())

+def filtereffect(label): + return ' '.join([l for l in label.split() if l != 'hidden']) + mode = 'ansi' def write(orig, *args, **opts): - label = opts.get('label', '') + label = filtereffect(opts.get('label', '')) + opts['label'] = label global _buffers if _buffers: _buffers[-1].extend([(str(a), label) for a in args]) @@ -172,7 +176,8 @@ return orig(*[style(str(a), label) for a in args], **opts)

def write_err(orig, *args, **opts): - label = opts.get('label', '') + label = filtereffect(opts.get('label', '')) + opts['label'] = label if mode == 'win32': for a in args: win32print(a, orig, **opts) diff -r c6fe3727d0dd -r b1f14c4aa15d mercurial/ui.py --- a/mercurial/ui.py Mon May 10 09:56:06 2010 +0200 +++ b/mercurial/ui.py Thu May 13 15:39:02 2010 +0200 @@ -340,6 +340,9 @@ "cmdname.type" is recommended. For example, status issues a label of "status.modified" for modified files. ''' + if 'hidden' in opts.get('label', '').split(): + return + if self._buffers: self._buffers[-1].extend([str(a) for a in args]) else: