On 19-7-2013 19:18, Martin Owens wrote:
On Fri, 2013-07-19 at 17:55 +0200, Krzysztof KosiĆski wrote:
Change the command for getting the source from "bzr branch" to "bzr checkout".
+1
[warning added after writing my mail:] Don't read the rest of the e-mail if you're not interested in reading text from an annoyed bzr user.
I disagree. The branch and merge workflow allows for code reviews and better tracking in launchpad. If you recommend bzr checkout and creating patches, then we're asking developers to learn the LK method rather than the launchpad process.
The tracking of individual commits within the final big merge commit to trunk is pretty useless imo. I don't want to read through "implement A", "better way to implement A", "small tweak to A", "deleted A, replaced with B", series of commits. I just look at the final merge commit and see what really changed, in the context of all the other final changes. So for me, bzr branch and bzr checkout provide the same quality of history in launchpad. For code review, this argument becomes stronger for me. I really would want to look at changes within the context of all the other changes; a patch file with everything seems to do that. But who am I kidding... with the switch to bzr, I lost my capability of actually applying patches anyway [*]
If the checkout/patch method must be documented, then put it up with caveats that explain that it should only be used for very small changes < ~20 lines. Otherwise the branch/merge-request method should be used.
This depends on who we target. If we target a programmer who has not used a CVS before, "bzr branch" will probably kill all enthusiasm. (quite sure it would've for me, because it actually still does so) If we target a programmer who was interested in CVS's and learned about them and has used one before, "bzr branch" seems ok. But, this person will read-up on BZR anyway and will notice that he'd better use "bzr branch" instead of the suggested "bzr checkout". Note that I have yet to find the button "accept merge request" on launchpad's website, and I blissfully forgot how to do a merge [*].
I strongly advocate the use of "bzr checkout". If you actively collaborate with others on something, only then do I see the benefit of a branch. Please keep in mind that (I believe) many of us do not work with bzr on a daily or even weekly basis. The threshold of actually getting some work done is higher with bzr than it was with svn; without "bzr checkout" I probably would have contributed nothing any more. Let's point the "getting started" folks to this escape.
ciao, Johan
[*] don't bother explaining to me how to do it through the cmdline. If it's not possible from tortoisebzr's explorer integrated UI without having to think for more than 3 seconds, I am not interested. Hope you come and join us in the 21st century sometime! ;-)