[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invar
From: |
Zbynek Winkler |
Subject: |
Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated |
Date: |
Fri, 28 Mar 2008 08:55:37 +0100 |
On 27/03/2008, Markus Schiltknecht <address@hidden> wrote:
> Hi,
>
> Brian May wrote:
> > I don't understand this; I thought Monotone only considered two file/dir
> > to be the same if they shared a common ancestor. In this case, it would
> > appear both files have different ancestors, and the filenames are
> > different at the time of merge, so I don't see why they should conflict.
>
>
> Well, the full file_path is different, yes. But the parent directory, to
> which the file should be added is the same. It only got renamed in between.
>
> Condider this:
>
> base_rev o containing dir "foo/"
> / \
> / \
> rename add file
> "foo" to "foo/x"
> "bar"
>
> The left revision contains no directory named "foo", although the right
> revision adds a file "foo/x". Now, because monotone tracks renames, it
> known directory "foo" had been renamed to "bar", and thus the merged
> revision contains a file "bar/x".
>
> With me so far?
>
> Now, if the left revision adds a file "bar/x", monotone has a problem.
> It knows the directory "foo" has been renamed to "bar" on the left. It's
> the same directory. But both revisions want to add a file "x" to that
> directory. Now it exits with:
>
>
> conflict: duplicate name 'x' for the directory
>
> named 'bar' on the left and
> named 'foo' on the right.
>
> I know this is somewhat confusing. But the *same* directory can have
> different names, if you decide to track renames.
Nice explanation. I'd like to offer alternate view. It reminds me more
the case when two different revisions independently add a file with
the same name. I don't see why in this case there should be a conflict
on the name of the directory...
Zbynek
--
http://robotika.cz/
- [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Marcin W. DÄ…browski, 2008/03/27
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Markus Schiltknecht, 2008/03/27
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Brian May, 2008/03/27
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Markus Schiltknecht, 2008/03/27
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated,
Zbynek Winkler <=
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Markus Schiltknecht, 2008/03/28
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Zbynek Winkler, 2008/03/28
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Markus Schiltknecht, 2008/03/28
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Thomas Keller, 2008/03/28
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Markus Schiltknecht, 2008/03/28
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Stephen Leake, 2008/03/28
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Derek Scherger, 2008/03/28
- Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Markus Schiltknecht, 2008/03/29
Re: [Monotone-devel] fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated, Marcin W. DÄ…browski, 2008/03/27