summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
fc36f6a)
Since the "a..b c..d" syntax is interpreted as "b ^a d ^c" as other
range-ish commands, if you want to format a..b and then c..d and end
up with files consecutively numbered, the second run needs to be able
to tell the command what number to start from.
This does not imply --numbered (which gives [PATCH n/m] to the subject).
Signed-off-by: Junio C Hamano <junkio@cox.net>
int nr = 0, total, i, j;
int use_stdout = 0;
int numbered = 0;
int nr = 0, total, i, j;
int use_stdout = 0;
int numbered = 0;
int keep_subject = 0;
init_revisions(&rev);
int keep_subject = 0;
init_revisions(&rev);
else if (!strcmp(argv[i], "-n") ||
!strcmp(argv[i], "--numbered"))
numbered = 1;
else if (!strcmp(argv[i], "-n") ||
!strcmp(argv[i], "--numbered"))
numbered = 1;
- else if (!strcmp(argv[i], "-k") ||
+ else if (!strncmp(argv[i], "--start-number=", 15))
+ start_number = strtol(argv[i] + 15, NULL, 10);
+ else if (!strcmp(argv[i], "--start-number")) {
+ i++;
+ if (i == argc)
+ die("Need a number for --start-number");
+ start_number = strtol(argv[i], NULL, 10);
+ } else if (!strcmp(argv[i], "-k") ||
!strcmp(argv[i], "--keep-subject")) {
keep_subject = 1;
rev.total = -1;
!strcmp(argv[i], "--keep-subject")) {
keep_subject = 1;
rev.total = -1;
+ if (numbered && start_number < 0)
+ start_number = 1;
if (numbered && keep_subject < 0)
die ("-n and -k are mutually exclusive.");
if (numbered && keep_subject < 0)
die ("-n and -k are mutually exclusive.");
}
total = nr;
if (numbered)
}
total = nr;
if (numbered)
+ rev.total = total + start_number - 1;
while (0 <= --nr) {
int shown;
commit = list[nr];
while (0 <= --nr) {
int shown;
commit = list[nr];
+ rev.nr = rev.total - nr;
if (!use_stdout)
reopen_stdout(commit, rev.nr, keep_subject);
shown = log_tree_commit(&rev, commit);
if (!use_stdout)
reopen_stdout(commit, rev.nr, keep_subject);
shown = log_tree_commit(&rev, commit);