Jan Pešta <jan.pe...@certicon.cz> writes:

> In inproperly merges, the ranges contains additional character "*".

Thanks, but -ECANNOTPARSE.  What are "inproperly merges"?

> See http://www.open.collab.net/community/subversion/articles/merge-info.html
> Extract:
> The range r30430:30435 that was added to 1.5.x in this merge has a '*'
> suffix for 1.5.x\www.
> This '*' is the marker for a non-inheritable mergeinfo range.
> The '*' means that only the path on which the mergeinfo is explicitly set
> has had this range merged into it.

If I am reading the above correctly, blindly removing '*' from the
range will record a wrong merge in the result, because on the SVN
side only the history of part of the tree is merged but we represent
the result as a full merge (and Git only records full merge of
histories), no?

My gut feeling tells me that failing the import, saying "We cannot
represent this history", might be a more honest and safe thing to
do.

> Signed-off-by: Jan Pesta <jan.pe...@certicon.cz>
> ---
>  perl/Git/SVN.pm | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
> index 0ebc68a..6bd18e9 100644
> --- a/perl/Git/SVN.pm
> +++ b/perl/Git/SVN.pm
> @@ -1493,6 +1493,7 @@ sub lookup_svn_merge {
>       my @merged_commit_ranges;
>       # find the tip
>       for my $range ( @ranges ) {
> +             $range =~ s/[*]$//;
>               my ($bottom, $top) = split "-", $range;
>               $top ||= $bottom;
>               my $bottom_commit = $gs->find_rev_after( $bottom, 1, $top );
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to