hello all,
for the time after this release we decided to switch to bzr, right?
Is there any howto for me as a default cvs/svn user how to create my own local branch and commit back to the mainline branch?
A WIKI page would be helpful :-)
Thx, theAdib
Here's a short outline. Ted, please correct if I got something wrong.
a) branch-merge workflow 1. bzr branch lp:inkscape - this creates a branch of Inkscape's trunk 2. edit files 3. bzr commit - this saves the changes to the local repository 4. bzr merge - to merge your branch and the trunk in case they diverged (some changes were made to trunk since you started your work) 5. bzr commit - again, to confirm the changes from merging 6. bzr push - publishes the changes to the trunk; only works if the branches are not diverged
b) SVN style checkout - essentially the same commands as with SVN 1. bzr checkout lp:inkscape 2. edit files 3. bzr commit - this checks in the changes to the remote repository on Launchpad
All this is under the assumption that everyone who had commit access to SVN trunk will have commit access to bzr trunk on Lanchpad. If that won't be the case, then you won't be able to do 'bzr push' or 'bzr commit' into lp:inkscape - instead you'll have to publish your branch on Launchpad and request a merge.
0. bzr launchpad-login your-launchpad-username - you have to have an SSH public key registered in Launchpad in order for this to work (go to your profile page to add it) 1. bzr push lp:~your-launchpad-username/inkscape/your-branch - this publishes your branch on LP 2. Send a merge request with that URL to someone who has trunk commit access 3. That person will then write the following in a trunk checkout: 3.1. bzr merge lp:~your-launchpad-username/inkscape/your-branch - to merge your changes 3.2. bzr commit - to commit the changes from the merge
Interesting hint: if at any point in time you decide that you want to convert your branch into a checkout, you write 'bzr bind lp:inkscape' - after this, 'bzr commit' will commit directly to the trunk on Launchpad rather than your local trunk.
Note that lp:inkscape is currently out of date due to an import error, but it will be fixed after the 0.47 release. An initial version of the tutorial is here, additions very much welcome: http://wiki.inkscape.org/wiki/index.php/Working_with_Bazaar
Regards, Krzysztof
On Mon, 2009-10-19 at 23:04 +0200, Krzysztof Kosiński wrote:
Here's a short outline. Ted, please correct if I got something wrong.
This looks good. There is also some generic bazaar documentation here:
http://doc.bazaar-vcs.org/latest/en/
For me, I use a slightly different workflow that I thought I'd document for folks who might be interested. It is more complex, but I like the way it works for me. I set up a shared repo and make local branches.
0. mkdir inkscape 1. bzr init-repo inkscape 2. cd inkscape 3. bzr branch lp:inkscape trunk 4. (cd trunk ; bzr bind lp:inkscape) 5. bzr branch trunk my-new-feature 6. cd my-new-feature 7. edit ; commit ; edit ; commit ; edit ; commit ; etc. 8. cd .. 9. cd trunk A. bzr merge ../my-new-feature B. <check to make sure I didn't screw something up> C. bzr commit
This allows me to have lots of "new-feature" branches, basically anytime I have an idea, but still keep things a little bit sane :)
Note that lp:inkscape is currently out of date due to an import error, but it will be fixed after the 0.47 release.
I have a test import uploaded that I think is working pretty good. I'm perfecting it, and need to get the other branches. But focusing on trunk.
lp:~ted/+junk/inkscape-trunk-import-test-2009-10-14
--Ted
participants (4)
-
Aaron Spike
-
Krzysztof Kosiński
-
Ted Gould
-
the Adib