* [PATCH 0/5] RFC: for_each_revision() helper
@ 2007-04-26 19:46 Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 1/5] Introduces " Luiz Fernando N Capitulino
` (5 more replies)
0 siblings, 6 replies; 16+ messages in thread
From: Luiz Fernando N Capitulino @ 2007-04-26 19:46 UTC (permalink / raw)
To: junkio; +Cc: git
Hi,
[This' also a git-send-email test, so, if this fail by showing just
the first e-mail in the series, do not blame me :)]
This series introduces a helper macro to help programs to walk through
revisions (details on the first patch).
Shawn has already alerted me that some people don't like to
'hide C constructs', but I think that in this case it's useful, as explained
in the next e-mail.
The complete diff stat is:
builtin-fmt-merge-msg.c | 3 +--
builtin-log.c | 12 ++++--------
builtin-shortlog.c | 3 +--
reachable.c | 3 +--
revision.h | 11 +++++++++++
5 files changed, 18 insertions(+), 14 deletions(-)
But if we subtract the for_each_revision() macro's code we get:
4 files changed, 7 insertions(+), 14 deletions(-)
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/5] Introduces for_each_revision() helper
2007-04-26 19:46 [PATCH 0/5] RFC: for_each_revision() helper Luiz Fernando N Capitulino
@ 2007-04-26 19:46 ` Luiz Fernando N Capitulino
2007-04-26 19:59 ` Andy Whitcroft
2007-04-26 19:46 ` [PATCH 2/5] builtin-fmt-merge-msg.c: Use " Luiz Fernando N Capitulino
` (4 subsequent siblings)
5 siblings, 1 reply; 16+ messages in thread
From: Luiz Fernando N Capitulino @ 2007-04-26 19:46 UTC (permalink / raw)
To: junkio; +Cc: git, Luiz Fernando N Capitulino
This macro may be used to iterate over revisions, so, instead of
doing:
struct commit *commit;
...
prepare_revision_walk(rev);
while ((commit = get_revision(rev)) != NULL) {
...
}
New code should use:
struct commit *commit;
...
for_each_revision(commit, rev) {
...
}
The only disadvantage is that it's something magical, and the fact that
it returns a struct commit is not obvious.
On the other hand it's documented, has the advantage of making the walking
through revisions easier and can save some lines of code.
Signed-off-by: Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br>
---
revision.h | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/revision.h b/revision.h
index cdf94ad..bb6f475 100644
--- a/revision.h
+++ b/revision.h
@@ -133,4 +133,15 @@ extern void add_object(struct object *obj,
extern void add_pending_object(struct rev_info *revs, struct object *obj, const char *name);
extern void add_pending_object_with_mode(struct rev_info *revs, struct object *obj, const char *name, unsigned mode);
+/* helpers */
+
+/**
+ * for_each_revision - iterate over revisions
+ * @commit: pointer to a commit object returned for each iteration
+ * @rev: revision pointer
+ */
+#define for_each_revision(commit, rev) \
+ prepare_revision_walk(rev); \
+ while ((commit = get_revision(rev)) != NULL)
+
#endif
--
1.5.1.1.320.g1cf2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/5] builtin-fmt-merge-msg.c: Use for_each_revision() helper
2007-04-26 19:46 [PATCH 0/5] RFC: for_each_revision() helper Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 1/5] Introduces " Luiz Fernando N Capitulino
@ 2007-04-26 19:46 ` Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 3/5] reachable.c: " Luiz Fernando N Capitulino
` (3 subsequent siblings)
5 siblings, 0 replies; 16+ messages in thread
From: Luiz Fernando N Capitulino @ 2007-04-26 19:46 UTC (permalink / raw)
To: junkio; +Cc: git, Luiz Fernando N Capitulino
Signed-off-by: Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br>
---
builtin-fmt-merge-msg.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c
index 5c145d2..8e1db1c 100644
--- a/builtin-fmt-merge-msg.c
+++ b/builtin-fmt-merge-msg.c
@@ -189,8 +189,7 @@ static void shortlog(const char *name, unsigned char *sha1,
add_pending_object(rev, branch, name);
add_pending_object(rev, &head->object, "^HEAD");
head->object.flags |= UNINTERESTING;
- prepare_revision_walk(rev);
- while ((commit = get_revision(rev)) != NULL) {
+ for_each_revision(commit, rev) {
char *oneline, *bol, *eol;
/* ignore merges */
--
1.5.1.1.320.g1cf2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/5] reachable.c: Use for_each_revision() helper
2007-04-26 19:46 [PATCH 0/5] RFC: for_each_revision() helper Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 1/5] Introduces " Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 2/5] builtin-fmt-merge-msg.c: Use " Luiz Fernando N Capitulino
@ 2007-04-26 19:46 ` Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 4/5] builtin-shortlog.c: " Luiz Fernando N Capitulino
` (2 subsequent siblings)
5 siblings, 0 replies; 16+ messages in thread
From: Luiz Fernando N Capitulino @ 2007-04-26 19:46 UTC (permalink / raw)
To: junkio; +Cc: git, Luiz Fernando N Capitulino
Signed-off-by: Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br>
---
reachable.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/reachable.c b/reachable.c
index ff3dd34..b69edd8 100644
--- a/reachable.c
+++ b/reachable.c
@@ -79,7 +79,7 @@ static void walk_commit_list(struct rev_info *revs)
struct object_array objects = { 0, 0, NULL };
/* Walk all commits, process their trees */
- while ((commit = get_revision(revs)) != NULL)
+ for_each_revision(commit, revs)
process_tree(commit->tree, &objects, NULL, "");
/* Then walk all the pending objects, recursively processing them too */
@@ -195,6 +195,5 @@ void mark_reachable_objects(struct rev_info *revs, int mark_reflog)
* Set up the revision walk - this will move all commits
* from the pending list to the commit walking list.
*/
- prepare_revision_walk(revs);
walk_commit_list(revs);
}
--
1.5.1.1.320.g1cf2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 4/5] builtin-shortlog.c: Use for_each_revision() helper
2007-04-26 19:46 [PATCH 0/5] RFC: for_each_revision() helper Luiz Fernando N Capitulino
` (2 preceding siblings ...)
2007-04-26 19:46 ` [PATCH 3/5] reachable.c: " Luiz Fernando N Capitulino
@ 2007-04-26 19:46 ` Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 5/5] builtin-log.c: " Luiz Fernando N Capitulino
2007-04-26 20:57 ` [PATCH 0/5] RFC: " Hermes Trismegisto
5 siblings, 0 replies; 16+ messages in thread
From: Luiz Fernando N Capitulino @ 2007-04-26 19:46 UTC (permalink / raw)
To: junkio; +Cc: git, Luiz Fernando N Capitulino
Signed-off-by: Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br>
---
builtin-shortlog.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/builtin-shortlog.c b/builtin-shortlog.c
index 3f93498..eca802d 100644
--- a/builtin-shortlog.c
+++ b/builtin-shortlog.c
@@ -216,8 +216,7 @@ static void get_from_rev(struct rev_info *rev, struct path_list *list)
char scratch[1024];
struct commit *commit;
- prepare_revision_walk(rev);
- while ((commit = get_revision(rev)) != NULL) {
+ for_each_revision(commit, rev) {
const char *author = NULL, *oneline, *buffer;
int authorlen = authorlen, onelinelen;
--
1.5.1.1.320.g1cf2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 5/5] builtin-log.c: Use for_each_revision() helper
2007-04-26 19:46 [PATCH 0/5] RFC: for_each_revision() helper Luiz Fernando N Capitulino
` (3 preceding siblings ...)
2007-04-26 19:46 ` [PATCH 4/5] builtin-shortlog.c: " Luiz Fernando N Capitulino
@ 2007-04-26 19:46 ` Luiz Fernando N Capitulino
2007-04-26 20:57 ` [PATCH 0/5] RFC: " Hermes Trismegisto
5 siblings, 0 replies; 16+ messages in thread
From: Luiz Fernando N Capitulino @ 2007-04-26 19:46 UTC (permalink / raw)
To: junkio; +Cc: git, Luiz Fernando N Capitulino
Signed-off-by: Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br>
---
builtin-log.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/builtin-log.c b/builtin-log.c
index 38bf52f..705050a 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -79,8 +79,7 @@ static int cmd_log_walk(struct rev_info *rev)
{
struct commit *commit;
- prepare_revision_walk(rev);
- while ((commit = get_revision(rev)) != NULL) {
+ for_each_revision(commit, rev) {
log_tree_commit(rev, commit);
if (!rev->reflog_info) {
/* we allow cycles in reflog ancestry */
@@ -390,9 +389,8 @@ static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids, const cha
o2->flags ^= UNINTERESTING;
add_pending_object(&check_rev, o1, "o1");
add_pending_object(&check_rev, o2, "o2");
- prepare_revision_walk(&check_rev);
- while ((commit = get_revision(&check_rev)) != NULL) {
+ for_each_revision(commit, &check_rev) {
/* ignore merges */
if (commit->parents && commit->parents->next)
continue;
@@ -578,8 +576,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
if (!use_stdout)
realstdout = fdopen(dup(1), "w");
- prepare_revision_walk(&rev);
- while ((commit = get_revision(&rev)) != NULL) {
+ for_each_revision(commit, &rev) {
/* ignore merges */
if (commit->parents && commit->parents->next)
continue;
@@ -716,8 +713,7 @@ int cmd_cherry(int argc, const char **argv, const char *prefix)
die("Unknown commit %s", limit);
/* reverse the list of commits */
- prepare_revision_walk(&revs);
- while ((commit = get_revision(&revs)) != NULL) {
+ for_each_revision(commit, &revs) {
/* ignore merges */
if (commit->parents && commit->parents->next)
continue;
--
1.5.1.1.320.g1cf2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 1/5] Introduces for_each_revision() helper
2007-04-26 19:46 ` [PATCH 1/5] Introduces " Luiz Fernando N Capitulino
@ 2007-04-26 19:59 ` Andy Whitcroft
2007-04-26 21:12 ` Luiz Fernando N. Capitulino
0 siblings, 1 reply; 16+ messages in thread
From: Andy Whitcroft @ 2007-04-26 19:59 UTC (permalink / raw)
To: Luiz Fernando N Capitulino; +Cc: junkio, git
Luiz Fernando N Capitulino wrote:
> This macro may be used to iterate over revisions, so, instead of
> doing:
>
> struct commit *commit;
>
> ...
>
> prepare_revision_walk(rev);
> while ((commit = get_revision(rev)) != NULL) {
> ...
> }
>
> New code should use:
>
> struct commit *commit;
>
> ...
>
> for_each_revision(commit, rev) {
> ...
> }
>
> The only disadvantage is that it's something magical, and the fact that
> it returns a struct commit is not obvious.
>
> On the other hand it's documented, has the advantage of making the walking
> through revisions easier and can save some lines of code.
>
> Signed-off-by: Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br>
> ---
> revision.h | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/revision.h b/revision.h
> index cdf94ad..bb6f475 100644
> --- a/revision.h
> +++ b/revision.h
> @@ -133,4 +133,15 @@ extern void add_object(struct object *obj,
> extern void add_pending_object(struct rev_info *revs, struct object *obj, const char *name);
> extern void add_pending_object_with_mode(struct rev_info *revs, struct object *obj, const char *name, unsigned mode);
>
> +/* helpers */
> +
> +/**
> + * for_each_revision - iterate over revisions
> + * @commit: pointer to a commit object returned for each iteration
> + * @rev: revision pointer
> + */
> +#define for_each_revision(commit, rev) \
> + prepare_revision_walk(rev); \
> + while ((commit = get_revision(rev)) != NULL)
> +
> #endif
If this is constructed like that then I would expect the code below to
be miss-compiled:
if (condition)
for_each_revision(commit, rev) {
}
As it would be effectivly be:
if (condition)
prepare_revision_walk(rev);
while ((commit = get_revision(rev)) != NULL) {
}
I think you'd want this to be something more like:
#define for_each_revision(commit, rev) \
for (prepare_revision_walk(rev); \
(commit = get_revision(rev))) != NULL); ) {
-apw
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] RFC: for_each_revision() helper
2007-04-26 19:46 [PATCH 0/5] RFC: for_each_revision() helper Luiz Fernando N Capitulino
` (4 preceding siblings ...)
2007-04-26 19:46 ` [PATCH 5/5] builtin-log.c: " Luiz Fernando N Capitulino
@ 2007-04-26 20:57 ` Hermes Trismegisto
2007-04-26 21:05 ` Sam Ravnborg
2007-04-26 21:14 ` Luiz Fernando N. Capitulino
5 siblings, 2 replies; 16+ messages in thread
From: Hermes Trismegisto @ 2007-04-26 20:57 UTC (permalink / raw)
To: Luiz Fernando N Capitulino; +Cc: git
Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br> writes:
> [This' also a git-send-email test, so, if this fail by showing just
> the first e-mail in the series, do not blame me :)]
But if you changed your name to omit '.', that is not much of a
test I suspect...
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] RFC: for_each_revision() helper
2007-04-26 20:57 ` [PATCH 0/5] RFC: " Hermes Trismegisto
@ 2007-04-26 21:05 ` Sam Ravnborg
2007-04-26 21:17 ` Luiz Fernando N. Capitulino
2007-04-26 21:14 ` Luiz Fernando N. Capitulino
1 sibling, 1 reply; 16+ messages in thread
From: Sam Ravnborg @ 2007-04-26 21:05 UTC (permalink / raw)
To: Hermes Trismegisto; +Cc: Luiz Fernando N Capitulino, git
On Thu, Apr 26, 2007 at 01:57:23PM -0700, Hermes Trismegisto wrote:
[Copied from mail header]
From: Hermes Trismegisto <junkio@cox.net>
Wonder who sent this mail???
http://en.wikipedia.org/wiki/Hermes_Trismegistus
Sam
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/5] Introduces for_each_revision() helper
2007-04-26 19:59 ` Andy Whitcroft
@ 2007-04-26 21:12 ` Luiz Fernando N. Capitulino
0 siblings, 0 replies; 16+ messages in thread
From: Luiz Fernando N. Capitulino @ 2007-04-26 21:12 UTC (permalink / raw)
To: Andy Whitcroft; +Cc: junkio, git
Em Thu, 26 Apr 2007 20:59:01 +0100
Andy Whitcroft <apw@shadowen.org> escreveu:
| If this is constructed like that then I would expect the code below to
| be miss-compiled:
|
| if (condition)
| for_each_revision(commit, rev) {
| }
|
| As it would be effectivly be:
|
| if (condition)
| prepare_revision_walk(rev);
| while ((commit = get_revision(rev)) != NULL) {
| }
|
| I think you'd want this to be something more like:
|
| #define for_each_revision(commit, rev) \
| for (prepare_revision_walk(rev); \
| (commit = get_revision(rev))) != NULL); ) {
I'm *so* clueless that this mistake does not surprise me.
Will fix, thanks for the review Andy.
--
Luiz Fernando N. Capitulino
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] RFC: for_each_revision() helper
2007-04-26 20:57 ` [PATCH 0/5] RFC: " Hermes Trismegisto
2007-04-26 21:05 ` Sam Ravnborg
@ 2007-04-26 21:14 ` Luiz Fernando N. Capitulino
2007-04-26 21:21 ` Junio C Hamano
1 sibling, 1 reply; 16+ messages in thread
From: Luiz Fernando N. Capitulino @ 2007-04-26 21:14 UTC (permalink / raw)
To: Hermes Trismegisto; +Cc: git
Em Thu, 26 Apr 2007 13:57:23 -0700
Hermes Trismegisto <junkio@cox.net> escreveu:
| Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br> writes:
|
| > [This' also a git-send-email test, so, if this fail by showing just
| > the first e-mail in the series, do not blame me :)]
|
| But if you changed your name to omit '.', that is not much of a
| test I suspect...
Yes, I did. But git-send-email is taking my name from the patches,
so the same problem happened.
I had to change my name in the patches to make it to work.
--
Luiz Fernando N. Capitulino
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] RFC: for_each_revision() helper
2007-04-26 21:05 ` Sam Ravnborg
@ 2007-04-26 21:17 ` Luiz Fernando N. Capitulino
0 siblings, 0 replies; 16+ messages in thread
From: Luiz Fernando N. Capitulino @ 2007-04-26 21:17 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: Hermes Trismegisto, git
Em Thu, 26 Apr 2007 23:05:51 +0200
Sam Ravnborg <sam@ravnborg.org> escreveu:
| On Thu, Apr 26, 2007 at 01:57:23PM -0700, Hermes Trismegisto wrote:
|
| [Copied from mail header]
| From: Hermes Trismegisto <junkio@cox.net>
|
| Wonder who sent this mail???
| http://en.wikipedia.org/wiki/Hermes_Trismegistus
Looks like Junio has a pseudonym:
"""
<lcapitulino> gitster: hi, who's Hermes Trismegisto? :)
* gitster leaked his pseudonym by accident.
"""
Or I didn't get the joke.
--
Luiz Fernando N. Capitulino
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] RFC: for_each_revision() helper
2007-04-26 21:14 ` Luiz Fernando N. Capitulino
@ 2007-04-26 21:21 ` Junio C Hamano
2007-04-27 13:21 ` Luiz Fernando N. Capitulino
0 siblings, 1 reply; 16+ messages in thread
From: Junio C Hamano @ 2007-04-26 21:21 UTC (permalink / raw)
To: Luiz Fernando N. Capitulino; +Cc: git
"Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>
writes:
> Em Thu, 26 Apr 2007 13:57:23 -0700
> Hermes Trismegisto <junkio@cox.net> escreveu:
>
> | Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br> writes:
> |
> | > [This' also a git-send-email test, so, if this fail by showing just
> | > the first e-mail in the series, do not blame me :)]
> |
> | But if you changed your name to omit '.', that is not much of a
> | test I suspect...
>
> Yes, I did. But git-send-email is taking my name from the patches,
> so the same problem happened.
>
> I had to change my name in the patches to make it to work.
I know. But my point of "changing your name is not much of a
test" is that that was exactly what Robin Johnson's patches to
quote CC: addresses that were taken from the sign-off lines in
the proposed commit log message were meant to fix.
Specifically:
http://repo.or.cz/w/alt-git.git?a=commitdiff;h=732263d411fe2e3e29ee9fa1c2ad1a20bdea062c
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] RFC: for_each_revision() helper
2007-04-26 21:21 ` Junio C Hamano
@ 2007-04-27 13:21 ` Luiz Fernando N. Capitulino
2007-04-27 17:13 ` Junio C Hamano
0 siblings, 1 reply; 16+ messages in thread
From: Luiz Fernando N. Capitulino @ 2007-04-27 13:21 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, robbat2
Em Thu, 26 Apr 2007 14:21:46 -0700
Junio C Hamano <junkio@cox.net> escreveu:
| "Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>
| writes:
|
| > Em Thu, 26 Apr 2007 13:57:23 -0700
| > Hermes Trismegisto <junkio@cox.net> escreveu:
| >
| > | Luiz Fernando N Capitulino <lcapitulino@mandriva.com.br> writes:
| > |
| > | > [This' also a git-send-email test, so, if this fail by showing just
| > | > the first e-mail in the series, do not blame me :)]
| > |
| > | But if you changed your name to omit '.', that is not much of a
| > | test I suspect...
| >
| > Yes, I did. But git-send-email is taking my name from the patches,
| > so the same problem happened.
| >
| > I had to change my name in the patches to make it to work.
|
| I know. But my point of "changing your name is not much of a
| test" is that that was exactly what Robin Johnson's patches to
| quote CC: addresses that were taken from the sign-off lines in
| the proposed commit log message were meant to fix.
|
| Specifically:
|
| http://repo.or.cz/w/alt-git.git?a=commitdiff;h=732263d411fe2e3e29ee9fa1c2ad1a20bdea062c
Okay.
With the --dry-run option it became very easy to run tests,
so, I've changed everything back and tried to reproduce it
again:
-> First e-mail:
"""
Dry-OK. Log says:
Date: Fri, 27 Apr 2007 10:04:48 -0300
Sendmail: /usr/sbin/sendmail -i junkio@cox.net git@vger.kernel.org
From: "Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>
Subject: [PATCH 0/5] RFC: for_each_revision() helper
Cc: git@vger.kernel.org
To: junkio@cox.net
"""
-> Last one (others are the same)
"""
Dry-OK. Log says:
Date: Fri, 27 Apr 2007 10:04:53 -0300
Sendmail: /usr/sbin/sendmail -i junkio@cox.net git@vger.kernel.org lcapitulino@mandriva.com.br
From: "Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>
Subject: [PATCH 5/5] builtin-log.c: Use for_each_revision() helper
Cc: git@vger.kernel.org, "Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>
To: junkio@cox.net
"""
Looks like it's fixed, I'll submit this patch series again
shortly.
BTW, Robin, can we have an option to read the introductory e-mail
from a file? It could read a Subject line from it too.
--
Luiz Fernando N. Capitulino
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] RFC: for_each_revision() helper
2007-04-27 13:21 ` Luiz Fernando N. Capitulino
@ 2007-04-27 17:13 ` Junio C Hamano
0 siblings, 0 replies; 16+ messages in thread
From: Junio C Hamano @ 2007-04-27 17:13 UTC (permalink / raw)
To: Luiz Fernando N. Capitulino; +Cc: git, robbat2
"Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br>
writes:
> BTW, Robin, can we have an option to read the introductory e-mail
> from a file? It could read a Subject line from it too.
Without adding any new option, I think you can do that today.
$ git format-patch -o ./+outgo -n master..jc/my-series
$ edit ./+outgo/0000-cover.txt
$ git send-email [options] ./+outgo
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/5] RFC: for_each_revision() helper
@ 2007-04-26 19:29 Luiz Fernando N Capitulino
0 siblings, 0 replies; 16+ messages in thread
From: Luiz Fernando N Capitulino @ 2007-04-26 19:29 UTC (permalink / raw)
To: junkio; +Cc: git
Hi,
[This' also a git-send-email test, so, if this fail by showing just
the first e-mail in the series, do not blame me :)]
This series introduces a helper macro to help programs to walk through
revisions (details on the first patch).
Shawn has already alerted me that some people don't like to
'hide C constructs', but I think that in this case it's useful, as explained
in the next e-mail.
The complete diff stat is:
builtin-fmt-merge-msg.c | 3 +--
builtin-log.c | 12 ++++--------
builtin-shortlog.c | 3 +--
reachable.c | 3 +--
revision.h | 11 +++++++++++
5 files changed, 18 insertions(+), 14 deletions(-)
But if we subtract the for_each_revision() macro's code we get:
4 files changed, 7 insertions(+), 14 deletions(-)
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2007-04-27 17:16 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-26 19:46 [PATCH 0/5] RFC: for_each_revision() helper Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 1/5] Introduces " Luiz Fernando N Capitulino
2007-04-26 19:59 ` Andy Whitcroft
2007-04-26 21:12 ` Luiz Fernando N. Capitulino
2007-04-26 19:46 ` [PATCH 2/5] builtin-fmt-merge-msg.c: Use " Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 3/5] reachable.c: " Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 4/5] builtin-shortlog.c: " Luiz Fernando N Capitulino
2007-04-26 19:46 ` [PATCH 5/5] builtin-log.c: " Luiz Fernando N Capitulino
2007-04-26 20:57 ` [PATCH 0/5] RFC: " Hermes Trismegisto
2007-04-26 21:05 ` Sam Ravnborg
2007-04-26 21:17 ` Luiz Fernando N. Capitulino
2007-04-26 21:14 ` Luiz Fernando N. Capitulino
2007-04-26 21:21 ` Junio C Hamano
2007-04-27 13:21 ` Luiz Fernando N. Capitulino
2007-04-27 17:13 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2007-04-26 19:29 Luiz Fernando N Capitulino
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.