Collision branches
James Westby
james.westby at canonical.com
Thu Oct 6 14:54:48 UTC 2011
On Thu, 6 Oct 2011 15:27:54 +0100, Jonathan Riddell <jriddell at ubuntu.com> wrote:
> On Wed, Oct 05, 2011 at 12:24:44PM -0400, James Westby wrote:
> > In order to get some data on this I just looked back at 45 of these from
> > the last month, and found:
> >
> > 9 that looked real, or at least feasible
> > 2 that were caused by updates to .po files
> > 4 that were caused by automatically generated debian/control files
> > 1 caused by updates to config.{guess,sub}
> > 29 caused by quilt interaction
> >
> > So 64% of these were caused by quilt interactions, and all the other
> > spurious ones were less than 50% of what's left, indicating that quilt
> > is the place to focus our efforts to make these merge proposals have
> > much more signal than noise.
>
> I've looked through a bunch and many of them seem to be conflicts
> caused by adding a file. The version uploaded then adds the file to
> its own brancha and bzr considers it a conflict (even though the files
> are identical), I'd have thought the importer would have some magic to
> detect this?
I think this is discussed in
https://bugs.launchpad.net/udd/+bug/806940
It's very confusing as there are a couple of hidden things going on:
1) The importer isn't using the diff that you see on the MP to decide
whether there is a collision, so sometimes it does odd things.
2) When doing the re-import when it detects a collision it doesn't
have any reference to the moved-aside branch, so any added files will
get different file ids, leading to the conflicts that you see.
The second should actually be pretty easy to fix, passing the tree from
the side branch as a file_ids_from when the import is done. The former
could be mitigated in several ways, and may be the wrong thing to do
conceptually.
> I also found a strange case in python3-defaults where there is nothing
> to merge, spooky.
That's an artefact of 1) above, there is a diff between the branches,
but it leads to no changes when merged.
> There's also several such as checkbox, openssl, gnome-color-manager where I get an error on checking out the moved-aside branch
>
> >bzr branch lp:~ubuntu-branches/ubuntu/oneiric/openssl/oneiric-201110041452
> bzr: ERROR: Revision {cjwatson at canonical.com-20111004123628-4ybe8782rytyb0dc} not present in "Graph(StackedParentsProvider(bzrlib.repository._LazyListJoin(([CachingParentsProvider(None)], []))))".
Yeah, there's a few of these, there's clearly a bug somewhere, but I'm
not sure of the cause.
Thanks,
James
More information about the ubuntu-distributed-devel
mailing list