* [PATCH] builtin-fast-export: Only output a single parent per line
@ 2008-05-24 23:21 Pieter de Bie
2008-05-25 1:38 ` Junio C Hamano
0 siblings, 1 reply; 6+ messages in thread
From: Pieter de Bie @ 2008-05-24 23:21 UTC (permalink / raw)
To: git, Johannes.Schindelin; +Cc: Pieter de Bie
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 may be fine with git-fast-import, but other importers based on it, like
bzr-fast-import, can't handle this.
This changes fast-export to also output a single parent per line.
Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
---
I'm not sure why this was done, but it messed up my import :)
builtin-fast-export.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/builtin-fast-export.c b/builtin-fast-export.c
index e1c5630..34acdf9 100755
--- a/builtin-fast-export.c
+++ b/builtin-fast-export.c
@@ -204,10 +204,8 @@ static void handle_commit(struct commit *commit, struct rev_info *rev)
continue;
if (i == 0)
printf("from :%d\n", mark);
- else if (i == 1)
- printf("merge :%d", mark);
else
- printf(" :%d", mark);
+ printf("merge :%d\n", mark);
i++;
}
if (i > 1)
--
1.5.5.1.541.g51dc4.dirty
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] builtin-fast-export: Only output a single parent per line
2008-05-24 23:21 [PATCH] builtin-fast-export: Only output a single parent per line Pieter de Bie
@ 2008-05-25 1:38 ` Junio C Hamano
2008-05-26 1:49 ` Shawn O. Pearce
0 siblings, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2008-05-25 1:38 UTC (permalink / raw)
To: Pieter de Bie; +Cc: git, Johannes.Schindelin
Pieter de Bie <pdebie@ai.rug.nl> writes:
> 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 may be fine with git-fast-import,...
Is it fine for even git-fast-import? fast-import.c: parse_merge() seems
to suggest that it also wants one parent per "merge " line.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] builtin-fast-export: Only output a single parent per line
2008-05-25 1:38 ` Junio C Hamano
@ 2008-05-26 1:49 ` Shawn O. Pearce
2008-05-26 5:19 ` Junio C Hamano
0 siblings, 1 reply; 6+ messages in thread
From: Shawn O. Pearce @ 2008-05-26 1:49 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Pieter de Bie, git, Johannes.Schindelin
Junio C Hamano <gitster@pobox.com> wrote:
> Pieter de Bie <pdebie@ai.rug.nl> writes:
>
> > 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 may be fine with git-fast-import,...
>
> Is it fine for even git-fast-import? fast-import.c: parse_merge() seems
> to suggest that it also wants one parent per "merge " line.
fast-import wants the same as bzr-fast-import; one parent per
merge line. If git-fast-import was doing anything with multiple
per line it was probably dropping everything after the first. :-(
This was a bug in fast-export; I'm glad Pieter has fixed it.
--
Shawn.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] builtin-fast-export: Only output a single parent per line
2008-05-26 1:49 ` Shawn O. Pearce
@ 2008-05-26 5:19 ` Junio C Hamano
2008-05-26 5:24 ` Junio C Hamano
0 siblings, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2008-05-26 5:19 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Pieter de Bie, git, Johannes.Schindelin
"Shawn O. Pearce" <spearce@spearce.org> writes:
> Junio C Hamano <gitster@pobox.com> wrote:
> ...
>> Is it fine for even git-fast-import? fast-import.c: parse_merge() seems
>> to suggest that it also wants one parent per "merge " line.
>
> fast-import wants the same as bzr-fast-import; one parent per
> merge line. If git-fast-import was doing anything with multiple
> per line it was probably dropping everything after the first. :-(
>
> This was a bug in fast-export; I'm glad Pieter has fixed it.
Unfortunately, t9301 does not pass with the "fix".
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] builtin-fast-export: Only output a single parent per line
2008-05-26 5:19 ` Junio C Hamano
@ 2008-05-26 5:24 ` Junio C Hamano
2008-05-26 5:30 ` Shawn O. Pearce
0 siblings, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2008-05-26 5:24 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Pieter de Bie, git, Johannes.Schindelin
Junio C Hamano <gitster@pobox.com> writes:
> "Shawn O. Pearce" <spearce@spearce.org> writes:
>
>> Junio C Hamano <gitster@pobox.com> wrote:
>> ...
>>> Is it fine for even git-fast-import? fast-import.c: parse_merge() seems
>>> to suggest that it also wants one parent per "merge " line.
>>
>> fast-import wants the same as bzr-fast-import; one parent per
>> merge line. If git-fast-import was doing anything with multiple
>> per line it was probably dropping everything after the first. :-(
>>
>> This was a bug in fast-export; I'm glad Pieter has fixed it.
>
> Unfortunately, t9301 does not pass with the "fix".
Perhaps, this is needed on top?
builtin-fast-export.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/builtin-fast-export.c b/builtin-fast-export.c
index 4d28cf7..4bf5b58 100755
--- a/builtin-fast-export.c
+++ b/builtin-fast-export.c
@@ -209,8 +209,6 @@ static void handle_commit(struct commit *commit, struct rev_info *rev)
printf("merge :%d\n", mark);
i++;
}
- if (i > 1)
- printf("\n");
log_tree_diff_flush(rev);
rev->diffopt.output_format = saved_output_format;
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] builtin-fast-export: Only output a single parent per line
2008-05-26 5:24 ` Junio C Hamano
@ 2008-05-26 5:30 ` Shawn O. Pearce
0 siblings, 0 replies; 6+ messages in thread
From: Shawn O. Pearce @ 2008-05-26 5:30 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Pieter de Bie, git, Johannes.Schindelin
Junio C Hamano <gitster@pobox.com> wrote:
> > Unfortunately, t9301 does not pass with the "fix".
>
> Perhaps, this is needed on top?
>
> builtin-fast-export.c | 2 --
> 1 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/builtin-fast-export.c b/builtin-fast-export.c
> index 4d28cf7..4bf5b58 100755
> --- a/builtin-fast-export.c
> +++ b/builtin-fast-export.c
> @@ -209,8 +209,6 @@ static void handle_commit(struct commit *commit, struct rev_info *rev)
> printf("merge :%d\n", mark);
> i++;
> }
> - if (i > 1)
> - printf("\n");
>
> log_tree_diff_flush(rev);
> rev->diffopt.output_format = saved_output_format;
Yea, that looks right. The LF shouldn't follow the last merge
command.
--
Shawn.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-05-26 5:31 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-24 23:21 [PATCH] builtin-fast-export: Only output a single parent per line Pieter de Bie
2008-05-25 1:38 ` Junio C Hamano
2008-05-26 1:49 ` Shawn O. Pearce
2008-05-26 5:19 ` Junio C Hamano
2008-05-26 5:24 ` Junio C Hamano
2008-05-26 5:30 ` Shawn O. Pearce
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).