/srv/irclogs.ubuntu.com/2012/10/19/#bzr.txt

delinquentmeis anyone in here familar with gits workflow ... I need to know if the branching practices in bzr are similar to git ... and perhaps some examples of how they might differ.01:20
bob2it's the same01:22
delinquentmebob2, thats waaaayyy too simplistic to be helpful or true01:25
bob2it's not01:28
bob2it's the same except that in bzr a branch is another dir01:28
bob2(possibly colo is good enough to use now, I don't know)01:29
delinquentmebob2, well now i've talked to a number of people in here and they're telling me that branches AREN"T additional directories01:29
bob2as above01:29
delinquentmebob2, sorry I dont follow?  "as above" ?01:34
bob212:29:25 < delinquentme> bob2, well now i've talked to a number of people in here and they're telling me that branches AREN"T additional directories01:35
bob212:29:05 < bob2> (possibly colo is good enough to use now, I don't know)01:35
bob2colo = making bzr work like git with easy switching of branches in one """checkout"""01:35
delinquentmebob2, do you have a online source that states definitively that a branch in normal vanilla bzr creates a new directory with every branch?02:07
delinquentmebob2,02:37
delinquentmeany chance of definitive statement?02:37
spiv"vanilla" is a bit of an imprecise terms.02:44
spiv*term02:44
spivThe bzr user guide explicitly describes multiple ways of working, with the understanding that the "best" way depends on the circumstances02:45
spivAnd the aspects that people care deeply about differ02:46
spivSome people strongly care about "feature branches" (one branch per work task)02:46
spivSome people strongly care about reusing the same workspace on disk for everything relating to a project.02:46
spiv(Some people strongly care about both, for that matter.)02:47
spivSo when you're asking if the branching practices are like git, I think you need to define your meaning a little more clearly (although I appreciate it's hard without having a thorough understanding of both systems).02:48
spivBecause in the extreme, it can be interpreted as meaning "I can type 'git frob -x ...' when I want to frob my stuff"02:49
spivOr maybe you really want support for pushing a group of related branches in a single operation.  Or maybe you really want trivial support for pushing one branch without worrying about how it may be related to other branches you have.  Etc.02:50
spivWhich is a long-winded way of saying bob2 is right that it's a simplistic question, even if it doesn't feel like one, so you're unlikely to find the definitive statement you're looking for.02:51
spivBut perhaps you have more specific questions we can help with?02:51
=== bigjools-afk is now known as bigjools
jelmermoin05:56
=== bigjools-afk is now known as bigjools
=== yofel_ is now known as yofel
=== mmrazik is now known as mmrazik|lunch
=== mmrazik|lunch is now known as mmrazik
delinquentmeHey all !  I'm looking for a definitive example of a branching workflow.  I'm used to running with Git and I use substantial branching in my own practices ... basically I'm not sure how branches in BZR work ... and if someone would address the long standing question of whether bazaar branches create their own directories .. that would be awesome10:50
AfCdelinquentme: branches work by ... branching10:53
AfCdelinquentme: and yes, bzr branches live in their own directories. That comes from several design decisions, including wanting to give each branch a URL10:53
delinquentmeAfC, I mean an example haha ... 1) branching 2) committing on both A and B branches 3) specifics on how they differ ... and then conflict resolution between the two10:54
delinquentmeAfC, final answer? I'm guessing you're pretty confident in bzr?10:54
AfCdelinquentme: you can certainly replicate Git's change-branch-in-place behaviour, but you need to take a certain amount of care to set things up to behave.10:54
AfCdelinquentme: everything you're describing is just 3rd generation Distributed Version Control. Any of the modern DVCSen have the same building blocks and the same capabilities.10:56
AfCbzr is, in our opinion, a lot more explicit about the important things, and, once you "get it" a shit load easier to use, but whatever.10:56
AfCdelinquentme: there are any number of tutorials around, but for instance one I wrote is http://java-gnome.sourceforge.net/HACKING.html10:57
delinquentmeexample of the important things?10:57
delinquentmeok so in this line: $ bzr branch mainline/ working/10:58
delinquentmethis is your branching operation10:58
AfCwhole tree commits, explicit identity of branches and thence ease of comparing branches, merge performance, not shooting you in the foot when you try to resolve conflicts10:58
AfCdelinquentme: yes10:59
AfCdelinquentme: (assuming I already have taken some action to get a "branch" of mainline, which is the case there)10:59
AfCdelinquentme: (the other starting point would have been bzr init mainline/ but that's a bit pointless here)10:59
AfCdelinquentme: http://research.operationaldynamics.com/bzr/quill/ ← lots o branches11:00
delinquentmeyeah i'm on about ... the local editing of existing branches11:01
AfCone of which is mainline and "more special" but only by convention. Branches are peers.11:01
AfCdelinquentme: well, once you've got _commits_ in different branches11:01
AfCdelinquentme: (that have therefore diverged)11:01
delinquentmeyeap11:01
AfCdelinquentme: you can then do things like11:01
AfC$ bzr missing --line ../other11:01
AfCwhich tells you what revisions exist on each11:02
AfCanother stalwart is11:02
AfC$ bzr diff -r ancestor:../mainline11:02
AfCwhich shows you a diff not against the current branch's committed state11:02
AfC(Whchi is what bzr diff does straight up)11:02
delinquentmewhich is essentially is what commits is the current branch lacking from those in mainline11:03
AfCbut instead against whatever the common ancestor is between the two branches. It is, in effect, a merge prediction11:03
AfCdelinquentme: yes, that's `missing`11:03
AfCand with that, my ferry has landed. Excuse me.11:03
jmlhey12:10
jmlI want a command like lp-propose, but that adds an approval vote with some trivial text (e.g. "rubberstamp") and also sets the approved revision on the status of the merge proposal12:10
jmlthis is because we use tarmac for landing branches, and there's a non-trivial class of branches that we wish to land without requiring code review.12:11
jmlit seems pretty straightforward to implement12:11
jml*but*12:11
jmlI can think of a couple of ways I might do it12:11
jmla) totally new command12:11
jmlb) a new option to lp-propose ('--vote Approve', maybe?), along with a fix to --approved behaviour to set revid12:12
jmlc) a separate command for reviewing merge proposals12:13
jmld) change the behaviour of --approved on lp-propose to also add a trivial comment & approve vote (as well as setting revid)12:14
jmlc) is most flexible, I think. d) is most convenient for my use case.12:14
mgzdoes it want to be a bzr thing at all?12:14
mgzwith lp-propose you always have the branch you want to make an mp from right there, and it probably needs pushing12:15
mgzbut at best with reviewing you've got a copy of the other person's branch you'rve just run tests on, and the only change you want to make it to launchpad via it's api12:15
mgz*is to12:15
jmlmgz: remember the use case is to push, propose and rubberstamp my own branch12:16
mgzwe want to encourage that? :)12:16
jmlmgz: so, insofar as lp-propose already partly caters to this use case by having an --approve option12:16
mgzI'd extend lp-propose then, for that case.12:16
mgzbut not try and do the general case.12:17
jmlmgz: cool, I'm in favour of that.12:18
jmlphone12:19
jmlmgz: in testtools, there's a check that says if sys.version_info > (3, 3), expect "PermissionError". However, in actual released Python 3.3, it seems to be FileExistsError.12:59
jmlmgz: in t.tests.test_testresult.TestNonAsciiResults.test_os_error12:59
jmlmgz: naively, I'd change this to FileExistsError and remove the PermissionError branch. Do you know of a reason for me keeping a PermissionError branch to the conditional?13:00
mgzI'll have a quick look and see13:03
jmlmgz: thanks.13:04
mgzhm, that's a little icky13:05
mgzit's probably platform dependant13:06
mgzcould make it assertThat(self._as_output(textoutput), MatchesRegex("(?:Permission|FileExists)Error: "))13:10
mgzI think that will still get the str/unicode stuff right13:10
delinquentmewhats the closest bzr operation to a rebase?14:00
gmarkallthere's a rebase plugin14:04
gmarkallalthough, it doesn't do interactive rebase afaik14:05
jmlmgz: thanks. I'll do that.14:15
LeoNerdThere is rebase, and it's just as rude as it is in git14:24
mgzjml: reviewed, one similar issue noted14:27
jmlmgz: oh, thanks.14:27
lifelessmgz: btw, lots of testtools discussions also happen in #subunit.15:05
delinquentmeLeoNerd, its just as rude?15:27
LeoNerdIt rewrites history15:36
LeoNerdIt throws away previously-committed revisions and replaces them with other ones15:36
=== beuno is now known as beuno-lunch
delinquentmeso I thought I've run merges on bzr before and it annotated the differences within a single file?16:17
delinquentmewith <<<<< ====== and >>>>>>>> is there some magic to getting this orrrr16:18
delinquentmeSo I've got a .BASE .OTHER and a .THIS16:32
delinquentme:P16:32
delinquentmewhat all is going on heeere16:33
=== deryck is now known as deryck[lunch]
delinquentmeok so If i run a $ bzr merge ../some_branch  ... and then im going through the files ...   the conflicts labeled as " TREE " are those which were on the trunk ( being that I merged some_branch INTO trunk ) ... and those labeled as MERGE-SOURCE .. were those bits of code which were in the some_branch16:53
delinquentmeright/16:53
=== beuno-lunch is now known as beuno
awolfHi folks, I'm a maintainer of a daily build of a package, and I use a source recipe on Launchpad, and I super love it and it's great.17:52
awolfHowever, I need to make some changes to the recipe, so I'm rebuilding the environment on my local PC so I can test changes locally.17:52
awolfI am finding that even when I modify the recipe to use bzr repos that are on my harddrive, they're abysmally slow.17:52
awolfI've got a relatively beefy machine, ssd, and while doing a bzr dailydeb build where the recipe points to bzr repos that are only located on my machine, not lp: or over a network, I'm getting occasional timeouts!17:53
awolfThe timeout aren't happening every time, so I don't think I'm pointing to the wrong place--it geniuinely looks like a timeout.17:53
awolfAny thoughts?17:54
=== lifeless_ is now known as life
=== life is now known as lifeless
=== deryck[lunch] is now known as deryck
delinquentmebzr uncommit -r -3  this backs out to commit revno 3?18:28
delinquentmeor back 3 commits from the most current?18:28
beunodelinquentme, should undelete the last 3 revnos18:31
delinquentmehey all .. whats the modification I need to make to $bzr log to only get a few of the last commits ?22:24
mgrandi_look at bzr help revisionspec22:25
mgrandi_can limit the amount of commits you are looking through there22:25
delinquentmemgrandi_, theres no ... just .. argument like a " -4 " I can add??22:31
delinquentmeseems silly/22:31
jelmerdelinquentme: --limit 4 ?22:34
delinquentmejelmer, bzr log -l 422:35
delinquentmeawesome22:35
danielbrauerHello, I'm running Bazaar on Mac OS, and running into this issue: https://bugs.launchpad.net/bzr-explorer/+bug/92643923:51
ubot5Ubuntu bug 926439 in Bazaar Explorer "Can't open project in GUI "Too many open files"" [Medium,In progress]23:51
danielbrauerI see that there is a patch there, but I'm not sure what to do with it.23:51
danielbrauerHaving used the disk image to install Bazaar, I'm actually not sure where all of its python files reside.23:52
mgrandi_one sec23:56
mgrandi_the directory you want to apply the patch is /Library/Python/2.6/site-packages/bzrlib/plugins/explorer23:59
mgrandi_the lib file is in there23:59
mgrandi_err directory23:59
danielbrauerThanks, looking now.23:59

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!