/srv/irclogs.ubuntu.com/2010/06/16/#bzr.txt

lifelessdavidstrauss: probably a bug in directory resolution lookup, if lp:~pressflow/pressflow/merge-drupal-6.17 works00:00
* thumper is thinking of wikkid in GAE00:00
davidstrausslifeless: correct00:00
davidstrausslifeless: the plain url work00:00
lifelessdavidstrauss: you can replace lp: with bzr+ssh://bazaar.launchpad.net/ - and please file a bug00:00
lifelessthumper: I mean the entire stack in C00:00
lifelessthumper: plugins, UI, the lot.00:01
thumperoh00:01
thumperyeah, I agree that the runtime would be faseter00:01
thumperlifeless: do you know the policy of hg in this area?00:02
lifelessthumper: it used to be C only for some stuff; I know someone buitl python versions, but I don't know if they have a 'keep up to date' policy on them.00:03
davidstrausslifeless: bzr: ERROR: Unsupported protocol for url "ancestor:http://bazaar.launchpad.net/~pressflow/pressflow/merge-drupal-6.17"00:03
jelmerdavidstrauss: ancestor only works for -r00:03
davidstraussjelmer: it doesn't work for --old?00:04
lifelessoh, of course.00:04
davidstraussoh00:04
=== r0bby is now known as robbyoconnor
spivGood morning00:59
lifelesshola00:59
MrKeunerhi, is bzr completely integrated with nautilus? will I see which files are up2date recursively?02:58
pooliei think so02:58
MrKeunersomething like tortoise svn?02:59
poolieright03:00
poolieif you're on ubuntu you may want to install groundconttrol03:00
MrKeuneryes, Lucid here03:00
MrKeunerpoolie, I used rabbitvcs but it is awfully slow when the number of files is large03:01
MrKeunerdo you know if bzr is better handling massive number of files?03:01
pooliei'm not sure03:02
pooliei would probably not recommend using it with nautilus if you have a huge number of files03:02
MrKeuner20GB03:07
lifelessany pipeline users around?04:06
lifelessthumper: ?04:06
thumperyes?04:06
lifelesshow do you go forward/back a single pipe ?04:07
lifelessand all the way to the start/all the way to the end04:07
lifelessI have a loom patch from Aaron which changes up-thread to do --auto by default04:07
thumperbzr switch-pipe :first, :next, :prev, :last04:07
lifelessI'm guessing pipeline is similar ... ah04:07
thumperor bzr switch04:07
lifelesswithout knowing the names04:08
thumperswitch-pipe shelves and switches04:08
lifelesswhat about pump04:08
lifelessor whatever its called04:08
thumperpump doesn't change the current pipe04:08
lifelessno ?04:08
thumperbut pushes the change from the current pipe down the pipeline04:08
thumperit only switches if it finds conflicts04:08
lifelessdo you use pump a lot ?04:09
thumperit depends what I'm doing04:09
lifelessok04:09
lifelesshmm, I'll merge it, can see whether folk like it.04:09
* thumper nods04:10
thumperI've not used pipelines in the last several months04:10
thumpernot needed them04:10
thumperall my recent work has been simple04:10
thumperbut I find them great for bigger chunks04:10
thumperor to break out refactorings into a different branch04:11
lifelessoh yes04:11
lifelesstotally appreciate the use case04:11
lifelessI'm trying to learn about the common bits of their use with looms to make looms good too04:12
lifelessand asking happy users is a great way to do that, I think :)04:14
thumper:)04:18
lifelessspiv: how are you finding finding udd tasks at the moment?04:38
lifelessspiv: you were, IIRC, going to attempt a udd import -> loom converter04:39
lifelessspiv: and I have just finished a slightly painful merge so if you wanted to talk about such a thing, now would be a most excellent time for me04:39
=== jamesh_ is now known as jamesh
* lifeless takes a break06:00
spivlifeless: sorry, was at lunch and then focussed in finishing my patch for bug 59063706:47
ubot5Launchpad bug 590637 in Bazaar "use a socketpair to talk to the ssh client process (affected: 1, heat: 23)" [Medium,Confirmed] https://launchpad.net/bugs/59063706:47
lifelessspiv: no worries06:51
lifelessspiv: why do we expect that to behave differently ?06:52
spivlifeless: it's easier to do short reads on sockets06:58
lifelessso the theory is that ssh is filling up its tcp buffer because it can't hand off data to us in small chunks ?06:59
spivlifeless: something like that.  We aren't expecting miracles, but it seemed like a cheap thing to try, and in general less syscalls is a good idea.07:01
lifelessspiv: were we reading 1 byte at a time before, or something?07:02
spivlifeless: right (sometimes, depending on how much we could be sure should be on the pipe)07:02
lifelesskk07:03
spivIt turned out that the patch was a little bit fiddlier than I thought it would be, but it has helped me clean up a few messy corners of the code, so I'm happy with it on general principles :)07:03
GaryvdMHi all.07:05
GaryvdMPublic holiday today - So I can work on bzr \o/07:05
lifeless\o/07:05
lifelessrighto, break over, back to lums07:07
lifelessactually, caffeine supply. then looms07:07
spivAnd the patch lets us use the nicer socket code paths with paramiko now too.07:08
vilahi all07:22
vilaspiv: Is there an impact on the test servers ?07:22
spivvila: no, it's all client-side07:23
vilaspiv: ok07:23
vilaspiv: Quick chat about the smart server ?07:31
vilaspiv: It's running in the main thread when started with 'bzr serve' but in a background thread for tests right ?07:32
=== radoe_ is now known as radoe
spivTypically, yes.07:39
spiv(It's possible there's a test or two that runs it in the main thread, I don't recall for sure.)07:39
vilait's ok I can check for details there07:39
vilaspiv: How is it stopped ? (From a user point of view)07:40
vilaMore precisely, can it be asked to stop serving new connections while letting the current requests finish ?07:41
spivvila: How is "bzr serve" stopped?  Ctrl-C, or SIGTERM.07:42
spivAnd no, it doesn't yet have a "stop serving new but let current connections finish" feature yet.07:42
vilaha, ok, so the connection threads are just aborted then ?07:43
spivHmm, depends on if they are setDaemon(True) I guess, I don't remember.07:43
vilayes, they are daemonic07:43
spivSo, yes :)07:43
spivI think clean shutdown is a nice-to-have feature for a server, but you need to figure out what to do with very long lived connections/requests... in the end you probably just kill them anyway.07:44
spivAnd no-one has asked for it, so it's not a high-priority :)07:45
vilaYeah, I don't want to dive into that now :) I was just making sure I was understanding the current design07:45
spiv*nod*07:45
vilaI'm still wondering if I should use my new TestServerInAThread for SmartServer_for_testing or for the real thing, the former smells a bit like cheating (i.e. use a different code for tests as far as threads/sockets are concerned)07:47
vilabut since there is no big constraints on the real smart server I may postpone some parts and just focus on the tests07:48
vilaspiv: One more thing: digging the history didn't really explain why TCP_NODELAY is used for both the server socket and the connection ones and also why SO_REUSEADDR is used on windows07:54
vilaspiv: I ask more for curiosity than anything else and to ensure I don't need to care about it07:55
spivTCP_NODELAY because HPSS messages are currently written in a bunch of small writes07:56
vilaShould I do that unconditionally for all our tests servers ? This shouldn't hurt doesn't it ?07:57
spivi.e. the code has points at which it knows it is going to do multiple (probably small) writes with no delay between them07:57
vilaOr is there a risk to hide bugs doing that ?07:57
spivIt would probably be a little nicer to use TCP_CORK instead to buffer those, and then flush that buffer at the end of those sequences of writes.07:57
spivI forget exactly why we use SO_REUSEADDR on windows, but I do recall it means something subtly different on win32 to posix07:58
vilaYeah, too bad the comment is only: '# SO_REUSERADDR has a different meaning on Windows' :)08:02
vilanm, thanks for the tips08:02
vilahave a good evening, who knows, may be a dream will pop up with the explanation ;-)08:03
spivvila: https://bugs.edge.launchpad.net/bzr/+bug/16428808:04
ubot5Launchpad bug 164288 in Bazaar "bzr serve leaves connections in CLOSE_WAIT a *long* time (affected: 0, heat: 0)" [High,Fix released]08:04
spivvila: see also the NEWS entry for that bug08:04
vilaspiv: excellent !08:06
vilaverrrrry interesting08:07
spivvila: I would expect that's fairly uninteresting for tests, because tests should generally be careful to listen on free ports (via asking for port 0), so if the TCP stack thinks the old ports are still busy shouldn't matter...08:08
spivUnless of course the system has a very small transient port range, or something.08:09
vilaunless we start smart servers on port 4155... worth checking as this would explain the delays on windows08:10
vilanot holding my breath though08:10
lifelesswe do 2 I think08:10
lifelesspossibly not even that08:10
vilalifeless: ECANTPARSE 2: too ? two ?08:11
lifeless208:11
vilaas in 2 tests are doing that ?08:11
lifelessyes08:12
lifelessvila: we may not, but I think we have one or two smoke tests for it08:13
spivHmm, IIRC none of our tests rely on port 4155 being free.08:15
vilaok, I will run into them eventually anyway, but if there are only two that's not enough to explain the delays (which of course doesn't occur when a single test is run...)08:15
lifelessvila: that was my point ;)08:15
vilalifeless: ok, thanks08:16
spiv(even blackbox.test_serve uses localhost:0 as the host:port, and then finds out the actual port number via the server-started hook)08:16
vilaspiv: thanks for checking :) Oh, and sorry for the noise, I misread the code: we *don't* use SO_REUSEADDR on windows, never :)08:18
* vila hides08:18
lifelessspiv: win32 has socketpairs ?08:18
spivlifeless: no08:19
lifelesshow is it catered for here08:19
lifelessspiv: also the docstring on SSHParams is both ugly (PEP8 may mandate that double empty line; its wrong) but also inaccurate08:20
spiva) it falls back to subprocess.PIPE for stdin/stdout, and the old pipe-medium code path, b) many windows users will be using paramiko rather than subprocesses anyway08:20
lifelessspiv: I'm worried about the hunk @@ -737,26 +733,42 @@08:20
lifeless+        # XXX: Perhaps should use accept_bytes rather than _accept_bytes?08:21
lifelesswould like a little more context08:21
spivThe double-empty line is just a leftover from a earlier edit, thanks for spotting.  I'm tempted to just delete that docstring entirely, but maybe add one to the class instead of __init__08:21
spivFair enough.08:21
lifeless+        # XXX: perhaps should delegate to read_bytes, not _read_bytes?08:22
lifelesslikewise08:22
spivThe short answer is: it's ok to call _accept_bytes, at least with the current implementations of things, and avoids some (probably minor) overhead the public function.08:22
spivI'll just call the public methods I think.08:23
lifelessspiv: I meant in the code, for poor folk like you coming back in 3 months08:23
lifeless;)08:23
spivlifeless: well, deleting XXX > elaborating XXX :)08:23
lifeless:)08:23
lifelessI'm happy any which way08:23
lifelessthe _real_medium thing is a little unclear08:24
lifelessits not clear what makes a medium really a medium, or not a medium,08:24
lifelessI think that that should be clarified08:24
spivIf it's not big and not small it's medium ;)08:25
lifeless:P08:25
spiv"A medium is something that implements the contract of SmartMedium", or is that too circular for you?08:26
lifelessspiv: your NEWS entry should list all the publicish functions you are destroying, please.08:26
spivOk.08:26
lifelessspiv: I don't understand why a MediumX would delegate to a MediumY08:26
spivWell, as a separate NEWS entry under API Changese, I guess.08:26
lifelesswhen it previously was implementing Medium itself08:26
lifelessspiv: NEWS: naturally )08:27
spivFor ease of implementation08:27
lifelesswhat isn't clear is what is in SmartSSHClientMedium that isn't in SmartClientSocketMedium | SmartClientAlreadyConnectedSocketMedium08:27
vilamediums are most useful to communicate with dead things, which is why we need them :)08:28
lifelessfor instance, looking at the diff08:28
lifeless+    def _flush(self):08:28
lifeless+        """See SmartClientStreamMedium._flush().08:28
lifeless+08:28
lifeless+        For TCP we do no flushing. We may want to turn off TCP_NODELAY and08:28
lifeless...08:28
lifelessis on SmartClientSocketMedium08:28
lifelessbut the docstring is relevant to a subclass08:28
spivWell, sometimes this medium will have a pipe, and sometimes you will have a socket, and the SSHClientMedium doesn't know which in advance.08:29
lifelessso perhaps - you've rearranged things08:29
mgzmorning all08:29
spivI have rearranged things, and possibly some docstrings didn't quite land in the best spots.08:29
lifelessbut it needs a read-over to make sure that the pulled-up/pushed-down methods still refer to their actual classes08:29
GaryvdMhi mgz08:29
lifelessoverall it looks good08:29
spivOk, will do.08:29
lifelessI'm still concerned about the08:29
lifeless@@ -737,26 +733,42 @@08:29
lifeless    def _read_bytes(self, count):08:29
lifeless        """See SmartClientStreamMedium._read_bytes."""08:29
lifeless-        bytes = osutils.until_no_eintr(self._readable_pipe.read, count)08:29
lifelesshunk08:30
spivHeh, thanks for pointing that out just as mgz joined the channel ;)08:30
vilamgz, GaryvdM : \o_08:30
lifelessI don't see, if we keep the ability to use pipes, that we can delete that protection.08:30
lifelesshi mgz08:30
lifelessspiv: am I wrong ?08:30
spivThe SimplePipes medium that line was from was only ever used by the test suite, note real code.08:30
mgzah, I see the topic is more socket joy08:31
spivBecause the SSHClient medium was actually doing its own pipe IO logic08:31
lifelessspiv: won't the test suite, on windows, still use pipes ?08:31
spivEINTR is irrelevant on windows, windows doesn't have it.08:32
lifelessok08:32
vilabbib08:32
lifelessin which case, with all the questions I've asked, if you make the docs shiny and NEWS, +108:32
spiv(Also, we've been forced to fix EINTR the crude way: by not using signal handlers, so it's a bit academic anyhow :/)08:33
=== beaumonta is now known as abeaumont_
pooliehi vila, lifeless, spiv08:51
vilapoolie: hi08:51
lifelesshi poolie08:54
lifelesspoolie: I have good news and bad news for you08:54
lifelessthe good news is that the pqm test run successfully formatted and collated a broken test08:54
lifelessthe bad news is that it had a 43M attachment and choked on the MTA limit on the box.08:54
lifelesspoolie: I'd like to just raise the limit and supply a small follow on patch to gzip the stdout and stderr logs08:55
lifelesspoolie: but if you'd prefer I can also turn subunit off in bzr trunk, as agreed.08:55
pooliehi there08:56
pooliethanks for letting me know08:56
pooliei wonder if those large attachments will also be annoying to recipients of failing test runs?08:56
pooliethat's quite a lot to download on a pre-adsl2 link08:56
pooliebut i'm ok to persist until it starts actually hurting someone08:57
spivYou have to give spamassassin and amavis something to do ;)08:57
poolielifeless: i wonder if we should eventually perhaps strip non-failing test output?08:57
lifelesspoolie: We used too08:57
lifelesspoolie: its a contibuting factor to the test results being sometimes rather useless08:57
pooliestripping them is, or leaving them in is?08:58
lifelessI think its safer, given the requirements, to include everything08:58
lifelesspoolie: stripping them - the failure mode can include stripping too much08:58
lifelesspoolie: the body of the sent email has pyunit formatted errors08:58
poolieright08:58
poolieif eg there's extra output in the streaom08:58
lifelesspoolie: so in principle you can just ignore the attached stdout file.08:58
spivNot stripping them has the failure mode of being too large for someone to receive ;)08:58
pooliewell, we can leave that for later08:58
poolie:)08:58
poolievila did you see my pm?08:59
lifelesspoolie: so tribunal08:59
vilaI don't generally like partial outputs... on the other hand, I also generally *need* to reproduce locally...08:59
pooliehraspace is ruining my day08:59
lifelesspoolie: looks like you hadn't pushed to trunk in a while, for the merge proposal you commented on the other day08:59
lifelesspoolie: hraspace? allhands.c.c?08:59
pooliemm09:02
poolieand i have now pushed what you need?09:02
poolieor i still need to push?09:02
lifelesspoolie: trunk appears broken -09:02
lifeless     def on_test_started(self, test_id):09:02
lifeless+        pass09:02
lifelesspoolie: I think you have what I pushed, I'm doing double-checking now and will mark the mp as merged if it is the case.09:03
poolieoops09:03
pooliei may look at it after this09:03
lifelesspoolie: so you know, I've been hitting up on loom most of the day09:04
lifelessmgz: I'll be very happy to fix09:05
lifelessmgz: testtools and unicode09:06
mgzI'm still not caught up on the log...09:07
mgzwhat's that re:?09:07
mgz(^I gzip testrun output, bzr has a lot of tests, and a lot of output)09:07
poolielifeless: thanks09:10
spivIn NEWS, is the convention for (Some Person, #1234) to be on its own line, or at the end of the line if it fits on one line, or just wrapped any old how?09:12
spivOr rather, the at the moment we seem to be a bit inconsistent, so what should the convention be? :)09:13
poolieit does seem inconsistent09:15
lifelessI vote on the end if it fits, otherwise a dedicated line.09:15
poolieavoiding wrapping within the names sounds good09:15
lifelessbecause09:15
lifelessxxxxxxxxxxxxxxx09:15
lifelessxx09:15
lifeless(xxxxx)09:15
lifelesslooks really odd to me09:15
spivAvoiding wrapping seems nice for helping grep.  No-one (out of the three of us so far) have spoken in favour of always making a separate line, so I'll go with "on the end if it fits".09:17
spivI suppose we should document that, although it's the sort of docs no-one would read.  I guess the way to enforce that sort of thing is by adding a NEWS linter to the test suite...09:18
spiv(No, I'm not planning to shave that yak)09:18
lifelessspiv: why lint when you can merge.09:18
spivlifeless: a merge hook that rewrites sections that we're conflicting in the first place isn't totally optimal either :/09:19
spivs/we're/weren't/09:19
lifelessspiv: I think it would be beautiful :)09:20
lifelessvila - more loom love, for your enjoyment - https://code.edge.launchpad.net/~lifeless/bzr/loomsupport/+merge/27684 btw09:21
pooliespiv nobody will read the docs _except_ that in N months time it will make this conversation a bit shorter09:22
lifelesswhats the bet its in there already09:22
lifelessno, its not09:23
lifelessI'll send a mp in tomorrow09:23
pooliefor things where we don't care strongly but we do want it consistent i think it really helps09:24
lifelesspoolie: mail limit for pqm is now raised to 50MB pending a gzip patch09:25
pooliek09:25
pooliethis is an interesting case for supporting multiple mime encodings09:25
poolieyou want it to be not too much bigger for text09:25
lifelessI'm going to see about getting that patch tucked away tonight09:25
poolieand not too bad for binaries09:25
poolieso perhaps having the option for either qp or base64 is good09:25
pooliewhich one?09:26
lifelessit might be nice for text to just be gzipped09:26
pooliethe tribunal thing?09:26
lifelessgzip for pqm09:26
lifelesstribunal I'm nearly done checking09:26
pooliethe problem in tribunal is probably that i was profiling by selectively cutting things out09:26
vilaOh, I thought the convention was to have the (author, #nnn) on its own line09:28
vilaI'm ok for smart-wrapping09:28
pooliei think i dropped off09:32
lifeless20:26 < poolie> the problem in tribunal is probably that i was profiling by selectively cutting things out09:33
lifeless20:28 < vila> Oh, I thought the convention was to have the (author, #nnn) on its own line09:33
lifeless20:28 < vila> I'm ok for smart-wrapping09:33
lifeless20:31 -!- poolie [9665702c@canonical/launchpad/poolie] has quit [Ping timeout: 252 seconds]09:33
lifeless20:32 -!- poolie [9665702c@canonical/launchpad/poolie] has joined #bzr09:33
lifeless20:32 < poolie> i think i dropped off09:33
vilahmm, there is a good French joke about that but perfectly untranslatable :-/09:40
lifelessce la vie09:41
vilaYou'll have to trust me on this one :)09:41
vilac'est la vie :)09:41
lifelessgotcha09:41
lifelessI know you couldn't resist :)09:41
poolieok good night all09:53
lifelessciao09:54
GaryvdMlifeless: you said when reviewing my diff --using branch that test such as this one: http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/annotate/head:/bzrlib/tests/test_diff.py#L1310  should use sys.executable rather than 'python'.10:09
GaryvdM(may be it was jam - I can't remember10:09
lifelessboth of us, I think10:10
GaryvdMlifeless: Would it be ok if i rather used  'echo'10:10
GaryvdM?10:10
lifelessdoesn't exist on windows10:10
GaryvdMI think it does.10:10
lifelessI don't understand something though, we have glue for all this in bzrlib.tests.TestCase already10:11
lifelessdon't we ?10:11
GaryvdMlifeless: oh - ok - let me look at that.10:11
GaryvdMlifeless: I don't think so.10:20
GaryvdMlifeless: that test is trying to assert that a arbitrary diff command was executed, and that the file paths were passed to it, and that the output from the command is read.10:22
GaryvdMlifeless: In real life, the command maybe something like diff, or meld, but in the test, we can't rely on those being availible, so it currently uses python -c print...10:24
GaryvdMwhich could just be echo10:24
GaryvdMI'm going to dbl check on echo on windows10:25
lifelessGaryvdM: so10:25
lifelesswe have the following things available10:25
lifeless: - os stuff10:25
lifeless- bzr itself, including test commands (we have some already)10:26
lifeless- mocking, were we pretend we ran something - see the fake gpg support, for instance10:26
lifelessI don't see a great deal of value in actually running something, for your test, if we have a known interface for doing it in general.10:27
GaryvdMlifeless: btw - this is an existing test that I did not write. I just copied the style of it for additional tests.10:28
GaryvdM(I would like to try make it better though)10:28
lifelessok10:29
lifelessso perhaps:10:29
lifeless - make sure you don't increase whatever sin is there :) - refactor to use the existing style, good or bad, via a helper function rather than via copying10:29
lifelessthen, we can decouple your test from improving things that were already there10:29
lifelessvila: did you propose my broken branch to pqm ?10:34
vilalifeless: yes, to test mail10:37
lifelesskk10:37
vilalifeless: is that a problem ?10:37
vilakk10:37
vila:)10:37
lifelessI thought PQM had done something very naughty10:37
vilalifeless: sorry about that, it's only after sending it that I saw you just did10:38
lifelessde nada, only way for you to find out10:40
spivGaryvdM: there's no "echo" executable on windows -- but it is a builtin command in cmd.exe (and command.com for that matter)10:59
GaryvdMspiv: oh - I see10:59
spiv(or at least, that used to be the case when I used windows)10:59
spivSo I'd expect that subprocess.Popen(['echo', 'foo'], shell=False) would fail11:00
kostja_osipovhello.11:02
kostja_osipovdoes bzr gtk tools such as gcommit work on mac?11:02
kostja_osipovit says here11:02
kostja_osipovbzr: ERROR: PyGTK not installed.11:02
vilalifeless: bzrlib.version_info should be (2, 2, 0, 'beta', 4) not (2, 2, 0, 'beta', 3) right ?11:03
kostja_osipoveven though it is installed (with fink)11:03
kostja_osipovis there some sort of troubleshooting faq?11:03
jszakmeisterkostja_osipov: fink installs it's own version of python. :-(11:03
lifelessvila: when we release it, yes.11:03
lifelessvila: is it released yet ?11:03
kostja_osipovjszakmeister: so how does one fix it?11:03
vilano, but trunk never is11:04
vilalifeless: no, but trunk never is11:04
lifelessthats right11:04
jszakmeisterkostja_osipov: I'm not sure.  But I bet it's a lot of work.  Have you tried using QBzr?11:04
jszakmeisterIt works everywhere.11:04
kostja_osipovjszakmeister: qbzr doesn't support per-file comments, a feature we are using here at mysql11:04
jszakmeister:-(11:05
jszakmeisterI wonder if there are prebuilt libs out there...11:06
lifelesskostja_osipov: probably your python for bzr and your python for fink are different11:06
kostja_osipovlifeless, jszakmeister thanks, I got it11:07
vilalifeless: eerk, it should even be  (2, 2, 0, 'dev', 5) i.e not beta but dev, dunno for 5 though11:07
jszakmeisterkostja_osipov: just used the fink python version, right?11:08
lifelessvila: huh ?11:08
lifelessvila: put down whatever you are smoking.11:08
vilain lp:bzr we use 'dev' not 'beta' right ?11:08
lifelessvila: no11:08
lifelessvila: read releasing.txt11:08
lifelessvila: trunk is absolutely correct11:09
lifelessvila: nothing needs changing, its as per poolie's desire with the beta release approach11:09
vilahow do we distinguish between 2.2b3 released and trunk ?11:09
lifelessvila: we don't11:09
vilameh11:09
lifelessvila: I noticed this when I did the release a couple weeks back11:10
lifelessvila: I doesn't seem like a big issue given we're not treating them as we used to treat releases.11:10
lifelessvila: although opinions on that might vary :P11:10
* vila scratches head and goes on...11:11
lifelessvila: whats caught your eye ?11:11
vilalifeless: I was  merging 2.0 -> 2.1 -> trunk11:11
lifelessdid we sort out what we were doing with NEWS?11:11
vilaforgetting 2.2 by the way11:12
vilawell, the fact that we didn't release 2.0.6 makes things a bit more blurry as it's now unclear what was included in 2.1.2...11:12
lifelessvila: I think its clear, with what I did11:13
lifelessit wouldn't be with the other proposed approach.11:13
lifeless[which is why I don't like the other way :)]11:13
vilahold on, I may have missed what you did :)11:13
lifelessvila: I duplicated entries11:13
vilaDid you duplicate the NEWS entries ?11:13
vilahmm11:13
vilaso I should do the same when merging up them11:14
lifelesswell11:14
vilathen11:14
lifelessif there is disagreement we should resolve it11:14
lifelessall I'm saying is that I felt happy with what I did11:14
lifelessas it meant you don't need to chase pointers or worry about coherency if (say) 2.0.x (unreleased) gets released etc11:15
vilaI don't really disagree, I should re-read releasing.txt, it looks like I've missed this detail11:15
vilayeah, that's the first time we released 2.1.x without 2.0.y :)11:15
vilalifeless: I still had in mind the 'merge 2.0 into 2.1 into bzr.dev freely' policy11:16
lifelessvila: right, which I've been doing11:17
lifelessvila: I don't think that that policy has changed, has it ?11:17
vilawell, we need to duplicate the NEWS entries then or the RM will need to check and sort things out which would be a nightmare11:18
vilalifeless: I don't want to sound picky, but: releasing.txt doesn't mention 'dev', but the comment in bzrlib.__init__ says: "Additionally we use a # releaselevel of 'dev' for unreleased under-development code."11:22
vilalifeless: Also NEWS mentions 2.2b4 but we still have (2, 2, 0, 'beta' , *3*) in version_info11:22
lifelessnot picky at all11:23
lifelessthe former is a comment from before things changed; annotate to see :)11:23
vilabah, releasing.txt mentions 'dev' when *opening* for a new release :-/11:24
lifelessthe latter is as per the releasing.txt, which while I tweaked I didn't change process at all11:24
vilasure not throwing stones, but this sounds like a good occasion to clarify things11:24
lifelessvila: however there is every chance I got it wrong, because releasing.txt was really confusing.txt when I started the release process.11:24
lifelessvila: so if it should still be 'dev' according to releasing.txt, thats fine - but its not clear to me whether that is 'starting a new series' or 'starting a new point release'11:25
lifelessvila: and new point releases - going back to dev would be wrong sorting wise11:25
lifelesswouldn't it ?11:25
vilaoh my versions sorting... vade retro satanas11:26
lifelessvila: though I'm not looking at the tuple right now, so could be misremembering the order of the 'dev' string in it11:26
lifelessvila: now, for further entertainment, as per lp-code - pqm has been zapped11:27
lifelessvila: I've just sent another failure test.11:27
lifelessvila: I'm going to stay up long enough to see whether it goes boom or wins11:27
lifelessvila: but things will need resubmitted after that11:27
mgzokay, finally caught up with log11:28
mgzlots of windows questions, but they all got answered! crazy.11:28
mgzlifeless: I'm not sure what you meant specifically earlier with:11:28
mgz<lifeless> mgz: I'll be very happy to fix11:28
mgz<lifeless> mgz: testtools and unicode11:28
lifelessmgz: your patch.11:29
lifelessI wants.11:29
vilalifeless: so my submission was zapped, no need to chase if the mail was refused or not (irrelevant now anyway if your gzip patch works)11:29
mgzah, right, I'll see if I can resubmit something landable today11:29
lifelessvila: right11:29
lifelessmgz: what prompted that was, lets see11:29
vilalifeless: so let me know where you're at before you quit, thks in advance :)11:29
lifeless======================================================================11:29
lifelessFAIL: bzrlib.tests.test_setup.TestSetup.test_build_and_install11:29
lifeless----------------------------------------------------------------------11:29
lifeless'ascii' codec can't encode characters in position 33548-33550: ordinal not in range(128)11:29
lifelessvila: naturally11:29
lifelessvila: I'm going slightly mad o/~11:29
mgzehe, woho! I see.11:30
mgzwonder if testtools could grow some nicer UnicodeError handling as well, might be worth doing later11:31
mgzokay, my remaining todo list has:11:31
mgz* kill mbcs11:31
mgz* isbaseexception11:31
mgzI can probably do those before I go out around lunchtime11:31
lifeless\o/11:32
mgzI'll count * fix unicode wrapper as done, even though it probably needs looking at in review11:32
mgzurk, fencepost error, one hour less before I need to go than I thought, will have to wait till the afternoon to finish11:50
lifelessno worries11:52
CaMasonHi guys. I have a revision (about 5 commits ago) but I want to reverse the changes made at that revision. How can I do this?12:14
jpdsCaMason: bzr uncommit && bzr revert [--no-backup]12:15
CaMasonhow will that remove the changes from 5 revisions ago?12:16
jpdsOh, sorry; I read '5 minutes ago'.12:16
CaMasonah seems like I need reverse cherrypicking12:17
LeoNerdHrm.. I think there's a bug in bzr-svn currently. If I modify two files, "bzr st" and "svn st" can both see this. If I use  bzr ci  to commit just one of the files, suddenly both tools lose the ability to see the diff on the other file. bzr st, bzr diff, svn st, svn diff; none of them notice it; even though by manual diff I can see there is a difference12:19
spivCaMason: bzr merge -r -5..-6   (then bzr commit, if you want)12:21
lifelessLeoNerd: file a bug pkease, it sounds plausble12:21
CaMasonspiv, yup just did that :) Thanks12:21
CaMasonwell similar... bzr merge -r 5..412:21
spivGreat :)12:22
LeoNerdlifeless: OK... I've also found a "workaround of sorts"12:22
=== Meths_ is now known as Meths
LeoNerdlifeless: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=58609612:38
ubot5Debian bug 586096 in bzr-svn "bzr-svn: Partial commit breaks status/diff of uncommitted files" [Normal,Open]12:38
ciss_hi, i'm currently trying to sync a local repo with an older version on a server. problem is, while the server version crlf line endings, the local files all have lf, making a reliable sync close to impossible. what steps are necessary to make bazaar convert the current revision of the local files to crlf?12:44
ciss_"local repo" = local revision12:45
ciss_the server files aren't versioned12:45
ciss_awfully sorry, i meant to say "... while the server version _has_ crlf line endings ..."12:46
lifelessvila: ping13:04
vilalifeless: pong13:09
lifelessvila: status13:09
lifelessof pqm13:09
lifeless * the gzip patch worked but13:09
lifeless * mail is 7bit13:09
lifeless * new patch deployed with base64 encoding as well13:09
lifelessvila: can you please:13:10
lifeless * test that it works (e.g. with my broken branch)13:10
lifeless * specifically that the pqm-stdout.gz file you can be gunzip'd successfully13:10
lifeless * and piped through subunit-stats happily13:10
lifelessif it can't - or put another way, if you don't get a useful diagnostic back from the error, please ask mthaddon to pull --overwrite lp:pqm13:11
lifelesshowever13:11
vilayup, broken submission sent, I'll wipe my patch on subunit to test13:11
lifelessthe body of the email had a fine error in it for me - after all the skips13:11
lifelessso even though the gzip file was busted, I could diagnose ok13:11
lifelessIts my fond hope that nothing will be wrong at all.13:12
lifelessI'll sync() with you in ~ 7 hours. Thanks!13:12
* vila crosses lifeless fingers13:12
lifelessvila: it should be ok; it passed unit tests, does what the code jml used does just less pre-canned (so does not need file on disk) and the formatting of the error into the body worked ok for me.13:15
lifelessso all in all I think its in a good place.13:15
spivlifeless: sounds good!13:15
lifelessspiv: \o/13:16
lifelessspiv: it was particularly fun seeing13:16
lifelessen_G:__a* [.utf8-nodocs] ETror 113:16
lifelesspre-t] Rit hook faes)d with UTrorot]de -253 at W)d Jun 16 12:49:05 201013:16
lifelesscome out of gzip :)13:16
vilalifeless: :)13:17
vilalifeless: meh, bzr diff --old lp:bzr/2.2/2.2b2 --new lp:bzr/2.2/2.2b3 outputs nothing, did you forget to push ?13:28
vilalifeless: some goes for bzr diff --old lp:bzr/2.2 --new lp:bzr/2.2/2.2b2 and bzr diff --old lp:bzr/2.2 --new lp:bzr/2.2/2.2b313:29
lifelessvila: I didn't touch 2.213:29
lifelessvila: 2.0, 2.1, trunk13:29
lifelessbecause 2.2 isn't interesting till rc's, AIUI13:29
vilayou didn't release 2.2b3 ?13:29
lifelessvila: I did, off trunk.13:29
vilahmm, so we don't have a valid lp:bzr/2.2/2.2b3, can live with that, I will merge 2.1 directly to trunk then13:30
vilalifeless: I got weird conflicts until I realized the 2.2 branch hasn't been updated13:31
lifelessvila: It was my [incorrect?] understanding that that branch was vestigial until rcx13:32
vilalifeless: well, my feeling is the same than for the 'dev' in version_info: how do we know what version was used (in a bug report) and how to we reproduce, more specifically I ran into the issue because I use local mirrors of lp:bzr/x.y and use them for my integration branches...13:37
vilas/how to/how do/13:37
lifelessI may well have done the wrong thing13:37
vilanothing serious, but we may as well clarify, I'll try to summarize in a mp13:40
=== idart_ is now known as idart
mthaddonvila: we seem to have come across a problem (rob thinks it's a bzr 1.17 bug that's manifesting in pqm) - https://pastebin.canonical.com/33521/ - any ideas if we should just bzr pull --overwrite the local version with the version on LP?13:54
vilamthaddon: it depends on the environment: is this bzr specific to a given project ? Are there plugins that may need to be updated to ?13:56
mthaddonvila: it's currently using bzr 2.1.3dev (recent update)13:57
vilamthaddon: plugins aside, it's generally safe to upgrade bzr to stable releases, the latest being 2.1.213:58
vilamthaddon: meh, 2.1.3dev ? What's that ? lp:bzr/2.1 ?13:58
lifelessvila: yes it is14:00
lifelessvila: easiest way to get it, and no important changes14:00
lifelessvila: the thing being pulled would be the funky branch, not the bzr version, for clairty14:01
lifelessvila: I'm off to bed, gl14:01
vilalifeless: ok, sleep well14:01
vilamthaddon: the 'bzr%2Bssh/trunk-2a' looks funny, do you have a path like that locally ?14:02
mthaddonvila: it's "bzr+ssh" locally14:03
vilamthaddon: my question is whether it's really the path you want to use or some url (point to a smart server) badly interpreted as referring to a local file14:04
vilas/point/pointing/14:04
mthaddonvila: we just define workdir=/srv/balleny.canonical.com/chroot-ubunet/home/pqm/pqm-ubunet-workdir - pqm does the rest - but it actually seems to be processing for the moment, so not sure if it was a transient error14:05
vilamthaddon: maybe a typo in the offending submission ?14:06
mthaddondon't think so, but it's possible14:07
lifelessvila: the urls are irrelevant14:07
lifelessvila: sorry, I really need to crash but you're chasing a ghost14:08
lifelesspqm has url escaped stuff to make a file path14:08
vilaok14:08
lifelesswithout being subject to .. hacks or other noise14:08
lifelessfocus on the exception14:08
vilamthaddon: what are the branches involved here ?14:08
lifelessvila: its the target branch pqm was checking out to14:09
lifelesssuspected14:10
lifelesspossibly the whole thing is a random glitch caused by a bzr version upgrade while the old pqm version was working14:10
lifelessand we can totally ignore14:10
lifelessOTOH possibly its real14:10
vilalifeless: but I still have no idea about *which* branches are involved ! Nor even which project it is we are talking about...14:11
lifelessI'm suggesting checking known spurious reports of this error - we had a bug like that, and also validating that the master branches can be cleanly branched to e.g. /tmp14:11
vilaon my keyboard batteries are low !!!14:11
lifelessvila: do you need to know to examine an exception like this?14:11
vilanew batteries14:14
vilalifeless: Well, I need to know what bzr version is used and which branches are involved :) Or nothing if it's transient14:15
lifelessmthaddon: how long ago was 13:20 bst ?14:15
lifelessmthaddon: or utc, or whatever balleny is on14:16
parthmif i have a RevisionSpec or rev_id string ... what would be a good way to get a Revision object? i want get rev.parent_ids.14:16
mthaddonlifeless: 40 mins14:16
mthaddonwell, 3514:16
lifelessmthaddon: so, the bzrlib change was 6 hours or so back14:16
lifelessmthaddon: I don't think its likely that the u1 pqm was uninterruptedly busy for that long ?14:17
mthaddonlifeless: this submission by beuno was the first in 15 hours14:18
lifelessok14:18
lifelessvila: 2.1.3 from lp:2.114:18
lifelesslp:bzr/2.114:18
lifelessvila: that was the only version involved that we know of14:18
lifelessI really have to sleep 1:20am14:19
lifelessgoodluck14:19
lifelessnote that the branch no longer exists14:19
lifelessits in the pqm work area, so was rm -rf'd about 39m back14:19
lifelessbut the source branches on the local disk and on lp do exist14:19
lifelessand tom can check/branch test etc them for you14:20
lifelessusing either the system bzr or the bzr pqm uses.14:20
lifelessciao14:20
* lifeless crashes14:20
vilamthaddon: can you find the associated traceback in some .bzr.log ?14:21
vilamtaylor: trying to rule out some more ghosts: the local repository is not shared between several projects or pqm instances right ?14:23
mthaddonnope, the on disk location is only used by this pqm instance14:24
parthmnevermind. got it. repository.get_revision.14:24
vilaparthm: hi !14:24
parthmvila: hi :)14:25
vilamtaylor: sorry, xchat tricked me :(14:25
vilamthaddon: so,  backtrace and branches or are you waiting to see if it was transient ?14:26
mthaddonvila: still waiting to see if it was transient - thx for the help so far, will let you know if it's still a problem14:27
lifelessvila: please look back at recent bugs14:28
lifelessI'm *sure* there was a bug where we spuriously said NoSuchRevision on new pack files or something like that14:29
lifelessI have a nasty suspicion we only fixed it in 2.214:29
lifelessand if thats the case bzr and u1 are going to be hitting it a lot on pqm14:29
vilaoverlapping auto-packs ?14:32
vilathe other ones I've found are about upgrading14:33
ciss_is there a safe way (without committing) to check if bazaar regards the eol rules defined in ~/.bazaar/rules?15:56
jelmerciss_: bzr cat --filters I think16:01
jammorning all16:04
ciss_jelmer, thanks, works16:08
ciss_i have a branch that uses lf for line endings. i've added the rule "crlf-with-crlf-in-repo". how can i convert all files to crlf?16:11
jelmerhi jam16:13
jelmerciss_: bzr revert perhaps?16:13
jelmerciss_: (no idea, just guessing)16:13
jamciss_: 'bzr remove-tree ; bzr co .' ?16:14
ciss_thanks for the suggestions, i used an export (i need to sync the branch with unversioned files from a production server)16:27
ciss_how do i remove all *.pl files from versioning, no matter what sub directory they're in? i tried "./**/*.pl" and "*.pl", but neither worked16:47
=== davidstrauss_ is now known as davidstrauss
glen__hello, i'm trying to bzr add a bzr repository within another repository17:33
jelmerglen__: I don't think that's possible at the moment17:34
jelmerglen__: at least, you can't version the '.bzr' directory17:34
glen__when i run bzr add the repository, nothing is output and after that bzr stat still tells me the repository directory is unknown17:34
glen__ah, thanks jelmer, i didn't realise that17:34
glen__i'll remove .bzr and try again, i've got the other repository versioned elsewhere17:34
jelmerglen__: ideally it would add a reference to the other branch - the support for that is partially implemented, but not finished (hence the strange error about it changing to a directory)17:34
jelmerglen__: alternatively you can use "bzr join"17:35
jelmerthat will join the two branches while keeping all the history they had when they were still independent branches17:35
GaryvdMjam: I'm finally looking at my diff_using_gui branch. I've fixed some of the problems with the tests. I want to now add a registry of good defaults.17:45
GaryvdMjam: Do I need to be using something like bzrlib.registry, or can I just put them in a dict?17:46
jamGaryvdM: diff_using_gui? You mean external diff programs?17:46
jamYou can certainly use a dict, bzrlib.registry is mostly about having key:object pairs17:46
jamand allows stuff like lazy definitions of the objcets17:46
jamobjects17:46
GaryvdMjam: which I don't really need.17:46
jamGaryvdM: if you know your 'values' are always going to be cheap, then you can probably just use a dict17:47
jamthe main things you'll want to do is make it somewhere that other people can get to it17:47
jamif you want them to be able to extend it easily17:47
GaryvdMjam: ok thanks.17:47
jam(eg, don't put it as a dict inside of a function, make it a Module level or Class attribute level dict)17:48
GaryvdMjam: ok17:48
GaryvdMjam: I plan to also all for config file entries17:48
GaryvdMand a Module level dict will allow for plugins to add p17:49
jamGaryvdM: right. You might also want to consider where you put that dict17:49
jamso that plugins can update it without having to import your whole codebase17:50
jam(see the current discussion about Hooks in bzrlib)17:50
GaryvdMjam: yes17:50
glen__jelmer: thanks jelmer, i'll remember bzr join in future :)17:55
GaryvdMjam: Thanks for the pointers. It's allways good to discuss be coding. :-)17:55
GaryvdM*before17:55
=== beuno is now known as beuno-lunch
=== beuno-lunch is now known as beuno
lifelessgood morning20:42
lifelessvila: hi20:42
vilalifeless: I got no mail at all for the broken submission :-/20:46
vilalifeless: But I got success mails though20:47
lifelessvila: did the pqm change get rolled back?20:47
lifelessI'll try sending error through again20:48
vilalifeless: not that I know of, since they successful submissions worked I just keep using it20:48
bcurtiswxany reason why i can't bzr branch lp:empathy ?21:31
lifelessno, its just there to tease you21:31
bcurtiswxi get a connection error21:31
lifelessbcurtiswx: :)21:31
bcurtiswx"unexpected end of message"21:31
lifelessbcurtiswx: that sounds like a ssh login error21:32
lifelessbcurtiswx: what happens if you 'ssh yourusername@bazaar.launchpad.net'21:32
bcurtiswxpermission denied (publickey)21:33
bcurtiswxneed to update my ssh key... maybe?21:34
lifelessif you've changed it :)21:34
bcurtiswxi am using my laptop, so i just need to add this one.. have my desktop one.. that would be it21:34
lifelessor21:35
lifelessyou could have the same private key on both21:35
lifelesswhatever works for you21:35
bcurtiswxyeah i could i guess21:35
lifelessvila: still around ?22:15
lifelessvila: if so, do you happen to know a pattern like (loom Loom switch) that will get all the tests loom affects with bzr ?22:15
lifelesspoolie: I realise you're on the phone; queue this for when you're not. Is there a bash/zsh way to say 'the value of variable X if its set, otherwise LITERAL' ?22:56
lifelessI don't spend enough time *in* my shell to remember such things22:56
lifelessor a ternary operator would do22:57
fullermdI think there is for both...22:58
lifelessfullermd: I have vague memories22:59
lifelessbut no details22:59
fullermdLooking around some sh scripts I see some stuff like23:00
fullermd: ${clamav_clamd_enable="NO"}23:00
* fullermd glances at the man...23:00
fullermd${parameter:-word}    Use Default Values.  If parameter is unset or null, the expansion of word is substituted; otherwise, the value of parameter is substituted.23:01
lifelessfullermd: so a ternary operator would be better23:01
lifelessI want to say23:01
lifelessPYTHONPATH=$PYTHONPATH *or* don't supply PYTHONPATH=23:01
fullermdWell, the above could give you an empty string.  Since it works on an _expansion_ rather than a literal value, it's possible you could somehow finagle an unset in...23:04
poolielifeless, man zshparam23:04
pooliethere is one but i don't recall off hand23:04
lifelessthanks23:04
fullermdYou could use short circuiting.23:05
fullermd$PYTHONPATH && PYTHONPATH=$PYTHONPATH or something23:05
fullermdRepetitition is ugly though.23:05
lifelessfullermd: also fragile when constructing a command string to execute :)23:05
lifelessI suspect it would run '&& bzr'23:06
lifelesssorry, '&& PYTHONPATH= bzr'23:06
fullermdWell, we want bzr run as many places as possible, right?   :p23:06
poolieit's like ${PYTHONPATH:/usr/lib/python}23:06
lifelessthanks guys, thats enough for me to go on23:06
lifelessI'll stash it in a bug23:06
poolie${name-otherwise}23:07

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