unlink repository from central server in bazaar
Every time I commit wi开发者_开发技巧th 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 ?
bzr unbind
See http://doc.bazaar-vcs.org/latest/en/user-guide/using_checkouts.html
bzr bind [LOCATION]
converts the local branch into a checkout of the central repository.
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
.
精彩评论