diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2006-08-24 22:38:13 -0400 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-01-14 02:15:07 -0500 |
commit | 02f3389d9647378ed864ff1cdfb6f0238b64ee91 (patch) | |
tree | 93a7c966ec49d140f7c4a2ddb48e7313ef3ba178 /fast-import.c | |
parent | 00e2b8842c58e451fcf8038287c8420423bab50a (diff) | |
download | git-02f3389d9647378ed864ff1cdfb6f0238b64ee91.tar.gz |
Moved from command to after data to help cvs2svn.
cvs2svn has three phases: begin_commit, middle_commit, end_commit.
The ancester is computed in the middle_commit phase. So its easier
to generate a stream if the from command appears after the commit
message itself but before the file change commands.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'fast-import.c')
-rw-r--r-- | fast-import.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fast-import.c b/fast-import.c index 3e527edf70..1842d0738b 100644 --- a/fast-import.c +++ b/fast-import.c @@ -14,11 +14,11 @@ Format of STDIN stream: file_content ::= data; new_commit ::= 'commit' sp ref_str lf - ('from' sp (ref_str | hexsha1 | sha1exp_str | idnum) lf)? mark? ('author' sp name '<' email '>' ts tz lf)? 'committer' sp name '<' email '>' ts tz lf commit_msg + ('from' sp (ref_str | hexsha1 | sha1exp_str | idnum) lf)? file_change* lf; commit_msg ::= data; @@ -1385,7 +1385,6 @@ static void cmd_new_commit() free(str_uq); read_next_command(); - cmd_from(b); cmd_mark(); if (!strncmp("author ", command_buf.buf, 7)) { author = strdup(command_buf.buf); @@ -1398,6 +1397,8 @@ static void cmd_new_commit() if (!committer) die("Expected committer but didn't get one"); msg = cmd_data(&msglen); + read_next_command(); + cmd_from(b); /* ensure the branch is active/loaded */ if (!b->branch_tree.tree || !max_active_branches) { @@ -1407,7 +1408,6 @@ static void cmd_new_commit() /* file_change* */ for (;;) { - read_next_command(); if (1 == command_buf.len) break; else if (!strncmp("M ", command_buf.buf, 2)) @@ -1416,6 +1416,7 @@ static void cmd_new_commit() file_change_d(b); else die("Unsupported file_change: %s", command_buf.buf); + read_next_command(); } /* build the tree and the commit */ |