On Wed, 2008-02-20 at 11:11 +0000, Colin Watson wrote:
> On Mon, Feb 18, 2008 at 10:09:09PM -0000, Robert Collins wrote:
> > I understand svn's behaviour here. But bzr is not svn, and the behaviour
> > of bzr-svn in this situation is consistent with the behaviour bzr itself
> > would show if your homedir was versioned. So it is entirely irrelevant
> > how the svn UI behaves - because you're not using the svn UI.
> 
> I understand that bzr is not svn, and with all due respect I do not
> think my argument is based on how the svn *UI* behaves; it was just a
> convenient demonstration. The fact is that bzr+bzr-svn is interpreting
> this directory as part of an svn *working tree*. In this case it needs
> to follow the svn rules for what an svn working tree is, and it is not
> doing so.
> 
> Note that svn doesn't say "you must add the parent directory first", but
> "this is not a working copy". As a user I find this distinction
> relevant. I behave differently when operating on files in working copies
> from how I behave when operating on files outside them.

And bzr doesn't have this distinction in its UI at the moment.

> > If bzr was svn I would agree with you. The more I think about this the
> > more 'its operating as designed' as far as I can tell. 'bzr st' in an
> > unversioned subdir of a bzr tree will give that trees status. If the
> > tree happens to be a foreign tree the end user behaviour should be the
> > same, and bzr-svn is doing the right thing.
> 
> While I do think I (now) understand where you're coming from in trying
> to make bzr work the same way regardless of the backend implementation,
> I'm afraid I still cannot agree with you here. I expect bzr-svn to
> operate on svn working trees et al except using the bzr UI. In this
> respect it is failing by treating something as an svn working tree when
> it simply is not, according to the conventions for what counts as an svn
> working tree. Who gets to decide those conventions? Who else but
> Subversion?

For an unversioned, unignored subtree of a working tree I think it is a
UI decision; because it affects how people interact with their UI, and
we don't want people using bzr-svn to have to remember 'I'm using svn
over _here_, I need to do X, Y and Z differently'. bzr-svn is meant to
be as seamless as possible.

> > Its a shame you needed to do this. This may indicate that the bzr UI in
> > unversioned subdirectories is inappropriate, rather than being a bzr-svn
> > specific issue.
> 
> I think it is inappropriate in the case of svn working trees, because it
> breaks the user expectation of how unversioned subdirectories of svn
> working trees behave; that is, they're left alone unless you explicitly
> add the directories.

I think we need to address this issue; I think that what it actually
points at is a weakness in the bzr UI which needs discussion.

> I set up this svn home directory arrangement a long time ago. When I set
> it up, I knew how svn behaved with regard to unversioned directories,
> and took advantage of it; I only added the directories I wanted to be
> part of this repository, with the expectation that I would deal with
> items in other subdirectories in other ways. From my perspective,
> bzr-svn has come along several years later, declared that it knows how
> this all works, and proceeded to define it in a different way that
> causes inconvenience. I don't think this is OK. You can only say that
> it's working by design if yours is the only design that applies.

Given that the bzr design was created post svn's existence, we _can_ say
that this is by design. 

That doesn't mean its correct :). While I don't agree with your 'do it
the way the svn UI does _because it is an svn tree_' logic (that logic
devalues the entire point of bzr-svn operating on svn trees at all),
this doesn't mean we can't correct it by changing bzr's UI.

> > if thats the case we can look at how to change it (and from there how
> > to tweak the interface so bzr-svn doesn't trigger network activity etc
> > like it is).
> 
> I do think that 'bzr init', 'bzr branch', and so on should not behave
> differently if they happen to be in an svn working tree. A .svn control
> directory can't act as a bzr repository (as far as I know, anyway ...)
> and so there's no reason for commands that create branches to take any
> account of it. This is the major problem because the only ways around it
> are brutal (removing bzr-svn) or non-obvious (creating a stub .bzr).

a .svn directory can operate as a bzr tree, which enables the bzr
switch, commit, merge, push, remove, add, status, diff etc commands.
Thats orthogonal though; the key issue here is that bzr-svn is doing
network traffic to answer an existence query, which is wrong. I'm going
to file a separate bug for this.

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

-- 
bzr-svn is irritating when in a (non-svn) subdirectory of an svn working tree
https://bugs.launchpad.net/bugs/192743
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to