![]() |
#1 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 96
Karma: 72130
Join Date: Nov 2008
Location: San Francisco Bay Area, CA, USA
Device: Sony PRS-505, Kindle DX 1st Gen, Kindle Fire 1st Gen
|
![]()
What is the recommended workflow for creating and submitting changes to calibre? Last night I was surprised to see that changes in my branch on Launchpad were merged into calibre. I had not requested the merge and was still working on it. That's ok, but it made me wonder if I was doing something wrong and should be using a different process.
Here's my workflow:
Is this right? I've only done up to #4 but my changes were merged. Should I use a different process? Things were fine now but I am worried about if I make GUI changes that are experimental and things break. I want to make things easy on everyone. I have no experience with version control systems and, despite reading the bzr manual, I am barely understanding the concepts of branching, merging, etc. Feel free to explain things to me like I'm a three-year-old. ![]() |
![]() |
![]() |
![]() |
#2 |
creator of calibre
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,169
Karma: 27110894
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Use
bzr merge in your branch to merge changes from trunk from time to time, rather than pull. Use bzr commit to save your work from time to time. When your changes are ready, use bzr push to upload them to Launchpad and then create a merge request. |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Sigil & calibre developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,487
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
|
Kovid doesn't merge changes unless you ask him to. That said mistakes can happen. In the rare event that a change is merged early it can always be reverted.
It is a good idea to only push working code to your branch. That doesn't mean you have to be finished with what your working on. |
![]() |
![]() |
![]() |
#4 | |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
|
This is my basic workflow (except for 6), copied from chaley, and I've also copied his description of his workflow from my notes:
Quote:
bzr send -o "Automerge_Updates.txt" and posted them to the buglist with a request to have them merged in. |
|
![]() |
![]() |
![]() |
#5 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 96
Karma: 72130
Join Date: Nov 2008
Location: San Francisco Bay Area, CA, USA
Device: Sony PRS-505, Kindle DX 1st Gen, Kindle Fire 1st Gen
|
I will make sure I only push the branch to LP when it's ready for merging. That brings up another question. Should I use the same branch on LP for everything or should I create a new one for each feature I work on?
|
![]() |
![]() |
Advert | |
|
![]() |
#6 |
Sigil & calibre developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,487
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
|
Create a new branch for each thing you're working on concurrently. So if you have some basic changes you're working on, a store plugin and a new recipe and you're working on them all at the same time then use three different branches. This way you can request merges for the finished parts as they are ready.
|
![]() |
![]() |
![]() |
#7 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,325
Karma: 8012652
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
|
Quote:
- base (the trunk, never changed) - dev (where I normally work on things I intend to submit, has launchpad copy) - store (for store plugins, has launchpad copy) - temp (for small changes when I am in the middle of bigger ones in dev, has launchpad copy) - test (for making experimental changes, no launchpad copy) |
|
![]() |
![]() |
![]() |
#8 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,462
Karma: 10484861
Join Date: May 2006
Device: PocketBook 360, before it was Sony Reader, cassiopeia A-20
|
What happens when I issue bzr commit command?
Hi.
I have been trying to merge changes from the main tree (maintained by Kovid) to my private copy of the source, which has a few changes that I have made. I was told that all that I have to do is: Get sources from net to my machine bzr branch lp:calibre Make my desired [tiny] changes (that are unlikely to be accepted to the mainline) update my private tree from the net, keeping my changes, by bzr merge When I issue bzr merge command, I am told that: bzr: ERROR: Working tree "/home/kacir/MyCalibre/calibre/" has uncommitted changes (See bzr status). So what happens when I commit changes? Are my changes pushed to the net (which is, obviously, NOT what I want)? Are my private changes in my private copy of sources marked as "commited" (whatever that means) and bzr stops complaining? I thought that I understand basic operation of bzr, and that commit pushes my changes to the net, but now I suspect, it is a bit more complicated. By the way, bzr complained when I was trying to pull the initial state of source until I have set my name by bzr whoami kacir from Mobileread <kacir@thisisnotmyemail.com> command. |
![]() |
![]() |
![]() |
#9 |
creator of calibre
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 45,169
Karma: 27110894
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Commit will only commit your changes locally, unless you have used bzr bind to bind your branch to a remote one.
|
![]() |
![]() |
![]() |
#10 | |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,462
Karma: 10484861
Join Date: May 2006
Device: PocketBook 360, before it was Sony Reader, cassiopeia A-20
|
Quote:
So. The steps that work for me on Linux are:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Submitting update to iBookstore | JCarig | Apple Devices | 3 | 06-24-2011 04:55 AM |
submitting a new ebook | bobcdy | Kindle Formats | 30 | 12-10-2009 04:32 AM |
Good blog for those interested in submitting work to publishers | khalleron | Writers' Corner | 0 | 12-01-2009 07:36 PM |
Opinion on workflow (and enhancing it) - research-type workflow | TheDarkTrumpet | Which one should I buy? | 8 | 03-02-2009 10:41 AM |