* [PATCH] git-rev-list: fix --header
@ 2006-04-17 12:51 Johannes Schindelin
2006-04-17 19:36 ` Junio C Hamano
0 siblings, 1 reply; 5+ messages in thread
From: Johannes Schindelin @ 2006-04-17 12:51 UTC (permalink / raw)
To: git, junkio
gitk expects raw verbose headers limited by \0. Meet these expectations.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
This fixes the "clock format" bug I mentioned in another thread:
git-rev-list printed non-raw headers (lacking "author",
"committer", and the other lines), and thus, the author date was
empty.
rev-list.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
18f897509cd95b7e55c63e75fa40655c532507f6
diff --git a/rev-list.c b/rev-list.c
index 9d8db25..54e92f7 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -293,6 +293,7 @@ int main(int argc, const char **argv)
{
struct commit_list *list;
int i;
+ int header = 0;
init_revisions(&revs);
revs.abbrev = 0;
@@ -303,7 +304,8 @@ int main(int argc, const char **argv)
const char *arg = argv[i];
if (!strcmp(arg, "--header")) {
- revs.verbose_header = 1;
+ header = 1;
+ revs.commit_format = CMIT_FMT_UNSPECIFIED;
continue;
}
if (!strcmp(arg, "--timestamp")) {
@@ -324,6 +326,10 @@ int main(int argc, const char **argv)
revs.header_prefix = "";
else
revs.header_prefix = "commit ";
+ } else if (header) {
+ revs.verbose_header = 1;
+ revs.commit_format = CMIT_FMT_RAW;
+ hdr_termination = 0;
}
list = revs.commits;
--
1.2.0.ga8a6
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] git-rev-list: fix --header
2006-04-17 12:51 [PATCH] git-rev-list: fix --header Johannes Schindelin
@ 2006-04-17 19:36 ` Junio C Hamano
2006-04-17 20:24 ` Johannes Schindelin
0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2006-04-17 19:36 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> gitk expects raw verbose headers limited by \0. Meet these expectations.
>
> Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Thanks.
Wouldn't this be simpler and do the same thing, I wonder? The
point being that "--pretty --header" and "--header --pretty"
traditionally did not make --header to override --pretty.
diff --git a/rev-list.c b/rev-list.c
index 000f27a..d3c0dd9 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -326,6 +326,9 @@ int main(int argc, const char **argv)
else
revs.header_prefix = "commit ";
}
+ else if (revs.verbose_header)
+ /* Only --header was specified */
+ revs.commit_format = CMIT_FMT_RAW;
list = revs.commits;
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] git-rev-list: fix --header
2006-04-17 19:36 ` Junio C Hamano
@ 2006-04-17 20:24 ` Johannes Schindelin
2006-04-17 21:42 ` Junio C Hamano
0 siblings, 1 reply; 5+ messages in thread
From: Johannes Schindelin @ 2006-04-17 20:24 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Hi,
On Mon, 17 Apr 2006, Junio C Hamano wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> > gitk expects raw verbose headers limited by \0. Meet these expectations.
> >
> > Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
>
> Thanks.
>
> Wouldn't this be simpler and do the same thing, I wonder? The
> point being that "--pretty --header" and "--header --pretty"
> traditionally did not make --header to override --pretty.
I thought, why not fix that bug, too? After all, it is counterintuitive
what "--header --pretty" does, and it was easy to fix.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] git-rev-list: fix --header
2006-04-17 20:24 ` Johannes Schindelin
@ 2006-04-17 21:42 ` Junio C Hamano
2006-04-18 14:50 ` Johannes Schindelin
0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2006-04-17 21:42 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>> Wouldn't this be simpler and do the same thing, I wonder? The
>> point being that "--pretty --header" and "--header --pretty"
>> traditionally did not make --header to override --pretty.
>
> I thought, why not fix that bug, too? After all, it is counterintuitive
> what "--header --pretty" does, and it was easy to fix.
I checked with 0.99.9m and both "--pretty --header" and
"--header --pretty" gives preference to --pretty. I think your
patch changes it to favor whichever comes later.
I thought it could be considered a bug to accept --header and
--pretty at the same time without complaining, but if you want
to forbid it, you could error out. However, that might break
existing Porcelains, and that's why I suggested to keep the
traditional "--pretty wins over --header" behaviour.
If gitk were the only Porcelain we care about that uses
--header, it would make more sense to change the rule to
"--header trumps --pretty" and "gitk --pretty" would magically
start working.
Still undecided. As you say it is an easy change, so I'd rather
leave the behaviour as before for now.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] git-rev-list: fix --header
2006-04-17 21:42 ` Junio C Hamano
@ 2006-04-18 14:50 ` Johannes Schindelin
0 siblings, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2006-04-18 14:50 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Hi,
On Mon, 17 Apr 2006, Junio C Hamano wrote:
> Still undecided. As you say it is an easy change, so I'd rather
> leave the behaviour as before for now.
Okay, I'd say go with the shorter (your) solution.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-04-18 14:50 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-17 12:51 [PATCH] git-rev-list: fix --header Johannes Schindelin
2006-04-17 19:36 ` Junio C Hamano
2006-04-17 20:24 ` Johannes Schindelin
2006-04-17 21:42 ` Junio C Hamano
2006-04-18 14:50 ` Johannes Schindelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox