summaryrefslogtreecommitdiff
path: root/fast-import.c
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2006-08-24 22:38:13 -0400
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2007-01-14 02:15:07 -0500
commit02f3389d9647378ed864ff1cdfb6f0238b64ee91 (patch)
tree93a7c966ec49d140f7c4a2ddb48e7313ef3ba178 /fast-import.c
parentRemove branch creation command from fast-import. (diff)
downloadtgif-02f3389d9647378ed864ff1cdfb6f0238b64ee91.tar.xz
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.c7
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 */