builtin-fast-export: Only output a single parent per line
authorPieter de Bie <pdebie@ai.rug.nl>
Sat, 24 May 2008 23:21:53 +0000 (01:21 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 26 May 2008 05:26:24 +0000 (22:26 -0700)
According to the git-fast-import man-page, you can only put a single
committish per merge: line, like this:

  merge :10
  merge :11

However, git-fast-export puts all parents on a single line, like this:

  merge :10 :11

This changes fast-export to output a single parent per line.  Otherwise
neither git-fast-import nor bzr-fast-import can read its output.

[jc: fix-up to remove excess LF in the output that makes fast-import barf]

Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-fast-export.c

index 724cff3..4bf5b58 100755 (executable)
@@ -205,14 +205,10 @@ static void handle_commit(struct commit *commit, struct rev_info *rev)
                        continue;
                if (i == 0)
                        printf("from :%d\n", mark);
                        continue;
                if (i == 0)
                        printf("from :%d\n", mark);
-               else if (i == 1)
-                       printf("merge :%d", mark);
                else
                else
-                       printf(" :%d", mark);
+                       printf("merge :%d\n", mark);
                i++;
        }
                i++;
        }
-       if (i > 1)
-               printf("\n");
 
        log_tree_diff_flush(rev);
        rev->diffopt.output_format = saved_output_format;
 
        log_tree_diff_flush(rev);
        rev->diffopt.output_format = saved_output_format;