/srv/irclogs.ubuntu.com/2009/10/16/#bzr.txt

spivPeng_: Apparently!00:03
jfroy|workThe link to reverse cherrypicking in http://doc.bazaar-vcs.org/latest/en/user-guide/undoing_mistakes.html is broken00:07
Peng_mwhudson: wb00:12
* Peng_ pushes00:13
mathepicHow can I accept a list as an argument for a command?00:16
spivmathepic: in a bzrlib.commands.Command subclass?00:17
mathepicspiv: Yes, I'm trying to make remove-tree accept multiple trees as arguments00:18
spivmathepic: something like takes_args = ['file*']00:18
spivsee e.g. cmd_dd00:18
spiver,00:18
spivcmd_add00:18
mathepicThanks00:18
spiv(my 'a' key is becoming a bit dodgy)00:18
mathepicAnd add a ? after the * if I want it to be optional, right?00:19
mathepicIt doesn't seem to work with optional...00:23
spivNo, just *00:24
spivIf you don't pass any, then the list will be empty :)00:24
mathepicIn my parameters for run, I have location_list=['.']00:31
mathepicBut it still gives an error if I don't specify a directory00:31
mathepicbzr: ERROR: exceptions.TypeError: 'NoneType' object is not iterable00:31
mathepicOh wait, it passes an empty list00:32
mathepicSo I need to check if its empty, and if its empty, assign ['.00:32
spivRight.00:33
mathepicOkay, got it. It works now.00:34
Peng_Revision graphs contain lots of ints and bools, no?00:40
spivBools?  Not off the top of my head, but ICBW00:41
Peng_Eh. I don't know if Loggerhead's graph structure is the same as bzr's.00:42
Peng_Anyway, it would be a great case for StaticTuple, but it has ints and bools. :(00:43
Peng_There's are a bunch of diff-related tuples that include ints, too.00:52
Peng_jam: It'd be awesome for Loggerhead if StaticTuples could include Python ints and bools.00:54
* Peng_ /away!01:02
Peng_LH doesn't have any interesting str-only tuples. :\01:06
Peng_Graph.iter_ancestry could use StaticTuples.01:09
spivPeng_: patches welcome!01:10
spivI think jam is choosing where to introduce it by profiling rather than inspection.01:11
spivBut if it fits, there's no reason not to use it.01:11
spivlifeless: good morning01:26
=== norly is now known as ejat
lifelessspiv: hai; internode outage ;)01:36
spiv:)01:36
Peng_spiv: Yeah, that makes sense. I'm doing simple profiling ("scroll through Dozer output") and skimming through the code. Still, LH has a lot of tuples from iter_ancestry.01:43
=== davidstrauss_ is now known as davidstrauss
lifelessspiv: bug 449923; I think its wishlist more than invalid - just a thought05:15
ubottuLaunchpad bug 449923 in bzr "bzr send should offer the --diff-options option" [Undecided,Invalid] https://launchpad.net/bugs/44992305:15
spivlifeless: yeah, good point05:17
=== Adys_ is now known as Adys
bialixhello all06:39
bialixspiv: thanks06:39
=== Adys_ is now known as Adys
spivbialix: no worries, thanks for bringing it to my attention06:48
bialixI suspect the bug traffic is too high to see every sepearte bug report06:49
bialix*separate06:49
bialixspiv: I'm not sure I'll be able to work on fixing this bug in bzrlib until december or january... So I'll try to invent some workaround06:52
spivbialix: I expect I'll get to it before December :)06:54
bialixspiv: I'll respect this06:54
bialixthough the bug triggered by QBzr non-trivial usage06:55
spivYeah.06:55
bialixthough abentley suggest using dicts, but anyway today it's our (qbzr) problem06:56
igchi bialix, spiv06:58
bialixhi igc06:58
bialixigc: re http://doc.bazaar-vcs.org/migration/en/foreign/bzr-on-svn-projects.html06:58
bialixis it now official?06:58
igcin which sense?06:58
igcbzr-migration-docs is a separate project to bzr core fwiw06:59
igcbut the core docs link to the latest copy of the migration docs06:59
bialixoh, I saw http://doc.bazaar-vcs.org/... URL and thought it's part of official documentation07:01
bialixit seems there is too much different branches with different docs, site etc. I've lost the track07:02
igcbialix: it's meant to look like one set of doc :-)07:04
igcbialix: behind the scenes though, I need to build different bits on different timelines07:04
igcwith different dependencies07:04
igcmigration is migration - it's not really tied to 2.0.1 vs 2.1.0b1 say07:05
bialixI'd like to link to your document in bzr-day blog. May I cal it semi-official tutorial/guide then?07:05
igcit's more tied to bzr-fastexport patches07:05
bialix*call07:05
igcyes07:05
igcbialix: like the plugin guide, it is official documentation, just not "core" documentation07:06
* igc off for some medical stuff - bbl07:07
treeformhey guys i did not have internet for a while, so i used bzr commit --local, now i got internet and repo has moved.  I tried to commit to the new reposatry (via bind to it first) but it made such a mess07:18
treeformwhats the best way to deal with --local?07:18
treeformi have now over 18 conflicts07:18
dash'bzr push'07:18
dashoh07:18
treeformthats odd being the only developer07:18
dashwhat did you do?07:19
treeformi used commit --local couple of times07:19
dashright07:19
dashand then what did you do, later?07:19
treeformthen i did bzr commit ( when i got internet setup)07:19
treeformit said07:20
treeformno address07:20
treeformso i did bzr bind to new address07:20
treeformthen i did bzr commit ( then i got message that i need torun bzr up)07:20
treeformi run bzr up07:20
treeformnow every thing is confused07:20
treeformand i have 18 conflicts07:21
treeformand conflicts are crazy too:07:21
MTecknologyconflicts in any vcs blow :(07:22
MTecknologybzr isn't too bad though07:22
treeformhttp://dpaste.com/107979/07:22
dashMTecknology: it's better than not having them07:22
MTecknologyyup07:22
treeformthe problem is that i am conflicting with myself07:22
=== Kamping_Kaiser is now known as `6og
spivtreeform: yeah, bzr up when you have local commits *and* uncommitted changes tends to give nasty double conflicts.07:23
treeformspiv: is there a way to undo07:23
treeformand do some thing better?07:23
MTecknologySo.. I want to have a group of users that can access a bzr branch - what's the best way to handle that?07:23
mzzI tend to make sure "bzr st" is clean before doing pretty much anything important07:23
mzzwell, before doing pretty much anything that might involve a merge07:24
treeformhowly fuck bzr st is even crazier07:24
spivtreeform: so a good thing to do if you have local commits is make sure you have no uncommitted changes (i.e. shelve or commit your changes) before doing bzr up07:24
treeformi have hunders of moded, unkown, delted, undelete ... files07:24
mzzyeah, if you're already in weird merge territory "bzr st" is going to be pretty confusing too07:24
mzzerr07:24
mzzthat sounds excessive. Any idea what happened?07:25
mzzsometimes certain large tree reorganizations cause this07:25
treeformyes07:25
treeformhow can i roll back that update?07:25
treeformwithout causing even more strife?07:25
mzzyou can just revert, but that'll kill your existing local changes07:25
treeformyeah07:25
mzzI'm not sure if there's a sane way to preserve those at this point :(07:25
spivYou can do "bzr revert", but as mzz says that'll forget your uncommitted changes.07:26
treeformill copy the folder first?07:26
treeformand copy it back?07:26
mzzthat won't necessarily give helpful results, although I guess it's better than nothing07:26
treeformwell i use all local changes?07:26
treeformlose*07:26
mzzI know this doesn't help at all with your problem now, but if "bzr st" was originally clean being able to just revert a merge that went wrong is extremely useful07:27
spivYeah, so copying the current mess, doing a revert, then doing an update into a clean tree is probably simplest.  And then manually copy across any local changes from the copy.07:27
mzzyeah07:27
mzzI don't think you actually have better options, since your local changes are tangled into this confused merge now and bzr doesn't store enough information to untangle them07:27
treeformman thats sound like what reversion controll made to avoid07:27
mzzyes, and you can just revert *if* your original status was clean07:28
mzzso I tend to either commit or shelve local changes before doing something that'll involve a merge07:28
spivI think https://bugs.launchpad.net/bzr/+bug/120970 is the relevant bug report, they may be others.07:28
ubottuLaunchpad bug 120970 in bzr ""bzr update" reports spurious conflicts when local commits added a directory." [Medium,Confirmed]07:28
MTecknologyI need to learn how to shelf something07:28
spivMTecknology: bzr help shelve :)07:28
treeformyeah me too07:29
treeformnever sued shelve07:29
spivIt's pretty easy07:29
treeformused*07:29
mzzalthough I don't think I've dealt with unshelving onto a very different tree than what I shelved from using the new shelve yet07:29
mzzthe old shelve stored changes as plain diffs, so I was always sure I'd be able to manually apply them if I confused shelve07:29
treeformi think fixing the conflicts might be eser then redoing everything07:29
treeformi did lots of stuff07:30
spiv(And also see http://doc.bazaar-vcs.org/latest/en/user-guide/shelving_changes.html)07:30
treeformif i fix all the conflicts i shoudl be good riht?07:30
mzztreeform: downside of that is that you're going to end up with your local changes and the merge being in the same commit07:30
vilahi all07:30
dashtreeform: well07:30
dashtreeform: what i'd do first is revert the changes07:30
mzztreeform: the resulting history will be cleaner if you manage to revert, commit just the merge, then commit the local changes on top of that07:30
mzzbut at this point it'll be painful no matter what you end up doing07:30
vilaSorry to begin the day with bad news, but babune is fully *red*: as of revno 4750, not a single successful selftest, with default locale and extensions compiled, pass07:31
vilathe most disturbing is that this is the run that pqm is supposed to run, any info I may have missed that occurred during my night ?07:31
vilathe failures (6) are related to: TypeError: can only concatenate tuple (not "StaticTuple") to tuple07:32
vilaoccurring in _commit_write_group07:32
treeformmzz, dash: so you say revert, and then copy all the files from the safe folder i just did?07:32
treeformbut that does not take care all the files that i removed07:33
dashtreeform: no, don't copy07:33
dashmerge07:33
vilajam, spiv, lifeless, igc: ^07:33
treeformdash: resolve conflicts?07:33
mzztreeform: I'd back up the current tangled state somewhere, just in case, then revert, redo the merge (the one "bzr up" triggered), then reapply the local changes from the backup of the mess07:33
treeformi am merging v n-1 with version n .. its utter crap07:33
fullermdvila: See what happens when you wake up early?   :p07:33
mzztreeform: but that's just me, and I don't know exactly what state your tree is in07:33
spivvila: huh07:34
dashtreeform: 'bzr vis' might help, maybe :)07:34
MTecknologyso - handling groups with bzr?07:34
dashwhat's a group07:34
fullermdMTecknology: Well, I use...   y'know.  Groups   :)07:34
spivvila: that is weird07:34
treeformdash: i dont have it instaled07:34
fullermdviz probably wouldn't help when you're in a twisted up state.07:35
mzzMTecknology: err, I haven't done this in ages, but I think the last time I did we used a separate user account on the server with the keys of the developers supposed to be able to push to it in authorized_keys07:35
vilaspiv: I haven't investigated yet, but yes that's very very weird07:35
mzzMTecknology: which gave those users access to quite a bit more than just bzr, but that wasn't an issue for us07:35
fullermdtreeform: Are you still sitting with the giant pile of conflicts?07:35
treeformyeah07:35
treeformand lost histry07:35
fullermdOK.  So you've got two sets of changes here.07:35
MTecknologymzz: sounds interesting07:36
mzztreeform: you really shouldn't be losing any history, but it's hard to reliably preserve uncommitted changes across something like this. That's why they're uncommitted, I guess07:36
fullermdThe ones you commit'd (--local), and the ones that were sitting uncommitted in the tree.07:36
MTecknologymzz: last time I used actual group accounts but I needed to miss with sticky bits07:36
fullermdtreeform: The former are still in your repo, so that's all recoverable.  The later, unless you can puzzle them out of the mess you have, are gone.07:36
spivvila: btw, it would be neat if babune used --subunit07:36
mzzMTecknology: yeah, if you rely on groups it'd take a bit of effort to keep permissions consistent (everything group-writable). This was easier for us.07:36
* fullermd marks up another tick in the "get rid of fscking ci --local already" column...07:37
MTecknologymzz: thanks07:37
treeformfullermd: i dont want to loose stuff07:37
treeformbut i think revert will cause even more pain07:37
vilaspiv: full agreement, I want to switch to hudson first though... or to anything that allow a better tracking of runs07:37
treeformthen resolving 18 conflicts07:37
mzzMTecknology: but in this case everyone being able to do a full ssh login as that project user was a feature, allowing them to update the website and the like07:37
mzzymmv and all that.07:37
spivvila: so, I see that failure locally, and it disappears if I delete _static_tuple_c.so07:38
spivvila: which suggests that PQM isn't building that extension :(07:38
fullermdtreeform: Well, unless you can sort out the big mess there, you're not going to get a hold of your uncommitted changes.  And even sorted out, it's a big ugly knothole in history because of all the unrelated changes mixed in.07:38
mzzMTecknology: I'd expect the groups approach to also work, I just don't know the best approach to forcing bzr to use the right umask so everything stays group-writable07:38
MTecknologymzz: that's what the sticky bit was for07:39
MTecknologyI wonder how LP handles it07:39
mzzyeah07:39
fullermdtreeform: The changes you _committed_ are fine, we can recover those easy.   Presumably, you're committing often enough that the uncommitted bits are easy to redo, right?  ;)07:39
treeformyes07:39
mzztreeform: I'd be pretty surprised if the revert loses any *committed* changes. It'll eat the uncommitted ones.07:39
spivmzz: right07:39
treeformok will resolve07:39
treeformo will revert*07:40
treeformits reverting...07:40
MTecknologyspiv: how does LP handle teams?07:40
spivMTecknology: LP doesn't use filesystem permissions at all, it handles all that internally07:40
fullermdtreeform: 'k.  Do you have bzrtools installed?07:40
MTecknologyoh07:40
mzztreeform: after the revert I'd manually delete any cruft left behind ("bzr st" is your friend here)07:40
treeformok i reverted07:40
mzzah, nvm, I'll stop interfering with the others helping out07:40
spivMTecknology: you can take a look at the source these days :)07:41
treeformwhat do i do?07:41
MTecknologyspiv: I will when I start trying to do some dev on it - but I've been lacking time07:41
MTecknologyI just realized I spaced on an assignment..07:41
fullermdtreeform: Have bzrtools so you have the 'heads' command, and run a 'bzr heads --dead-only'.07:41
fullermdtreeform: That'll list the head revs in the repo that aren't on the branch; one of them will be the head of your local changes.07:41
fullermd(you'll have to look at timestamps and log messages to figure which one; should be easy to tell)07:42
spivMTecknology: but briefly it implements a custom bzrlib.transport.Transport that a) translates paths from the user to how things are actually stored on disk, and b) does acceses control checks based on team membership07:42
mzzfullermd: isn't he already on that head if he reverted?07:43
vilaspiv: thanks, good to know07:43
MTecknologyspiv: Sounds tricky07:43
fullermdmzz: No, he's on the head of the 'remote' branch.07:43
mzzfullermd: I haven't commit --local'd anything recently, but I'd expect this to just do the right thing07:43
mzzurgh?07:43
fullermdmzz: The update pivots over to that branch and stuffs your local commits as a pending merge.07:43
mzzthat sounds like a misfeature07:43
treeformfullermd: getting bzr tools07:43
fullermdtreeform: Once you find it, grab the revid and run "bzr merge -rrevid:$WHATEVER ."07:44
spivMTecknology: it's not too hard, actually.07:44
spivMTecknology: you can basically do it all as a bzr plugin07:44
mzzheh07:44
fullermdtreeform: That'll set up a pending merge with those local changes; then you can check and commit it, and you'll be where you want to be, minus the uncommitted stuff.07:44
fullermdmzz: You're too kind.07:44
mzzspiv: you can do tons of stuff as a bzr plugin, doesn't necessarily mean they're easy :P07:44
spivmzz: :)07:44
spivmzz: well, you can look at the code an judge for yourself ;)07:45
fullermdYeah.  I mean, theoretically you write write a svn gateway as a bzr plugin, but who would...    oh.07:45
treeformfullermd: where do i install bzrtools on windows?07:45
spivActually, the bzrlib.transport.pathfilter module in recent bzr would make this even easier.07:45
fullermdtreeform: Mmm.  Dunno.  Doesn't the windows installer come with bzrtools?07:45
fullermdtreeform: (try 'bzr help heads')07:45
mzztreeform: which installer did you use?07:45
mzztreeform: (for bzr itself, that is)07:45
treeformoh its there07:45
treeformbut not bzr vis07:45
mzzah, nvm then07:45
MTecknologychmod +s = :) ;; when used correctly07:46
treeformbzr merge --rrevid:me@centurion-20091012170842-puyjiezcx4dw6noc07:48
treeformbzr: ERROR: no such option: --rrevid:me@centurion-20091012170842-puyjiezcx4dw6noc07:48
fullermdOne dash07:48
fullermd(and don't forget the " ." at the end; that's important)07:48
treeformsame thing07:49
treeformdot or not07:49
mzztreeform: single -07:49
treeformoh ok07:49
mzztreeform: (it's the option -r, taking an argument of revid:...07:49
treeformits spinning07:50
mzztreeform: ("-r revid:..." also works. It's not the option --rrevid)07:50
spivvila:07:50
spiv-            all_missing.update([(prefix,) + key for key in missing])07:50
spiv+            all_missing.update([(prefix,) + tuple(key) for key in missing])07:50
spivvila: that seems to be an effective band-aid07:50
MTecknologyIs it possible to have something like lp: instead of a site name?07:50
treeformfullermd: its done07:51
treeformbzr st is soo confused07:51
mzzMTecknology: lp: already works (it's builtin). You might want the "bookmarks" plugin for other sites.07:51
fullermdtreeform: Confused how?  Just "a lot of stuff"?  It should just be the changes from your local commits.07:51
treeformyes i guess it is07:52
treeformi was just not ready for 25 page report ;)07:52
treeformwhat is this > pending merge tips: (use -v to see all merge revisions) me 2009-10-12 fixed the errors from major renaming spree07:52
MTecknologymzz: yup - that plugin is what I was asking for :)07:52
fullermdtreeform: That's the head of the revs you're merging.07:53
treeformwhat do i do next07:53
fullermdCheck that everything looks right (no conflicts etc), then commit 'em.07:53
spivtreeform: basically local commits makes a temporary branch, and when you do "bzr update" it's bascially the same as "bzr merge" of the main branch with that temporary branch.07:53
treeformi see07:54
spivtreeform: so, your local commits show up as a pending merge.07:54
treeformbut why did the uncommited stuff cause so much problem?07:55
MTecknologyI need to install bzr on the server first.. huh..07:55
mzzMTecknology: depends on what you're pushing over07:56
mzzMTecknology: you can do sftp pushes, for example. But installing bzr on the server may be preferable performance-wise.07:56
MTecknologyya07:57
MTecknologyanyway - I'm getting permission errors but I'm in the group that has access for it07:57
MTecknologychmod 770 /bzr/test     bzr push bzr+ssh://192.168.1.6/bzr/test07:59
MTecknologyanything wrong with that?07:59
vilaspiv: +1, please land :-)08:00
mzzMTecknology: not offhand, no. ~/.bzr.log?08:01
vilaspiv: or tell me to land it, I really don't like having the test suite failing that way, so let's fix that first and then fix it best (with jam input) and let's address the root cause (not building extensions if that's it)08:01
MTecknologywoah.. http://dpaste.com/107985/08:02
spivvila: go ahead and land it for me, I'm playing with making tuple + StaticTuple work08:03
vilaspiv: ok08:03
spivvila: but I agree, the root bug is that PQM should not pass if that extension doesn't build08:03
vilaspiv: just running a full test suite to make sure08:04
spivvila: ta08:04
MTecknologybzr: ERROR: Server sent an unexpected error: ('error', "'Bazaar repository format 2a (needs bzr 1.16 or later)\\n'")08:04
MTecknologyso - I need to update my server?08:05
spivMTecknology: that error is probably because you're trying to push a 2a format branch to a server that can't read 2a08:05
spivso, yes08:05
MTecknologyboth client and server are Ubuntu 9.1008:06
vilaMTecknology: what does 'bzr version' says  ?08:06
MTecknologyooh... the server's 9.1008:06
MTecknology9.04*08:06
MTecknologyI should upgrade it to 9.1008:07
mzzMTecknology: if you just need a newer bzr: bzr 2.0 is in the bazaar ppa08:07
vilaMTecknology: I don't know by heart what bzr version are proposed by default to 9.04 and 9.10 so try 'bzr version' in both places08:07
MTecknologyserver - 1.13.108:07
vilaMTecknology: you can then look at https://launchpad.net/~bzr/+archive and foolow the instructions to update your source lists08:08
MTecknologyI guess I just need to either upgrade the entire server or use a pp08:08
MTecknologyppa*08:08
MTecknologyI like the server idea08:08
vilaMTecknology: you may be able to upgrade bzr only instead of the whole system, but you decide...08:08
MTecknologyI thought the guy was installing 9.10 :P08:08
MTecknologythanks for all the help08:09
MTecknologyI imagine that's what caused the other error too08:09
MTecknology"This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover."08:12
MTecknology:P08:12
=== gdmfsob is now known as mishok13
MTecknologyshower and sleep time - I'll catch you all later08:13
vilaspiv: sent to pqm08:15
igcvila: I'm fine with you landing that revdwim patch from fullermd09:03
igcvila: also, https://code.edge.launchpad.net/~vila/bzr/405745-http-hangs/+merge/13050 is approved. Can we land that one as well?09:04
vilaigc: ok for the dwim patch09:04
vilaigc: no, fixing bug  #405745 makes the leaking tests more sensitive to a yet-to-fix other bug09:05
ubottuLaunchpad bug 405745 in bzr "blackbox.test_check.ChrootedCheckTests.test_check_missing_branch hangs on AIX" [Medium,In progress] https://launchpad.net/bugs/40574509:05
vilasee my comment there09:05
igcvila: what's the buildbot url again?09:12
vilaigc: can't remember, never use it myself :)09:13
igcvila: I some a url with pretty pictures/tables I can reference :-)09:13
igcshowing our cross-platform testing09:13
vilahttp://babune.ladeuil.net:26862/09:13
vilaigc: the pretty pictures are planned after a switch to hudson so far...09:14
vilaigc: especially because tracking the overall behavior across the revisions is not that easy with buildbot, but I get that feeling progressively by using it daily09:15
awilkinsBeen using Maven / Archiva / Hudson .... we've been having real headaches but I suspect that's because of the module graph we've been building09:19
vilababune progressively recovers some green color ;) Thanks for the quik help spiv :)09:19
spivvila: cool09:27
spivvila: I'm just finishing for the day09:27
spivvila: I just sent a patch to John for making tuple + StaticTuple work though09:27
vilaspiv: good, I wanted to give you some feedback before :)09:27
vilagreat, I'll track that later today !09:27
spivvila: I'll leave it to jam to polish and merge if thinks its a good idea09:28
vilasure09:28
spivvila: (it's visible in a comment at https://code.edge.launchpad.net/~jameinel/bzr/2.1-static-tuple-btree-string-intern/+merge/13296 if you're curious)09:28
spivvila: it makes the test pass without the bandaid though :)09:29
spivOk, have a good weekend everyone09:31
vilas09:31
vilaspiv: sorry keyboard battery failure here, have a good weekend !09:31
spiv:)09:32
vilaspare batteries to the rescue !09:33
fullermdigc: I seem to be outvoted on the 'keep going if it looks like a revno' thing; I was gonna wait a day or so for any more weigh-ins and then push up a change to stop searching there.09:35
igcfullermd: ok09:35
fullermdI still like it going ahead and keeping trying, but if the majority opinion is the other way, I won't kvetch too much about it.  I don't use pure-numeric tags anyway  ;)09:37
vilafullermd, igc: what did I miss here ?09:41
fullermdOh, heck, you sided with me.  Shucks, now it's even again.09:42
* fullermd catches up on mail after writing stupidly long-winded PM posts...09:42
vilaI think the performance issue should be balanced by the time the user will spend understanding the error and typing the new command09:43
vilaperformance and DWIM doesn't have to be compatible as long as an explicit way exists to disable dwim to get performance, and I think your approach is sound for that09:44
fullermdYeah, the only case where it (currently) adds a meaningful performance hit above the status quo, is if the user enters a revno that doesn't exist; it'll do more searching.  If they keep using explicit revid:'s and such, they'll never need to hit those cases in the DWIM.09:45
fullermd(well, there's trivial overhead from instantiating another class and calling some functions, but that's negligable)09:46
vilafullermd: if you want to further improve your patch you can do so or let me land that one and build on top of it, your call, unless igc revert his "vila, go land it" message from some minutes ago09:46
* vila nods to fullermd 09:46
vilaigc: I suspect you missed some of the last messages right ?09:47
vilaigc1: even09:47
fullermdMod lifeless's larger concerns, the only thing is the whether to keep the fallback on "looked like a revno, but wasn't" or cut off the search then; votes seem about split on that.09:47
* fullermd hopes his high school English teacher doesn't get a look at that 'sentence'...09:47
vilayeah. if lifeless could shime in to say whether he strongly vetoed or is ok for a further submissions can clear that bit09:48
vilabut if you plan to tweak some more you can also address that even if I think it will be a yagni,09:48
vilaat least it would make it possible for someone else than you to try another DWIM approach09:49
vilaand DEIM, by experience, tends to evolve incrementally so what sounds perfect today may be more polished  tomorrow09:50
vilas/DEIM/DWIM/09:50
Takvila meant: and DWIM, by experience, tends to evolve incrementally so what sounds perfect today may be more polished  tomorrow09:50
vilaTak: wow ! Hurrah ! Someone can fix muy tupos ! WOnderfulk  109:50
vilafullermd: all of that to say: you've been waiting with your proposal a bit too long to see it land, I think we can land the actual one and wait for improvements in another one OR, if you feel like it, you can address the concerns you feel like addressing and resubmit09:52
* igc1 dinner09:53
vilafrom babune, instant feedback, jaunty fully green, hardy and karmic coming along nicely09:53
* fullermd polishes up another response to lifeless.09:59
fullermdSo, yeah, the only concern I have open is whether the bulk of opinion wants to stop the fallthru on revno-looking stuff.  Opinion seems split, so either way.10:04
lifelessfullermd: attributes on the revspec classes would do it easily without needing another registry or lots of cruft.IMO10:35
lifelessfullermd: as for the exceptions; I hear standardising interfaces is useful :)10:35
vilalifeless: agreed on both point, I was about to say roughly the same (attributes and exceptions)10:35
lifeless:)10:36
vilalifeless: Do you agree to land it as is and to file a bug for that requirements or do you want them implemented before that is landed ? (Given that fullermd implied he will not do them soon, I'd rather land that now)10:36
fullermdWell, there's a limit to the standardizability...  I mean, if RevisionSpec_date ever started raising errors.TagsNotSupported, I'd look a little squirrely at bzrlib...10:37
fullermdDitto NotBranchError, etc.10:37
vilafullermd: they can inherit from a common exception10:37
lifelessso, (NoSuchRevision, UnsupportedFeature, RevisionNotPresent)10:38
fullermdI'm sure a lot could be achieved by rototilling how all the RevisionSpec_*'s work, but that's definitely in the "way more scope than I wanna get within 10 blocks of" area.10:38
lifelessNotBranchError should bubble up10:38
vilafullermd: or have an attribute list the raisable exceptions10:38
lifeless+1 on ^10:38
vilalifeless: sorry, what are you referring to ?10:38
fullermdWell, NotBranchError is somewhat special since branch: is the last thing tried, but it doesn't necessarily HAVE to be, in which case we'd need to catch it.10:38
lifeless20:36 < vila> fullermd: or have an attribute list the raisable exceptions10:39
vilaok10:39
fullermdAnyway, it's doable with more or less pain in various ways, probably.  But it's not as simple as "slap it in, you're done", 's what I was aiming for.10:40
fullermdHoly crud, it's almost 0500??10:43
vilawow, tiger slaves fails but leave a running selftest process that generates log in /tmp of ~3GB size.... triggering OSX warnings about boot disk almost full until I kill them 8-/10:44
fullermdWell, bzr can use a lot of resources.  Selftest has to try overloading the system to make sure it can handle it   :p10:45
vilaprocess leaks now...10:45
vilayeah, but I'd like to get better control on that kind of experiment :D10:45
vilaI just freed 10GB on a 32GB partition... that should *never* occur or I will really become insane without any hope to cure that...10:47
fullermdCure?  Why waste a good insanity?   :p10:48
vilaBecause it's good as long as I'm still enjoying it, if it goes too far, I may forget than I enjoy it, and *then* it would be wasted !10:49
vilafrom babune: gentoo back in green, waiting for freebsd[78], OSX failed because of yet another hidden aspect of the leaking tests10:50
SamB_XP_fullermd: well, there's insanity and there's insanity10:55
SamB_XP_some of it's not so great :-(10:55
fullermdThe way I see it, that's the world's problem, not mine...10:55
SamB_XP_it *will* be yours if you get one of the not-so-great kinds!10:56
SamB_XP_it's not fun to be paranoid-delusional, for instance!10:56
fullermdIt's not delusional if they really ARE out to get me.  The bastards.10:56
SamB_XP_well, if they are out to get you, you aren't insane10:56
SamB_XP_but it's still not that much fun10:57
fullermdThat's what *I* keep telling people, but they still cross the street when I walk by...10:57
SamB_XP_lol10:58
SamB_XP_but, wouldn't you want someone to stop you if you started thinking PHP was a good idea?10:59
fullermdWell, true, it doesn't have the power and flexibility of VB...11:00
SamB_XP_I hope you mean VB.NET11:00
fullermdWell, I'm holding out for VB.ORG, actually...11:01
SamB_XP_because the other kind is pretty crappy, IMO11:01
SamB_XP_hehehehe11:01
SamB_XP_I always thought .net was the coolest suffix ;-P11:01
oleavrhi.. is there any way to merge from a 2a branch to one with knitpack-experimental? (which I cannot upgrade yet)11:02
fullermdNo.  Your best bet will be rich-root-pack, assuming everybody's on 1.0 or later.11:03
fullermd(and will jump over the flag day, natch)11:03
fullermdBut you're already on the 0.92 format, so it's only one prettydurnoldversion higher.11:04
oleavrfullermd: so I can upgrade the knitpack-experimental one to rich-root-pack, pull in changes from the 2a one, then from the original knitpack-experimental pull in changes from the rich-root-pack one?11:04
fullermdNo, once rich root, always rich root.11:05
fullermdOnce one corner of a project crosses the Rubicon, everything's gotta.11:06
asabiloleavr: bzr has historically had 2 format families: rich root and non rich root11:06
asabilrich root can pull from non rich root, but not the other way around11:06
oleavrfullermd: ok.. guess I'm screwed then (cannot upgrade the knitpack-experimental branch yet because the whole continuous integration system uses such branches and won't be upgraded just yet)11:07
oleavrasabil: yep.. meaning I'm screwed :P11:07
oleavrso guess bzr diff | patch will have to do for now then :/11:08
fullermdWhy won't be upgraded yet?  Just practical 'doing it all' issues?11:08
asabiloleavr: you can11:08
asabilrich root formats has been available since bzr 1.011:08
fullermdAnd with some kinda ugly hackish work, you can get rich root revs back into an 0.15 format, which predates any pack format by several versions.  But you don't wanna do that.11:09
oleavrfullermd: I see.. they'll upgrade the continuous integration branches to 2a next week. hey, I just got an idea.. I can 'bzr replay' the commits on top of the crappy in-house branch which is knitpack-experimental, then uncommit all those commits in the public branch (which I control and no-one else pulls from anyway), and finally pull from the in-house branch11:16
fullermdWell, if they're going to upgrade next week, you could just take a long nap   ;)11:17
oleavrshit.. replay won't work for the same reason. ah well, long nap it is ;)11:18
SamB_XP_or, at least, you'll have to wait to have your branch(es) merged :-(11:19
fullermdI totally vote for nap.11:20
fullermdThere may be things better than sleeping, but they're probably all illegal and fattening.11:20
SamB_XP_a week seems a bit long11:23
SamB_XP_... and since when is using IDA Free to disassemble itself illegal or fattening?11:23
fullermdAre you kidding?  Look at me; I haven't even done it yet, and already there are these extra inches around my waist...11:24
fullermdIt's kinda depressing.  BRB, gotta go eat some chocolate to ease the pain.11:24
oleavrlol11:24
oleavrhmm..screw replay, I'll write a shell script that uses bzr diff and bzr log to replay commits the dumb way11:25
* oleavr is out of patience11:25
fullermd"Ed Gruberman, you must learn patience."  "Yeah, yeah, yeah, patience, how long will that take?"11:27
oleavr:D11:27
=== elmo_ is now known as elmo
=== `6og is now known as Kamping_Kaiser
=== mrevell is now known as mrevell-lunch
vilafrom babune: back to green except for the known OSX leak related failures, pfew, sleep well spiv :)12:30
johnfare lp:bzr  and pqm missing the 2.0.0 tag or is it just me?12:50
=== mrevell-lunch is now known as mrevell
wlawlessis there a download mirror for bzr2.0.0-setup.exe?  the launchpad site is running VERY slow14:32
=== wlawless is now known as theLawless1
igc1well done vila!14:35
igc1night all - have a good weekend14:35
=== igc1 is now known as igc
vilaigc: thks :-) Have a nice week-end too and sleep well :D14:36
theLawless1is there a non-launchpad.net hosted version of the windows bzr setup file?14:38
mathepicI have no idea, but the file isn't all that big, it shouldn't be much of a deal to download from Launchpad even if its a bit slower14:42
theLawless14 hours currently....14:42
theLawless11.2k is the fastest I can get from launchpad14:42
mathepicWow, only 1.2k? I guess Launchpad is being slow...14:42
vilatheLawless1: this is really surprising14:42
theLawless1that's why I was hunting for a mirror14:43
vilatheLawless1: I can get 1.5MB/s from lp right now14:44
vilawhere are you ?14:44
theLawless1Toronto, Canada14:44
abentleyvila, jam: I've got three outstanding merge proposals.  Could one of you please review them?14:45
vilatheLawless1: you should ask about that in #launchpad, some devs are in canada14:45
theLawless1awesome thanks, didn't know they had their own channel14:45
vilaabentley: the most ugent seems to be the limbo one right ? The other two are targeted at 2.0 so I'd let jam at least says whether or not he want them in 2.0.1 or 2.0.214:50
jamvila, abentley: so 2.0.1 is cut, anything else will go to 2.0.2, that and I'm on vacation today14:51
vilajam: sorry, enjoy your vacations !14:51
abentleyvila: All of them are addressing oopses, so we will cherrypick them when a fix is ready.14:51
vilaabentley: Do you have URLs for the bzr versions run on launchpad ?14:53
abentleyvila: lp is currently running unpatched 2.0.014:53
vilaabentley: oh, and why are most (if not all) recent submissions contain conflicts in the NEWS file ?14:53
vilaabentley: ok, but you seem to suggest that you will run a customized version soon no ?14:54
abentleyvila: Right.14:54
abentleyvila: I guess the conflicts are because the 2.0 branch was updated after I branched from it.14:55
abentleyvila: The diffs used in code reviews are now "merge --preview" diffs, so they reflect what would happen if you merged, not what changes were made.14:56
vilaabentley: haaaaa14:56
vilaso there was a change, thanks for confirming14:56
vilaabentley: is limbo-renames a fix on top of ascii-preview ?14:58
abentleyvila: limbo-renames is a bug affecting bzr, but once ascii-preview is applied, it will stop affecting launchpad.14:59
gioeleWhat is the current status of nested trees? The wiki page has a (broken) link to a bundlebuggy merge proposal that I cannot see on launchpad15:06
abentleygioele: I have submitted a new spec, but has not been approved yet.15:07
gioeleabentley: where is that available?15:11
abentleygioele: The spec is here: https://code.edge.launchpad.net/~abentley/bzr/devnotes15:12
bialixhello jam15:25
bialixjam: can I ask about your workflow described http://jam-bazaar.blogspot.com/2009/10/refactoring-work-for-review-and-keep.html15:26
vilabialix: he's in vacation today15:26
bialixrats15:26
bialixhi vila15:26
bialixvila: you're also expert in annotations, right?15:27
vilaask the next question and we'll see :D15:27
bialixI have feature branch nt ready to merge to trunk15:27
vilant == not ?15:28
bialixbut I want to peek some work from it to trunk15:28
bialix*not15:28
bialixI think about using jam approach to merge and selective revert15:28
bialixI'm not quite sure is it will work fine if I'll revert part of file15:29
vilayou can't revert part of the file, you can shelve part of the changes and revert the whole file and unshelve15:29
bialixfor example: https://code.launchpad.net/cfifo15:29
bialixwell, I can just delete half of file15:30
abentleyvila: Wouldn't it be easier to just do "merge -i" in the first place?15:30
bialixbecause this file will be added by merge, I can't shelve part of it15:30
vilaabentley: I was about to mention that :)15:30
bialixabentley: what is merge -i?15:30
vilaabentley: but this has landed ?15:31
bialixbzr merge --usage mention -i in 2.015:31
abentleybialix: It's a selective merge that uses the same code as shelve.15:31
bialixaha15:31
bialixbut my problem is that I want to selectively merge half of newly added file15:31
bialixis it possible?15:32
bialixI suspect -- it's not15:32
abentleybialix: it's not something merge -i supports directly.15:32
bialixIIUC it's related to feature request about splitting hunks, right?15:32
abentleybialix: Sure.15:32
abentleybialix: Your whole newly-added file is a single hunk.15:33
bialixI understand15:33
abentleybialix: But it should be simple enough to remove the parts of the file that you don't want in your editor, right?15:33
bialixright15:34
bialixmy initial question was: does it preserve annotations for me?15:34
abentleybialix: I don't know.  The lines will be introduced in two different commits, and I don't know which one bzr will prefer.15:35
bialixI'd like to keep annotations if possible, though I won't worry too much if there is no direct way. I'm not quite understand jam approach, mostly because he don't have added files IIUC15:36
abentleybialix: All the options we've discussed have the same chance of preserving annotations.15:37
bialixOK, perhaps it's too much nosie for simple thing. I'll cherrypick and will see15:37
vilaannotations depend on the per-file graph, depending on  your *future* merges the annotations will reflect them, the question you ask, I think, is if two revisions seem to introduce the same lines which one will win ?15:37
bialixsomething like that, yes15:37
bialixjam approach is nice hack, though maybe I don't quite understand all tiny details how he did all these merges15:38
vilathis apply to cherry-picks too, in that case, we chose the first revid in the lexicographic order, there are plans (and already a hook) for people who want (for example) chose the oldest one instead15:38
bialixok15:39
bialixinteresting, how hard to follow content moves between 2 files?15:40
=== davidstrauss_ is now known as davidstrauss
bialixI mean to annotate15:40
vilabialix: we miss GUID for lines15:41
bialix:-)15:41
abentleyvila, bialix: It seems like it would quickly fan out to performing annotate across the whole source tree.15:42
vilathat's an important challenge yes15:43
bialixI've heard git do something similar15:43
bialixso at least it possible in theory15:43
abentleybialix: I've heard of git doing it with merge.  Are you sure it does it with annotate?15:44
bialixsome people talking about annotating functions15:44
bialixand they insist that git track moves of function body between files15:44
bialixbut I don't use git so I can't insist I understand it right15:45
abentleybialix: It's an easier problem with merge than with annotate.15:45
* bialix trying jam hack15:45
bialixwhy?15:45
abentleybialix: Because typically you're only talking about three revisions.15:46
bialixah, I see15:46
abentleybialix: So you only have to worry about the files modified in those revisions.15:46
bialixok15:47
abentley(Actually, the files that *vary* among those revisions, not "are modified")15:47
bialixjam wrote: Create a new branch from it (bzr branch --switch ../dogpile ../feature1), and remove all of the changes but the 'first step'. I personally did that with "bzr revert -r submit: file1 file2 file3" but left "file4" alone.15:52
bialixwhat is -r submit:15:52
bialix?15:52
vilabialix: =~= send --preview15:52
bialixmmm?15:53
vilaerr, what 'bzr send' outputs15:53
vilabialix: try bzr diff -rsubmit:15:54
vilain any feature branch it will show you your submission15:54
bialixC:\work\MyCode\APMoney\ChainedFifo\nodes-for-trunk>bzr diff -r submit:15:54
bialixUsing parent branch file:///C:/work/MyCode/APMoney/ChainedFifo/nodes/15:54
bialix<nothing more>15:54
vilayour branch has been merged15:55
bialixnnope15:55
bialixnope15:55
bialixI did bzr branch nodes nodes-for-trunk15:55
bialixcd nodes-for-trunk15:55
bialixI'm trying to follow jam articla15:55
bialixarticle15:55
vilahmm, there should be some parent location to tweak15:56
bialixbut it seems he wrote it from memory, there is something missing15:56
vila'bzr info' should report nodes as parent when run in nodes-for-trunk15:56
bialixso -r submit: means the branch where I want to merge? it makes sense15:57
vilayes, and it fallback to parent15:57
vilaabentley: reviews done15:57
abentleyvila: Thank you very much.15:58
vilaabentley: if you can make new releases for bzrtools.... some RM will rejoice :)16:04
abentleyvila: Sure, I'll do that today.16:04
vilaabentley: thank you very much :D16:04
bialixvila: IIUC you said half hour ago that latest revision used as annotation origin?16:05
bialixso if I'll remove half of file and later merge entire file then full annotation will be used?16:06
vilabialix: I don't remember that, annotations are built from the oldest revision and adding annotations for the newer revisions16:06
bialixhmm. perhaps I should stop here16:07
vilabialix: sounds correct16:07
=== vxnick is now known as vxnick-AFK
treeformhi guys16:47
treeformthe bzr says its Uploading data to master branch - Stage : Copying content16:48
treeformwhile i see 0 network trafic16:48
treeformhow can i find out what is going on?16:48
beunotreeform, take a peak in ~/.bzr.log17:00
=== beuno is now known as beuno-lunch
djmitcheI'm maintainer for buildbot, and we have a problem of file descriptor consumption when buildbot interfaces with bzr -- http://buildbot.net/trac/ticket/621#comment:917:08
treeformbeuno-lunch: i did but there is nothing conclusive there17:09
djmitchedoes the bug look familiar?17:10
djmitchethe line -- bzrlib.trace.enable_default_logging()17:11
jmldjmitche, looking17:12
djmitchetx17:12
jmldjmitche, I'd guess that there's an equivalent disable_* method that's not being called...17:14
djmitcheI think that it's being called within bzr library code, though -- I don't find that string in buildbot17:15
jmlahh ok.17:15
djmitcheoh -- it's a really old version of bbot17:15
djmitchehang on17:15
jmlwell, I don't know much about buildbot's bzr integration17:15
djmitcheneither do I :(17:15
djmitcheok, well, I'll ask the user where that line appears, and see if they can upgrade buildbot17:16
djmitchethanks for looking17:16
djmitchesorry I didn't spot the old version :)17:16
MTecknologyWhat permissions should I have on a bzr branch that a few people will access? 770?17:48
mathepicIs it open source?17:49
MTecknologythere we go, o+x17:50
MTecknologymathepic: is bzr open source?17:50
mathepicYes.17:50
MTecknologyya17:51
mathepicThen I don't see anything wrong with giving others read-access17:52
=== beuno-lunch is now known as beuno
=== amanica is now known as amanica_
=== amanica_ is now known as amanica
=== flacoste_afk is now known as flacoste
flacostehello bzr!20:54
flacostehow do I fix the problem of things in ~/.bazaar/locations.conf overriding things in .bzr/branch.conf20:54
flacosteespecially the push location20:54
flacostei use puish --remember, but then get warning about stuff in locations.conf shadowing it20:55
flacosteshouldn't it work the other way around? (branch.conf always taking precedence over locations.conf)20:55
mathepicI would say thats a bug20:57
mathepicChecking out the source code, one second20:57
jelmerflacoste: I think locations.conf has precedence over branch.conf since you might not always have write access to the latter (i.e. in case of a remote read-only branch)21:12
jelmerflacoste: older versions of Bazaar used to write to locations.conf in "bzr push --remember", newer versions write to branch.conf21:12
flacosteright21:12
flacosteand since locaitons.conf is the place for global configuration (based on patterns), the fact that it takes precedence of branch.conf is unfortunate :-/21:13
mathepicI do not have a locations.conf21:13
jelmerPerhaps "bzr push --remember" should update locations.conf if there is something set there already that matches the branch URL, rather than writing to branch.conf21:13
jelmerThat might get complex in some situations though..21:14
flacostei prefer that --remember writes to the branch21:14
flacosteotherwise, locations.conf gets cluttered21:14
flacostei like the fact that locations.conf makes it easy to have a set of rules/default for development21:14
flacostethat's especially useful for LP-based dev21:15
flacostei basically have <launchpad>/<project>/<branches> directory21:15
jelmerah, so you use branch.conf as a way to override the defaults set in locations.conf rather than the other way around.21:16
flacosteand I can set the defaults for all of these projects / branches in locations.conf using very few stanzas21:16
flacosteyes21:16
flacostebecause i can set multiple branches in locations.conf21:17
flacosteand only one in branch.conf21:17
jelmerThat seems like something that would be nice to support. Perhaps we could have something similar to '<variable>:policy = norecurse' that specified the precedence.21:25
jelmerThe other alternative would be another configuration file similar to locations.conf that branch.conf would take precedence over.21:25
jelmerI guess this is a good topic for the bzr UI discussion :-)21:26
* jelmer -> sleep21:26
keeshi!  I'm trying to convert a subversion dump into bzr with svn2bzr, but I'm hitting these bugs: 407256  343922  any chance I can help test/motivate their fixing?  :)22:10
jammwhudson: when you wake up, I went ahead and tried out using 'dot' to format my graphs. I gave it a 'small' dump, which had ~350k nodes. It has peaked at 1.4GB of memory used, and has been running for 6 hours now (after pruning nodes with lots of edges).22:20
jamUntil that finishes 'dotviewer' won't work. Though I have my doubts about it working once I'm done... :)22:20
jamthanks for the pointer to the 'large heap' paper, though22:20
jam(when i tried with all edges, I just got an OOM error fairly early... :)22:20
jambug #40725622:22
ubottuLaunchpad bug 407256 in svn2bzr "branchcreator.py:720: ValueError: list.remove(x): x not in list" [Undecided,Confirmed] https://launchpad.net/bugs/40725622:22
mwhudsonjam: the reftracker thingy doesn't go via dot, it allows you to navigate around the object graph22:22
jambug #34392222:22
ubottuLaunchpad bug 343922 in svn2bzr "add svn:ignore to .bzrignore conversion" [Wishlist,Confirmed] https://launchpad.net/bugs/34392222:22
jamkees: you might try an svn => git fast-import stream => bzr fast-import instead of svn2bzr. Just a thought22:22
jamI don't think it would handle the ignore stuff for you22:23
jamalso, svn ignores are pretty crappy (non recursive), so I'm not sure that they translate well22:23
keesjam: will that retain all the branch and tag histories?22:29
jamkees: going through fast import should be able to retain branches and tags, though it depends more on the svn exporter22:30
jamthe data stream can cope with ti22:30
jamit22:30
keesjam: I had to use rsvndump -- I'm a bit worried it might have created problems.22:30
jammwhudson: 'reftracker' is for viewing live content, right?22:32
jamI guess I could customize the "get_referents" and "get_referrers"22:34
jammwhudson: so I can do a 'live' reftracker, the only problem is that it all too often finds a node like '__builtins__' which is referenced by 100+ modules22:39
jamand then the graph goes unreadable...22:39
jamand that doesn't count the 500k StaticTuple references that will be in my intern structure...22:39
jamit does seem interesting though22:39
jamthanks for the pointer22:39
lifelesshmm, I may need reftracker for that failed netbeans import ;P22:44
lifelessI did get it into sqlite22:44
jamlifeless: :). Question2 is whether you could build the backwards mapping from node to referrers22:46
jamyou probably could in sql at least22:46
jamas you can build the links one-by-one22:46
Zand3rHi all... i'm new to bzr and playing with Explorer and qbzr-eclipse to evaluate for my purposes... I've noticed that neither Explorer not qbzr-eclipse report an error when you try to 'switch' branches whilst having uncommitted work. I'm looking for advice as to whether I should report this to each of those projects or is this something that should be reported to the core qbzr project?23:02
jamZand3r: that is intentional so that you can create a new branch, switch to it, and commit the new work to the target branch23:04
jamanyway, I'm off for now, perhaps someone else can help explain23:04
Zand3rjam: Thanks, perhaps I have overlooked something but it appeared that switching did not work prior to committing as you are going perhaps someone else might know.23:05
jamZand3r: I use "bzr branch ../bzr.dev ../new-bugfix --switch" all the time when I'm working on feature X and realize I should create a new branch for this bugfix23:06
Zand3rMaybe the issue is specific to light checkouts which I am using... I should maybe have noted that in my original enquiry but I'm new to bzr as I said so am still learning what is relevant.23:07
jamZand3r: should still work23:07
Zand3rjam: ok... thanks.. I will go back and re-trace my steps now I know it 'should' work and see what is going on.23:08
Zand3rThanks for the help23:08
dasho/`23:33
dashI am happy that bzr does reasonable things in cases where it would be very easy to do unreasonable things.23:33
dashin particular, cherry-picking from trunk into a maintenance branch Just Works, even when done out of order.23:34

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