Question for specific features

Asked by Andreas Volz

Hello,

I like to start evaluating bazaar. After reading some documentation I've some questions. In the past I used CVS, SVN, GIT and Perforce.

Is there an equivalent for Perforce shelving feature? This feature is able to store local code changes to a private shelf. This is useful if a developer has local changes and need to interrupt his work to reset to trunk to fix another important bug in this area and commit it. After this work he could unshelf and continue working on a new feature.

Is there an equivalent for Perforce changelists? This is simply a way to group commits and give them a name. This helps to bundle logic changes and make the live for the integrator easier. The difference to SVN revision number is that a developer could organize localy a lot of changes in different changelists before commiting them.

Is there a solution like Eclipse does with its "Synchronize Feature" build directly in the VCS? This means with SVN I've the problem that I don't know what I get with a SVN update before I do it. Eclipse solves this on top of the VCS. With SVN I solve this by checking out two local workspaces and first update one and then diff it to my local one. Is there something like a "remote diff" in Bazaar? At best with GUI merge support.

regards
  Andreas

Question information

Language:
English Edit question
Status:
Answered
For:
Bazaar Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Marius Kruger (amanica) said :
#1

On 16 September 2010 14:33, Andreas Volz
> Is there an equivalent for Perforce shelving feature?
bzr shelve --help

> Is there an equivalent for Perforce changelists? This is simply a way to group commits and give them a name. This helps to bundle logic changes and make the live for the integrator easier. The difference to SVN revision number is that a developer could organize localy a lot of changes in different changelists before commiting them.

you can work in feature branches locally, and then send up a branch
or merge proposal to be merged.
http://doc.bazaar.canonical.com/latest/en/user-guide/organizing_your_workspace.html#feature-branches

> Is there a solution like Eclipse does with its "Synchronize Feature" build directly in the VCS? This means with SVN I've the problem that I don't know what I get with a SVN update before I do it. Eclipse solves this on top of the VCS. With SVN I solve this by checking out two local workspaces and first update one and then diff it to my local one. Is there something like a "remote diff" in Bazaar? At best with GUI merge support.

bzr missing :bound
(gives a list of changes that differ between you and the branch you
are checked out from)

bzr diff -r ancestor::bound..branch::bound
(shows a diff between the last common revision and the tip of the
branch you are checked out from)

Revision history for this message
Andreas Volz (tux-style) said :
#2

At least for shelving I found the answer in the GUI Explorer itself while browsing:

Purpose:
Temporarily set aside some changes from the current tree.
Usage:
bzr shelve [FILE...]
Options:

--all
Shelve all changes.
-v, --verbose
Display more information.
--list
List shelved changes.
-h, --help
Show help message.
-q, --quiet
Only display errors and warnings.
--usage
Show usage message and options.
--destroy
Destroy removed changes instead of shelving them.
-m ARG, --message=ARG

Message string.
-r ARG, --revision=ARG

See "help revisionspec" for details.

writer:

--auto-color
Colorized diffs, if supported
--color
Colorized diffs
--plain
Plaintext diff output.

Description:
Shelve allows you to temporarily put changes you've made "on the shelf", ie. out of the way, until a later time when you can bring them back from the shelf with the 'unshelve' command. The changes are stored alongside your working tree, and so they aren't propagated along with your branch nor will they survive its deletion.
If shelve --list is specified, previously-shelved changes are listed.
Shelve is intended to help separate several sets of changes that have been inappropriately mingled. If you just want to get rid of all changes and you don't need to restore them later, use revert. If you want to shelve all text changes at once, use shelve --all.
If filenames are specified, only the changes to those files will be shelved. Other files will be left untouched.
If a revision is specified, changes since that revision will be shelved.
You can put multiple items on the shelf, and by default, 'unshelve' will restore the most recently shelved changes.
See also:
unshelve

This is exactly what I need! I'll try it out as far as I've setup a workspace. Has anyone experiences with this feature?

regards
  Andreas

Revision history for this message
Martin Pool (mbp) said :
#3

Yes, I use shelve all the time and it works well.

Can you help with this problem?

Provide an answer of your own, or ask Andreas Volz for more information if necessary.

To post a message you must log in.