How do I switch checkout from Bazaar Explorer?

Asked by Dr Al

In the command line version of Bazaar, I can use "bzr switch" or "bzr qswitch" to switch checkout. If I point Bazaar Explorer at my local working copy, it recognises it as a checkout (so I can "unbind" if I want to), but the switch option is greyed out. How can I enable this so that I don't have to start a command line to switch checkout?

Steps to reproduce my apparent problem (I didn't know whether this is a real bug, hence posting it as a question):

Command Line:

mkdir -p ~/temp/test-repo
cd ~/temp/test-repo
# Create the repository
bzr init-repo --no-trees .
cd ..
# Create a working copy
mkdir test-wd
cd test-wd/
bzr init
bzr push ../test-repo/trunk
# Turn working copy into checkout
bzr bind ../test-repo/trunk/
# Check that switch works, now a checkout of ../test-repo/feature-test
bzr switch -b feature-test
# Switch back to trunk
bzr switch trunk
# Start explorer
bzr explorer &

Click "Open Existing Location"
Click "Open"
Click "Choose" (it defaults to the current directory, which is ~/temp/test-wd
Click on the "Work" toolbar button
"Switch Checkout" is greyed out

Question information

Language:
English Edit question
Status:
Answered
For:
Bazaar Explorer Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Dr Al (abudden) said :
#1

Looking into this in more detail, this seems to be related to a distinction between a bound branch and a checkout. According to bazaar, if I do:

    bzr co test-repo/trunk test-wd1
    cd test-wd1
    bzr info

Bazaar reports that test-wd1 is a checkout of test-repo/trunk.

If I do:

    bzr branch test-repo/trunk test-wd2
    cd test-wd2
    bzr bind ../test-repo/trunk
    bzr info

Bazaar reports that test-wd2 is also a checkout of test-repo/trunk, so binding the branch is the same as checking out the source.

However, looking at explorer.py (area around line 412 in revision 311), Bazaar Explorer treats a bound branch and a checkout as entirely distinct. Why is this? Should the line:

    self.ui.action_Switch: ['checkout'],

be changed to:

    self.ui.action_Switch: ['bound-branch', 'checkout'],

The same could be said for:

    self.ui.action_Unbind: ['bound-branch'],

Shouldn't this be a valid operation for a checkout? It's possible I'm missing something, as I'm not sure I understand why "Bind" is a valid operation for a checkout (as it is essentially already bound).

Revision history for this message
Alexander Belchenko (bialix) said :
#2

Based on the status of the realted bug (Fix Released) this question can be closed as well?

Can you help with this problem?

Provide an answer of your own, or ask Dr Al for more information if necessary.

To post a message you must log in.