tags:

views:

45

answers:

2

Every time I commit with bazaar, it contacts my remote repository (the one I got the code from). I want to commit locally, because the development machine I'm on is offline. Of course there's the --local option, but I would like just to remove the linkage between the remote server and the repository branch. How can I do it?

Related question: once I get back online with the repo, what is the procedure to submit the changes to the central repository ?

+1  A: 
bzr unbind

See http://doc.bazaar-vcs.org/latest/en/user-guide/using%5Fcheckouts.html

bzr bind [LOCATION]

converts the local branch into a checkout of the central repository.

unutbu
+1  A: 

You have checkout (or bound branch) of the master branch from your server. Most likely you have used command:

bzr checkout URL

Your checkout can be unbind from the master branch with command:

bzr unbind

The command above will "convert" your checkout to plain branch.

Once you got back online you can bind again to your master branch with command:

bzr bind

To commit your local changes to master branch you need to run update command first:

bzr update

The command above will convert all your local commits into pending merge. You can see that all your revisions are waiting to commit by commands:

bzr status

or

bzr qlog

(qlog is graphical log from QBzr plugin).

There is possible conflicts, check them with bzr conflicts command. Resolve them before commit and run command bzr resolve.

Once you commit all your local revisions will appear as merged revisions in master branch on the server and your local branch will be fully synchronized with master branch.

Warning: if you don't want to commit your local revisions after you made bzr update then you should not run bzr revert, because it will hide all your local commits. Instead use bzr unbind again and bzr pull . --overwrite -r YOUR_LOCAL_COMMITS_TIP.

bialix