/srv/irclogs.ubuntu.com/2009/07/23/#bzr.txt

jml Launchpad uses Bazaar  1.17.00:08
lifelessgrats00:08
mwhudsonjml: yay00:13
jelmerlifeless: I think I may've missed something - where would that be necessray?00:18
jelmermwhudson: hi00:19
lifelessjelmer: test suites ask the test result whether to stop00:19
lifelessto allow aborting a run early00:19
jelmermwhudson: It was interesting to finally see the lp code :-)00:20
jelmermwhudson: I noticed a trivial thing that could be fixed, lp:~jelmer/launchpad/default-rich-root00:20
* jelmer looks again00:20
mwhudsonjelmer: oh i suspect i didn't fix that because it would actually downgrade all the bzr-git branches now00:21
jelmermwhudson: it would only affect new ones, but that's a good point..00:21
mwhudsonjelmer: if it's the change i think it is, not true00:22
mwhudsonlaunchpad rollout issues, full attention in a bit :)00:22
* SamB wonders where launchpad is rolling to00:23
spivmwhudson: it's this change: http://bazaar.launchpad.net/~jelmer/launchpad/default-rich-root/revision/8303 :)00:25
mwhudsonjelmer: http://bazaar.launchpad.net/~jelmer/launchpad/default-rich-root/annotate/8303/lib/lp/codehosting/codeimport/worker.py#L6500:26
spivjelmer: also, congrats, that's probably the first launchpad branch from a non-canonical LP dev that I've seen :)00:26
jelmermwhudson: ahh, sorry00:28
mwhudsonjelmer: np, the comment is misleading00:28
mwhudsonjelmer: also the code should probably be changed to do a reimport rather than an upgrade for the brisbane-core transition00:28
jelmermwhudson: yeah00:29
igcmorning all00:36
jelmerhi Ian00:36
lifelessmwhudson: why reimport?00:40
lifelessmtaylor: perl!00:40
mwhudsonlifeless: (a) quicker probably (b) the packs imports have squashed commit messages00:41
mtaylorlifeless: muah!00:41
mtaylorlifeless: question on "best" way to figure out a specific chunk of bzr data...    I have a local branch... how do I find the GCA between the local branch and the submit branch? (like, the rev from which a revision bundle would start)00:44
mwhudsonthere's the ancestor: revspec00:45
lifelessmwhudson: will it get the same revids? if so, and the root conversion isn't identical to the conversion logic, then its a problem00:47
mwhudsonlifeless: yes00:47
mwhudsonlifeless: they're in rich root already00:48
lifelessmtaylor: as mwhudson says. do you want command line or python?00:48
lifelessmwhudson: ok, if they are already rich root its fine00:48
mwhudsonlifeless: i'm only talking about bzr-git imports here00:48
mwhudsonlifeless: not cscvs ones00:48
lifelessmwhudson: converting from packs should be faster than a reimport btw00:48
mwhudsonfor bzr-git00:48
mwhudson?00:48
lifelessI'd expect so00:48
mwhudsonanyway, the fidelity is the real reason00:48
mtaylormwhudson, lifeless: ah - sorry - irc client misbehaved. command line00:48
jelmerlifeless: last I checked an import from git is faster than an upgrade00:49
lifelessjelmer: thats surprising00:49
lifelessmtaylor: do you want the revid or revno?00:49
lifelessmtaylor: there is --show-base to some commands00:50
mtaylorlifeless: well, I think both would eventually be nice ... but revid would be probably more useful00:50
mtaylorlifeless: on the other hand, if I need to use bzrlib to do this, I can live with that00:54
lifelessmtaylor: so, for the specific case of where a bundle will start at00:54
lifelessI think its00:54
lifelessbzr revision-info -r submit:00:54
lifelessmtaylor: also, perl!00:55
jelmerlifeless: upgrade seems to be a lot better now00:56
jelmerlifeless: unscientfic tests: bzr-git 8s, upgrade 5s00:57
mtaylorlifeless: that gives me ... hrm.00:58
mtaylorlifeless: that just gives me my head revision00:59
* mtaylor looking further...00:59
spivpoolie: good morning.01:01
pooliehello spiv :)01:01
pooliehello lifeless, all01:01
jelmerhi poolie01:02
garyvdmHi poolie01:02
mtaylorlifeless: so, I think revision-info is giving me the right thing from one perspective- I think it's giving me the GCA of the local branch that it shares with the remote...01:04
mtaylorlifeless: but what I want is the GCA in the context of the remote branch...01:04
mtayloroh wait01:04
mtaylorlifeless: nevermind... /me smacks self in head01:04
spivjam: ping -- want to review my inventory-delta branch?01:06
garyvdmWhen you do a merge, is the revision that is used to get .BASE the same for all files, or can it be different?01:18
lifelessby default the same01:18
lifelessbut there are options that can make it different01:18
garyvdmLike a different merge type?01:19
lifelessyah01:19
garyvdmIs it the same with --lca?01:20
SamBso ... how come "bzr upgrade" to --rich-root-pack or --2a seems to go nearly to the end of the progress bar pretty quickly, but then stay near the end for a long time ?01:26
lifelessI'm not sure garyvdm01:26
lifelessSamB: Possibly incorrect phases, or that a single logical step has more work to do01:26
garyvdmlifeless: I need to investigate that for something I'm doing for qbzr, and figure how I'm going to handle --weave...01:27
SamB[#################\  ] Copying content into repository.:Transferring revisions01:27
garyvdmlifeless: As allways - Thanks for the pointers01:28
* SamB wonders what causes the bar to stop spinning01:28
lifelessask instead what makes it spin at all01:28
pooliehello lifeless01:34
SamB6611.394  Auto-packing repository <bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0x8cf81cc>, which has 15 pack files, containing 15000 revisions. Packing 10 files into 1 affecting 1000 revisions01:36
igclifeless: thanks. Raised as bug 40327201:42
ubottuLaunchpad bug 403272 in bzr-fastimport "bundled hg-fastexport exception re changelog.count" [Undecided,New] https://launchpad.net/bugs/40327201:42
* garyvdm is writing a reply to "Nubee question"02:11
SamBwhat was that Pyrex alternative?02:11
SamBCython?02:11
lifelessyes02:11
JoaoJoaohello02:15
JoaoJoaois there a command to rename a bzr branch02:16
JoaoJoao?02:16
spivJoaoJoao: typically "mv oldname newname" on your filesystem does the trick :)02:17
spivJoaoJoao: or is this a branch on launchpad?02:18
JoaoJoaospiv, that doesn't work when I'm using shared repos + lightweight checkouts02:25
jmlJoaoJoao, there isn't a command for that: it's a bit of a pain02:36
JoaoJoaohmmm looks like mv + bzr switch --force could do the trick02:37
jmlJoaoJoao, give it a try.02:38
jmlJoaoJoao, what I do is: mv ~/repos/project/old ~/repos/project/new; echo -n 'file:///home/jml/repos/project/new/' > ~/src/project/old/.bzr/branch/location; mv ~/src/project/old ~/src/project/new02:38
mwhudsonyes, switch --force should help02:38
JoaoJoaothanks jml, mwhudson02:38
JoaoJoaobtw, does bzr support or has some plugin for interactive commits?02:40
lifelesstheres a plugin I believe02:40
lifelessalso the qbzr commit dialog can select bits02:40
JoaoJoaoyup, bzr-interactive works fine :)02:49
JoaoJoaobzr plugins rock02:49
garyvdmIf you have 2 branches, with the same file-id's, but no common ancestor, how do you merge?02:50
garyvdmnvm - bzr merge ../dev2 -r -1..002:51
lifelessgaryvdm: uhm, probably you want 0..-102:52
garyvdmah02:52
JoaoJoaoany estimated release date for bzr2?02:53
* fullermd admits to mild curiosity as to what -1..0 will DO...02:53
* igc lunch02:56
garyvdmPlease can someone read this:http://paste.ubuntu.com/225619/ I want to make sure that the advice I'm giving this guy is good.03:15
garyvdmhttp://paste.ubuntu.com/225619/03:15
lifelessabentley: around?03:16
* garyvdm sends mail03:22
* SamB wonders how jam runs the tests for pymemdump04:04
GungaDinhi04:13
GungaDinHow do I tell bzr to ignore committing a file?04:13
GungaDinI mean... not to commit a file that was changed.04:13
SuperMMXGungaDin: there is an option "-x" or "--exclude" for commit04:15
mwhudsonbzr ci -x04:15
SuperMMXor just specify files that you wanna commit04:15
GungaDinsure thx04:20
abentleylifeless: kinda around.04:56
* SamB wanted to file a bug against pymemdump for not having a name and then realized it'd need to have one for him to do that ... jam!04:57
lifelessabentley: I mailed the list04:57
lifelessabentley: copied to you04:57
abentleylifeless: I see it.04:57
abentleylifeless: I'm not deeply opposed to PreviewTree.inventory, but I thought omitting it would help us explore what's needed to go inventory-free.05:01
lifelessabentley: I think it has helped us do that05:02
pooliehttp://fishbowl.pastiche.org/2009/07/22/a_letter_to_my_younger_self/05:05
lifelessnice05:06
=== cprov is now known as cprov-zzz
=== mordred_ is now known as mtaylor
lifelessgaryvdm: if you're around, and jelmer: too; I'm looking [well, I *will be*] looking for a GUI progress bar07:28
lifelessI want to pop up a little progress bar in the bottom right of my desktop.07:29
lifelesspointers appreciated07:29
poolielifeless: http://bzr.pastebin.com/d7c92d84a <- just adding a plain Reconfigure class07:32
pooliei don't want to tease apart the existing code for now07:33
lifelesspoolie: sure; I don't think you should tease it apart. The only concern I have is that this makes the module be mixed in style, which muddies things more.07:36
lifelesspoolie: I will let you be the judge of how important that i.s07:36
spivIncremental steps to a better style is probably better than adding more code to an unwanted style.07:43
lifelessspiv: as long as its really clear to other folk coming along that this is the trend07:50
lifelessspiv: without clarity its just unclear ;)07:51
spivlifeless: agreed07:53
poolielifeless: pydoc debug is documented to 'Run the test without collecting errors in a TestResult'07:53
pooliethat might be something you'd want to call from inside a debugger i guess...07:54
lifelesspoolie: yah07:54
pooliei'm disappointed that it doesn't remove my bugs :)07:54
lifelesspoolie: its a underdeveloped aspect of te interface07:54
garyvdmlifeless: lp:~jameinel/qbzr/progress07:54
garyvdmlifeless: If you want, I can hack up a minimal plugin.07:56
garyvdmbbl07:56
lifelessgaryvdm: oh, its not bzr07:57
lifelessgaryvdm: its for subunit07:57
garyvdmlifeless: Then this diff is a good sample: http://bazaar.launchpad.net/~jameinel/qbzr/progress/revision/81307:59
lifelessthanks07:59
GungaDinHow do I check a log given a rev id?08:00
pooliespiv, btw lifeless said you might have fixed something recently to make tests rm their working directory as soon as they finish?08:13
poolieGungaDin: bzr log -r revid:blah08:13
spivHmm, I don't remember fixing anything like that very recently.  I did make some change about six months ago maybe.08:14
pooliespiv, also it should have a smiley when reporting 0 vfs :)08:16
poolieas this pull just did :)08:16
spiv:)08:16
lifelessjml: jelmer: http://paste.ubuntu.com/226322/ feedback sought08:45
* igc dinner09:15
fullermdI love comments like "# XXX: Update this after 0.10 is released"...10:31
LarstiQigc: I have time to look at the sphinx users docs in ~1.5 hours if that's ok11:36
igcLarstiQ: cool12:20
jelmer'evening Ian12:23
=== mrevell is now known as mrevell-lunch
=== cprov-zzz is now known as cprov
LarstiQigc: done13:23
LarstiQLenZGr_: did you see the bzr-svn 0.6.3 announcement, and was that helpful for your packaging?13:23
LenZGr_LarstiQ: Yes, thank you! 0.6.3 should be available shortly (I commited it already, but made a mistake which caused the build to fail)13:31
=== mrevell-lunch is now known as mrevell
DaffyDuck_I'm looking for a good way to create archived backups of my repositories. I don't want to backup unless I need to, so I was thinking about parsing "bzr info -v" and using the "revisions" under "Repository:", and use the revision number in the file name. That way I can check if the revision is backed up already. Is there a problem with this?13:34
LarstiQLenZGr_: good, that makes me happy :)13:44
LarstiQDaffyDuck_: there shouldn't be that many files, so why not let rsync do it's job?13:46
DaffyDuck_LarstiQ: The data needs to be encrypted and stored on external media. We're not fooling around when it comes to backups.14:13
Raimeven if you encrypt it, it should still be stored efficiently by your backup software. so backing up an unchanged bzr repo again should not be a problem...14:15
LarstiQDaffyDuck_: as Raim said, I'd expect the backup software to be able to detect changes. Other than that -15:17
LarstiQDaffyDuck_: in theory revisions could be removed, in practice they probably only get added. How serious about the backups are you?15:18
=== nevans1 is now known as nevans
=== nevans1 is now known as nevans
bialixigc: hi16:12
igchi bialix16:12
bialixigc: can we disable bugmails in bzr-explorer-dev mailing lists?16:13
bialixI've got 2 copies of those mails16:13
bialixone from LP and another from ML16:13
igcbialix: you might be subscribed separately?16:14
bialixI don't understand16:14
igcthe people notified list on some of them was 'bialix + Bzr Explorer Devs'16:14
bialixon all of them actually16:15
bialixI'm trying to disable bugmails on bugs page16:15
igcbialix: go for it16:16
bialixok, will see how it will going16:16
igcbialix: I'm not sure how to do it fwiw16:16
bialixhttps://bugs.launchpad.net/bzr-explorer/+subscribe16:16
bialixI was under impression you explicitly subscribe ML to receive bugmails, no?16:17
igcbialix: I can't see anything in the ml or team configuration re that. Ask on #launchpad maybe16:22
bialixigc: can you explain your comment: https://bugs.launchpad.net/bzr-explorer/+bug/393615/comments/6 please?16:24
ubottuUbuntu bug 393615 in bzr-explorer "Initialise shared repository hangs [Windows]" [Medium,Triaged]16:24
bialixwhat's fixed in 1.18?16:24
spivjam: hey16:28
igcbialix: bug 39422716:31
ubottuLaunchpad bug 394227 in bzr "bzr init sometimes fails to complete and saturates cpu" [Medium,Fix committed] https://launchpad.net/bugs/39422716:31
jamhi spiv16:32
spivjam: If you are inclined to review my updated inventory-delta patch, that would be lovely :)16:34
spivjam: I also heard that you were surprised to hear that inv-delta streaming was much better than IDS over localhost HPSS?16:35
spivjam: try comparing bzr push -r2000 of bzr.dev into a "bzr init bzr://localhost/ --1.9-rich-root" -- I found ~7.5 min real time vs. 31 min, and much less memory consumption and IO too.16:36
jamspiv: I was, though there are ways to explain it.16:36
jammostly in the marshalling/unmarshalling overhead16:36
spivAs in, 30M transferred vs. ~740M.16:37
jamspiv: Not a 2a format?16:37
jamspiv: also, I've always focused on "pull/upgrade" and not "push"16:37
jamnot sure if that matters here16:37
spivjam: that would be interesting too, but I thought I'd measure something simpler.16:37
spivI wouldn't expect it to affect IDS, it might affect streaming but probably not.16:38
spiv(the difference between pull/upgrade vs. push, that is)16:38
spivAnyway, the current patch reinstates IDS for local fetches.16:38
jammy bigger concern ATM is why things are breaking16:39
spivGiven that IDS is known to have pretty bad performance on the network that seems like the best compromise to me.16:39
jamis it a bug that already existed that you are now testing16:39
jamor did something break with the new changes16:39
spivThe test failure I reported?16:39
jamyes16:39
spivI'm pretty sure it's an existing bug.16:39
spivI extended the test coverage significantly.16:40
spivThat particular test is more precise in verifying that it can actually stream the revisions now, and I also added several new scenarios to the parameterisation.16:40
spivIt may be that IDS is actually broken for local stacked branches, but even if so my branch isn't a regression there.16:41
spivIt *might* shed some light on some of our bug reports, though.16:41
spivIt may be worthwhile extracting the part of the patch that extends per_interrepository's scenarios, and it's test_fetch module, trying it on bzr.dev, and perhaps landing it directly.16:42
spivMaybe with a KnownFailure if it really does uncover an existing bug.16:43
spivI'm pretty confident that my changes would not have introduced it, the refactorings I did to IDS to make its code reusable by the streaming path were fairly simple... but I've been wrong before :)16:44
spivjam: I *think* the issue may be that the tests in bzr.dev don't test any rich-root -> rich-root IDS paths.16:45
spivjam: only non-rr -> rr.16:45
wadesworldjust to verify, the only way to run bzr serve and allow only some users write access is to leave it read-only but have the ones with write access use bzr+ssh, correct?16:46
jamspiv: weird16:46
jamyour review request is in the "other" category16:46
jamMaybe because of how you resubmitted it?16:46
jam(I was having trouble finding it)16:46
spivjam: oh, weird.16:47
jamIt didn't have any "requested reviews"16:47
spivjam: I guess that's possible, just changed the "status" to "resubmit".16:47
jamespecially not of 'bzr-core' like the other ones16:47
jamI fixed that16:47
jamProbably a UI bug for launchpad-code reviews16:47
spivWhich I thought was the way to resubmit, but perhaps not.16:47
spivYeah.16:47
jamspiv: I think it *is*, with the caveat of about 3-4 bugs I've opened on it so far :)16:48
spivjam: so, I see this bug in bzr.dev16:48
spivjam: if I add 6RichRoot->2a to the interrepo scenarios and run interrepo.*test_fetch.*stacking.*2a I see the failure.16:49
spivjam: needless to say, my inv-delta streaming code passes that test ;)16:49
spivHmm, or rather, I see a failure, not necessarily a valid failure now I look at it.16:50
spivThis failure is why I changed the assertion to "can stream these revisions" rather than directly checking for inv parents in the repo.16:50
spivBecause things seem a bit different in 2a...16:51
jamspiv: so the inventory roots should be present in 2a formats16:52
jam(as should all the chk pages underneath)16:52
jamwhich is what we had worked on with the "get_stream_for_missing_keys()" a while back16:52
jam"can stream" might be a stronger assertion because of the need for child chk pages...16:52
spivjam: ah, but it does still fail the "can stream" check.16:53
jamspiv: so it is very likely that IDS doesn't fill in parent inventories into a stacked branch16:53
jamas the only code that does 'get_stream_for_missing_keys()' is the. .... streaming code :)16:53
jamstacking16:53
jamthe bane of my last few months16:53
jamreally, it breaks all sorts of things. Especially when coupled with the "RemoteRepository" are not actually stacked anymore...16:54
spivYeah, I know what you mean!16:54
jamso the abstraction we put in, is removed, and then everything is exposed again16:54
spiv"AbsentContentFactory" bugs etc.16:55
jamyep16:55
spivSo, the bug is in bzr.dev; I have fix ready to go, just merge my patch and disable IDS ;)16:56
Kinnisonjelmer: didja file the bug in the end?16:56
jamspiv: I actually thought IDS was disabled when stacking was involved16:57
jambut I guess that is more it is disabled when the formats are identical16:57
spivIn doing the timings of streaming vs. IDS over localhost I did fix one performance bug, btw.16:57
spiv(in streaming, that is)16:57
jamspiv: btw, my loopback can stream 700MB in about... 1s16:57
spivThere's almost certainly a fair bit of low hanging fruit there, performance-wise.16:57
jamso I doubt that is a specific cause of slowdown16:58
jamprobably the serialization/deserialization is, though16:58
spivRight, but my disk can't seek back and forth that fast, particularly when bzr is pushing the disk cache out of memory...16:58
spivWith IDS, -Dmemory reported VmPeak of 333840.16:58
spivvs. 126328 for inv-delta.16:59
spiv(and VmHWM and VmRSS had similar ratios)16:59
jamspiv: I'm curious if you just tweaked the size of the internal cache, how much effect that would have16:59
jam(batch_size, and one other flag IIRC)16:59
spivSo, if you can bzr push -r2000 of bzr.dev over localhost with IDS in 1s I'll be impressed :)17:00
spivPossibly the overhead of 103958 HPSS calls started to matter?17:01
spivIt was certainly reading back a lot of the data it had already written (in addition to the regular repacking over the wire).17:01
jamspiv: Right, I'm saying the cost of marshalling/serializing 700MB was important17:01
jamnot the fact that it was 700MB17:01
jamover the loopback17:02
spivSure.  700MB over any other network interface is pretty important, though :)17:02
jamspiv: so 4519 is your latest, right?17:03
spivThat inv-delta was so much faster, even though it's paying CPU cost on both sides (and I don't have dual core), is a good sign for streaming I think.17:03
spivjam: yep17:03
jamspiv: but time 'bzr branch x y' and compare17:04
spivjam: interesting, IDS and inv-delta were much much closer in time on -r100017:04
jamspiv: very little interesting in bzr.dev pre 150017:04
jamthat is where we got merging support17:04
spiv(-r1000 is only 1102 revs, -r2000, is 7410 revs)17:04
jam1-~1500 are all just simple commits by martin17:04
jamhm... maybe that changed with some of our history mutations17:05
spivAs in, within 20% rather than over 4x slower.17:05
jamthere is a mainline history switch with robert as a committer17:05
spivObviously it's many more revs and larger trees, but it's still seems disproportionate.17:05
spiv(hmm, about 10x more data in knit pack format)17:06
jamspiv: computing inventory deltas is generally O(N^2)17:06
jamspiv: so what to do about the 'bloat' factor?17:07
jamas in, taking 400+MB on disk, rather than <100MB?17:07
spivI think the 2a sink needs to be smarter.17:07
spiv(possibly the smarts should be builtin to the generic sink, rather than making a 2a specific sink...)17:08
spivi.e. do a pack midstream if a certain volume of records has been received, on the assumption that can probably save significant disk space.17:09
jelmerKinnison: not yet, I forgot about it :-)17:09
jamspiv: I'lll at least argue that perhaps the source can stream the content in a more efficient manner17:09
spivCurrently the StreamSink is smart enough to do that at the end, but that's a bit late.17:09
jelmerjam: Is there any situation in which an InventoryEntry could have a symlink_target that is None ?17:09
Kinnisonjelmer: *pout*17:09
Kinnisonjelmer: How can I be anything less than the most important person in your life?17:10
spivYeah, that seems likely too, but tweaking StreamSink is likely to be easier.17:10
* Kinnison sobs17:10
jamjelmer: I believe InventoryEntries from a WorkingTree.inventory are set to None, because we want you to go read the symlink directly17:10
spivI'd also love to make the stream resumable while we're on the topic ;)17:10
spivBut the branch is already pretty large!17:10
jelmerKinnison: :-)17:10
jelmerKinnison: I'll do it now, while I have my mind on bzr17:11
jelmerjam: ah, thanks17:11
jamspiv: so IDS does a repack every 1k revs or so, is that possibly the extra data you were seeing over the wire?17:11
jelmerjam: In that case bzrlib/export/dir_exporter.py should possibly special case that situation?17:11
jamjelmer: perhaps. I don't really know what export w/ a workingtree as a source is really meant to mean17:12
spivjam: it's some, but not all of it.17:12
spivjam: even when it's not repacking I see an enormous number of readvs.17:13
spivIn fact, I suspect repacking isn't even a majority of the traffic.17:13
jelmerjam: it's done in bzr builddeb, which allows you to build based on either the current working tree or a historic revision.17:13
jamjelmer: I'm not really 100% familar with the code. But building from an uncommitted tree seems foolish17:14
jelmerjam: Since it has a tree object around as well I'll change it to use tree.get_symlink_target17:14
jamjelmer: tree.get_symlink_target would be the safest bet17:14
spiv~740M of traffic for 27M of packs isn't accounted for by repacks every 1k when there's only 7410 revs.17:14
jelmerjam: It's pretty common to not commit until you've tested that building the package works17:14
jamspiv: except the size on disk *before* repacking is probably a bit larger?17:15
jamI guess you are testing with --1.9-rich-root17:15
spivjam: this target is 1.9-rich-root, though.17:15
jamwhich doesn't change much17:15
spivRight.17:16
jamso... currently testing your code and it is "hung"17:16
jamas expected17:16
spivYeah, it has some long pauses :(17:16
jamand, as someone else mentioned17:16
jamit pauses at:17:16
jam[###################/]  14218KB    94KB/s17:16
jamwhich looks like it is almost done17:16
jamwhen in reality, it has barely started17:16
spivTwo parts where it has long pauses, I think.17:16
jamspiv: any idea why we don't even get transport progress updates?17:17
spivOne where it's busy doing lots of generate_root_texts » _find_root_ids » iter_rev_trees (judging from sampling backtraces with SIGQUIT)17:17
jamare you computing all deltas at once?17:17
jam(if only SIGQUIT worked on windows...)17:17
spivThen another pause after it's sent the full stream and is waiting for the server to respond.  Apparently the server does some lengthy work at end of stream.17:18
spiv(check references, find missing keys?)17:18
jamspiv: neither of those should be minutes...17:18
jamrepacking?17:18
spivAlthough in fact I noticed during that pause for the server that it the pack file in the upload dir was slowly growing.17:18
spivWhich seems odd, I would have expected it to have spooled out to disk as it was received.17:19
jamspiv: converting inventory deltas to full inventories?17:19
jamadding them to the repository as fulltext17:19
jamand recomputing a "knit-delta"17:19
spivHmm, not a repack on after a single insert into 1.0-rich-root I don't think.17:19
jamwould be my guess17:19
spivYeah, that could well be it.17:19
spivI assume applying deltas is faster on 2a?17:20
jamspiv: faster than --1.9-rich-root, most likely17:20
jamfast as you would think... not always17:20
jamfinding minimal deltas helped a lot here17:20
spivWell, I'm used to that :)17:20
spivThe streaming code currently makes a delta against every parent and chooses the shortest to send.17:21
jamspiv: so I noticed that you are still using Inter1and2Helper... which means we have to re-read all the inventories. is that correct?17:21
spivYes, probably.17:22
spivI think that maybe we can improve that...17:22
jamspiv: why is the api:17:22
jam_stream_inventories_as_deltas(..., fulltexts=??)17:22
jamseems a bit strange to ask for fulltexts when you want deltas17:23
jamspiv: so here is *my* summary with mysql-52517:23
spivjam: get_stream_for_missing_keys also generates inv-deltas.17:23
jam"time bzr branch"17:23
jamreal    3m20.731s17:23
jam"time bzr IDS push bzr:///"17:23
jamreal    3m45.805s17:23
spivjam: but we don't want missing "compression" parents, we want "fulltexts" at that point.17:23
jam"time bzr IDelta push bzr:///"17:23
jamreal    9m40.311s17:23
spivjam: so that flag causes it to generate deltas from an empty revision.17:24
spivjam: an alternative that doesn't work would be to send a fulltext inv in the native format17:24
spivjam: that doesn't work because the sink expects the inv in the *source* serialisation, but gc formats don't have a functional inv serialisation.17:25
jamspiv: well they do after I finish my patch to the bundle code17:25
spivjam: (they actually try to serialise as xml5, which doesn't support rich-roots, but looks like they do if the rich-root version is the revision...)17:25
jambut stuff like accidentally inheriting from a non-rich-root capable xml inventory serializer needs to be fixed17:25
spivSo I thought that given that I just defined a format-independent serialisation I should just use that :)17:26
jamspiv: I have a patch which fixes that sort of thing :017:26
jamI agree17:26
jamjust can't do it for bundles just yet17:26
spivRight.17:26
jamspiv: I would probably recommend not using 'fulltexts' as the flag, as I find it confusing, I'll see if I can come up with a better name.17:26
spivI agree that part of the code is a little unclear, feel free to mention that in your review :)17:26
spivThanks!17:26
jamspiv: and I would recommend retrying with --2a as the target. I think that may be a major difference between what we are seeing.17:27
spivYeah, I will.17:27
jamspiv: I noticed that you don't delta against revisions you haven't sent... I'm wondering if that is optimal17:27
spiv(I also have high on my todo list trying the blackbox hpss acceptance tests with 2a to make sure the hpss call counts don't regress)17:27
jamconsider "bzr push" is just adding 1 rev to a branch17:27
jamit will have to extract and send the whole inventory17:28
spivYeah.  It was a cheap way to avoid having to figure out what inventories I could depend on the remote having.17:28
jamspiv: code like this is der very bad:     parent_inv = from_repo.get_inventory(parent_id)17:28
jamas in, you re-extract every inventory at least 2x17:29
jamactually 3x for rich-root conversion17:29
jamwhich is probably the bulk of 3min => 9min17:29
spivProbably now that I have the get missing keys working probably I don't need to be so pessimistic...17:29
jampushing bzr doesn't show it17:29
jambecause they are small17:29
jamspiv: depending on how your StreamSink works, hard to say17:30
jamwould it buffer an inventory delta it can't extract17:30
jamuntil it fills in a missing parent17:30
jamif so17:30
jamwhat about all the other deltas chained on top of it17:30
spivOh right, yes, that was why.17:30
jamand where are those buffered17:30
jamspiv: now I would imagine *not* caching any inventories would be the reason your peak memory consumption went tdown17:31
jambut at a fairly high cost17:31
spivIt would potentially be fine, except that we don't have a way to store format-neutral inv-deltas between HPSS calls.17:31
jam"time bzr branch mysql mysql-19-rich-root" real    6m2.345s17:31
jamso it is 2x slower to branch 1.9 => 1.9-rich-root than to branch 1.9 => 2a17:31
spivWhereas we can store arbitrary pack knit-delta records with missing compression parents (by not inserting that pack, and reporting the missing keys)17:32
jamspiv: which brings up some design questions17:32
jamof doing this17:32
jamthough I guess we still have "optimized" paths when the formats are the same...17:32
spivWe can fudge it -- make a new pack to hold dummy records that store the inv-deltas verbatim.17:32
spivAnd then don't insert it in the final commit, obviously.17:33
spivYeah, that was basically my thinking... we don't really need to tie ourselves in knots to get maximal cross-format performance.17:33
spivThe main thing is avoiding the pathological performance we currently get, while moving towards a unified code path.17:34
spivI'm finally going to go sleep shortly.17:35
spivAnything else I can do for you before I do?17:35
jamspiv: well, in my trivial loopback test, I saw a 3x degradation still... but yeah, I'd like more unified code paths.17:35
jamand I like the concept of using inventory deltas more17:35
jamspiv: ah, I bet that with --1.9-rr you are seeing such a difference because of "add_inventory_by_delta"17:36
jamspiv: RemoteRepository.add_inventory_by_delta is not a smart method17:37
jamit is an _ensure_real one17:37
jamwhich means for --1.9-rr we have to read back the whole inventory we just wrote out17:37
spivjam: perhaps I should try with CHK1->2a :)17:37
jamspiv: 1.9 => 2a would be reasonable as I think that is a common case we will be hitting17:37
spivYeah.  I will definitely try that out.17:38
spivI should grab a mysql tree at some point, I guess...17:38
jamspiv: so clearly what we need to do is leave IDS alone17:38
jamand just have add_inventory_by_delta use the serialized inventory deltas17:38
jamand apply them on the other side :)17:38
spivHah.17:38
jamhonestly, I think IDS as a *source* is pretty optimal17:39
jamas a Sink, obviously we need some work17:39
spivWell, I've borrowed large chunks of its logic for the source already.17:39
spivWe can conceivably try borrowing more...17:40
spivBut IIRC we start running into issues with different expectations about when things happen in IDS vs. streaming.17:40
spivPerhaps not insurmountable.17:40
* SamB wishes the bzr .debs would display their Debian versions as well as their internalized versions17:41
jamtime bzr inter-delta push localhost/mysql-19rr real    4m28.411s17:41
* SamB doesn't know where the PPA gets it's debian dir from, though :-(17:41
jamspiv: So interestingly, for *1.9-rich-root* your delta code is faster than IDS locally17:41
spivjam: so, I am a bit puzzled about parts of Inter1and2Helper.generate_root_texts17:41
jambut it is still 50+% slower than IDS to 2a formats17:42
jamthough17:42
jamI *do* have dual cores here17:42
SamBjam: can you tell the kernel to stop using one for a while ?17:42
SamBhmm17:42
spivI get the feeling it is doing more work, or at least more work up-front, than is strictly necessary.17:42
SamBI think there's some kind of CPU mask you can set on processes?17:43
spivIf I were to keep using more of IDS's code I'd probably see if I can replace that part.17:43
jamspiv: from what I understand17:44
jamgenerate_root_texts reads all the inventotries17:44
jamand then compares the root to see how it should create the per-file graph for the root key17:44
* SamB wishes the progress text would stop getting cut off just before the really useful part17:44
jamit does it in a bass-ackwards way17:44
jambut that was how we do rich-root conversions17:44
SamBhmm17:44
jamwas/is17:44
SamBbzr doesn't seem to handle SIGWINCH correctly17:44
spivjam: and in fact it makes actually revision trees, not just reads the inventories.17:45
spivWhich seems like overkill to me.17:45
jamspiv: rev trees are trivial overhead over an inventory17:45
jamthe problem is the inventory reading17:45
spivSure.17:45
jamspiv: so one thing from you before you go17:45
jamdo you have any idea *how* to share more code between IDS and the streaming stuff?17:46
SamBso what is rich about the root in rich-root?17:46
jamIs it to put the members onto repo17:46
jamor what?17:46
SamBand where is this documented ?17:46
spivjam: my vague thinking was "replace Inter1and2Helper.generate_root_texts with an equivalent based on IDS' code."17:47
jamspiv: what surprises me the most is how much worse the push to 2a is versus push to 1.9-rich-root17:47
jam4.5min => 9+min17:47
spivYeah, that surprises me too.17:47
spivjam: btw, regarding SIGQUIT...17:47
spivjam: windows has SIGBREAK17:47
jamspiv: and how would one generate that :)17:48
jam?17:48
spivjam: perhaps you could hook the pdb hack into that?17:48
spivjam: the Break key (Alt-Pause or something)17:48
spivFn-Pause on this laptop keyboard, apparently.17:48
spivOr rather Python on windows has SIGBREAK, it's not a real posix signal of course...17:49
jamspiv: Ctrl+Pause on this keyboard17:49
jamFn+Pause on my laptop as well17:49
spivBut it should work well enough for this, I think.17:49
spivjam: any luck with SIGBREAK?17:52
jamspiv: i can get it to stop the process17:52
jamchecking on whether I can trap it17:52
jamspiv: so far, doesn't look like I can actually trap SIGBREAK17:54
spivOh, that's a shame.  ISTR I could, but it's been a long time since I tried...17:54
jamspiv: I see stuff online that claims you can17:55
jamI'm checking17:55
spiv(weird that the stdlib docs don't seem to mention it)17:57
jamah, just doing it wrong17:57
jamIt seems that win32 signal doesn't have the *attribute* SIGQUIT17:58
jamso it wasn't installing the hook17:58
jamtrying again17:58
spivRight, it wouldn't.17:58
jamyep, seems to work17:58
spivIt probably only has SIGINT and SIGBREAK.17:58
jamneed to poke a bit more17:58
spivA hasattr-style check in breakin.py is probably appropriate.17:59
jamyeah, we have that now for SIGQUIT17:59
jamdoing the same for SIGBREAK17:59
spivCool, glad you don't have to miss out :)17:59
spivjam: and update the boilerplate stderr text about SIGQUIT to be parameterised I guess...17:59
jamyep17:59
* SamB finds http://msdn.microsoft.com/en-us/library/ms686016(VS.85).aspx from http://twistedmatrix.com/pipermail/twisted-python/2006-September/014113.html17:59
spivjam: Ctrl-Break is in some ways more appropriate18:00
jamsure18:00
spivjam: "give me a breakpoint where you are now" ;)18:00
spivAnd of course the module name is "breakin"18:01
spivAnyway, -> zzz time.18:01
spivjam: thanks for taking a look at the inv-delta patch.18:01
spivAnd for the timings.18:01
jamsleep well18:02
=== mrevell is now known as mrevell-dinner
dvheumenhi everyone. I've got a branch ready that fixes one of the 'easy' marked bugs (I'm trying to become familiar with bzr and python), and know I'm wondering how I should push this branch to launchpad/bzr? (So I can request a merge)18:13
dvheumenisn't there anyone who knows how to push a branch to launchpad?18:17
jelmerdvheumen: bzr push lp:~userorteamname/projectname/branchname18:17
SamBdvheumen: well, you could push it to lp:~<insertyourusernamehere>/bzr/<bugno>-descriptive-text18:18
dvheumenokay, so I don't need to be part of a team or something to push there ... tnx guys, I'll do that :)18:18
jetolehey guys. I just pushed a repo into bazaar on launchpad and then realized after the fact that it had more files then I had thoght. Is there a way to delete them from bazaar on launchpad so that you can't see past revisions etc18:57
jetole?18:57
beunojetole, yes19:00
beunoon the branch page19:00
beunonext to the title19:00
beunothere's a trash can icon19:00
beunothat will delete the branch completely19:01
Jessehi19:01
jetolenot sure what the branch page is but I don't see a trash can. I am in loghead I think it's called19:01
jetoleloggerhead19:01
jetolehow do I get to the branch page?19:02
beunojetole, right, you need to go to the branch page in launchpad19:02
beunothere's a few ways19:02
beunoone of them is running, from the branch:  bzr lp-open19:02
Jessehi folks, i know this might be 50% off-topic, but i just saw the screen shots http://bazaar-vcs.org/BzrScreenshots?action=AttachFile&do=get&target=bzrk.png19:02
beunothe other is going to your profile page, and clicking the "Code" tab19:02
jetoleok, one sec19:02
Jesseand i'm wondering what those panels in the bottom are19:03
jetolebeuno: bzr: ERROR: bzr+ssh://jetole@bazaar.launchpad.net/~jtole/+abc/def is not registered on Launchpad.19:03
Jessei mean i can't get gnome-panel to work like those19:04
jetolebeuno: does that mean much to you? I created the launchpad base by simply doing a bzr push with my user name after I uploaded my ssh keys so I didn't register a project per se19:05
beunojetole, +abc?19:05
beunojetole, what's your launchpad username?19:06
Jesse@jetole you can push to your +junk folder19:06
Jesse@jetole like bzr push lp:~jetole/+junk/myawesomebranch19:06
beunojetole, https://code.edge.launchpad.net/~jetole19:06
beunoaccording to Launchoad19:06
beunoyou have not pushed any branches to it19:07
jetolebeuno: I just found the branch page and deleted it, I did use +junk but I didn't know that was a standard name and didn't really want to say too much as some content was personal19:07
beunojetole, gotcha19:07
Jesseso anybody knows about the panels in the screen shot?19:07
jetolebeuno: last quick question, on my own personal branch on my computer, do you know how I can remove a file so when I push the branch again there is no revision included?19:07
jetoleI want to keep the details of the files I want to push i.e. history etc19:08
beunojetole, if you added a file a few revisions back19:08
beunoit's in the history, and the only real way to get rid of it19:08
beunois to get rid of that history19:08
jetoleah fine, I am just going to create a new repo19:09
Jessei once wrote a script to sanitize history like you wanted19:09
Jessethat was before i pushed code on to lp19:10
jetoleit's actually all right. One I find out how to remove a directory from bzr I will create a subdir, move the files in and re init19:11
jetoleor wait, can I create a subdir as part of this repo and push just the subdir?19:12
garyvdmHi all19:14
Jesse"as part of this repo and just push subdir" no19:20
Jesseif you want to sanitize your repo, you can only start clean and import it with some cleaning routine19:20
jetoleJesse, Thanks for the info. I already created a new repo and published it19:23
Jesseremember to sanitize stuffs when you import19:23
jetolebtw, does my folder have to be +junk? Can I use anything else I want?19:23
Jessei'm personally ok with the name19:24
jetoleheh19:24
jetoleI'm taking a smoke brake. bbiab19:24
Jessefunny that i 'mkdir junk' in my own $HOME19:24
Jesseciao19:24
Jessei don't know if this is rude, but anybody (either from bzr team or not) use gnome?19:25
jelmersure, there are quite a few people here using gnome19:26
Jessehttp://bazaar-vcs.org/BzrScreenshots19:26
Jessei'm wondering what that panel is19:26
Jessei mean the two at the bottom19:26
Jessehmmm seems john added those19:27
Jessei mean the two bzrk pics19:28
jelmerJesse: no idea, sorry19:33
Jessethx jelmer anyway19:33
Jessemaybe i'll need to raise it to john when he's online19:34
Jessearr sorry to go off-topic19:34
jelmerJesse: I think that screenshot was made by Keybuk19:34
Jessereally?19:35
Jessei got that info from http://bazaar-vcs.org/BzrScreenshots?action=info19:35
jelmerJesse: yeah, he originally wrote bzrk and his username (scott) can be seen in the screenshot19:35
jetoleJesse: I use gnome19:37
Jessejelmer can it be that john took the screenshot when he was looking at a commit by scott? you know bzr is distributed :p19:37
jetolealthough I don't use bzr in gnome19:37
jetoleI do that from the terminal19:37
JesseJelmer: I meant I could only find "scott" in the bzrk history window19:38
Jessejetole: me too19:38
jelmerJesse: scott == keybuk19:39
Jessejetole: i use qbzr for diff and log though, it's a great piece19:39
jetoledo you know how or if it's possible to set a push to launchpad as private?19:39
jelmerjetole: I don't think you can unless you have a commercial subscription19:39
Jessejelmer: a silly question, where can i see the user name other than in the history window19:39
jetoleI haven't had to do a diff in bzr yet but I probably will still use the term since I used that back when I used svn and have used diff -u a million times19:40
jetoleplus I use vimdiff from time to time19:40
Jessejetole: i have an incredibly short attention span so when i get back to work i usually "bzr diff -r -1" to see where i was19:41
jelmerJesse: the shell19:41
Jessejelmer: oh my bad. i shoulda noticed that ...19:42
jetoleJesse: makes sense although I would use a more current revision then again I am not a programmer but a network admin so I only program occasionally19:42
Jessejetole: -1 is at the tip19:43
Jesseit's kinda pythonic notation19:43
jetoleJesse: oh I thought that was implying the first revision19:44
jetoleI guess that would be -r 119:45
Jesseyeah19:45
Jesseand if your working tree is clean, then bzr diff -c -1 would also be helpful19:46
LarstiQevening19:56
bialixheya19:56
pygihi LarstiQ19:57
pygibialix, too19:57
pygi:)19:57
garyvdmHi bialix, pygi, LarstiQ19:57
bialixhi19:57
bialixheya!19:57
pygioh noes, garyvdm !19:57
* pygi hides19:58
LarstiQhi bialix, pygi, garyvdm :)19:58
bialixlol19:58
garyvdmHi jelmeer19:58
bialixbeuno?19:58
garyvdmerr s/jelmeer/jelmer19:58
jelmerhi garyvdm19:59
=== cprov is now known as cprov-afk
garyvdmbialix: How are the changes for qcommit/qadd/qrevert working for you?20:18
bialixbbl20:26
jetoleis it possible to have bzr do a push after every commit?21:00
Takyou could use a bound branch21:02
jelmerhi Tak21:06
Takhello jelmer21:06
Takwhat's up?21:06
LarstiQabentley: is http://bundlebuggy.aaronbentley.com/project/bzr/ still supposed to work? I get a Proxy Error21:14
abentleyLarstiQ: Yes.  Presumably, it's hung.21:15
LarstiQright21:15
abentleyLarstiQ: restarted.21:16
* LarstiQ hasn't looked at reviewing for a long time, so wasn't sure if bb was supposed to be up21:16
LarstiQabentley: thanks21:16
LarstiQ!21:16
LarstiQjam: yeah, will have to go do the development focus dance. Would be nice to have LP ui to mass upgrade branches21:58
LarstiQfeh, sleep22:02
* LarstiQ will attach his plan for action to #390502 in 10 hours22:02
Kinnisonjelmer: bug number22:08
Kinnisonjelmer: ?22:08
bialixgaryvdm: hi again22:08
garyvdmHi bialix22:08
bialixask me again22:08
garyvdmbialix: How are the changes for qcommit/qadd/qrevert working for you?22:09
bialixI have not used qadd/qrevert recently -- can't say22:09
bialixI'll try to try them in next days22:10
bialixqci another thing22:10
bialixrecently I'e made a lot of merges22:10
bialixand a lot of qci for renamed files/dirs22:10
garyvdmThere was a bug for renamed files which I've fixed.22:11
bialixI can't say new reports for renamed files/folders is very cool, sometimes I have strange feeling22:11
bialixnothing specific, but mostly unintuitive22:11
bialixmaybe it's because I've used to old way22:12
bialixI need more testing22:12
garyvdmYes.22:12
bialixin #lp channel one man said: qbzr is ideal22:12
bialixerr, looks ideal22:13
bialixgaryvdm: so what is your question about? user feedback?22:13
garyvdmhow long ago?22:13
bialixjust22:13
garyvdmbialix: yes - just wanted some feedback22:14
garyvdmMaybe I need to relook at renames in qcommit.22:14
bialixI feel maybe I'd did something differently for new wt view, but you did incredible work22:14
garyvdmThe change makes senses when you look at renames in qbrowse.22:15
garyvdmThanks22:15
bialixunfortunately I have a lot of urgent tasks on my real job22:16
garyvdmnp22:16
bialixI really need to finish redesign of saved commit/uncommit data22:16
bialixrecently there was bug about qbzr and changes in core cmd_merge22:17
garyvdmYes - I should take a look at that.22:17
bialixmaybe we really need to drop merge decoration?22:17
bialixwe can move qpreview support in qmerge22:18
bialixmaybe it will be more intuitive22:18
garyvdmI don't think that would be better.22:18
bialixqpreview could be our diff counterpart for qmerge22:18
garyvdmYes - but qmerge should just have a ui to append --qpreview to the args22:19
bialixmmm, no22:19
bialixI think we need Preview button in left bottom corner, as Diff button in qlog and qci22:20
bialixso user can press Preview and got the result22:20
bialixand then actually do merge or not22:20
garyvdmOk - I see your point.22:21
bialixI'm trying to use more q-commands now, esp.with explorer22:23
garyvdmA question we need to look at then is - for the revisions that are needed to be fetched - do we do a fetched, so that they are then stored in the local repo, or do we just retrieve them temporarily.22:23
bialixone thing that all the time bother me is selective qdiff22:23
garyvdmYes - we don't have a nice solution there.22:24
bialixwhat's about at least provide --exclude option for qdiff?22:24
garyvdmwhat would that do?22:25
bialixuse case: I have big tree with separate folder with tests data22:25
bialixvery often I want to see changes w/o changes in that folder22:25
garyvdmOk - I see22:25
bialixso I can at least : bzr qdiff -x tests22:26
bialixare you using -A -M -R -D options?22:26
garyvdmNope22:26
bialixI found them useful, esp. -M22:27
garyvdmbialix: This is what I would like for you to be able to do (not possible right now):22:27
bialixso back to your question about fetching22:27
garyvdmgo into qlog22:27
garyvdmhighlight a revision range22:27
* bialix listen22:27
garyvdmthe file list in qlog should show all changes for the revision range.22:28
bialixyes, it will be nice22:28
garyvdmAt the moment - it only shows for the top revision selected.22:28
bialixyeah, it's a bit wrong22:28
garyvdmThen you should be able to select a number of files in that list, and do a diff on them22:29
bialixand what should be shown in rev details view then?22:29
garyvdmAt the moment, you can only select 122:29
garyvdmMaybe show all revisions selected.22:29
garyvdmOne under the other22:29
bialixmaybe22:30
garyvdmI think that would that give you the ability to do what you want?22:31
bialixnot really22:31
* garyvdm is cold - and going to find a heater.22:31
bialixour weather tomorrow +37 probably22:32
garyvdmThe command line option --exclude is something we should do anyway.22:32
bialixthere is still problem with qdiff before commit22:32
bialixmaybe new qbrowse with real wt view can help here22:33
garyvdmWhat is that problem22:33
bialixcan it be used and qstatus?22:33
bialix?22:34
bialixs/and/as/22:34
bialixbtw about qci and wt view22:36
garyvdmIn qbrowse and qci, qadd, qrevert - you can now highlight a selection of file, and do a diff for that.22:36
bialixif there is changed empty folder (renamed or added) it shown with + sign to expand the subtree, but there is no subtree22:37
garyvdmI allways show the + if the item is a directory22:37
garyvdmThat would be easy to change though22:37
bialixqbrowse is fine, but maybe we can provide qstatus as qbrowse of wt with only changed filter applied?22:38
garyvdmLike we show in qcommit22:38
bialixI'd better to not run qci without reason to actually commit22:39
bialixyes, like we show in qci22:39
garyvdmWould be simple to do.22:39
garyvdmDo you think fixing bug 390918 is important?22:39
ubottuLaunchpad bug 390918 in qbzr "qcommit: Select unversioned files donot show in diff." [Low,Confirmed] https://launchpad.net/bugs/39091822:39
* bialix looks22:40
bialixthis is the same problem like in qadd?22:41
bialixwe can fix it for qci and built-in qdiff22:41
garyvdmWell qadd does not have a diff button...22:41
bialixeven w/o adding files to inventory22:41
* bialix checks22:43
garyvdmYes - When I filed the bug, I was thinking that we would need to create a temporary inventory, but I have since realized that that is not nessesery.22:43
bialixhmm22:43
bialixqadd has Open acion22:43
bialixwhy not using qviewer for this instead?22:44
bialixit runs python scripts22:44
dazjorzguys, I'd like to drop you a little note22:45
dazjorzbzr-svn: PERFECT22:45
dazjorzafter reading about Hg-Svn - bzr-svn is a breeze!22:45
david__Hey all... Trying to get a newer version of bzr working on ubuntu 9.04 so I downloaded the bzr-1.17.tar.gz for jaunty from https://launchpad.net/~bzr/+archive/ppa ....  and I am getting a lot of errors .. can anyone point me in the right direction or help me debug the problem ?22:45
jelmerdazjorz: thanks :-)22:45
garyvdmjelmer ^^^22:45
dazjorzjelmer: I take it you're the developer for bzr-svn or so? :)22:46
bialixjelmer is our wizard of svn22:46
jelmerdazjorz: yeah :-)22:46
dazjorzlet me thank you personally jelmer ;)22:46
dazjorzvery, very nice work22:46
bialixgaryvdm: I suppose you're using some std icons for file items in wt view?22:46
bialixgaryvdm: folders are great, but plain files have terrible look on windows22:47
garyvdmYes - qt  get the os desktop std icons for folders and files.22:47
garyvdmI would like to be able to show the icon of the file type.22:48
bialixQDirModel can use accosiated icons22:48
garyvdmIt can???!!!???22:48
* garyvdm looks22:48
bialixin explorer22:48
bialixit can22:48
dazjorzjelmer: could you explain to me why "svn up" says I'm at rev 5129, and "bzr up" says I'm at rev 4297? :)22:49
jelmerdazjorz: bzr revision numbers are per-branch, svn revision nunbers are per-repository22:50
* bialix tries to imagebn screenshot for garyvdm22:50
garyvdmbialix: not in gnome - Must be just windows.22:50
dazjorzjelmer: ah, so there were 5129-4297 commits outside of my current working directory? :)22:50
garyvdmI take a look to see how they do it, and reproduce in in TreeWidget22:51
jelmerdazjorz: yep22:51
dazjorzthanks22:51
jelmerdazjorz: "bzr info" should also show you the svn revision number22:51
bialixgaryvdm: http://imagebin.ca/view/tqiRJKJ.html22:51
jelmerdazjorz: and "bzr log" should show both the bzr and the svn revision numbers22:51
dazjorzjelmer: I don't see it, but it does tell me the checkout of this branch is at the SVN URL22:52
garyvdmbialix: Thats cool - I must make TreeModel be able to do that.22:52
dazjorzjelmer: bzr 1.17rc1, bzr-svn 0.6.3-122:52
lifelessmoin22:52
garyvdmHi lifeless22:52
jelmerdazjorz: bzr info will only tell you if you run it against the svn URL directly22:52
bialixgaryvdm: QDirModel has fileIcon method22:52
jelmermoin lifeless22:52
dazjorzbzr info tells me "Lightweight checkout (format: subversion-wc), under Location, light checkout root and shared repository have ., checkout of branch has the correct checkout URL22:53
lifelessdazjorz: what sort of problem?22:53
dazjorzlifeless: none, really - just checking out bzr-svn :)22:53
bialixgaryvdm: I suspect it can provide access to native icos22:53
lifelessdavid__: what sort of errors are you getting?22:53
dazjorzjelmer: you mean in the repository root, or with the URL as an argument? 'cause I don't see the svn rev when I run bzr info https://... too22:54
jelmerdazjorz: my bad - try with -v22:54
david__Cannot build extension "bzrlib._chk_map_pyx".22:55
lifelessdavid__: any reason you aren't using the prebuilt versions?22:55
garyvdmbialix: yes - would be nice to be able to use qviewer for unversioned files (like in qadd)22:55
dazjorzjelmer: ah, yes! it syas Branch history: 4297 revisions, 838 days old; Repository: 5130 revisions22:55
dazjorzsays*22:55
david__lifeless: the latest prebuilt version I could get working was 1.1322:56
dazjorzjelmer: it does say, by the way, that the first revision was in 2007, while when I run svn log -r1 I see the first commit being in 200322:56
lifelessdavid__: if you at the apt url to your sources, you should be able to do apt-get update; apt-get install bzr and have it work22:56
david__I need 1.16 +22:56
lifelessdavid__: before we debug why building it is failing, I'd like to understand why the built version isn't working22:56
jelmerdazjorz: But this particular branch was perhaps created in 2007 ?22:57
dazjorzjelmer: my workout directory was changed in commits r1, r2, r6, r7, r8, all february 200322:58
david__lifeless: apt-get install 1.13 .. i am a little new to the deb way of doing things .. always been a redhat guy until recently so I am a little out of sorts with ubuntu22:58
dazjorzjelmer: this is trunk :) from the repository root, it's /trunk/kmess22:58
david__lifeless: its probably user error22:58
lifelessdavid__: ok; try this then22:58
lifelessas root, make a file /etc/apt/sources.list.d/bzr-ubuntu.list containing:22:59
lifelessdeb http://ppa.launchpad.net/bzr/ppa/ubuntu jaunty main22:59
lifelessdeb http://ppa.launchpad.net/subvertpy/ppa/ubuntu jaunty main22:59
lifelessthose two lines contain our upstream builds of bzr for ubuntu22:59
lifelessoh, what version did you say you have of ubuntu ? 9.04?22:59
david__yes23:00
SamBhmm ... would it be extremely bad style to monkey-patch the traceback module to print variable bindings ?23:00
david__9.0423:00
lifelesswhere it says jaunty, put intrepid, in those lines23:00
david__I thought I had jaunty23:00
lifeless9.04 is intrepid23:00
david__are you sure ?23:01
lifelesslsb_release -a23:01
lifelesswhat does that output23:01
david__No LSB modules are available.23:02
david__Distributor ID:Ubuntu23:02
david__Description:Ubuntu 9.0423:02
david__Release:9.0423:02
david__Codename:jaunty23:02
david__I think 8.x in intrepid23:02
lifelessoh, man,23:02
lifeless<- E NO MORNING CAFFEINE23:02
jelmerabentley: hi23:02
abentleyjelmer: hi.  On a call.23:02
lifelessok, you have jaunty, and i comes before j23:02
david__it happens .. thanks for your help .. so will this make apt-get install the newer version ?23:03
jelmerabentley: ok23:03
lifelessits one step of four to do that23:03
david__oh23:03
SamBwhy are you using apt-get?23:03
lifelessthe next step is to tell your system about the gpg keys that are used by these repositories23:03
SamBget with the times -- aptitude is the thing ;-P23:03
dazjorzjelmer: do you want me to report failing tests in "bzr selftest svn" or do you already know? :)23:03
jelmerdazjorz: please report them23:04
david__lifeless: how does that work23:04
lifelessto do this,  run "sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXX" with the XXXXXX bit replaced by the key ids for the two repositories we listed23:04
lifelessthe key id is found on the web page - https://edge.launchpad.net/~subvertpy/+archive/ppa and https://edge.launchpad.net/~bzr/+archive/ppa23:05
lifeless(take thy bit after the 1024R/23:05
dazjorzjelmer: all three in one bug or one bug for every failure? :)23:05
dazjorzcorrection, all six, up til now23:06
david__lifeless: thanks thats done23:07
Kinnisonlifeless: has jelmer filed the interesting bug about stacked branches and ghosts?23:07
dazjorzseven :)23:07
lifelessdavid__: now, sudo apt-get update23:07
lifelessthis should complete without errors23:07
SamBokay ... I want to MONKEY-PATCH the traceback MODULE!23:07
david__it dfid23:07
david__did23:07
lifelessand you can then sudo apt-get install bzr23:07
* SamB is zippyizing that to attract attention23:07
david__lifeless: perfect .. thank you so much23:08
jelmerdazjorz: depends on the error message23:08
jelmerdazjorz: what platform are you on?23:08
lifelessdavid__: no problem23:08
dazjorzjelmer: kubuntu karmic, normal linux (2.6.31), amd64, with bzr 1.17rc1 and python 2.6.223:08
dazjorzjelmer: after 1100 tests, I get 3 err, 2 fail, 2 xfail23:09
dazjorzthe err are all "delete() takes no keyword arguments"23:09
lifelessKinnison: I don't know23:09
lifelessKinnison: ask him :P23:09
Kinnisonjelmer: didja? huh? didja? :-)23:10
Kinnisonjelmer: I'm only bugging you so that it doesn't get forgotten and lost23:10
Kinnisonjelmer: esp. if it can be fixed before 2.023:10
jelmerKinnison: No, I didn't yet.23:11
jelmerlifeless: Actually, now that you're around23:11
jelmerlifeless: Kinnison was getting NoSuchRevision errors trying to pull from a branch with ghosts into a branch stacked onto lp:launchpad23:12
lifelessSamB: if you need more details, inspect is easy to work with23:12
lifelessboth in 2a format?23:12
jelmerlifeless: it looked like the code path that dealt with pullling into a repository with fallback repositories didn't consider ghosts but assumed that everything that wasn't present was going to be brought in by the fetch.23:12
lifelessjelmer: it deals with ghosts by looping23:13
lifelessif it doesn't get every revisions, ce la vie; but if it misses texts or inventories the alarms go off23:13
jelmerKinnison: Do you still have the backtrace handy?23:13
Kinnisonnope, someone decided to unplug my machine overnight23:13
Kinnisonand the vmware stopped it suspending23:13
dazjorzjelmer: I'll file them as one bug and if one of them requires more attention, I can re-file it or so.23:14
lifelessKinnison: ~/.bzr.log23:14
* Kinnison is remaking it23:14
Kinnisonplease wait23:14
lifelessalso, in cases like this, feel free to just file a bug23:14
lifelesswe can mark as dup if it is23:14
Kinnisonnod.23:14
KinnisonIt's a dumb sequence of commands which triggers it23:15
lifelessspeaking of stuff over night23:15
Kinnisonrocketfuel-get decided that it was a good idea to use "bzr branch --no-tree --stacked /path/to/lp-branches/devel foo" and then "bzr pull --overwrite lp:...."23:15
jelmerlifeless: I promised to file one when we looked at this together, including details, but then never got round to it23:15
lifelessjelmer: did you see my proposed progress stuff for subunit?23:15
lifelessKinnison: thats uhm, an interesting choice23:16
Kinnisonlifeless: I have no idea why it did23:16
Kinnisonhttp://paste.debian.net/42539/23:16
Kinnisonthere's an example23:16
jelmerKinnison: yeah23:18
jelmers/kinnison/lifeless/23:18
dazjorzjelmer: http://bugs.launchpad.net/bzr-svn/+bug/40378323:18
ubottuUbuntu bug 403783 in bzr-svn "Failing selftest (2 failures, 3 errors, 2 known failures) on Kubuntu Karmic amd64, bzr 1.17rc1, python 2.6.2, bzr-svn 0.6.3-1" [Undecided,New]23:18
Kinnisonlifeless: is that enough for you to reproduce?23:19
lifelessjelmer: what did you think of it? :)23:19
lifelessKinnison: its a dupe, but its an insane command anyway23:20
lifelessKinnison: its pulling cscvs on top of lp23:20
Kinnisonlifeless: blame rocketfuel-get23:20
lifelessfile a bug on that23:20
lifelessor seek help in #launchpad-dev23:20
Kinnisonmeh, I fixed it manually by branching them sanely23:20
KinnisonI assume rocketfuel-update will just cd in and do bzr pull23:20
KinnisonMostly I only wanted to branch lp to take a look at how much of my crap was left in it :-)23:21
Kinnisonlifeless: what bug is it a dupe of, so I can subscribe to it?23:21
jelmerlifeless: So23:21
jelmerlifeless: I think the + / - bit is clever23:22
lifeless40277823:22
jelmerlifeless: I'd like to be able to use this for Samba as well though, and wouldn't be able to do so in the current situation23:23
jelmerlifeless: since samba uses testsuites and can only report the number of testsuites that will follow rather than the number of individual tests23:23
Kinnisonlifeless: ta23:23
jelmerlifeless: It would be nice if the progress indication could take care of that somehow, but I haven't figured out how23:24
lifelessjelmer: you should definitely reply to the list ;)23:24
jelmerlifeless: perhaps by somehow indicating how long the rest of the test run will take compared to how long it's already been running?23:24
jelmerlifeless: good point (-:23:24
lifelessso, I did think about that23:25
lifelessbut I don't have great answers23:25
lifelessone way you could do it is to placehold every remaining suite as being 1 test long23:26
lifelessand issue +suitecount -1 as you move forward23:27
lifelessthe basic question is 'how do you do a global fraction with local data23:27
jelmerthe problem with placeholding every remaining suite as being 1 test long is that it makes it hard to e.g. give a sane progress bar23:30
jelmerlifeless: perhaps we can allow a fraction as well as a number?23:30
lifelesshow does that avoid the global/local problem23:31
jelmerlifeless: it allows the test runner to pick whether it'll report using global or local data23:32
lifelessjelmer: so, say I run two separate test programs23:33
lifelesshow does the first know to adjust for the second23:34
lifelessor if the tests are on multiple ec2 machines23:34
pooliehello23:38
lifelessjelmer: separately, by fractions, how would it work?23:38
lifelessjelmer: would it essentially set an upper cap on the current set of tests?23:38
jelmerre23:44
jelmer(where did the coffee go ??)23:45
jelmerlifeless: that wouldn't work - only the top-level test runner would be able to use this indication23:45
jelmerat least, I can't think of a way to make this work properly with multiple test runners23:46
jelmeryou would have to have some way of identifying them to track their progress23:46
lifelessright23:48
SamBlifeless: oh, doing the monkeypatching will be the easy part ... the part I'm having trouble with is where to put the code to do the monkeypatching23:48
lifelessso this is why I think it reduces to just global/local23:48
lifelessjelmer: I think this is how I'd summarise it:23:50
lifelessif you have a test runner with more info, it can output that info23:50
lifelessknowing that there are 50 suites tells you little about the relative time of each suite23:51
SamBI think I want to monkeypatch traceback.format_tb to do what I want ...23:51
lifelessWhile it would be great to get an accurately scaled progress bar, I don't see how that can be done simply.23:52
lifelessdoing a stacked approach like bzr does allows hierarchical knowledge23:52
SamBbut can bzr display the stack of progress bars?23:52
jelmerlifeless: atm we get a pretty good progress bar using the testsuites, mostly because the run time of the testsuites doesn't vary too wildly23:52
lifelesswhich in a large subset of cases permits forward-only progress bars23:53
lifelessSamB: nothing to do with bzr; and yes it can23:53
SamBon the terminal?23:53
lifelessSamB: or a gui23:53
SamBwhy isn't it doing that, then?23:53
lifelessSamB: it does.23:53
SamBI only ever see one line of progress bars on *my* terminal23:54
lifelessthats right23:54
lifelessthats how we render the stack23:54
SamBexcept when things screw up23:54
SamBoh, I meant why not actually display all of the bars?23:54
SamBor rather ... I wish it could be done23:54
SamBbut that needs termcap/terminfo etc.23:54
lifelessindeed, it also needs more VWS23:54
SamBVWS?23:55
lifelessvertival space23:55
lifelesserroneous W23:55
SamBah23:55
lifelessso we render it collapsed onto one - the higher tasks take up a smaller fraction of the bar, constrained within the position of the next one down of the stack23:56
lifelessanyhow23:56
lifelessjelmer: so23:56
SamBI don't expect that gets you very far down the stack often ...23:56
lifelessSamB: you should experiment a little23:56
SamBI mean, how many characters wide is the progress bar, usually?23:57
lifelessbzrlib.ui.ui_factory.get_nested_progressbar()23:57
SamBnot that many!23:57
lifelessdoesn't need to be23:57
jelmerlifeless: so23:57
lifelessanyhow, I'm switching my conversation back. pop()23:57
SamBoh ... anyway ...23:57
jelmerlifeless: I think your proposal is definitely a step forward23:57
jelmerlifeless: I might propose an extension in the future to make things easier for Samba23:58
lifelessjelmer: my goals are: streams remain concatable; smarter code can do more than concat; runners with more data can do better.23:59

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