/srv/irclogs.ubuntu.com/2008/04/04/#bzr.txt

poolietogether or separately?00:00
lifelessabout the 1.3 regression00:00
lifelesshttps://bugs.edge.launchpad.net/ubuntu/hardy/+source/bzr/+bug/208418/00:00
ubotuLaunchpad bug 208418 in bzr "ValueError when trying to pull/merge from a remote repository" [Critical,Confirmed]00:00
poolieyes me too00:01
pooliecall the meeting room then00:01
* spiv dials in00:01
beunovila, uploaded a few changes, hope they're fine with you  :)00:01
lifelessx`whats the page again00:02
lifelessgot it00:03
spivlifeless, poolie: http://people.ubuntu.com/~andrew/bzr-dbus-knit.tar.gz00:12
spiv"bzr pull bzr+ssh://bazaar.launchpad.net/%7Ebzr/bzr-dbus/trunk/" in that00:13
jelmerwoot, finally got bzr to authenticate over ftp using Kerberos \o/00:13
spiv"13.743  incompatible format signature inserting to KnitVersionedFile(file:///home/andrew/code/bzr-dbus.knit-1/.bzr/repository/knits/b7/test_hook.py-2007020603200:15
spiv729-2b5teqiwctqrfgei-8)"00:15
spivthat looks suspicious00:15
spivFrom the -Dhpss output, there's only two chunks been read.00:17
spivSo it's seeing an incompatible format chunk, and translating that, then falling over.00:17
spivAnd it happens on the first knit record.  (The first chunk read is an overall format header, IIRC).00:17
beunojelmer, around?00:19
beunojelmer, it seems to use Branch.get_config(), I need to pass a branch to it, so I have to check each time if there is branch or not. Won't that be a bit of a performance git?00:21
beunos/git/hit00:22
lifelessspiv: so, my bet is spot on ;)00:23
jelmerbeuno: I think it's pretty quick if bzrlib is already loaded00:26
jelmerbeuno: To be sure it may be useful to bypass that stuff if GlobalConfig() has nautilus integration disabled00:27
spivlifeless: what do you make of http://rafb.net/p/b2vAx192.html00:28
spivlifeless: it looks like maybe fulltext records are missing the int,int,int header?00:28
pooliejelmer: nice00:28
pooliere kerberos00:29
beunojelmer, let me give it a try...00:29
pooliespiv: well, itym the deltas?00:29
pooliethe deltas look like fulltexts?00:29
spivpoolie: each component should be (component_id, record, record_details, digest)00:31
spivHmm, well.00:32
spivthe first component has ('line-delta', False), but also has the int,int,int header line.00:32
spivThe final component has ('fulltext', False),00:32
spivIt seems to be iterating the components in reverse order.  And the second last one has 'line-delta', but is a fulltext.00:33
spivSo I guess that's why it's blowing up.00:33
pooliespiv: what routine did this come from?00:33
spivIt builds that components list using KnitVersionedFile._get_record_map00:34
spivbzrlib.knit:KnitVersionedFile._get_content_maps00:34
poolieit looks to me like the secondone is also a delta but does not have int,int,int headers?00:36
spivRight, but it hasn't got that far.00:37
spivBecause it's already blown up :)00:37
lifelessspiv: the '88,89,1\n',00:37
lifelessspiv: is the delta length header00:37
lifelessspiv: fulltexts are not meand to have one00:37
poolielifeless: so the first delta looks ok, but the others are not00:37
pooliespiv: what method is iterating the components in reverse order?00:37
poolieoh00:38
* poolie reads the backtrace00:38
spivpoolie: KnitVersionedFile._get_content_maps is00:38
poolieriht00:39
=== hexmode` is now known as hexmode
lifelessso lower_fulltext doesn't have a int int int prefix00:40
lifelessspiv: line 123 is the bug00:41
lifelessspiv: it claims 'line-delta' but it has a fulltext00:41
lifelessspiv: as you say above :>00:42
poolieof which file?00:42
lifelessspiv: so you need to look at what created the content maps00:42
poolieor of the pastebin00:42
lifelesspoolie: of the pastebin00:42
poolieright00:42
pooliei was really impressed for a second there :)00:42
spivlifeless: right, and ditto line 23900:43
spivself._index.get_build_details(['robertc@robertcollins.net-20070326022727-xatcyboet3na2p9d']) claims line-delta00:44
spiv(ditto for the other fulltext record)00:44
pooliespiv: could you pastebin the -Dhpss output if you have it?00:47
spivWhich asks the backing index for the _StreamIndex00:47
spivpoolie: coming up00:47
lifelessspiv: what is self._index?00:48
spivpoolie: http://rafb.net/p/vLuSj352.html00:48
schierbeckjelmer: ping00:48
spivlifeless: <bzrlib.knit._StreamIndex object at 0x88db2ec>00:49
spivlifeless: with a .backing_index of _KnitIndex(b7/test_hook.py-20070206032729-2b5teqiwctqrfgei-8.kndx)00:49
lifelessk00:49
lifelessthe backing index is in the target repository is it not?00:49
spivWhich has 'line-delta' in its self._cache00:49
* poolie looks at diff from 1.2 to 1.3 in knit.py00:50
spivlifeless: the one I'm pulling into, yes00:50
spivlifeless: the remote branch is in pack format00:50
lifelessspiv: is 'robertc@robertcollins.net-20070326022727-xatcyboet3na2p9d' in the local knitindex?00:50
spivlifeless: yes: http://rafb.net/p/nfa8B131.html00:52
spivlifeless: and, curiously, it's a line-delta in the test_hook .kndx file.00:53
lifelessspiv: well 'robertc@robertcollins.net-20070326022727-xatcyboet3na2p9d' in self._index.backing_index.versions() is easier :)00:53
spivSo, the kndx says line-delta.00:54
spivBut the component the code was dealing with in _get_content_maps looked like a fulltext.00:55
lifelessso, how did the component get there :P00:57
spivGar, pdb bugs.01:03
spiv--Call--01:03
spiv/usr/lib/python2.5/bdb.py:318: RuntimeWarning: tp_compare didn't return -1 or -2 for exception01:03
spiv  i = max(0, len(stack) - 1)01:03
spivLEAVING RECURSIVE DEBUGGER01:03
spivOh, right, because I tried to step into a generator.01:04
spivI've seen that pdb bug before.01:05
* spiv puts a breakpoint somewhere else01:05
pooliei'm going to try just getting the data stream for this file across hpss01:06
spivOk, I think I see part of the problem:01:16
spiv(Pdb) pp self._access.backing_knit.get_lines('robertc@robertcollins.net-20070326022727-xatcyboet3na2p9d')[0]01:16
spiv'# bzr-dbus: dbus support for bzr/bzrlib.\n'01:16
spiv(Pdb) pp self._access.backing_knit._index.get_options('robertc@robertcollins.net-20070326022727-xatcyboet3na2p9d')01:16
spiv['line-delta']01:16
spiv(Pdb) pp self01:17
spiv<bzrlib.knit._KnitData object at 0x88dc36c>01:17
spivI think that may be causing _StreamAccess.get_raw_records to return a fulltext with a 'line-delta' flag.01:17
* spiv rereads01:17
jelmerschierbeck: pong01:17
poolieget_lines is meant to return a fulltext though...01:17
schierbeckcould i get you to review the seahorse patches?01:18
spivHmm, maybe not.01:18
schierbeckincluding the gannotate crasher fix?01:18
schierbeckit can wait until tomorrow if you like01:18
poolieso we're working on file id 'test_hook.py-20070206032729-2b5teqiwctqrfgei-8' right?01:19
poolieafaics the only new version of that is 'jelmer@samba.org-20080319144357-o10479ukm9486mjc'01:19
beunojelmer, almost there  :)01:20
spivpoolie: that matches what I've seen.01:21
poolieso i have a reference to the remote knit, and to the composite knit used in pulling01:22
poolieam going to try to read the raw records from  both..01:22
poolieok, so, obviously, calling get_lines on the result of _knit_from_datastream fails01:23
pooliewhereas calling that on the vf obtained direct from the remote repository works01:24
jelmerschierbeck: I don't like the fix, I think we should rather pass in a branch and a repository01:24
jelmerschierbeck: since gannotate does have a repository and a repository is sufficient for retrieving the signatures01:24
schierbeckokay01:24
pooliei wonder if the problem relates to sharing the local index...01:24
spivUgh, pdb gets really confused by generators.01:26
pooliethey have the same index except obviously a different index_memo01:27
lifelesspoolie: get lines returns an output01:27
pooliewhat do you mean?01:28
lifelessmeh, sorry01:29
lifelessbad api - similar method names different levels01:29
poolie:) i think i said something to that effect last week01:29
poolieso i'm going to try to use the index memo to get the raw record in both ways01:29
poolieand see if they are plausible01:30
spivInterestingly, I'm seeing duplicated reads of knit records.01:30
spivHuh!01:31
spivI'm seeing different bytes for subsequent reads of one of the affected records...01:31
poolieipython yay01:31
spivAh, different index_memos.01:32
spiv(None, 3160, 743) vs. (True, 'robertc@robertcollins.net-20070326022727-xatcyboet3na2p9d', None, None)01:32
poolieinteresting01:32
poolieok, so In [73]: rcptknit._data.read_records([(missing_version, rcpt_index_memo)])01:32
poolieOut[73]:01:32
poolie{'jelmer@samba.org-20080319144357-o10479ukm9486mjc': (['88,89,1\n',01:32
poolie                                                       "            hook.on_server_start(['source'], 'target')\n",01:32
poolie                                                       '109,110,1\n',01:32
poolie                                                       "            hook.on_server_stop(['source'], 'target')\n"],01:32
poolie                                                      'aeb329edcf769738daaf07c22e921310551ff520')}01:32
pooliein other words, the composite knit for receiving the data stream _does_ seem to have the right delta at one level01:32
poolieit must be losing it later on01:32
spivWell, that particular version_id has had the rigth data all the way through, I think.01:33
spivWe seems to be seeing the mismatch on a record that's already present locally, I think?01:33
poolieoh fuck01:34
pooliegnome terminal crashed losing all my state01:34
spivpoolie: *suck*01:35
lifelessxterm01:35
lifeless+ screen01:35
poolieyeah01:35
poolieit had just sucked me into trusting it in hardy01:35
lifelessspiv: what did you think of my impotr hook01:38
spivlifeless: it looks interesting, but I haven't done much more than glance at it01:39
pooliespiv, so we think the bad version is eg 'robertc@robertcollins.net-20070326022727-xatcyboet3na2p9d'?01:39
spivpoolie: yes01:41
spivpoolie: (and 'robertc@robertcollins.net-20070427001748-ctalelbr21ggxkuh', but it's choking on the other one first)01:41
lifelessits not me I promise01:43
spivlifeless: :)01:44
spivSo fundamentally, I think the mismatch is read_records_iter is returning a fulltext, where _get_components_positions says it should be a line-delta01:44
poolieok, so calling remote_vf.get_data_stream gives back a gzipped record that does have delta markers within it01:45
spivThe interesting thing is that read_records_iter is recursing: the top-level one has a _StreamAccess, which calling get_raw_records on causes an underlying _KnitData.read_records_iter to be called.01:46
pooliebut at some later point they seem to be lost01:46
poolieone change in this since 1.3 is that we try to share structure among copies of the text01:46
poolieto avoid constructing new ones01:46
lifeless'oops'01:46
pooliei can't really see how it would happen, but maybe this is causing something that should have line deltas to have them edited out01:46
spivThe bottom-most read_records_iter does give back a line-delta record, but by the time it goes through the intervening layers it's a fulltext.  So I'm suspecting _get_components_positions isn't taking that into account?01:46
beunojelmer, sent the patch01:47
pooliei think it's somewhere there too01:51
schierbeckjelmer: i've sent in a new iteration of the gannotate fix01:54
pooliespiv: well, at some point it must be actually getting transformed into a fulltext01:56
poolieoh01:57
pooliehere's an idea01:57
pooliei have been assuming it's being passed back as the fulltext of that version01:57
pooliebut we haven't checked that's true01:57
poolieor i haven't01:57
poolieanyhow01:57
spivHmm!01:59
spivI think I have a fix.01:59
spivI'm not sure it's the right fix...01:59
spivpoolie: lifeless: http://rafb.net/p/FvWu4u73.html02:01
pooliei had been wondering about get_build_details02:02
poolie(why won't irssi do tab-completion on symbols? :)02:02
spivHmm, I think I maybe got the comment backwards.02:03
pooliewhat is index_memo[0] in this case?02:04
spiv'thunk_flag'02:04
spivpoolie: see the docstring on _StreamIndex.get_position02:04
pooliein what sense is it thunking?02:05
spivBasically, if that's set, then _StreamAccess.get_raw_records will unconditionally return a fulltext.02:05
lifelessspiv: IIRC getting the stack is kindof slow ?02:06
spivlifeless: yeah02:06
pooliemaybe we can rename it?02:07
spiv_StreamAccess.get_raw_records has a comment in the implementation that sort of explains the thunking.02:07
lifelessspiv: for debugging, it would be nice to give the call frame for the lock acquisition that hasn't been released.02:07
abentleylifeless: Is http://people.ubuntu.com/%7Erobertc/baz2.0/shallow-branch/ revno 3247 the most recent version?02:08
spivlifeless: yeah, that would be nice02:08
lifelessabentley: probably02:08
lifelessspiv: but we do lots of locking02:08
lifelessspiv: so the test suite would likely be visibly slower. any thoughts?02:08
spivYeah.02:08
spivDebug flag, I think :(02:08
spivI don't think we want this on all the time.02:09
pooliebecause of holding the call stacks?02:09
lifelessspiv: planning a debug flag already02:09
lifelessthanks02:09
spivHappily, with my -Dselftest_debug flag, you can set debug flags that won't be cleared by the test suite...02:09
poolielifeless: why slower?02:09
spivSo that's probably good enough.02:09
abentleylifeless: I have done some prototyping of the remote stacking default discussed in my email here: http://code.aaronbentley.com/bzr/bzrrepo/stacking-policy2/stacking-policy02:10
spivpoolie: just acquiring the current stack trace is relatively slow.02:10
lifelessspiv: how does that work ?02:10
spivlifeless: if -Dselftest_debug is set, then the "clear the debug flags" part of the test setup is disabled.02:11
spivlifeless: so I can do e.g. -Dselftest_debug -Dhpss and get nice hpss debug logs in test failures.02:11
spivI strongly suspect it will confuse any tests for debug.debug_flags itself, but as a tool for debugging individual tests rather than the whole suite, it's helpful.02:12
spiv(plus turning on debug flags that emit log output might confuse tests that are particular about the log output they expect)02:13
spivWell, tests pass with my patch.02:14
poolielifeless: of course the lock statement that is not cleaned up may not be the one that actually acquired the lock in the first place02:14
spivlifeless: any comments on my candidate fix?02:14
poolieso perhaps you should leave this for now02:14
pooliewow02:15
pooliethat is a bit messy02:15
lifelesspoolie: huh?02:16
pooliespiv: http://rafb.net/p/n0SGoV75.html02:16
lifelesspoolie: knowing who physically aquired the lock should be enough to debug things02:16
pooliei think that should be 'if from_backing_knit'02:16
lifelesspoolie: I am leaning towards leaving the warnings in place02:16
poolielifeless: surely in a test the filename of the lock will make it fairly easy to tell?02:16
spivpoolie: yeah, that would be clearer.  I don't recall why it tests that rather than the thunk_flag.02:17
lifelesspoolie: smart server threads?02:17
poolieotoh, for the gc warning, then knowing the allocating stack _will_ make it far more useful02:17
pooliesince right now the gc message is pretty hard to match up to a bug02:17
poolieotoh if it's slow you would not want it on by default02:17
lifelessright02:17
lifelesshow about I finish the code :P02:18
pooliespiv: how about http://rafb.net/p/dte0qf23.html02:20
pooliei'm a big fan of making the bug obvious before you fix it02:20
spivpoolie: +102:20
poolie(not actually tested, just in addition to your change)02:21
spivIt looks correct to my eyes.02:21
spivI'm fairly sure this is the bug.02:21
poolieyes it looks right to me to02:21
poolietoo02:21
spivI'm not sure why 1.2 didn't have this bug, I guess get_build_details has changed since then.02:21
poolieum, i wonder if the code at the bottom of get_raw_records, circa l2270 is right02:21
=== mw is now known as mw|out
pooliewhat is it doing with orig_options?02:22
poolieand why? :)02:22
spivIt's making sure orig_options has the right value ;)02:23
spivAnd then ignoring it :)02:23
pooliecan it do anything more useful?02:23
pooliei think not because it's the higher level index that says what the options will be, in here we can't really check it02:24
spivYeah, I think so too.02:24
pooliei actually think the orig options are none of our business..02:25
spivThis method smells a bit.  I guess it's meant to be somewhat temporary.02:25
poolieif the backing_knit returned a text that's good enough?02:25
spivYeah, I think so.02:25
poolielifeless: this is your code i think02:26
pooliethe handling just above that of final newline looks suspicious to me too02:27
poolieshouldn't that be handled inside get_lines?02:27
lifelesspoolie: sorry, I'm not tracking the conversation02:29
lifelesswhats up?02:29
pooliedo you have a sec?02:29
pooliewondering about the handling of orig_options in about line 227002:29
poolieand the addition of a final newline above that02:30
lifelesswhich file, what source code tree02:30
lifelessI mean, what branch02:30
poolieknit.py 1.302:30
poolieprobably unchanged in trunk02:30
lifelesslet me branch 1.302:30
poolieif that's easier02:30
lifelessI've spent the last three weeks changing this in trunk02:31
lifeless:P02:31
spivpoolie: I'm going to break for lunch now02:31
poolie:)02:31
lifelessif its anything to do with StreamAccess, andrew wrote the code02:31
pooliehttp://rafb.net/p/GRinMk31.html <--- 2nd hunk of this02:32
lifelessand john did some large scale restructuring02:32
poolieok, so02:32
pooliedo you think that patch is reasonable?02:32
lifelesshmm from_back_knit seems wastage02:33
lifelessthat should have just replaced the index object with a index that represents the backing object02:33
lifelessanyhow02:33
lifelesspoolie: you're commenting out some adaption logic ?02:34
* spiv is not quite at lunch yet...02:34
lifelessindex_memo has to stay opaque please02:34
poolieyes, i think it's dead code but it's attributed to you02:34
lifelessdon't call it a tuple of things, or ti stops being opaque02:34
pooliewithin this class it has that form02:35
pooliewill add a note to that effect02:35
lifelessyes, but the docstring is for the public interface02:35
lifelessan Index and an Access class are paired02:35
pooliesure02:36
poolieso, why does that code add a newline?02:36
spivI dimly recall there being some deficiency in the get_lines interface that made that necessary.02:37
spivSomething to do with the noeol flag, maybe?02:38
pooliesure02:38
pooliebut it seems to me that, hm, that should be handled by the backing knit02:38
lifelessso I think its attributed to me because of a move02:39
kgoetzis anyone aware of a bzr script/tool that opens up a diff in one pane (of emacs/vim) and your log edit window in the other when doin a commit?02:39
lifelesskgoetz: well, 'bzr commit --show-diff' will give you the diff in the editor02:40
lifelessyou could split the pane02:40
spivHmm, I definitely need some food.02:41
* spiv -> really lunch02:41
poolielifeless: ok i will kill it and see if it still passes02:41
lifelesspoolie: final eol issues02:41
kgoetzlifeless: thanks, i'll try it out02:41
pooliewe should really work out how to test for it02:41
lifelesspoolie: so, the low level storage does not have enough info to reconstruct a full text correctly, ever, without the index metadata02:42
poolieright :/02:42
kgoetzwow. ancient bzr doesnt have the switch :| *goes to find a newer version*02:43
lifelesskgoetz: improvements come over time; news at 11 :)02:43
jmllifeless: how do I uncombine threads?02:43
kgoetzlifeless: hehe :)02:44
lifelessjml: make a new thread, set appropriate last revisions02:44
poolielifeless: oh i remember: the problem with the gc warnings and tests (or one additional problem) is that now we just use short random nomes for the test directories it is very unclear even which test caused the problem02:47
kgoetzare backports build of bzr for feisty?02:48
poolieyes, in the ppa02:48
kgoetzthanks, i'll keep looking.  :)02:49
poolielaunchpad.net/~bzr/+archive i think02:49
poolieis it not?02:49
poolielifeless: so anyhow regarding EOLs02:49
poolieshouldn't self.backing_knit.get_lines(version_id)02:49
pooliereturn lines that either have an eol or not as appropriate?02:49
lifelesspoolie: interestingly; LockDir does not clear the nonce when it unlocks02:50
lifelesspoolie: backing_knit.get_lines() should yes02:51
lifelesspoolie: but if we're returning whats meant to look like a serialised record02:51
lifelesspoolie: then it has to have a trailing newline regardless02:51
lifelesspoolie: frankly, I think you're altering the wrong bit in this patch02:51
lifelessbecause its returning valid texts, with a single incorrect bit set AFAICT02:52
pooliethat's the point of +            if index_memo[0]:02:53
poolie+                # texts retrieved from the backing knit are always full texts02:53
poolie+                method = 'fulltext'02:53
lifelessexcept somehow we're returning line-delta for one of those02:54
poolieright02:55
poolieandrew's reasoning aiui is this02:55
pooliewhenever we get something from the backing knit02:55
pooliewe always get a full text02:55
poolietherefore our index should always say that it will be returned as a full text02:56
pooliethe separate issue i'm concerned with is whether it correctly passes through the noeol flag on lines retrieved from the backing knit02:57
lifelesswell, if the eol flag is wrong the md5 sum check will error02:58
lifelessthe noeol *flag* must be preserved unaltered02:58
lifelessthe last line of the lines returned must always end in \n except for an empty content02:59
lifelessbecause thats the serialised form02:59
poolieok03:00
poolieso, we add this so that the serialized form is correct03:00
poolieand the noeol option will be seen because the _StreamIndex.get_options passes through the option from the backing file03:00
pooliei might get lunch too and wait for andrew03:01
pooliebiab03:01
lifelessright03:05
lifelessthats how I read the code03:05
beunojelmer, I forgot to update news. Should I send a bundle to the list or just merge?03:18
lifelesspoolie: did you land the warning disabling patch ?03:26
jelmerbeuno: just merging is fine I think03:27
poolielifeless: i don't think so; at any rate i did not send it today03:31
pooliespiv: back?03:31
beunojelmer, done. Ping me if you need anything else on my end to get 0.94 out the door03:35
poolielifeless: can i bother you about this some more, or at least yammer in your direction03:38
lifelesssure03:38
poolieso get_raw_records to get it from thebacking knit03:38
lifelessdo you want voice?03:38
poolieis getting the lines, joining them, then converting that to a data blcok03:39
pooliehm03:39
poolieit seems like this is sometimes double handling but i guess making it faster is not the point here, just making it work03:41
pooliefor this bug03:41
poolieoh i see03:41
poolienm03:41
kgoetzlifeless: thanks for your tip earlier. its exatly what i'm after.03:42
pooliespiv, lifeless: so it seems to me that _StreamIndex.get_options is also wrong:03:46
poolieif we're going to return a record from the backing knit, i.e. by generating a fulltext record, then we must change the options to indicate that it will be a fulltext record - agree?03:47
moquistI'm new to bzr, and I would like to use it to help me manage my .bash* and .vim* files on several systems. I can't figure out how to pull/checkout/branch without getting my bzr-ed dotfiles in a subdirectory of my home directory. "bzr: ERROR: Target directory "./" already exists" is a message I'm not sure how to avoid.03:54
pooliemoquist: i think you, on the destination machine03:55
poolie| cd ~03:55
poolie| bzr init03:55
poolie| bzr pull --remember URL03:55
pooliewelcome to bzr btw03:55
moquistpoolie: hi. We spoke in an elevator at UDS-Montreal about you teaching me bzr someday. :)03:56
* mneptok waves from said city03:56
moquistpoolie: and thx.03:56
* moquist tries it out03:56
mneptokmoquist: personally, i would create ~/scratchdir and put your content in there. init bzr there. practice, get comfy, then init in your ~/ for actual usage.03:57
poolieoh, right03:57
pooliehi matt03:57
poolie^^ wise man :)03:57
mneptokmoquist: but then, i'm shy on first dates ;)03:57
poolieso actually, i keep my dotfiles in .bzrconfig and symlink them into my homedir03:57
* mneptok swoons03:57
pooliei'm not sure it's really needed03:57
mneptok*that's* the kinda talk i like, poolie :)03:57
poolieon the second date he brings his toybox though03:58
poolieor so i hear03:58
moquistmneptok: Well, I just learned today how to use bzr for managing source for a real project, and I'm more-or-less comfortable with merges, conflict resolution, etc. But I'm happy to work on a project in a subdir, so this was a confusion I didn't have to figure out for that. :)03:58
lifelesspoolie: that sounds plausible03:59
poolieabout mneptok, yeah03:59
mneptokmoquist: just a suggestion. i've been burned so many times i always play it safe. you know your needs and abilities far better than do i. do what suits your comfort level and needs. :)03:59
poolieor my patch?03:59
lifelessheh; what time did you start this morning :P04:00
lifelessboth I guess04:00
moquistmneptok: Oh, I appreciate the advice, and I'm thinking about it. And I'm thinking through my backups, and whether or not they're current, etc. ;)04:00
mneptokpoolie: only you get the toybox, big fella :)04:00
poolieabout 9 when steve called and said mdz was bitten by this bug04:00
pooliebut i started early and finished late04:01
poolieyesterday04:01
poolieso will have an early friday and take you up on that virtual ale04:01
mneptokdo bugs in bzr reflect the Ausiie nature of most of the dev team? like, are the bugs highly toxic, venomous, and capable of supersonic flight?04:01
=== Verterok is now known as guillo
poolieheh04:02
pooliedid you read the crocodile hunter's company is being charged with tax evasion?04:02
mneptok*that's* goota sting, Ray.04:02
mneptok*gotta04:02
pooliewe should rename KnitCorrupt, it usually means "your data is fine but we have a bug..."04:03
=== guillo is now known as Verterok
mneptokmaybe they'll change the daughter's name to Bindy Suit04:03
AfCGah. I wish I could supress the whole branch nickname thing.04:04
=== beuno is now known as beuno_
AfCIt always ends up being about three branches out of date after we've switched a few times.04:05
=== beuno_ is now known as beuno
lifelessit doesn't change when you switch ?04:05
poolieit may be a tree nickname instead? which would be a bug04:06
lifelessdon't think trees have nicks04:06
pooliejust a guess, if it is not working properly with switch04:06
pooliebut i think i remember seeing it really in the branch04:07
jmlmneptok: the Bazaar User Guide recommends shaking out your boots before using bzr.dev.04:08
jmljust in case.04:08
poolielol04:09
spivpoolie: yes, back.04:09
AfClifeless: no. I can't say that I blame anyone for what I thought, but I did sorta think it would switch to the last component of the branch URL I was switching to. [This is with bzr 1.3]04:09
AfCjml: :)04:09
mneptokjml: and all this time i thought that was to make sure lifeless wasn't hiding in there, optimizing your lacing routines04:10
mwhudsonbut lifeless is from kiwi-land -- surely his software should spew lava and pyroclastic flows all over everything?04:10
pooliespiv: see my scrollback about get_options?04:11
mneptokmwhudson: you should see the haka it makes when it segfaults04:11
spivpoolie: catching up atm04:11
pooliethis is my current overall diff04:11
pooliewe should think about writing a test for this04:12
spivpoolie: what you say about get_options makes sense to me.04:15
rockstar_I'm trying to use svn2bzr.py, and I'm getting an error on from bzrlib.clone import copy_branch because there's no module named clone04:18
poolierockstar_: i would guess the version of svn2bzr is too old for your bzrlib or vice versa04:19
rockstar_poolie, I pulled the svn2bzr from lp, and I've got bzr 1.1.0.candidate.1 installed04:21
pooliei meant to say, this is my current diff: http://rafb.net/p/bonbwZ20.html04:21
rockstar_Is there a branch outside the lp 'main' branch I should be pulling from?04:22
lifelessyou should only use the main branch there if you want a development version04:24
lifelessand its development versions work with bzr's development versions04:24
pooliei think we removed bzrlib.clone some time ago, do you recall?04:24
rockstar_Well, I couldn't find a released version of the script.04:25
rockstar_At least, not on the lp site04:25
poolierockstar_: the site says "svn2bzr is a tool to convert Subversion repositories into Bazaar 2.0 repositories. It does not currently have an active maintainer. You might be interested in bzr-svn instead."04:26
pooliebzr-svn does seem to be what most people use04:26
rockstar_That appeared like a bridge between a working svn and a working bzr branch though.04:27
poolieyes, it is04:27
poolieyou don't have a working svn server (anymore)?04:27
rockstar_Well, I do, but I don't want to use it.  Just want to convert the entire repo from svn to bzr and move forward on bzr04:28
poolieok04:29
poolieso svn2bzr may need a small update for the new api04:29
pooliecan i suggest you please file a bug at https://bugs.edge.launchpad.net/svn2bzr/trunk/04:29
pooliewith the full traceback04:29
poolieum04:29
poolieyou may have more success if you use an older version of bzr corresponding to that svn2bzr release04:30
spivpoolie: s/memors/memos/.  I agree with lifeless earlier comment that get_build_details docstring shouldn't say more than "opaque structure".04:30
rockstar_poolie, where's the current svn2bzr trunk?  I'd like to take a whack at fixing the bug.04:30
pooliethen (if necessary) upgrade04:30
pooliegreat!04:30
pooliespiv: agree too, was just changing that04:30
=== BasicMac is now known as BasicOSX
spivpoolie: I'm not certain if the change to get_method is 100% safe -- shouldn't it raise an error if the backing knit doesn't have that version?04:30
spiv(I can imagine it not mattering in practice, but we should be conservative with changes we're backporting)04:31
pooliespiv: good point, maybe i should change it to call my get_options and use that?04:31
spivYeah, that sounds like a good idea.04:31
spivOtherwise, that patch looks good to me.04:32
poolierockstar_: https://code.edge.launchpad.net/~niemeyer/svn2bzr/trunk04:32
spivWe just have to figure out what test(s) to write...04:32
lifelessyay04:34
lifelessERROR: test_lockdir.TestLockDir.test_20_lock_peek04:34
lifeless    Different number of acquired and released locks. ([<bzrlib.lock.LockResult object at 0x311ee10>], [])04:34
lifelessif I may04:36
lifelessI'd rather you guys didn't make too many changes here; just the minimum to fix the bug04:36
lifelessI'm in the business of overhauling this entire structure anwyay04:36
lifelessbut I'd be happy to take a list of 'we think X should be done' and I'll fold that into my loom04:39
pooliewell04:44
pooliei'll try to keep it focussed but i think a strictly minimal one line fix leaves trouble in the code-04:44
lifelessand indeed04:46
lifelesstest_20_lock_peek was leaving a physical lock in place04:46
poolieyay04:46
lifelessso a couple of commits and I'll send in this loom for review04:47
lifelessit may not be perfect; but its a good step I feel04:47
pooliegreat04:47
poolieso you are going to actually fix them?04:47
poolieor some of them?04:47
pooliespiv: so http://rafb.net/p/hPuGm457.html is my final patch, i think04:48
pooliewith your fix for get_method and better commentsn04:48
poolieneeds tests still obivously04:48
spivpoolie: still has the "memors" typo in a docstring04:48
pooliehopefully there are already some for the stream classes04:48
pooliethanks04:48
spivand slightly odd wrapping in the same docstring04:48
lifelesspoolie: no, I shall leave that for lesser beings04:50
spivpoolie: I think that patch looks good.04:50
lifelessit will now print out:04:50
lifelessBroken test test_20_lock_peek (bzrlib.tests.test_lockdir.TestLockDir): Different number of acquired and released locks. ([<bzrlib.lock.LockResult object at 0x33f9d10>], [])04:50
lifelesson left behind physical locks04:50
lifelessI think this is a significant improvement even if not 100% accurate.04:51
lifelessit may not be 100% congruent with the current stipple04:51
lifelessbecause I think its lockable files or something that does the current warnings04:51
poolieif we had selftest --strict it would be nice for it to trap these04:53
poolielike for tests to say "actually i kinda failed but i'll live"04:53
spivselftest --test-harder? ;)04:53
poolieelite mode04:54
pooliethe developer guide does i think say we want --strict04:54
poolie--fierce :)04:54
lifelesshmm04:55
lifelesswhat I've *done* is have -Dlock trap them04:55
lifelessand in future -Dlock should also get full backtraces of the acquirer04:55
lifelessanyhow, its a sonnet in two parts; reviews FTW04:56
spivSo, to test this fix... we can either try poking at KnitVersionedFile.insert_data_stream directly, or write a higher-level test that pack->knit pulling via streams works.04:56
spivThe key properties seem to be that the knit needs a line-delta record, and the format of the stream needs to be incompatible with the knit versioned file, triggering this code path.04:58
rockstar_poolie, it looks like the error I'm getting in svn2bzr.py has to do with the dump file I'm using.  It's trying to split on a line that throws a ValueError04:58
rockstar_'Node-path: ' can't split on ': '  It's not catching an empty value05:00
poolierockstar_: i thought you were getting an import error?05:03
pooliespiv: ok, are there any tests for such pulling already?05:03
lifelessrockstar_: bzr-svn has an import mode05:03
lifelessrockstar_: I think you will likely have better results with it05:03
rockstar_lifeless, yea, that was suggested too.  I just figured I could fix a bug while I was in here.05:05
spivpoolie: test_knit.BasicKnitTests has some test_insert_data_stream* methods.05:05
lifelessrockstar_: up to you :P.05:06
spivpoolie: I don't know of any similar tests at a higher level.05:07
lifelessthis is strange05:07
lifeless:!bzr annotate bzrlib/knit.py05:07
lifelessbzr: ERROR: exceptions.TypeError: sequence item 0: expected string, tuple found05:07
lifeless:/05:07
pooliei meant an error from an import statement05:07
poolieabove05:07
pooliejust going to branch and commit what i have05:08
pooliei find this creation of new singleton classes for each group of locks a bit gross05:09
lifelesssingletons ?05:10
poolie+hooks = PhysicalLockHooks()05:10
lifelessoh group of hooks ?05:10
poolieyes05:10
lifelesswell, its less text than putting staticmethod decorators on everything05:10
pooliewhy not just have them all on Hooks()?05:11
lifelessI actually like it, its very convenient, useful for testing and creating isolated state05:11
lifelessnamespaces are good, we should do more of them05:11
lifelessbut look, if you want to collapse them all into one, create a patch. *I* think it will be ugly, less modular, harder to extend and reuse.05:12
pooliehm05:12
poolieok05:12
pooliei think the problem is they are fragmented namespaces05:12
poolieafaik there is no way to find out about all the hooks that are active in bzrlib05:13
pooliesight05:13
fullermdSo, is it known that bzr.dev eats itself in some cases talking to bzr://, while 1.3 works peachy?05:13
lifelessre: introspection - you are correct that there isn't a single call you can make to find out about all the hooks05:14
poolieto the same version?05:14
fullermd  File "/home/fullermd/src/bzr/bzr.dev/bzrlib/remote.py", line 883, in _get_parent_map05:14
fullermd    assert type(key) is str05:14
fullermdAssertionError05:14
pooliehaving a namespace like "lock.acquired" is of course fine05:14
fullermdSame with bzr.dev and 1.3 acting as the server.  'bzr log bzr://localhost/...' works with the 1.3 client, and dies with a trace ending as above with bzr.dev.05:14
spivfullermd: that one is new to me05:15
lifelessthats a line I added05:15
lifelessto ensure correct api usage with a changed api05:15
lifelesswell, to catch incorrect api usage05:15
lifelessfullermd: can you file a bug with how to reproduce?05:15
poolielifeless: the other specific thing that bothers me is that reset_hooks() needs to know what specific class to create a new instance of05:16
lifelessfullermd: assign to me, I'll fix on monday or before05:16
poolieit's not very unreasonable for a test to do so05:16
poolieit just seems odd05:16
lifelessI don't see that a single class changes that05:17
lifelessit will still know the class to create :P05:17
lifelessdid you watch the paradox of choice?05:17
poolieno, there was a critical bug, you might have noticed :P05:17
pooliemay do it when this was done05:17
pooliemore generally,05:19
poolieif you have an object api, where the general api is that you're meant to operate on the object rather than rebinding the variable05:19
pooliethen needing to do so for this case seems unclean05:20
lifelesshow so - the object is the saved state05:20
fullermdlifeless: bug 211661, filed and assigned05:20
ubotuLaunchpad bug 211661 in bzr "bzr.dev smart client fails on log" [Undecided,Triaged] https://launchpad.net/bugs/21166105:20
lifelessthink of it as a register window rather than stack frame05:21
lifelessrather than copying everything to the stack frame, we just move the window05:21
lifelessand its all there waiting for us when we return05:21
poolieso the problem is: there's no standard way to save a group of hooks, clear them, and restore it05:24
pooliethere is almost a standard pattern, but it requires creating a new class for each one05:25
poolieinstance of a different class rather05:25
pooliebut it's ok, it's consistent with what we have05:25
pooliecan be cleaned up later05:25
lifelessso if I wanted to do it generically, I think I would do  saved_hooks = hooks; hooks = hooks.__class__()05:26
poolieright05:26
lifelessI think that it is fine to mandate a parameterless constructor05:26
poolieor you could have in the base class, hooks.make_empty()05:26
lifelessI don't know that that would be cleaner05:27
pooliemaybe not05:27
lifelessI want 'bzr p ull' to work. that is all.05:29
poolieif we hooked into zsh correction sufficiently well it might05:30
pooliethough i don't know if it ever suggests joining words like that05:30
lifelessbash <-05:30
lifelessspiv: http://bundlebuggy.aaronbentley.com/request/<20080228144229.GF3192@steerpike.home.puzzling.org> <- has that landed?05:31
ubotuNew bug: #211661 in bzr "bzr.dev smart client fails on log" [Undecided,Triaged] https://launchpad.net/bugs/21166105:31
spivlifeless: IIRC yes, let me check05:32
lifelessbb thinks it hath not05:32
spivHuh, interesting.05:33
spivSome of it has :)05:33
lifelesspoolie: btw, you said I had broken ReST in my plugin api patch, but rest doesn't think so. Why did you think I did?05:34
pooliei don't remember, where was the patch?05:36
lifelesshttp://bundlebuggy.aaronbentley.com/request/<1204283630.28682.40.camel@lifeless-64>05:36
lifelessbtw, the status heading I intend to keep because its consistent with other documents05:36
abentleypoolie: I've solved that merge bug.05:38
poolieway to go05:38
pooliespiv: my patch is in https://code.edge.launchpad.net/~mbp/bzr/208418-knit-parsing (not mirrored yet)05:38
spivpoolie: thanks!05:38
poolieabentley: I got a bb 500 error, just so you know05:40
pooliewill try again...05:40
abentleyPlease do.05:40
poolieit was "database is locked"05:41
poolielifeless: i thought there were column separators missing from your table05:42
poolieyou're welcome to keep a heading called "Status", I just want you to put some actual status information under it05:43
poolielike adding "this api is implemented in 1.2 and is stable"05:43
abentleypoolie: Well, that one might have been due to all the mail going through it.05:44
abentleyAt least, it's working, and I don't have any mail from the nanny-script.05:44
poolieok05:44
poolieis it just that only one process can use sqlite at a time?05:44
abentleyMany can read, only one can write.05:45
abentleyViewing the home page writes to some caches.05:46
abentley(line number count, for example)05:46
poolieright05:46
poolieso switching to pgsql should help this05:46
abentleyFiner-grained locking?05:47
poolieiirc it should allow multiple fronts to (apparently) write at once05:47
abentleylifeless: hbb?05:48
lifelesshypothetical bundle buggy05:50
lifelessk, thats 8 hours05:52
lifelessto keep robert sane, work shall cease05:52
bob2ETOOLATE05:54
abentleybob2: lol05:55
abentleypoolie: Could you do that "Bzr Developers" stuff?05:57
poolieoops, wrong channel05:58
poolie15:51 <poolie> spiv, so you're working on tests?05:58
poolie15:52 <poolie> spiv, lifeless: I'm wondering about starting to make a new release05:58
poolie               1.3.1 with just that change, before the tests are done05:58
poolie15:52 <poolie> with a view to getting it out at a reasonable time today05:58
poolieabentley: what stuff?05:59
abentleyI created a team called "Bzr Developers" so that it can own bzr, and I can join it instead of Bazaar Developers.05:59
abentleyThat way, I don't get mail about subprojects I'm not interested in.05:59
poolieok06:00
abentleyI made you the owner of Bzr Developers after I'd set up the profile.06:00
spivpoolie: I am06:00
pooliedo you think i shouldmerge this now?06:01
poolieand release it?06:01
pooliei guess i could at least call it 1.3.1rc106:01
poolieabentley: but isn't that what ~bzr is for?06:02
abentley~bzr is Bazaar Developers.06:03
pooliei see06:03
pooliea bit poorly named then06:03
poolieLaunchpad loves creating teams06:03
abentleyYeah, it's a bit ugly at times.06:04
abentleyI don't know how else to handle scads of people, though.06:04
jameshpoolie: would it really be any better if we called them ACLs?06:05
poolie:)06:05
poolieindeed06:05
pooliewell, it would have two differences06:09
poolieone is that they would not then have such visible names06:09
pooliethat might make it more confusing to be dealing with these anonymous objects06:09
pooliecertainly harder to give the same acl to different objects06:09
pooliebut otoh it would not cause lasting problems when people use the name ~bzr for what should actually be ~bazaar-devs06:10
pooliesecondly, it would raise the question of whether we want different ACEs06:10
jameshpoolie: I think providing a project-level namespace for branch aliases that is controlled by the project owner might be the answer here06:10
poolielike read/write/control access, or negative ACEs06:11
poolie!06:11
jamesheffectively an extension of the current lp:$PROJECT names06:11
pooliewell i agree with you, but i was talking more generally than just that06:11
spivpoolie: I don't see any harm in making a 1.3.1rc1 out of what you already have06:13
abentleypoolie: Could you also make ~/bzr-developers the owner of /bzr please?06:14
spivpoolie: if the only difference between the rc and final is adding some tests, then I think that's fine.06:14
pooliear06:16
poolieyes06:16
pooliegetting tired06:16
pooliejamesh: that might do06:17
pooliewouldn't those important branches normally be series?06:17
pooliemaybe not, they might be important feature branches06:17
poolieso should that right be restricted to project admins?06:17
poolieoh, owners06:18
jameshpoolie: would the old bzr.hpss branch have been a series?06:18
poolieso typically a team06:18
jameshor would you consider it not special enough to put in the project namespace?06:18
pooliejamesh: 1s06:19
poolieabentley: uh how do i do that?06:19
poolieoh06:19
poolie'change maintainer'06:19
pooliethere are too many similar names: owner/maintainer/author/registrant06:20
pooliesome have distic06:20
pooliesome have meaning and some don't06:20
abentleyI think owner/maintainer/registrant are the same here!06:20
poolie"change maintainer" takes you to a page headed "change owner" :)06:21
abentley"Change maintainer" link goes to "Change owner" and button says "Change registrant"!06:21
pooliethat's really funny06:21
spivabentley: bingo! :)06:21
pooliebug 20213506:22
ubotuLaunchpad bug 202135 in launchpad "Change project maintainer page also uses owner and registrant" [Undecided,New] https://launchpad.net/bugs/20213506:22
abentleyWell, at least people are noticing.06:22
abentleyOkay, looks like I can change the owner.06:25
pooliehm06:25
poolieabentley: might it not have been better to keep ~bzr as the owner of bzr, and make the new team for everything else?06:25
poolieand wasn't vila trynig to do something similar?06:25
pooliedid you talk to him?06:26
abentleyNo, I wasn't aware of vila's efforts.06:26
abentleyI'm not sure whether we can change the shortname of Bzr Developers easily.06:26
jameshthe team owner should be able to change its nickname06:27
jamesh(I think)06:27
abentleyYeah, looks like we can.06:27
abentleyShall I?06:27
abentleyOh, I can't change the shortname for Bazaar developers, which would have to happen first.06:28
abentleyAnyhow, Bazaar Developers, which everyone's subscribed to, should retain its memberships in other teams.06:29
pooliespiv: did your patch actually allow you to pull from 'bzr+ssh://bazaar.launchpad.net/%7Ebzr/bzr-dbus/trunk/'06:29
poolieit is not working for me06:30
abentleySo we can just swap the shortnames.06:30
pooliemy larger patch may have broken it06:30
poolieabentley: i'm concerned that will cause the ppa to move06:30
abentleyAren't PPAs associated with teams?06:31
AfCAnyone know off hand what we need to do to get Ohloh to support Bazaar? [no, not that it matters, but you know, its one of those things that can enhance visibility]06:31
poolieAfC: mail them and ask?06:32
abentleyI think right now the PPA hasn't moved, but if we swap the shortnames, it will.06:32
poolieabentley: yes that's what i meant06:32
cprovabentley: they get affected by renaming person/team06:32
spivpoolie: it gave me the same "branches have diverged" error as sftp:// did06:32
spivpoolie: whereas without it gave a traceback06:32
AfCpoolie: I guess so. http://www.ohloh.net/about/faq#sourcecontrol06:33
chandlercanyone familiar with bzr-svn?06:33
pooliespiv: with my branch I get06:34
poolieKnitCorrupt: Knit <bzrlib.knit.AnnotatedKnitContent object at 0xb75222ec> corrupt: line in annotated knit missing annotation information: need more than 1 value to unpack06:34
abentleypoolie: I believe we can copy stuff from one PPA to another, so we can do that if/when we change the shortnames.06:34
spivpoolie: hmm!06:34
spivpoolie: no, I didn't get that.06:34
abentleypoolie: Anyhow, thanks!06:34
poolieabentley: really my question is: why not remove ~bzr from everything but ownership of bzr?06:34
pooliewon't that give what you want?06:34
abentleyYes.  I assume other people want to stay members of other things, though.06:35
cprovabentley: or just request a sysadmin to rename the archive disk directory ;) you can have such privileges.06:35
chandlercwell, if anyone has any ideas, i'm getting a SubversionException Unrecognized URL scheme ... 17000006:35
abentleyIf they do, then we'd have to switch the team associations from ~bzr to ~bazaar06:36
abentleyAnd move a bunch of people there, too.06:36
chandlerchowever svn co on the exact same URL, so I'm fairly certain my Subversion is built with SSL Support06:36
AfCchandlerc: you are using the latest bzr and bzr-svn?06:36
chandlercbzr 1.3, bzr-svn 0.4.906:36
abentleyBut for me personally, that solution would be fine.06:36
spivpoolie: just to confirm, my simple patch works with a pristine copy of the knit repo for running "bzr pull --overwrite", where without the patch that fails.06:36
chandlercsvn is a weird 1.6 build06:36
chandlerctrying to be a 1.5 branch build of subversion now06:37
spivpoolie: I'm rereading your diff now to see if I can spot the culprit06:37
pooliespiv: that's odd, i don't even get the divergence error06:37
poolieand i'm using the tarball and url you cited earlier06:37
spivpoolie: odd!  I'm working with bzr.dev rather than 1.3, but that ought not make a difference...06:38
* spiv tries with poolie's branch06:38
pooliespiv: well a lot of stuff changed in knit.py since 1.306:39
spivpoolie: I can reproduce your error with your branch (after fixing a trivial bug in get_options)06:41
spivpoolie: merging bzr.dev into your branch makes no difference06:42
lifelesswell06:43
lifelesslooking up06:43
lifelessi think we should rename ~bzr to ~bazaar06:43
lifelessand ~bazaar-devs to ~bzr06:43
lifelessthen transfer objects, ppa etc across06:44
lifeless*or*06:44
lifelessrename 'bazaar developers' to 'bzr develoeprs' to match its original intent and make the new group the project-wide group06:44
pooliei agree with lifeless06:46
poolieand i prefer the second option, i think06:46
chandlercAfC: I don't guess that helped much?06:47
pooliespiv: so maybe i should apply your minimal patch to 1.3 and see what happens06:47
poolieand we can triangulate06:47
poolieor rectangulate06:47
spivpoolie: it's your changes to get_method/get_option, it seems06:47
spivpoolie: If I back those out, it works06:47
pooliechandlerc: jelmer may be on in a few hours06:47
poolieor you can file a bug at launchpad.net/bzr-svn06:47
spivpoolie: specifically, get_options06:48
poolieif you do not ultimately get a good solution06:48
pooliespiv: thanks!06:48
poolieoh06:48
poolieaside from anything else i should not be mutating that lisnt06:48
poolie(whatever my next project is it will be in a pure language :)06:49
AfCchandlerc: Sounds like you've got a stack trace to hand, so I'd suggest filing a bug. It might be something silly, of course, but it might just as likely be something real.06:49
abentleypoolie: Okay, I'll create a doppelganger Bazaar Developers with the name /~bazaar06:50
AfCthat "170000" sounded a bit weird, but depending on what you're doing [vs what you _should_ be doing] it could mean anything06:50
spivpoolie: ah-hah06:50
spivpoolie: that was the bug, well spotted06:50
chandlercAfC: k, i'm gonna try and roll back to svn 1.5 to be a little less bleeding edge, and if it happens then, i'll file a bug06:51
AfCas for Subversion, I've certainly never heard of 1.6; we're all still waiting impatiently for them to get off their asses and ship 1.506:51
poolieapache libraries like using large decimal numbers for errors iirc06:51
AfCchandlerc: good luck06:51
chandlercAfC: It's just a select revision of the trunk06:51
pooliewoo06:51
chandlercnot a real release.. i dunno why the hell its even packaged, but it was easier to get that 1.506:51
pooliespiv: that worked then06:51
pooliepackaged in what system? ubuntu?06:52
chandlercgentoo06:52
spivpoolie: yep, wrapping a list(...) around self.backing_index.get_options(version_id) fixed it06:52
chandlerchaving to scrounge for ebuilds... i need svn+https authentication, which seems to require at least 1.506:52
chandlercnot even a patched 1.4.606:52
abentleypoolie: The problem with that theory is that there's already a ~bazaar in Launchpad.06:53
abentleyThough it looks like a dead account.06:54
pooliewe could be a bit more explicit like ~bazaar-overall06:54
AfCchandlerc: I wouldn't recommend overlays under normal circumstances, but if you take the subversion ebuild from the bzr-gentoo-overlay thing lurking on Launchpad somewhere it will get you the necessary patches to svn for bzr-svn to work.06:56
chandlercAfC: that works, but doesn't allow full use of https subversion repo's i thought06:58
AfCah06:58
abentleypoolie: I called it bazaar-devs, but I'm happy to rename it.07:04
poolieok with me07:06
pooliespiv:07:06
pooliespiv:     * Fix a bug causing a ValueError crash when fetching revisions from a knit07:06
poolie      to pack repository or vice versa.07:06
poolie      (#208418, Andrew Bennetts, Martin Pool, Robert Collins)07:06
poolieaccurate?07:06
spivpoolie: accurate, but maybe also mention that it happens with the smart server07:07
spivpoolie: I don't think that code path is hit by other transports07:08
spivpoolie: depends on how much detail you want to cram into a single bullet point I guess :)07:08
poolieanything else?07:08
poolieno i doubt it07:08
pooliethought it is general code07:08
pooliespiv: can i say you will be helping me get the review queue down next week?07:16
spivYep07:17
johnnyis there a way to run loggerhead via fastcgi ? it's hard to tell with those start and stop scripts07:20
pooliejohnny: seems like it should be possible, mail the list or ask mwh for details07:25
chandlercAfC: I filed it here: https://bugs.launchpad.net/bzr-svn/+bug/211683 thanks for the help.07:27
ubotuLaunchpad bug 211683 in bzr-svn "bzr-svn crashes on branch with exception 170000" [Undecided,New]07:27
ubotuNew bug: #211683 in bzr-svn "bzr-svn crashes on branch with exception 170000" [Undecided,New] https://launchpad.net/bugs/21168307:35
poolie1.3.1rc1 is out07:37
pooliei'm going to sign off07:37
pooliethanks for your efforts, spiv and lifeless and everyone07:37
spivpoolie: great!07:37
spivpoolie: I'm learning more about the precise conditions thanks to trying to write a test case :)07:38
poolieok07:40
pooliethat sounds useful07:41
pooliecall if you want to talk about it07:41
spivthe conditions appear to be that the stream is delivering a line-delta record, whose parent is in the target, and also stored as a line-delta.  (And of course that the source and target have different format signatures, i.e. one is annotated and the other isn't).07:42
spivBut it's bit frustrating trying to reproduce that in test_knit, as you don't get much control over whether something is stored as a knit.07:44
spiver, stored as a delta.07:44
spivAh-hah, I have a failing test.07:46
spivAnd it passes with the fix.07:47
spivpoolie: ok, I should have this sent to the list in a couple of minutes07:47
spivpoolie: have a great weekend07:47
spivAnd that's me done for the day.08:09
=== doko_ is now known as doko
=== mrevell is now known as mrevel-afk
=== pmezard_ is now known as pmezard
=== mrevel-afk is now known as mrevell
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
ubotuNew bug: #131008 in bzr-svn "bzr-svn stores sqlite db in ~/.bazaar => REALLY SLOW on NFS" [Low,Triaged] https://launchpad.net/bugs/13100813:16
jelmerpushing to svn+ssh is now slightly faster than pushing over bzr+ssh13:51
=== BjornT_ is now known as BjornT
=== mrevell_ is now known as mrevell
=== mw|out is now known as mw
=== kiko is now known as kiko-phone
aantnhello15:46
aantnI seem to have gotten locked out of launchpad15:46
aantnhttp://rafb.net/p/amQNZj18.html15:46
james_waantn: run bzr break-lock sftp://branch a few times15:49
=== thekorn_ is now known as thekorn
=== hexmode` is now known as hexmode
aantnjames_w: thanks15:53
aantnthat did it15:53
cody-somervilleIs it possible to have branches within branches?16:00
james_wcody-somerville: so that the outer ones know about the inner ones?16:02
james_wor are you just asking if bzr will fall over if you make a branch in a subdirectory?16:02
cody-somervillejames_w, the outter ones known in the inner ones.16:11
james_wthey are called nested trees, or subtrees. bzr can do them, but you will probably find some very surprising bugs at this point.16:13
cody-somervilleOkay16:13
* cody-somerville is convincing his company to use bazaar over svn.16:13
* cody-somerville hopes he isn't shooting himself in the foot.16:13
LeoNerd??16:14
LeoNerdAre you just asking if you can branch a branch?16:14
LeoNerdIf so.. sure... branches don't really have topology16:14
LarstiQLeoNerd: no, if branches can contain branches.16:14
LeoNerdA branch is a container of a sequence of revisions16:15
cody-somerville...16:18
LarstiQLeoNerd: yes, but that isn't helpful in this discussion :P16:18
LeoNerdWell, I was still trying to understand the question16:18
LarstiQcody-somerville: you can certainly have branches within other branches, you require propagation as well I gather?16:19
LarstiQcody-somerville: are you using svn:externals (heavily)?16:19
LarstiQcody-somerville: or formulated differently, what prompts you to ask about this feature?16:20
cody-somervilleWe don't currently use svn16:20
cody-somervillebut we'd like to be able to pull sub-components of the system as well as the entire system16:21
LarstiQcody-somerville: right16:24
LarstiQcody-somerville: ah, you're evaluating both bzr and svn, but are using something else atm?16:24
cody-somervilleLarstiQ, I just got hired and they aren't using anything :/16:27
LarstiQcody-somerville: well, from the positive side, no need to worry about legacy!16:28
cody-somerville:)16:29
NfNitLoopcody-somerville: Ouch.16:34
ubotuNew bug: #211852 in bzr "bzr log should accepts multiple files" [Undecided,New] https://launchpad.net/bugs/21185217:16
xifhello17:41
xifcan I commit to an SVN repo with bzr?17:41
xifah, there's bzr-svn in the repositories17:45
* xif <3 Ubuntu17:45
seb_kuzminskyhi folks, i've got merging problems...  or maybe my workflow is just wrong for bzr18:04
seb_kuzminskyi think the root of my problem is lack of cherrypicking18:05
seb_kuzminskyi'm working on a project where the upstream repo is in cvs (boo, hiss)18:06
seb_kuzminskyi've checked out their tree and checked it into a local bzr branch called "upstream" in a shared repo18:06
seb_kuzminskythen i branched my upstream to "local",18:07
seb_kuzminskyand i'm doing all my development in my local branch18:07
seb_kuzminskywhen i have something ready to send back to them, i first merge it to my "upstream" bzr branch18:07
seb_kuzminskythen cvs commit the merged result18:07
seb_kuzminskyi dont always merge all of local into my upstream, instead picking one or a few particular "local" commits to merge to "upstream" and commit to their cvs18:08
seb_kuzminskythat's cherrypicking, right?18:08
seb_kuzminskythen next time i try to do a similar thing to the next lump of patches, the merge gets all confused...18:09
seb_kuzminskyanyone here?  maybe i should take this question to the mailing list?18:09
james_wseb_kuzminsky: that's cherry-picking yes.18:19
james_wseb_kuzminsky: you may be better off on the list.18:19
seb_kuzminskyok thanks james i'll try that18:21
=== kiko-phone is now known as kiko
awilkinsseb_kuzminsky: Have you considered using seperate feature branches?19:09
Stavroshello19:11
Stavrosi am trying to checkout a repo using bzr+ssh but i'm getting "unknown command: serve"19:11
Stavrosany ideas why that might be?19:11
beunoStavros, does the remote location have bzr installed?19:12
beuno(and, if it does, what version?)19:12
Stavrosbeuno: 0.8.2 :/19:13
Stavroscould that be it?19:13
beunoStavros, that doesn't sound like a bzr version19:13
luksthat's ancient...19:14
Stavrosstavros@menhir$ bzr version19:14
Stavrosbzr (bazaar-ng) 0.8.219:14
luksbzr didn't have a smart server back then19:14
Stavrosah :/19:14
Stavrosi'll ask for an upgrade19:14
rockstar_Using bzr-svn, I checked out an svn repository as a bzr branch, effectively converting the repo.  Is there a similar tool for CVS?19:22
seb_kuzminskyawilkins: that would probably help...  but i'd still have the same problem unless i could convert my workflow to only use "merge -r" with increasing revno's, right?19:49
=== phanatic_ is now known as phanatic
rockstar_I'm trying to move a project from sourceforge's CVS to Launchpad.  Is there a tool readily available that would preserve history and such?20:32
kgoetzperhaps the #launchpad ffolks if they have migration tools20:32
axesdoes the windows installer for bazaar install the necessary libraries for uploading to an SSH server?  The connection starts correctly, getting up to the rsa fingerprint, but then drops with "EOF during negotiation".20:34
kgoetzaxes: sounds like a key missmatch20:35
james_wrockstar_: there are a couple of cvs importers, I don't know which is best, I think cvsps-import is meant to be pretty good.20:36
axeskgoetz: It notifies me that the key isn't cached, but doesn't give me an option to override - is there a flag I can add to force it without the key?20:36
james_wbut as kgoetz says #launchpad may be able to give you a pointer as they spend a lot of time trying to import from cvs20:37
james_waxes: you can select what will provide the ssh somehow, I think an environment variable.20:37
james_wkgoetz: aren't you supposed to be playing games? :-)20:37
kgoetzjames_w: i'm multitasking :)20:38
axesjames_w: I'm not on a personal computer, so I'd prefer to use the built in libraries - the windows installer packages this functionality, doesn't it?20:38
abentleyjames_w, axes: Well, Launchpad uses cscvs, which is pretty stable, but not very friendly.20:38
james_wah, thanks abentley20:39
james_waxes: are you using pageant?20:39
abentleylifeless originally wrote it to import into Gnu Arch.20:39
axesjames_w: I'm not sure what I'm using, I haven't done any additional confiuration beyond installing.20:40
james_waxes: I'm not familiar with the windows version, sorry, but I know that paramiko is used, so you are able to use different ssh client libraries.20:41
james_wI don't know how it goes about finding and picking them on windows though20:41
james_waxes: http://bazaar-vcs.org/Bzr_and_SSH might help you20:41
axesjames_w: I'm going to try and manually install the paramiko and pyCrypto packages now (I'd think they came with the installer, but maybe not).  Also, it seems odd that it gets as far as it does in the connection and then fails, if the problem is a lack of an SSH library20:42
james_woh, I don't think it's lack of a client.20:42
james_wdo you need a key to access the server?20:42
axesjames_w: The server should accept any key, I'm hoping it'll ask for a password20:46
=== BasicMac is now known as BasicOSX
axesjames_w: Now I'm getting an error saying that a procedure entry point was not found in cygcrypto-0.9.8.dll...20:51
james_wouch20:52
xmahi #bzr21:23
blueyedjelmer: I'm looking at improving bzr support in etckeeper (which has been added in Debian) and especially the pre-commit hook. Do you have something new about this? I've thought about shipping a bzr plugin with etckeeper, but that seems bulky..21:23
beunois there anyway to ask bzr log for "all commits after X revid"?21:37
frskIs bzr log -r x.. doing what you want?21:39
beunofrsk, ah, it's bzr log revid:X...21:39
beuno(not quite, but made me think, thanks)21:39
frskD'oh, forgot he revid-part21:40
frskthe*21:40
NfNitLoopDoes anyone know if there is work being done on a Netbeans bzr plugin?22:25
NfNitLoopI've seen some online sources that say "Well, Mercurial did it, so it shouldn't be too hard..."22:25
NfNitLoopbut nothing beyond that.22:25
beunoNfNitLoop, not at the moment, no22:27
beunoVerterok was looking into it, but I believe he doesn't currently have the time22:27
ubotuNew bug: #211967 in bzr "bzr smart server should support hooks" [Undecided,New] https://launchpad.net/bugs/21196722:27
NfNitLoopI've been using Eclipse, but a project at work uses Netbeans and I miss bzr integration sorely. :)22:28
beunoNfNitLoop, well, maybe if you ping Verterok, he might regain interest in it  :)22:28
NfNitLoopVerterok: *ping*   ;)22:29
NfNitLoopI dunno, maybe I'll get interested in it. : )22:29
* beuno hides22:29
beunoNfNitLoop, well, if you do, Verterok can be very much of help to you, since he already went through the whole eclipse pain22:29
NfNitLoopI could have the time, but as much as I'd like to be the steward of some cool OSS, I alway seem to end up doing something else. :p22:30
NfNitLoopbeuno: aah, he wrote the Eclipse one?  I use it.  It's nice. :)22:30
beunoNfNitLoop, yeap, that's why he would be _the_ person to help you out with it22:30
NfNitLoopI imagine I might take the same approach, use bzr-xml to read any data that gets returned, and just call the bzr command.22:31
troi dunno if there are any devs around, but BZR ROCKS. and THANKS! it works as i expect it to, which is rare22:32
beunotro, it would be great if you could send a mail to the list with a few reasons why22:32
NfNitLooptro: isn't it?   "Hey, it's featureful AND makes sense!"22:32
troi love how i just moved the entire repo with a single bzr push22:33
NfNitLooptro: tar works too.  ;)22:33
NfNitLoop(and mv, while we're at it!)  :)22:34
troneat. i think the best part of it that i can unbind at any time and then rebind. i've got my repo on this really sucky slow server, so whenever it gets too slow, i just unbind, commit and bunch of revisions and bind/update/commit the next day22:34
NfNitLooptro: I pretty much stick to unbound dev, then push changes when I'm done.22:35
NfNitLoopthat way it's easy to keep my laptop, server & workstation all in sync.22:35
NfNitLoopbut checkouts are nice too. : )22:35
abentleytro: Glad you like it.22:35
troNfNitLoop: i'm afraid of losing my changes, though, so i like to sync at least once a day22:35
troanyway. thanks, guys! *back to coding*22:36
db-keenI've been using bzr branch and bzr push to work with svn repositories, I just noticed svn-import. Should I be using that instead of branch?22:55
bob2only if you want to import the entire sn repository22:58
NfNitLoopI assume if you branch from another svn-branch into a shared repo, it will share history (as much as svn allows?)23:00
NfNitLoop(even if you didn't svn-import?)23:00
NfNitLoopor, at least, I hope.  Since I've been working under that assumption.  ;)23:04
spivNfNitLoop: that's right23:43
blueyedjelmer: around? (re: etckeeper)23:57

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