Comment 3 for bug 124859

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 124859] incorrect repository detected with symlink to a branch

On Mon, 2007-07-09 at 13:38 +0000, Aaron Bentley wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Robert Collins wrote:
> > The cause is that the branch object for 'link' has not followed the
> > symlink
>
> I disagree that following the symlink is The Right Thing.

In some places I agree with you, in others I don't.

> The symlink may well be a versioned file, so the containing directory is
> the correct place to search. This allows "bzr log link" to give the
> version history of the symlink, while bzr log "subproject/subtree" will
> give the version history of the subtree.

I think getting the log for the history of 'link' in the tree link is in
should be possible. Right now its not possible at all.

I don't have a strong opinion as to what should be the default, but I
strongly believe that we should support *both* following the symlink for
the Branch object, and logging the history of 'link' itself too.

I'm not sure how we should expose this.

> Following the symlink would mean that there would be no way to get the
> version history of the symlink, and would have even worse effects with
> "commit", "merge", "revert" et al.

This is overgeneralising what I was reporting. At the moment the
situation I created is already totally broken. I was not suggesting
changing how we track versioning of symlink - I am talking about the
behaviour of 'BzrDir.open(PATH)' exclusively.

> In sum, symlinks are first-class entities in Bazaar, so it does not make
> sense to follow them.

They are first class entities, but that does not preclude following them
at appropriate times.

-Rob

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.