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

igcmorning01:27
spivigc: morning01:29
matt2000I'm trying to upgrade from bzr 1.13 to 2.0... yum doesn't seem to know about bzr (yum upgrade bzr says 'Could not find update match for bzr' and yum install bzr complains about missing dependencies)I don't think I compiled from src; anyway I can't find any bzr sources lying around.  Is there a way to figure out how it was installed in the first place? I'm on Centos 4.7.01:36
spiv"bzr --version" will tell you where bzrlib is installed, which may give a clue.01:39
SamB_XPyou can install software on breathmints now ?01:40
jderosematt2000: also, `rpm -qi bzr` will show if there's an rpm package installed01:41
igchi spiv01:42
matt2000thanks. bzr --version says ' bzrlib: /usr/local/lib/python2.4/site-packages/bzrlib'01:42
matt2000rpm says 'package bzr is not installed'01:42
spivmatt2000: /usr/local suggests you did something like "python setup.py install" from a tarball or a checkout.01:42
spiv(And maybe even used stow!)01:43
* SamB_XP thinks centos sounds like a breath mint01:43
matt2000spiv, thats possible. so can python setup.py help me upgrade to 2.0?01:43
spivmatt2000: python's distutils (the library behind setup.py) doesn't really do upgrades or uninstalls :(01:44
matt2000SamB_XP: I think XP sounds like something I get for slaying orcs & dragons.01:44
spivIt can install over the top, which often works, but isn't really a good idea.01:44
SamB_XPmatt2000: no, I think you need to slay software engineers to get XP01:44
matt2000spiv: so what happens if I gather up the dependencies yum is asking for and do yum install bzr ?01:45
spivmatt2000: the good news is that probably uninstalling is a matter of deleting /usr/local/lib/python2.4/site-packages/bzrlib, /usr/local/bin/bzr, and maybe one or two other things.01:45
spivmatt2000: (have a quick poke around /usr/local for likely stuff)01:45
matt2000also, I though yum was supposed to get dependencies for me. Or am I spoiled by apt-get ?01:45
spivmatt2000: then if you install it the regular way with yum it should all be good.01:45
spivmatt2000: For future reference, GNU stow is really handy for installing stuff manually into /usr/local, because it makes it easy to delete later.01:46
matt2000hmm, maybe I did compile form source... I've got pycrpyto & paramiko src tarballs in /root, which are bzr deps I think?01:48
matt2000how would I upgrade to 2.0 form sources? Does `make install` take care of that?01:49
spiv"make install" doesn't know anything about upgrading as such.  It will happily write files over the top of an existing install, which is very roughly the same.01:49
spiv(But has been known to cause mysterious failures with some past releases)01:50
matt2000ah ha! bzr --version == 2.0.001:57
matt2000spiv, thanks for the guidance01:57
spivmatt2000: you're welcome01:57
johnfjelmer, lifeless: ping02:03
spivjam: you wouldn't happen to still be around would you?02:26
pooliehello spiv02:33
spivpoolie: hello02:36
spivpoolie: https://code.edge.launchpad.net/~spiv/bzr/debug-flag-relock/+merge/12972 is still waiting for a re-review from you, should be an easy one :)02:36
poolieok02:39
=== abentley1 is now known as abentley
poolieigc, did you get my mail of Bazaar strategy from London?03:08
igcpoolie: yep03:10
poolieok03:10
poolieso that kind of subsumes the previous 'news from london' thread, in that it's a summary at the end of the week03:11
pooliethanks03:11
mwhudsonpoolie: it looked like there were some unfinished sentences in your strategy mail03:13
poolieyes, i blame jetlag, sorry03:14
mwhudsonok :)03:14
pooliei see one of them was probably just missing an "etc"03:14
spivpoolie: I'll make a mental note to just fill in all your unfinished sentences with "etc" :)03:16
poolie"I think we should etc"03:17
poolie:)03:17
=== lamont` is now known as lamont
emmajaneigc, ping?04:37
igchi emmajane!04:38
emmajaneigc, hey :)04:38
emmajaneI've read the documentation, but I need help. :/04:38
emmajaneigc, I think in your email you're saying to set up a working tree (e.g. http://www.emmajane.net/node/884) but I don't actually see that in the documentation on "how to work on LP projects" so I just want to make sure I'm not going to mess stuff up again.04:40
jamspiv: I'm around now for a bit04:42
spivjam: oh, hey04:42
spivjam: I was just going to ask about your thoughts on my reply on the only_raises review, seeing as you hadn't responded yet and I wanted to land it.04:42
jamspiv: I replied to your review of my branch04:42
jamspiv: as for your stuff...04:43
jamthe problem is that if you supress something, nobody ever knows to go look for anything04:43
spivjam: but then I realised you gave me permission to land it so that discussion can happen independently.04:43
jamyou never "get the information back"04:43
jamI don't feel terribly strongly, but it is just a general statement04:43
jamas for the "abort_write_group" stuff04:43
jamthat is not quite the same04:43
* igc reads emmajane's article04:43
jambecause if we didn't print the error then04:43
jamit ends up being printed at the end04:44
jam(often we see: "abort_write_group: Foo failed\nFoo failed\n"04:44
spivThe problem is that often (practically all the time? -- Not A Metric) the fact unlock failed doesn't actually contain any real information.04:44
jamspiv: it says you need to run break lock04:44
emmajaneigc, I didn't have anything that I'd worked on, so I've just chucked all my branches and will start again. :)04:44
emmajaneigc, I just want to make sure I set it up correctly this time though04:44
emmajaneI was specifically looking at: http://doc.bazaar-vcs.org/test/en/tutorials/using_bazaar_with_launchpad.html04:45
spivjam: that only happened when LockContention is acquired on a lock attempt, I thought/04:45
spiv?04:45
emmajanebut there wasn't anything about best practices for working trees04:45
jamspiv: so, if you are getting an error during unlock, that means you had a write lock04:45
jamas read locks are no-ops04:45
jamso if you get an unlock error, that means the branch is left locked04:45
spivjam: grep doesn't show anywhere talks about break-lock during unlock for me.04:46
jamspiv: I'm not saying the error specifically says that, I'm saying it tells someone that04:46
jamas in, it can be inferred04:46
jam / we can fix the error message04:46
jamI won't say there is lots of useful information that you must not suppress04:46
spivOh, I see.  The problem is often it doesn't convey that, or it is already being conveyed.04:47
johnfAnyone seen this before?04:47
johnfbzr: ERROR: documents is not an index of type <class 'bzrlib.index.GraphIndex'>.04:47
jamjust being conservative04:47
jamspiv: "bzr:interrupted" doesn't convey that to me at all04:47
igcemmajane: that tutorial probably needs some love - LP is more powerful now with merge proposals and other goodies04:47
jamthough when I try to push again, it will tell me04:47
emmajaneigc, :)04:47
igcemmajane: http://doc.bazaar-vcs.org/latest/en/user-guide/organizing_branches.html is the key thing to read04:47
spivi.e. if the unlock is happening because of "connection reset" then allowing that error through is going to more clearly hint "you probably need break-lock" than "TooManyConcurrentRequests"04:47
emmajaneigc, lovely!!04:48
jamspiv: though connection reset can happen at any time04:48
spivSo it seems to me that it's an improvement for at least some cases.  KeyboardInterrupt is a tricky case.04:48
igcemmajane: and one more thing ...04:48
jamwhether or not a lock was taken04:48
emmajaneigc, I started at the "in five minutes" and then went to the tutorial and then to LP.04:48
jamand I certainly agree "TooManyConcurrentRequests" is generally completely bogus04:48
igcyou don't need to merge your feature branch back into your trunk & push04:48
jamI've never had *that* actually be true04:49
spivjam: and it can happen while waiting for a response to an unlock RPC, in which case you don't actually know if you need to break-lock or not :)04:49
spivOh, it's always true.04:49
jamTooMany has only ever happened IME when the connection was closed, etc.04:49
spivJust not in any sense that's relevant to users.04:49
igcinstead, you can push your feature branch to LP as ~emmajane/projectname/branchname04:49
jamspiv: 1 request cannot be concurrent04:49
igcemmajane: then propose it as a merge04:49
emmajaneigc, ok04:49
jamspiv: can it?04:49
emmajaneigc, I should be able to do this quickly and then I'll ping you again when I'm ready to upload.04:50
igcemmajane: to propose a merge, run "bzr lp-open" and click the necessary link04:50
spivjam: no, but it won't be raised unless the medium has been asked to track multiple requests.04:50
jamspiv: then is the bug that ConnectionReset doesn't clear the current pending request?04:50
jamsince it certainly doesn't seem like it is still active04:50
spivMore likely a bug that code attempts to keep using a connection after a ConnectionReset.04:51
jamWe're a bit off topic, but I've never felt that I've gotten a genuine case where we issued 2 requests concurrently. Just that one gets interrupted, so we go on to the next04:51
jamand the lower level thinks we issued 204:51
spivIt's pretty much always a symptom of a bug, like an AssertionError.04:52
jamspiv: right. I think the intent of it is even a 'programmer error' if it was actually genuine04:52
jamsomething like issuing a request while iterating over the results of a record stream, etc.04:52
spivRight.  Although reentrantly trying to issue an RPC during cleanup while the previous response hasn't been completed also fits the description of 'programmer error'.04:53
jamperhaps04:53
jamthough if the connection is broken transiently04:53
jamone could argue that you reset and try again04:53
jamwhich would allow clean shutdown even after a hiccup04:54
AfCIt's amazing that we spend huge amounts of time worrying about bandwidth and performance of our DVCS system transmitting a few bytes of patch from A to B, and yet for a few lines of kernel patch our distro is mirroring and then each of us are downloading 30 MB of binary package04:54
jamAfC: I've been suprised that debs don't do any sort of incremental updates as well04:54
jamsurprised04:55
spivOr we perhaps should arrange to keep raising ConnectionReset (or whatever) on subsequent attempts to use that connection.04:55
AfCjam: yeah. I mean, that's just the use case that rsync is optimized for04:55
AfCjam: although that would assume that the tar files we create were more or less consistently ordered to some defined spec [which I believe is, by accident, the case],04:56
AfCjam: but more to the point the compression algorithm would have to have clear boundaries so that (for example) a new file mean new compression headers etc so that rsync could easily detect the unchanged regions (ie, unchanged files)04:57
AfCbut that would seem worth achieving04:57
spivAnyway, my basic theory is that the original error which will now be reported cleanly to the user ought to be conveying the idea that "your operation has failed, some human cleanup may be necessary" better that saying "unlock failed with TooManyConncurrentErrors."04:57
spivEspecially given that some unlocks don't actually involve releasing locks on disk (read locks, or locks acquired with a token or when leave_lock_in_place has been called).04:58
jamspiv: but those unlocks won't actually raise errors...04:58
spivProbably they won't.04:59
* igc grabs some lunch - bbiab04:59
spivExcept for MemoryError, or novel bugs, or ...04:59
jamspiv: given that they aren't issuing rpcs, they won't raise TMCE04:59
pooliehi igc, jam, spiv04:59
poolieafc04:59
jamhi poolie04:59
spivI see emitting a friendly "I could not release this physical lock" as an orthogonal issue, really.04:59
spivI'm not against doing that at all, I just don't see it as more than tangentially related to a patch to suppress unwanted exceptions from quashing other exceptions.05:00
jamspiv: and my concern is that squashing too hard means we may lose information, and never know about it.05:01
pooliei agree with spiv05:01
jamgenerally, I'm fine with always squashing TMCE05:01
jambut that isn't the only thing being squashed05:01
poolieit's possible we could squash say SyntaxError05:01
spivBecause for instance it needs to be done at a slightly lower layer to be correct, because "Repository.unlock" doesn't directly map to "release physical lock on disk".05:01
pooliei think maybe for developers this should always print to stderr05:01
pooliefor some appropriate value of 'developres'05:02
jampoolie: well, the path we've taken to date is version_info[3] == 'final'05:02
spivAlso, TMCR isn't the only exception that has caused this, just the most common one.05:02
jamspiv: I'm certainly not asking for a traceback, and I think you did completely the right thing there05:03
pooliemm05:03
jammy concern is whether we want a one-line warning versus just mutter05:03
pooliei'm thinking we should have -Developer05:03
jamdebug_flags = eveloper,hpss ?05:03
poolieit's also a bit connected to python warnings05:03
pooliemm, or -Ddeveloper05:04
poolielike libowfat :)05:04
pooliei think if we're going to far, we'll start getting bugs about "why am i always told the branch is already locked?"05:04
jampoolie: I have to say I don't have a clue how to parse libowfat :)05:04
poolietoo*05:04
spivI expect that an unfortunately timed connection loss during SFTP could trigger the same problem, for example.  Or a wireless card drop out during HTTP, or while accessing something over NFS, etc.05:04
poolieon the gcc command line, '-lowfat'05:04
jampoolie: ahh05:05
jamfun05:05
poolieand then the first step would be to say 'an error prevented %s being unlocked'05:05
poolieand then we could take it further05:05
pooliespiv, it is still going into mutter right?05:05
spivWhich is why I'm whitelisting rather than blacklisting, because I don't think it's feasible to anticipate all the possible errors.05:05
spivYep.05:05
jampoolie: so I tried to get the queue down, but still no response on the cache cix stuff05:07
pooliei saw your swathe of review mails05:07
pooliethat was impressive05:07
jamalso, does anyone know how to get LP to do partial merge requests?05:07
jamI'd like to split up my static-tuple branch05:07
jambut I'm not going to put in the effort if I can't generate nice merge proposals05:07
pooliewith partial diffs?05:08
emmajaneigc, Ok. I tried doing the push from my feature branch just to my own stuff on LP and I'm getting an error.05:13
emmajaneigc, I did: bzr push lp:~emmajane/bzr-website/utility-nav05:14
emmajaneand it said:05:14
emmajane(apologies for the four-line spam)05:14
emmajaneUsing default stacking branch /~bzr/bzr-website/trunk at lp-46082192:///~emmajane/bzr-website05:14
emmajanebzr: ERROR: KnitPackRepository('lp-46082192:///~bzr/bzr-website/trunk/.bzr/repository')05:14
emmajaneis not compatible with05:14
emmajaneCHKInventoryRepository('lp-46082192:///~emmajane/bzr-website/utility-nav/.bzr/repository')05:14
emmajanedifferent serializers05:14
emmajane(five line)05:15
emmajane(more if I keep counting incorrectly and continue to correct myself)05:15
jampoolie: right, I want to create N branches, each one building on the other05:16
jambut I want to submit it relative to the previous branch05:16
jamso it can actually be reviewed in pieces05:16
jamI thought you could do something like that via email05:16
jambut I've never tried05:16
jamso I was hoping someone else had05:16
spivjam: I think I have in the past, when lp code reviews would use the preview diff from the email.05:18
jamspiv: I thought if you sent a cherrypick request "bzr send -r X..Y" it would do so05:19
spiv(or whatever the terminology was)05:19
jambut you think that was because of the preview diff?05:19
spivBut I think now that there's only one kind of diff, and LP generates it, I'm not sure that would work.05:19
spivBut I haven't tried recently, so I might be wrong.05:19
spivmwhudson: ^ ?05:20
mwhudsonspiv: i think you're right05:20
mwhudsoni haven't tried it myself either05:21
jamspiv: question for you05:22
jamabout python05:22
pooliejam, i've heard something about them working on mp dependencies05:22
jamfoo = MyObject()05:22
pooliebut it's not live yet05:22
spivemmajane: your local branch is in the shiny new 2a format, but lp:bzr-website isn't (it's 1.9-rich-root)05:22
jamassert 1 = sys.getrefcount(foo) -105:22
jamfoo = ('tuple')05:22
jamassert 2 = sys.getrefcount(foo) -105:23
jamIs this because the compiler is adding the static tuple into the function frame?05:23
* emmajane grumbles.05:23
emmajanespiv, thanks :)05:23
spivemmajane: if you do "bzr init --1.9-rich-root lp:~emmajane/bzr-website/utility-nav" before pushing it should work.  You may need to delete the old branch first.05:23
jamspiv: or we should just upgrade lp:bzr-website05:23
spivemmajane: or get igc to upgrade lp:bzr-website to 2a :)05:23
spivjam: almost, except your phrasing sounds dangerously like you're going to volunteer! ;)05:24
spivjam: that hypothesis sounds close05:25
spivjam: although I think it's because the static tuple is defined in the function or code object, rather than the frame.05:25
spivBut ICBW.05:25
AfCDid I understand the 2.0.0 release announcement to mean that any bzr >= 1.16.0 can read from a public branch that is in 2a format?05:26
emmajanespiv, It didn't like it when I just pasted that command. So probably I need to nuke the .bzr folder in the feature branch and re-initialize?05:27
emmajane(Warning: never be the last one to talk to the newbie or you'll get all the pings.) ;)05:27
spivAfC: that sounds correct.05:28
spiv(I don't remember the precise version offhand, but that's the right ballpark.)05:28
spivemmajane: right.  Or go to https://code.launchpad.net/~emmajane/bzr-website/utility-nav and delete it through the web UI.05:29
AfCspiv: ok, thanks. Now that I think of it, that makes sense (as thereabouts was when the format was introduced experimentally) ...05:29
AfCI wonder if I was to upgrade my public branches to 2a whether that would screw over people using (say) 1.18.1 (ie, has all this furious bug fixing been in new code, or does it mean that that 1.18.1 is also buggy with respect to the 2a format?)05:30
igcemmajane, poolie: it sounds like we ought to switch bzr-website to 2a05:30
emmajanespiv, ok, deleted from the web interface, re-ran the init and am now pushing the featurebranch05:31
* emmajane scrolls back up to find igc 's next instruction. :)05:31
poolieigc, it would be good but i think you'd need to check escudero had a new bzr first05:31
poolieafc, i think 1.18.1 is ok, but it'd be better to get them onto 2.0.x05:32
poolieor otoh wait until everyone is on 2.0.x05:32
AfCpoolie: right. I'm balancing the [very few] hackers I have (using Debian's bzr or Ubuntu Intrepid's bzr or whatever ancient code) versus the gain I'd see as the person who interacts with said public branch the most :)05:33
spivAfC: skimming the NEWS file I don't see any critical correctness bugs relating to 2a fixed in 2.0.0 vs. 1.18.1, but there were quite a few performance bugs and even one segfault fixed.05:33
* emmajane clicks all the buttons05:33
emmajaneigc, ok, I think there's something there for you to review now?05:33
AfCspiv: yeah. Well. I'll be "responsible" and wait a bit longer before upgrading. But once Ubuntu and Fedora  have 2.0.x in them (Gentoo does already) then really there won't be much justification for me to hold back further.05:34
spivemmajane: looks like a decent merge proposal to me.05:36
* emmajane blinks at AfC. *gentoo* is ahead of Ubuntu?05:36
zobi1is there a working bazaar bundle for textmate?05:37
emmajanethat's awesome :)05:37
AfCemmajane: of course05:37
emmajanespiv, \o/05:38
zobi1oops, just got disconnected. repost: is there a working bazaar bundle for textmate?05:38
AfCemmajane: the only place where Ubuntu or Fedora tend to be ahead of Gentoo is in and around the GNOME constellation, since they're always is such a rush to get it ready for their next 6 monthly release AND they have an "exception" or whatever hardwired into their release guidelines.05:39
AfCemmajane: But for most other things they're all tight about freezing and thereby shipping ancient code. Fedora seems to update more broadly and willingly than [the Debian culture inherited by] Ubuntu.05:39
AfCbut I don't have an objective measure of that yet.05:39
emmajaneAfC, huh.05:39
igcthanks emmajane. I'll review that now05:40
arkanesthat doesn't really match my experience05:40
idnarAfC: you should probably specify whether you're talking about stable releases or not05:40
idnareg. bzr 2.0 has been in debian sid for a while now05:41
arkanesthere's a lot of things you need to manually unmask to get half-decent recent versions of in gentoo, and broken ebuilds in those unmasked packages are really common05:41
AfCidnar: I'm encompassing both stable and development experiences in one sweep. But taking the example you cite, bzr, what version is in Intrepid?05:41
jamAfC, emmajane: Depends if you consider ppas, etc. But yeah, I think gentoo tends to be a bit closer to crack-of-the-day05:41
idnarwhich would probably be a better comparison with Gentoo than, say, Debian 4.005:41
mneptokAfC: depends on if you use default repos, backports, or a PPA05:41
AfCmneptok: whatever Canonical Inc is officially supporting and shipping (so, no PPA)05:42
idnarintrepid apparently has 1.6.1, but that's, what, a year old?05:42
AfCidnar: and that's my point.05:42
* emmajane nods05:42
mneptokwhat does Gentoo officially support?05:43
mneptok(i.e. when i dial Gentoo paid support, what version do they expect me to have?)05:43
emmajanemneptok, don't be difficult just because you're right. ;)05:43
idnarAfC: yeah, but I don't really understand the issue; if you want software that's newer than a year old, run a release that's newer than a year old. you might then want to complain that Debian doesn't release often enough, but Ubuntu seems to release often enough that that's not such a major issue05:43
AfCmneptok: it's a community distro. It doesn't officially support anything. But as a rolling-release distro (ie, Gentoo, Arch) it tends to have fairly up to date packages, taken as an average.05:43
arkanesit doesn't seem very reasonable to compare what is essentially a static distribution with constantly updating packages (gentoo) with a distro with rapid, regular releases05:43
idnarand if you want the latest and greatest, then run the latest and greatest05:44
mneptokAfC: it's easy to decide to potentially break things when you have no paying customers ;)05:44
arkanesyou can view ubuntu releases as snapshots if you want instead05:44
mneptok!info bzr05:45
ubottubzr (source: bzr): easy to use distributed version control system. In component main, is optional. Version 1.13.1-1 (jaunty), package size 5171 kB, installed size 17768 kB05:46
mneptok1.13 in Jaunty05:46
AfCand you're proud of this?05:46
mneptok(using default repos)05:46
idnarAfC: what I'm saying is05:46
mneptok2.0 is default in Karmic05:46
idnarAfC: if you want "always being updated", Debian already provides that, as does Ubuntu to an extent05:47
mneptokso, upgrade your distro. you know, just like you would do with a rolling release.05:47
AfCYeah, well, I've made that mistake. Running Karmic has been hell the last month.05:47
m3gai've created a repo using bzr 2.0.0 and i'd like to pull it from a machine 1.13.1, but can't because of version mismatch. can't the repo be downgraded?05:47
arkanesAfC: I'm not really sure where you're going with this05:48
m3gathats what you're talking about isn't it? (hi AfC)05:48
idnaranyhow, having said all of that, I'm not planning to rush out and upgrade everything to 2.0/2a right away either, I'd rather take my time ;)05:48
arkanesAfC: it's not like unmasking every experimental and half-working ebuild in gentoo is going to get yuo a stable system05:48
AfCm3ga: yeah, if you init{,-repo} a branch in --format=$something_older and then pull into it, it'll convert05:49
m3gaah, thanks05:49
bob2I don't think you can go back from 2a05:49
bob2well, you can, but only to a rich root format05:49
AfCbob2: yeah, that sounds familiar05:49
AfCm3ga: but in that case, --format=1.9-rich-root or such05:50
bob2--1.9-rich-root05:50
bob22slow05:50
m3gahmm, can't create --pack-0.92 like all my other repos.05:52
m3gabzr 2 available for jaunty?05:55
AfCm3ga: not from Ubuntu, but in the Bazaar PPA, yes05:58
mneptokhttps://edge.launchpad.net/~bzr/+archive/ppa05:58
igcemmajane: I'll approve and merge that change06:01
emmajaneigc, does that mean I can go to sleep now? :)06:01
igcemmajane: sure :-) night06:01
emmajaneigc, thanks :)06:01
emmajaneoh. wait.06:01
emmajaneI have the new icon too.06:01
m3gathanks mneptok and AfC. Got it06:01
* emmajane figures out where to put that.06:01
igcyou can use the same branch and push again if you like06:02
emmajanek06:03
bob2mneptok: ah, --rich-root-pack06:04
bob2oops06:04
emmajaneigc, erm I get an error when I try to merge into the same place.06:07
emmajanepropose a merge into the same place rather06:07
emmajane"There is already a branch merge proposal registered for branch lp:~emmajane/bzr-website/utility-nav to land on lp:bzr-website that is still active."06:07
igcemmajane: when you push?06:07
emmajaneigc, when I use the web interface to request a merge06:07
igcemmajane: try "resubmit proposal"06:08
emmajaneigc, I don't see an option for resubmit...06:09
igcright hand top corner?06:10
emmajanehttps://code.edge.launchpad.net/~emmajane/bzr-website/utility-nav06:10
igcof the current merge proposal06:10
emmajaneand that's an internal server error.06:11
emmajaneum.06:11
emmajanehttp://bazaar.launchpad.net/~emmajane/bzr-website/utility-nav/files06:11
igcyuk06:11
igcI'll pull your branch in any case06:11
emmajane:)06:11
emmajanethe only change was adding the new icon from danno06:11
igcwell, merge your branch into my trunk to be more explicit06:11
idnaryou should still be able to resubmit from https://code.edge.launchpad.net/~emmajane/bzr-website/utility-nav/+merge/1303806:12
idnareven if the code browser is spewing errors (which seems to happen far too frequently)06:12
emmajaneidnar, thanks06:12
emmajaneigc, I resubmitted06:13
igcthanks. looks good.06:13
igcemmajane: committed to trunk now.06:14
emmajane\o/06:14
igcemmajane: night (and thanks)06:15
emmajaneigc, thanks for making sure I was doing it right :)06:15
igcnp06:15
igcemmajane: I figure telling you is double value as you often tell others :-)06:15
emmajane:)06:16
emmajaneigc, it's true. :)06:16
emmajaneigc, is it on your plate to update the In 5 Minutes guide to include the working tree info?06:17
emmajaneif not I'll add it to my plate.06:17
igcemmajane: it's not on my plate06:17
emmajaneok06:18
igcmy plate is struggling with enough other stuff :-(06:18
emmajaneheh. have you been up to the buffet and overloaded your plate? ;)06:18
igcemmajane: the one downside to pulling stuff into separate projects is that I'm now managing merges to a dozen or more of them!06:19
emmajane:(06:19
* emmajane gives you a tray to put your plate on? :/06:19
igcemmajane: I can easily spend all day on bzr and never touch the core project06:20
emmajaneI've got a few people firing me explorer docs as well.06:20
igcemmajane: cool. Some screencasts on explorer would be sweet btw06:21
igchint hint :-)06:21
emmajaneheh. I was just complaining about screen casting to someone :)06:21
emmajaneUbuntu + screencasting = fail.06:21
emmajaneI've had to buy a windows box. :(06:21
igc:-(06:21
emmajaneyeah06:21
emmajaneI record in Ubuntu and then transfer to windows to add voice and render.06:22
emmajaneI'll see if I can bribe jacine into doing one for OSX though.06:22
igcemmajane: karmic?06:22
emmajanewhatever 9.04 is.06:22
igcjaunty06:22
emmajaneI'm lousy at remembering the animal names.06:23
igcemmajane: I just upgraded to karmic today06:23
emmajaneI should upgrade my laptop that never gets used just to see how it all looks.06:24
emmajanei'm afraid of upgrading production machines though06:24
igcit looks really nice06:24
emmajanecool :)06:24
jamfirst patch on the static-tuple wagon is up for review: https://code.launchpad.net/~jameinel/bzr/2.1-simple-set/+merge/1303906:24
jamsecond is in the email queue06:24
jam3 4 5 I'll probably work on tomorrow06:25
jamnight all06:25
emmajaneigc, Ok. I'll scan through the list again tomorrow to see if there's any leftover things before starting on the inner pages.06:25
igcnight jam06:26
jam2 is up https://code.launchpad.net/~jameinel/bzr/2.1-export-c-api/+merge/1304106:29
jamthough it royally screwed things up06:29
jamthe email looks like it through out my carefully worded submit request06:30
jamand then inlined the attachment06:30
jamand then generated its own *full* merge result06:30
jamignoring the fact that I asked for a cherrpyick06:30
* jam grumpy06:30
jamabentley: ^^ I'm going to bed, and I assume you are sleeping, but if you could explain what is going on, I'd like to understand.06:30
jamIs it just not possible in launchpad's code-review to get decent stacked changes reviewed?06:31
jamhmm... I wonder if I could cheat and actually request the submission to be merged into my other branch06:32
jamand just make 'bzr-core' the reviewer...06:32
jamanyway, will try something tomorrow06:32
spivjam: g'night06:49
vilahi all07:28
vilajml: testtools requires python >= 2.5 (more precisely functools), is that a bug or a feature ?07:44
mtaylorbzr: ERROR: bzrlib.errors.NoSuchRevision: KnitPackRepository('file:///home/mordred/src/drizzle/.bzr/repository/') has no revision ('mordred@inaugust.com-20090924230420-zc4vxrr30uxgo4eb',)08:02
mtayloranything in general I can do to work around it when bzr tells me things like that?08:02
jelmerjohnf: ping08:03
pooliemtaylor: is this when pushing?08:04
mtaylorpoolie: no... I was giving the rebase plugin a try08:04
mtaylorpoolie: I'm guessing it doesn't like stacked branches?08:04
pooliemaybe, i'd have to see the traceback08:05
poolieprobably best if you file a bug on that08:05
mtaylorpoolie: k. will do08:05
pooliethanks08:05
mtaylorpoolie: should I file it on bzr or on bzr-rebase?08:05
poolieprobably rebase at first08:05
mtaylork08:06
mtaylorpoolie: fwiw: bug 44607508:12
ubottuLaunchpad bug 446075 in bzr-rewrite "bzr crashed while trying to run bzr rebase" [Undecided,New] https://launchpad.net/bugs/44607508:12
vilaFor those interested in bug #405745, the failure with python-2.4 was due to some bits missing in socket.py and SocketServer.py, nothing really problematic08:13
ubottuLaunchpad bug 405745 in bzr "blackbox.test_check.ChrootedCheckTests.test_check_missing_branch hangs on AIX" [Medium,In progress] https://launchpad.net/bugs/40574508:13
pooliewe should get the crash message to tell people what bug subject to use08:13
mtaylorpoolie: yeah.08:13
mtaylorpoolie: sorry - that's like the worst bug subject every isn't it08:13
poolienot the worst :)08:14
mtaylor:)08:14
poolie'bzr crash' is better08:14
poolieor 'problem'08:14
poolie'halp'08:14
poolie:)08:14
spivOr "ubuntu cds"08:14
mtayloror 'discount viagra'08:14
vilaso the leaks due to http (bug #392127) are still down ~300 to 008:14
ubottuLaunchpad bug 392127 in bzr "bzr >= 1.16 on gentoo: can't start new thread" [High,In progress] https://launchpad.net/bugs/39212708:14
pooliewoo vila08:15
vilas/down/down from/08:15
pooliecan we enforce that there are 0 now?08:15
vilaand I have good hopes the same fix could be applied to ftp (I'm not sure hpss needs it though I seem to remember spiv telling so, ref?)08:15
vilaenforcing 0 is one or two patches away I'd say08:16
spivvila: maybe, I'd have to look to check...08:16
vilaThe main problem is that the threading module seems to be less than reliable when it comes to counting active threads...08:16
spivThere's a thorny thread leak involving sftp and a blackbox test.08:17
vilaspiv: don't worry, I'll look at the code for hpss, but I've already fixed RecordingServer and I'm not sure you were referring to that or something else08:17
spivvila: sure it's not simply a matter of a race between when you check the count and when you do the enumerate?08:17
spivThere's a SmartTCPServer_for_testing that you may need to look at.08:18
vilaspiv: what race ? I ask for the count and get 2, I do enumerate I get 108:18
vilaspiv: ok, I'll look at that08:18
spivvila: so between doing the count and the enumerate one thread finished?08:18
poolieigc, what's the deal with https://code.edge.launchpad.net/~ian-clatworthy/bzr/faster-log-file/+merge/753508:19
vilaspiv: no, AFAICT it's already finished, the proof being that enumerate() doesn't see it and all involved threads has been joined08:19
spivvila: the implementation of active_count and enumerate in 2.6 don't leave much room for disagreement.08:19
igcI need to test it on an LP file (bushy tree project)08:20
spivvila: i.e. they are identical except one does len(_active) + len(_limbo), and the other does _active.values() + _limbo.values() (and those two vars are ordinary dicts).08:20
vilaspiv: it's as if the thread was still alive for a short time after join()08:20
spivAh, that sort of thing I could easily believe.08:21
vilaspiv: I can't reproduce reliably, but I've seen it in ~5% of the cases08:21
vilaspiv: but then it becomes a bit hard to detect leaks...All I got is false positives...08:21
poolieigc, is https://code.edge.launchpad.net/~ian-clatworthy/bzr/eol-update-bug/+merge/10959 the one you were asking me to read?08:22
vilaSo the answer to poolie question: "Can we enforce 0" is: "No, because of the false positives :-/"08:22
pooliei'm sure i won't work on it before i go08:22
igcthat's the one08:22
igcit's mainly tests but 2 bits of code iirc08:23
poolieso is there anything i can sensibly do today/tomorrow?08:23
igcthat's the main thing I was hoping for08:23
vilaspiv: anyway, my goal to reduce it as much as I can, bug #392127 is significant here as the "Can't create new thread" was blocking the full test suite on gentoo, OSX and windows08:23
ubottuLaunchpad bug 392127 in bzr "bzr >= 1.16 on gentoo: can't start new thread" [High,In progress] https://launchpad.net/bugs/39212708:23
vilaI don't know the *next* bug that will block the full test suite on windows though :)08:24
poolieigc: what's the main thing? just a review?08:24
igcyes08:24
poolieit's not redundant with robert's comments?08:25
poolieit looks basically ok but i'm a bit dopey so i'll look again tomorrow08:25
igcpoolie: I wanted to land that in 2.1b1 so we have a public dowlonad for using really needing content filtering to work08:25
pooliei'd be a bit wary of putting it into 2.0.108:25
igcusers08:25
pooliejust because of the history leading up to 2.008:25
pooliemm08:25
igcright08:25
* poolie looks08:26
bialixhello all08:26
johnfBefore I file a bug has anyone seen this before08:26
johnfbzr: ERROR: documents is not an index of type <class 'bzrlib.index.GraphIndex'>.08:26
bialixpoolie made my day: "There is a good amount of work in bzr.dev - 4 a4 pages of news - so it'd be good to get it out." ROTFL08:27
vilahello bialix08:27
spivjohnf: no, that's new to me.  I wonder if it's something to do with a plugin?08:27
bialixbonjour vila08:27
johnfspiv: remind me how do I make plugins not load?08:27
awilkins--no-plugins08:28
vilajohnf: rings no bell, the 'documents' token makes me think it could realted to a plugin08:28
vilajohnf: you can also do 'BZR_PDB=1 bzr <command>' to have pdb called and do 'bt' there08:28
spivvila: so in Python 2.6 when a thread finishes it acquires the global _active_limbo_lock, calls self.__stop (which would wake up the thread doing the join), deletes its entry from the _actives dict and then releases the lock.08:29
spivvila: but active_count and enumerate both acquire that global lock before doing their work08:29
spivvila: so, I would expect that when join returns that the other thread is still alive momentarily, but that you would not be able to see that by calling threading.enumerate or threading.activeCount08:30
johnfok it is a plugin08:30
vilaspiv: I agree with the theory :D08:30
vilaspiv: to add data: using 'del thread ;thread = None' helped08:31
johnfahh search plugin is the culprit08:31
vilaI'm not sure I've addressed the issue completely though...08:31
vilasince that wasn't reproducible nor my main goal, I'd look into it when the ~2000 remaining leaks will be fixed...08:32
spivvila: maybe set threading._VERBOSE = True?08:32
spiv(and run without -O)08:32
vilaspiv: I note that08:32
igchi vila, bialix, johnf08:33
bialixhi igc08:36
spivvila: yeah, doing "del thread ;thread = None" sounds likely to help more for the fact of just adding a small delay rather than because of what it does.08:37
bialixwow! bzr.dev's NEWS is almost 500KiB in size! crazy08:37
vilaspiv, poolie: Anyway, given the amount of work and thinking involved when tracking leaked threads, a warning still sounds fine, we use threads in the test infrastructure and so far this has triggered bugs for selftest only, no need to block08:40
vilaIn a given working tree where 'make' has been run,  py2.4 do not want to load some extensions that 2.5 and 2.6 happily load, any takers ?08:45
spivvila: extensions were built with 2.5?08:46
vilapython --version08:47
vilaPython 2.6.208:47
vilaSo I think it was with 2.608:47
vilas/I think/I'm sure/08:47
vilaha, .bzr.log mentions pycurl not available for 2.4, may be related...08:47
vilaeeerk, pycurl not supported for 2.4 ? The package dependencies says: Depends: python (>=2.5) ???08:49
vilaon jaunty08:49
vilawell, yeah, makes sense, sorry08:49
bialixvila: btw is pycurl still needed? esp @ py2.6?08:50
vilawhat matters is that pycurl is supported by the default python version08:50
vilabialix: for windows you mean ? Still the same answer: do you care about verifying the certificates ?08:50
bialixfor windows yes, I don't care but if I do then I need? The problem is there is no pycurl build for 2.6 for windows08:51
* vila cries08:51
bialixsorry, I did not want08:52
vila:D08:52
bialixthat's better08:52
fullermdOooh, it's THAT easy to make vila cry?  I'll hvae to remember that...08:52
bialixI don't understand what I do but I'll try to not do it in the future08:53
vilabialix: nice try !08:53
vilalol08:53
bialix:-)08:53
vilaThe problem when you think you will fix a bug tomorrow is that you still encounter it today (or something like that) :D08:53
spivfullermd: mentioning any random collection of frustrating software is a good way to make a developer cry.  "pycurl + windows" -> sad.  "sourcesafe + anything" -> sad ;)08:53
bialixLOL08:54
bialixwhat's bad about pycurl on windows?08:54
fullermdFunny you should mention that, I was just thinking we should try and get sourcesafe working on SCO...08:54
vilafullermd: by the way, not a single 8.0rc1 crash since I swapped the IDE controller08:55
bialixor maybe you mean "anything + windows" == mwhaa-mwhaa-haa08:55
vilabialix: nope, he just refer to the fact that pycurl is not packaged for 2.6 on windows (you just mentioned that)08:55
fullermdWacky.  I wonder what it didn't like about the original choice.08:55
vilafullermd: I don't :-)08:56
bialixvila: oh, I was not aware you are aware that pycurl is not packaged08:56
vilabialix: *you* just said it08:56
vilaerr, too many negatives here I think :D08:56
bialixI'm working as answering machine in ru_bzr, so just yesterday one man asking me about pycurl.08:57
bialixvila: I'm happy to not think about pycurl anymore, I'm just need to know right answer08:57
vilabialix: nothing has really changed08:58
vila2.6 allows a true https test server, so we have better test coverage which allows adding new features more easily, adding the features is still needed though...08:58
bialixvila: I remember you've tried to use ssl module from py2.6. Hence my naive question08:59
vilayes, the ssl module is used for that *and* can be used to implement certificate verification, I "just" need "time" :D09:00
fullermdWell, you don't really NEED all that sleep, do you?09:02
bialixas you said: sometimes people need to lie down and stare to the ceil ;-)09:03
vilafullermd: well, no, but I hoped I could continue to sleep a bit without being noticed... thanks....09:03
* igc dinner09:21
vilaworking around 2.4 missing features by trying to use other 2.5 features is.... bound to fail09:27
fullermdWell, obviously.  2.5 features aren't advanced enough for that, you need to use some of the 2.6 stuff.09:27
vilayeah, finally a good use case for 'from future import _feature_'09:28
vilaspiv: if you're still there and can re-review https://code.edge.launchpad.net/~vila/bzr/405745-http-hangs/+merge/13050, that would be very nice :)09:53
hsnis somewhere documented bazaar api for plugin writers?11:30
mzzhsn: pointing your favorite apidoc tool at bzrlib should do the trick11:32
mzzhsn: (also reading other plugins)11:32
mzzhsn: I don't know if there's a nice introduction to writing plugins up anywhere11:32
hsnyou mean eclipse?11:32
mzzhsn: that's definitely not *my* favorite apidoc tool, but just use whatever you like :)11:32
bob2http://bazaar-vcs.org/WritingPlugins11:32
mzzah, great11:33
hsni need to write repo export plugin11:33
mzzhsn: might want to use the existing fastimport one11:33
hsnwhat is fastimport?11:34
mzzhsn: imports and exports a format that was originally invented for git iirc but supported by many dvcs systems now11:41
mzzhsn: depends a bit on what your "repo export plugin" is for, obviously11:41
hsnwe will move from bazaar to Jazz SCM11:42
james_wyeah, look at writing a fastimport importer for Jazz11:44
hsnhttps://jazz.net/wiki/bin/view/Main/SCMChangeSetArchive - Jazz import SCM format11:50
mzzyeah, consider writing something that converts from fastimport format to that11:55
* awilkins looks at Jazz, sees word "Rational" and shudders12:13
* mzz wonders why he's not allowed to read that wiki page without an account12:18
=== sabdfl1 is now known as sabdfl
=== menesis1 is now known as menesis
bialixwhy commit don't commit files in alphabetical order?13:34
bialixhttp://pastebin.com/m5b205d5613:36
=== mrevell is now known as mrevell-lunch
smartgpxbialix - 'bzr ci' does commit in alpha order, but 'bzr qci' does not.14:37
jambialix: from the paste you gave, it looks like we commit in the order you supplied the arguments.14:37
jamso "bzr commit" does14:38
jambut "bzr commit foo bar a q z" will commit in that order14:38
=== Noldorin_ is now known as Noldorin
=== mrevell-lunch is now known as mrevell
smartgpxbialix: my python is close to non-existent, but I think the14:50
smartgpxquestion becomes " what order is used to build the tree passed14:50
smartgpxto QBzrCommitData in commit.py in QBzr?"14:51
bialixjam: if you look closely on arguments passed to commit -- you'll see they all in alpha order14:55
bialixjam: [u'host.c', u'host.h', u'i2c.c', u'i2c.h', u'main.c', u'packets.h', u'version.h']14:55
bialixjam: but commit emits different order: host.c host.h packets.h i2c.c version.h main.c i2c.h14:56
bialixsmartgpx: "'bzr ci' does commit in alpha order, but 'bzr qci' does not." -- qci invokes plain commit under the hood, do you know?14:57
bialixhi jam14:58
smartgpxbialix: yes, I realise that - but try for yourself -14:58
bialixtry what?14:58
smartgpxci and qci give different results. (I can see that the14:59
smartgpxlogging gives the same file order... )14:59
jambialix: we go through "osutils.minimum_path_selection()" which seems to use a set() and then passes that to the next level14:59
jamso we step through the supplied filenames in a 'set()' ordering14:59
bialixit sounds like the case15:00
smartgpxbialix: compare "bzr ci" with [after uncommit] "bzr qci"15:00
smartgpxfile size and datestamp seem NOT to be an influence15:01
bialixsmartgpx: see http://pastebin.com/m6d4ac53b15:02
bialixjam is right -- it's a set() issue15:02
bialixjam: may I file a bug and provide the patch to fix this?15:02
jamsmartgpx: 'bzr ci a b c' will have the same issue15:02
jambialix: I would be ok with it, but why does it matter?15:03
jamjust visually pleasing?15:03
bialixbecause I pedantic and this was my wtf moment for today15:03
bialixand visualy pleasing15:03
smartgpxbialix: sorry, hadn't thought of passing the explicit file15:04
bialixnp15:04
smartgpxlist to 'bxr ci'. Yes, its does not do what one would15:05
smartgpxexpect. (But perhaps there was never a contract that the15:06
jambialix: so interestingly, I think minimum_path_selection already has the sorted list15:06
smartgpxcommits would be performed in the order you expected.  :-) )15:06
jamand just turns it into a set for the heck of it15:06
jamwe might consider changing that15:07
bialixI hope it's not performance critical change15:07
smartgpxRight, that's one bit of tinkering for today. Now, is15:07
smartgpxVincent (vila) active right now?15:08
jambialix: well, there are going to be some other issues15:08
jamlooking at the code15:08
vilasmartgpx: pong15:08
jamfor example, we may add items to the search list15:08
jamand see this comment15:09
smartgpxvila: are you free to discuss the webdav issue I raised?15:09
jamhttp://paste.ubuntu.com/288646/15:09
jamwhere it specifically asks "should we be sorting here?"15:09
vilasmartgpx: bug # ?15:09
smartgpxvila: probably my misunderstanding and not a bug, so no # yet15:10
vilaoh, yes, wait a min15:10
bialixjam: it seems (commit.py) that specific files should be sorted http://pastebin.com/d5b84620215:11
vilasmartgpx: I need to find your mail back15:11
bialixbut apparently they're not.15:11
smartgpxvila: don't bother, no details in it15:11
vilasmartgpx: ok, shoot then15:11
jambialix: so the iter_changes code needs a set at the moment, because it uses things like 'set.add()'15:14
bialixheh15:14
jamwhich is why I pointed at the line that is doing the 'consuming' and asks whether we should be in sorted order15:14
smartgpxvila: this is probably a deficiency in the webdav'd server15:14
smartgpxI am trying to push to..15:15
smartgpxI tried bzr push https+webdav to a path I have access to15:15
bialixjam: it's in commit.py?15:15
jambialix: that code is in _dirstate_helpers_pyx.pyx15:15
bialixoh15:15
smartgpxand got back bzr: ERROR: Invalid http response for https://zdrive.le.ac.uk/d/djr/TryBzrWD/webdav: Unable to handle http code 415:  Unsupported Media Type15:16
jamcommit is now layered on top of 'iter_changes'15:16
jamon the flip side it also probably means that 'bzr diff foo bar baz' isn't going to be in sorted order either15:16
smartgpxvila: but on reading the docs for the Server again it says...15:16
jamI would say that in iter_changes you could keep a sorted list, along with the set15:16
jamand work that way15:16
jamor change the internal set into a list, and extract one, and always append to the end, etc15:17
* bialix checking diff15:17
vila415 !!! lol, what's that :)15:17
bialixjam: diff is sorted15:17
bialixjam: IIRC filenames for diff sorted manually15:17
bialixmaybe I can just sort entries after iter_changes in commit.py?15:18
vilasmartgpx: do you administer that webdav server ?15:18
jambialix: I think it would be better to have the search_specific_files be a sorted list15:19
bialixin qdiff we did:15:19
bialix                for (file_id, paths, changed_content, versioned, parent, name, kind,15:19
bialix                     executable) in sorted(changes, key=changes_key):15:19
bialixso diff is sorted15:19
viladown to 44 leaking tests...15:19
vila... but still chasing a random hang :-/15:20
bialixbut iter_changes apparently returns unsorted list15:20
smartgpxvila: No, I don't run the server. The docs say \15:20
bialixjam: it seems some clients of iter_changes (like status and diff) sort the list ourselves; but commit is not15:20
smartgpx"Known Problem 1: You cannot create new files using WebDAV.15:21
smartgpxYou can move, delete, rename, open and view the properties of a file, but you cannot create new files.15:21
jambialix: I would like to avoid batching if we can15:21
jamand sorting afterwards requires batchnig15:21
jambatching15:21
bialixwhat is batching?15:21
smartgpxvila: www.w3.org says "10.4.16 415 Unsupported Media Type15:21
jambialix: grouping everything together before going on to the next step15:21
vilasmartgpx: that sounds coherent with 415 Unsupported media type15:21
smartgpxThe server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method. "15:21
vilasmartgpx: yeah, got my RC2616 handy15:22
vilasmartgpx: I never encounter 415 before15:22
smartgpxvila: So, I just wanted to close the dangling query with15:22
bialixjam: I don't understand15:22
vilas/RC2616/RFC2616/15:22
smartgpxyou to say that I am prepared to accept this is a server15:22
smartgpxshortcoming, not failure in the webdav plugin.15:22
vilasmartgpx: well, if the server doesn't let us *create* files, there is little we can do...15:23
bialixjam: commit.py has 2 methods: _update_builder_with_changes, _filter_iter_changes15:23
bialixthe former invokes iter_changes15:23
bialixI can sort there15:23
smartgpxvila: Yes agreed. It's odd that I can create directories15:24
vilathe webdav plugin requirement is that the server implement a subset of commands that allows emulating a remote file system, a very rough file system, but a file system, so not being able to create files...15:25
smartgpxbut not files. And the IE 'web folders' client must have15:25
jambialix: consider the 'initial commit' case, where you don't supply any specific files, and it commits 10-20k files15:25
jamI don't want to wait to sort those 20k entries before we commit15:25
jamI'd rather have it just stream15:25
vilasmartgpx: that may be because directories are not really on disk but "collections" in DAV lingo, may be that server has some special purposes to begin with ?15:25
jam'specific files' is always going to be a fairly small list15:25
jambecause it is supplied by a human (most times)15:25
smartgpxa way of creating the files when it uploads them.15:26
bialixunless it supplied by our dumb qcommit15:26
vilasmartgpx: IE web folders ?15:26
Takyeah, md-bzr often specifies a large list of files as well15:26
bialixso what about to not filter is there is no specific_files?15:26
bialixor to not sort if len(iter_changes) > 100, say?15:27
jambialix: I really think sorting specific files is the 'right' approach15:27
jamand I even think it isn't too hard to do in the internals15:27
bialixjam: but they're sorted15:27
jamsearch_specific_files is a set15:27
jamchange that into a sorted list15:27
jaminside _iter_changes15:27
jamor submit a bug, and see if one of us gets around to it15:28
bialixunlikely15:29
bialixthis turns to be not 5-minutes fix, so I don't want to increase entropy15:30
bialixit's only for me the page https://launchpad.net/bzr loading toooooo long?15:31
bialixbecause of downloads links?15:31
bialixsheeze, 1718   Open bugs.15:32
bialixaccording to kfogel book number of open bugs is good sign, but I think it's actually Gaussian graph15:32
bialixjam: no sir, I'd keep myself from filing new non-critical bugs15:33
fullermdI can open a bunch if that'll help  ;)15:33
bialixfullermd: it does not help me15:38
jambialix: filed as bug #44638215:42
ubottuLaunchpad bug 446382 in bzr "commit with specified files does not go in lexicographical order" [Medium,Confirmed] https://launchpad.net/bugs/44638215:42
bialixjam: thanks15:42
bialixso fixing iter_changes will definitely provides benefits for other clients as status and diff15:43
hsnfastimport format can handle all bazaar features? i.e. tags and directory renames?15:45
bialixhsn: no15:46
bialixhsn: there was discussion in ML about extending fastimport format15:46
bialixyou need to ask Ian (igc)15:46
=== deryck is now known as deryck[lunch]
tsmithhey is there such a thing as bzr diff -r9..HEAD ?16:16
bialixbzr diff -r9..-116:20
Lo-lan-do"bzr diff -r9.." should be enough, no?16:21
idnarwhat is bzr cbranch?16:22
idnarsomehow the help text fails to explain what it actually /does/16:23
roychriHello fellow bzrers,  I am new to bzr and I have troubles.  I created a local repo (bzr init) added some file and committed.  I use "bzr push sftp://..."  and it created a folder on my remote server with folder .brz and no errors.  When I try to branch from the "http" version, I get bzr: ERROR: Not a branch: "http://example.org/code/bzrtest/.bzr/branch/".16:29
roychriwhere example.org is replaced with my actual site domain, of course.16:29
roychriAny ideas?16:29
bialixroychri: permissions?16:30
roychribialix: readable by all.16:30
bialixLo-lan-do: maybe, but in fact it's easier for git-man to remember that HEAD is -1 in bzr16:30
bialixroychri: can you open the URL in the error?16:31
bialixand see there format file16:31
roychriI see branch.conf but I do not see any file called "format"16:32
roychriby openiing the url16:32
roychriBut the branch.conf file is empty.16:33
bialixthat's the problem16:33
bialixwithout format file the branch is inconsistent16:33
roychrihmm16:34
roychriwhy would the "push" not put it there and not report any errors?16:34
bialixcan you check over sftp?16:34
bialixthat the file is there?16:35
roychriI am on the server with SSH.  Not there.  but it's in my local repo.16:35
roychriwait16:35
roychriit's there16:35
roychrisorry16:35
roychribut not listed on the web16:35
roychriok, I see the problem16:36
bialixpermissions?16:36
roychriI have an .htaccess file in one of the parent folder16:36
roychri<FilesMatch "...lots of stuf...|format">Order allow,deny</FilesMatch>16:37
bialixok16:39
roychrinice, thanks bialix :)16:41
roychriworks now.16:41
bialixhappy to help (TM)16:42
* bialix feels that quote is a bit incorrect, vila should know the right one16:43
vilabialix: *always* happy to help (tm) and the original author is jam (from my pov :)16:44
bialixright16:46
* bialix writes this on the wall16:47
Takjelmer: ping16:59
=== beuno is now known as beuno-lunch
=== deryck[lunch] is now known as deryck
vila. o 0 (threads... sockets... You're soooo funny... not)17:36
viladown to 50 tests leaking (from 2000 this morning) but.... --parallel=fork now hands......17:37
* vila cries17:37
vilas/hands/hangs/17:37
fullermdvila: Well, look at the bright side; if it's hung, it's not leaking   :p17:57
vilafullermd: Yeah, I thought that for a while and then... the idea that fixing socket and thread related bugs can trigger another one that seems so unrelated, but I just realized how I should balance join(timeout) to track such hangs (since each one is a painful bug)18:03
vilaand, well, I stopped crying :)18:04
bialixjelmer, lifeless: ohloh is failed to import bzr.dev branch: https://www.ohloh.net/p/bazaar/enlistments18:11
jamwell, I finally got up all of my static-tuple work up for review18:14
jamsplit into 6 easier-to-review proposals18:16
jamnow I just need to find someone who will actually do a review.18:16
bialixjam: nice post18:19
jfroy|workI have a branch of a svn repository that has a bunch of ghost revisions and some sha1 mismatches18:22
jfroy|workreconciling doesn't solve any of those things18:22
jfroy|workis there a way to clean things up, perhaps by replaying each commit into a new branch?18:22
jfroy|workI don't care about creating a new history -- I just want to preserve the content of the history18:23
bialixjam: why in purple branch you don't merge blue branch; according to your method it should be done, no?18:24
bialixoj, you merged green one18:25
bialixnice18:25
jambialix: they are independent features, both based on one earlier feature18:26
bialixI see now18:26
jam(use static tuples in chk map is independent of using it in btree index, but both require static tuples to exist first)18:26
Takjfroy|work: ugh, I've had that a couple of times18:27
jamwow, I've finally managed to have more commits in bzr than poolie. Not bad considering he had a 1500 commit head start :)18:27
* bialix dreaming about the tool of preserving annotations when only space changed inside the line18:27
jambialix: with the current code it would actually not be too hard to do18:27
bialixnot be too hard?18:28
TakI've transitioned to only dpush/pull/rebase with svn branches18:28
bialixaccording to soe theory if you drop any "no" and "not" you'll see the truth18:28
bialixtoo hard18:28
bialix:-)18:28
jfroy|workTak: I used bzr-svn 0.3 on that branch and every version since then, including development version18:28
jfroy|workSo I blame it on that -- pretty sure bzr-svn 1.0 is reliable now18:29
jfroy|workI just kind of want to start over with that branch w/r to bazaar (and I'm transitioning to a new svn repo soon)18:29
jambialix: well, define 'too hard', but there is 1 line of code that needs to be changed...18:30
jfroy|workmaybe I should just migrate using svn and filter out all the bzr-svn metadata out, but last time I looked at doing that, it didn't seem entirely trivial18:30
jamwell, 2 lines if you count word-wrap18:30
bialixlol18:30
jam_annotator_py.py line 14318:30
jam        matcher = patiencediff.PatienceSequenceMatcher(None,18:30
jam            parent_lines, text)18:30
jamchange that to something that creates matches ignoring whitespace18:30
jamand boom18:30
jamit is something I wanted to get to with annotation policies, etc18:30
jamthe code is mostly factored out to do so18:30
jamI just didn't finish it18:30
bialixcool18:31
jambialix: as a trivial example, you could do:18:32
jamhttp://paste.ubuntu.com/288759/18:33
jamwell, technically this: http://paste.ubuntu.com/288760/18:34
jamthe previous paste had a typo where I used parent_lines twice18:34
jamI'm not sure that ignoring whitespace changes completely is the right answer, since indentation is meaningful in python18:35
jamchange the .strip() to .rstrip()18:35
jamand you have one that ignores changes to trailing whitespace18:35
jamwhich would include \r\n => \n conversions18:35
bialixwell, in C identation is not so critical18:35
jamsure18:35
jamthus the change would be application specific18:35
jamthere are also those who feel you should do it via an AST18:36
jamsince changing18:36
bialixand even in Python if you change identation, it's not always you're new author then18:36
jamfoo = bar18:36
jamto foo = \18:36
jam bar18:36
jamalso is not a real change18:36
bialixyes, this is too18:36
bialixbut more complex18:36
jambialix: anyway, annotation is a fuzzy concept anyway. but if you just want to ignore whitespace, my patch should work18:37
bialix*nods*18:37
bialixalways when I think about this whitespace stuff I'm leaning to show 2 authors: original author and the second one who made whitespace changes only18:38
barryhi everybody.  i'm starting to play with bzr-pipeline and i'm stuck on something.  is anybody able to help me?18:40
jambarry: while usually I would refuse to help you on principle, right now I'm refusing because I need to get food. :)18:42
jambut when I get back I'll give you a hand18:42
barryjam: :D18:42
=== beuno-lunch is now known as beuno
bialixjam: ???18:44
tsmithwow! BZR 2.0 is out!18:50
jfroy|workmmm19:31
jfroy|workbranching lp:bzr/2.0 is stuck in "Finding revisions" slow mode19:32
jfroy|workand isn't on the fast stream fetching code path19:32
jfroy|workas far as I can tell anyways. I'm branching into a brand new 2.0 repo19:32
jfroy|worknevermind19:32
jfroy|workit just started19:32
jfroy|workI guess finding revisions takes a while19:33
jfroy|workcould use better progress though, if possible19:33
arkanes_whats the magic switch to get bzr to show tracebacks instead of  just "error"?20:01
bialixbzr -Derror foo20:03
arkanes_thanks20:03
=== jfroy|work_ is now known as jfroy|work
Noldorincan bzr handle symbolic links in repos?21:55
Noldorinand additionally, can it handles LNK files?21:56
bob2yes for symlinks21:59
bob2I guess yes for shortcuts, since they're just normal files22:00
Noldorinbob2: yeah, but i mean actually getting it to resolve the lnk file into the destination file22:02
sorenI'm trying to make use of the package branches on Launchpad. The package in question is of an upstream project that also uses bzr. Even though these branches share most of the current code, they share no ancestry. I would like to be able to get to the point where I can take the package branch, and merge from the upstream branch so that changes since the last sync point (upload of a new release to Ubuntu) get applied and nothing else.22:03
sorenI /thought/ I had done this..22:03
sorenI took the package branch, and did a "bzr merge -r 0..tag:RELEASE_someversion <upstream branch>".22:03
sorenThen I did "bzr revert .".22:04
sorenThis reverted all the code changes (which was basically a load of conflicts (presumably because bzr has internal file id's for the files in the individual branches)), but kept the merge marker.22:04
sorenI committed this change.22:04
sorenAt this point, I expected to be able to do a "bzr merge <upstream branch>" and end up with a branch with the changes between tag:RELEASE_someversion and tip applied.22:05
sorenHowever, the file id business came back to haunt me :)22:05
sorenIt basically reported everything as being a big conflict.22:06
sorenMy use of "bzr revert ." is new. I saw it in "bzr help revert". I've previously done something like this by doing "bzr diff | patch -p0 -R", but when I have to deal with conflicts, this does not give the expected results.22:07
bob2Noldorin: isn't that a job for your os?22:07
Noldorinbob2: it should be, yes. but this is windows we're talking about here :P22:08
sorenI suppose my question is: Is there are way to /really/ make bzr think that I've merged two branches (leading it to believe that files named the same are actually the same file, rather than remembering that they have no common ancestry and must as such be in conflict).22:08
fullermdsoren: Not at present.  Your problem is that you need a way to say 'these file-id's are the same file' (at the least).22:14
sorenfullermd: Right. Hm... That's a shame.22:16
tsmithhey22:17
tsmithin a nutshell waht's the major reason to upgrade from bzr 1.18 to 2.0?22:17
fullermdThere's discussion about it every so often, and there are proposals about it.  It's just a SMOP at this point.22:17
sorenfullermd: SMOP?22:17
tsmithsimple matter of programming22:17
sorenSimple Matter Of..22:17
sorenAh.22:17
tsmithhe's saying it's very possible but no one takes or has the time22:18
tsmithi'm firmly in the "has no time" category ;/22:18
tsmithmoney seems to help SMOP be resolved, from what i see lol22:18
sorenI understand.22:19
fullermdEverybody pretty much agrees in broad that it should be done.  It's just always a little ways down the stack.22:19
tsmithdoes bzr have the concept of "HEAD"? like what if i want to diff -r10 to r12 (HEAD) but don't know it's r12?22:20
sorenI can't even figure out a proper way to do it manually. :(22:20
tsmithit doesn't seem possible to do bzr diff -r10..HEAD22:20
sorentsmith: -122:20
sorentsmith: -1 references the last commit.22:20
tsmith-1?22:20
sorenYes. It indexes from the end of the list rather than the beginning.22:21
awilkinsOr you can use an open ended range22:22
awilkinsbzr diff -r 10..22:22
sorenTrue, true.22:22
tsmith-r120.. is taking FOREVER22:22
tsmithbut -r120..-1 was quite zippy22:22
awilkins(not sure if that diffs against TREE or TIP though22:22
tsmithwhat's the difference?22:23
awilkinsAh, is the tree pretty large?22:23
tsmithit has many branches and each branch is ~80 MB22:23
awilkinsTip will be the last committed revision, which is a known state. Tree would be your current working tree.22:23
awilkinsWhich it will have to iterate over to determine it's state22:23
awilkinsAlthough the dirstate stuff will help22:24
fullermdNeither will go to the tree.  That would happen if you did '-r120'22:24
fullermd'-rX..' and '-rX..-1' should be exactly equivalent.  Except when they're not.22:24
* awilkins believes fullermd but cannot see why r120..-1 would be faster than r120.. in that case22:25
tsmith-r120..-1 took 0.673s; -r120.. took 3.822s22:25
tsmiththe diffs are the same22:25
tsmithi did -r120..-1 first so it can't be memory cache22:26
fullermdIt's not impossible that it's doing something shupid.22:27
tsmithlike diffing every revision between 120 and 138?22:27
tsmithsoren, thank you very much for the -1 concept22:28
fullermdNo, but maybe something like building and walking the whole ancestry tree to figure out the latest rev.22:28
tsmithyeah my diskk was quite busy22:28
fullermdThough with 138 revs, unless it's a very broad history tree, that shouldn't take 3 seconds.22:28
fullermdUnless it had to suck it all in from disk, maybe.  What's it like with the cache all warmed from the previous run?22:28
tsmith0m0.641s22:29
tsmithalright here's a protip for everyone22:30
tsmithto have Linux trash your disk cache:22:30
tsmith sudo sync ; sudo echo 3 | sudo tee /proc/sys/vm/drop_caches22:30
fullermdSo, same order of actual _work_, but spun a lot on the disk loading stuff presumably unused for doing it.22:30
tsmithsame command w/o cache: 0m6.330s22:30
pingvenoHow do I branch at a specific revision of a branch?22:31
pingvenoAnother branch, that is.22:31
fullermdFile a bug for it, please.  That magnitude difference is way out of line.22:32
tsmithbzr branch -r22:32
fullermdpingveno: branch -rX $SRC22:32
mathepicbzr branch has a -r option22:32
tsmithlol that's a simple question ;)22:32
pingvenoFor revision?22:32
pingveno-r = revision22:32
mathepic-r specifies the revision number (--revision is its long one)22:32
awilkinsSee `bzr help revisionspec` for all the manifold ways of stating revision numbers22:33
mathepicYou also can find the option listed under "bzr help branch", but it tells you to see "bzr help revisionspec"22:33
pingvenoArg! This computer doesn't have bzr installed.22:33
mathepicDownload it. :D22:34
pingvenoI'm not the administrator on this computer. ;)22:34
pingvenoI wish my laptop was working...22:34
awilkinspingveno: Windows or Linux?22:35
awilkinspingveno: You can run it on either without admin rights22:35
pingvenoBoth. It's a hardware issue.22:35
awilkinsNo, "this" computer, what's it running22:35
mathepicDoes anyone know if its possible to get bzr cdiff working on windows or at least redirect it to bzr diff | colordiff (I have colordiff on cygwin)22:37
mathepicMight not be the right place to ask that though, since its from bzrtools22:38
awilkinsmathepic: there's  `bzr diff --using colordiff22:38
pingvenoawilkins: The keyword is "can".22:38
tsmithmathepic, i have an alias for "diff --using colordiff" nin my cygwin22:38
pingvenoPerhaps talking to the administrators would help...22:39
awilkinspingveno: If you have a need to do things with bzr to be productive... I see no issues with downloading it and running it from your home folder / windows user profile22:39
pingvenoawilkins: I'll be seeing the guys who do the server administration tomorrow, so I'm not particularly worried. ;)22:40
mathepicWhat happens if I aliase something to cdiff22:43
mathepicEven though its already there22:43
mathepicAlias seemed to overide it22:46
mathepicIts not finding colordiff22:47
mathepicI think its because colordiff is only available over bash22:47
mathepicIs there a way to make bzr recognize commands available from bash22:49
fullermdYou mean for bzr aliases to run external commands?  No.22:50
mathepicThats not what I mean22:52
mathepicI'm trying to alias bzr cdiff to bzr diff --using colordiff22:53
mathepiccolordiff is not an exe22:53
mathepicso it doesn't recognize it as a program when trying to use it as a diff backend22:53
fullermdWell, I presume it looks through the path.  A fully qualified path might work.22:57
fullermdDon't really know.22:57
johnflifeless, jelmer; ping23:06
lifelessjohnf: hi?23:07
johnfhowdy23:07
johnfso I wanted to discuss bzr packaging in debian and version numbers.23:08
johnfWas hoping jelmer would be around as well. Maybe I should send an email to the packaging list23:08
lifelessjohnf: you should23:16
pooliehello23:16
pooliehello lifeless23:16
lifelesshi poolie23:17
pooliehi jam?23:18
* spiv yawns23:27
fullermdThat 'waking up' thing will kill you yet...23:27
pooliemathepic: that should work, i'm not sure why not23:37
lifeless-> food23:38
mathepicIt doesn't find colordiff though - I checked /cygwin/bin and colordiff is not an exe23:38
pooliethere is a colordiff plugin you could try23:38
mathepicI'd prefer to make diff use my existing backend though23:40
pooliemathepic: please file a bug for it23:43
poolieit may be easy to fix23:43
mathepicOkay, I will.23:44
mathepicdo I file it in the master project (Bazaar VCS and Tools) or the main one (Bazaar Version Control System)23:45
mathepicnevermind, the master project doesn't bug track23:45
jampoolie: hi, I can't stay long, though23:47
jamthought I'd mention that the static tuple stuff is up for review23:47
jamin hopefully 'bite-sized' chunks23:47
spivjam: oh, nice.  You got LP code review to cope with that?23:50
mathepicOkay, I submitted the bug report23:50
zsquarepluscand there is a problem... i have a branch. it says its out of date and i need to use "bzr update" when i do it says i need to check some files in a hidden folder. but it leaves the lock set.23:53
mathepicexact message?23:54
zsquareplusci've deleteted the files, ran update -> error, break-lock, delete, update->error, break-lock... like 3 or four times until it stopped complaining and update actually worked :/23:54
zsquarepluscbzr: ERROR: This tree contains left-over files from a failed operation.23:55
zsquareplusc    Please examine <..>/.bzr/checkout/pending-deletion to see if it contains any files you wish to keep, and delete it when you are done.23:55
zsquarepluscmy complaint is that it leaves the lock set and that i had to repeat the procedure multiple times23:56
mathepicReport the bug23:56
pooliejam, just tell me the email address for your wordpress username?23:57
igcmorning23:58
igchi jam, poolie, spiv23:58
pooliehi igc23:58

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