/srv/irclogs.ubuntu.com/2008/12/03/#bzr.txt

* thumper out for lunch00:07
thumperdamn00:07
thumperwrong channel00:07
lifelessjelmer: is there still a gtk applet for bzr?00:09
lifelessnvm00:10
jamlifeless: With the new remap code (for map and unmap) I'm now able to get farther in converting revisions from bzr.dev to chk inventory00:19
jamLast time it failed around 12.1k revs, I'm now at 14.8k00:19
jamat ~1200s00:20
jamso it will take maybe an hour to finish00:20
jamThis is the info for a quick conversion of bzrtools:00:25
jamhttp://paste.ubuntu.com/79555/00:25
lifelessjam: cool00:31
jmllifeless: hello00:32
jmllifeless: you pinged me yesterday00:33
lifelessyes, about testresources foo I think00:33
jmllifeless: want to talk about it now?00:34
lifelessnope00:34
lifelessgot to leave real sooon00:34
jmllifeless: np00:34
jamlifeless: so it took a total of 39m51s to convert all of bzr.dev into development400:56
jamI'm doing the repo-details analysis now00:56
lifelessjam: thats pretty good00:57
jamAlso, my first attempt at a quick hack to get knit delta compression failed. I'm not 100% sure why, but I was setting a parent, and it *wasn't* doing a delta.00:57
jamI'll also note that I get a *lot* of collisions with different details00:57
jamI don't quite understand that00:57
LaserJockdo people here regularly use multi-pull?00:58
LaserJockI tried using -v (for verbose) and the output seems just as terse00:59
jelmerlifeless, jam: I am allowed to change the inventory returned by Repository.get_inventory(), right?01:03
jamLegal? probably, recommended?01:03
lifelessjelmer: no, and split-inventory will not let you01:04
jamI believe in the chk code we are adding an Inventory.create_by_apply_delta() function, which would be the recommended way to do it01:04
lifelessjelmer: why do you want to?01:04
jelmerjust curious, it would be a cheap optimization right now01:05
lifelessjelmer: things could behave badly with aliasing01:05
jelmerlifeless, bzr.dev doesnt' have a Repository.add_inventory_delta() yet, btw01:06
lifelessah01:06
lifelessits been reviewed, mayhave a name change and so on01:06
lifelessgotta go, ciao01:07
jmlciao01:08
awmcclainWill installing Pyrex make 1.10 run much faster?01:08
jamawmcclain: are you running from an installed bzr, or from source?01:09
awmcclainjam: easy_install -U bzr01:09
jamhmm... I don't know for sure what that gets as a package.01:10
jamI think it gets the released tarball01:10
jamwhich means you should only need gcc01:10
jamand not Pyrex01:10
awmcclain"The python package 'Pyrex' is not available. If the .c files are available,01:10
awmcclainthey will be built, but modifying the .pyx files will not rebuild them."01:10
jamthat warning seems fine01:10
lifelessdoesn't bzr --version list the optimisers?01:10
* lifeless goes01:10
jamyou are watching out for the "could not build XXX using the slower python versions instead"01:10
awmcclainRight, since I'm not modifying the source.01:10
jamlifeless: you may be interested in: http://paste.ubuntu.com/79569/01:11
jamif you haven't gone yet01:11
jamit is the repo details for chk w/ bzr.dev01:11
=== kiko is now known as kiko-zzz
Peng_lifeless: Cool. Is it possible to upgrade the indexes or do you have to "rm -rf"/"bzr index"?01:43
rockstarjelmer, still around?01:48
jelmerrockstar, yep01:49
rockstarjelmer, getting a test failure in a fresh subvertpy branch01:49
jelmerif there's a single test failure, that's a known issue01:50
rockstarjelmer, http://pastebin.ubuntu.com/79582/01:50
jelmerthe failure is known, the error isn't01:50
rockstarThat's running nosetest on the build01:50
rockstarI did `python setup.py build && cd build/build-* && nosetests`01:52
rockstarmake check fails in the same way.01:52
jelmerI moved some things around but forgot to run the tests01:52
jelmerI'm pushing a fix01:53
jelmerthanks for letting me know :-)01:53
rockstarjelmer, sure.01:53
jelmerthe other issue is known, and is caused by the fact that subvertpy can't rely on bzrlib.urlutils01:53
rockstarjelmer, why's that?01:53
jelmerit's otherwise independent of bzr, and it would make adoption by e.g. the basie folks harder01:54
rockstarjelmer, basically, I'm back evaluating using subvertpy in cscvs, and, in effect, the launchpad import system01:54
jelmerah, cool01:54
rockstarjelmer, do you think it could be used in production?01:55
jelmersubvertpy? Yeah, I think so. The bzr-svn tests exercise it pretty well and I haven't seen any other problems either01:55
jelmerthe server stuff is still incomplete and unstable, but you won't be using that anyway I presume01:56
rockstarjelmer, nope.01:56
rockstarWe want to be able to roundtrip commits as well.01:57
jelmerif you want to roundtrip commits, it's probably more worthwile to look into bzr-svn01:57
rockstarjelmer, did you push the fix to trunk01:59
jelmerrockstar, yep02:00
rockstarI'm on rev 1971, and it's telling me there are no revisions to pull02:02
rockstar:/02:02
jelmerit's a mirrorred branch, in case you're pulling from lp02:02
rockstarjelmer, ah, that makes sense.02:02
jelmerlifeless: looks like by using inventory deltas I can actually avoid that Inventory copy02:21
jelmerlifeless, that would save another 33 % \o/02:22
jelmerlifeless, still there?02:28
jelmerabentley1, ?02:28
jelmeror somebody else familiar with inventory deltas?02:29
abentley1jelmer: hi.02:29
jelmerabentley1, hi!02:30
jelmerabentley1, Is it possible to recursively delete entries using a single inventory delta entry, or do I need to delete all ancestors separately?02:30
abentley1jelmer: You're supposed to list all the deletions.02:31
jelmerabentley1: Thanks.02:31
abentley1jelmer: I think deleting the parent works with current implementations, but it's not guaranteed.02:31
jelmerabentley1: Also, is it valid to have two changes for a single ie?02:32
jelmerfile_id I mean02:33
abentley1jelmer: No, the ie describes the target state.02:33
abentley1So if you had two, and they differed, one would be wrong.02:33
=== abentley1 is now known as abentley
jelmerright, that makes sense. Thanks again.02:34
abentleyjelmer: np02:34
* jelmer regrets not trying out inventory deltas earlier. I thought they would be complex to deal with in bzr-svn for some reason, but it's actually improving the code in various places02:35
AfCIt's always a treat when you discover {that,} someone else's code {,that} can make your life better.02:49
jelmerabentley, is it valid to remove a file_id first and then re-add it again at a different path?02:54
abentleyjelmer: No, a file id should occur at most once in a given delta.02:56
abentleyjelmer: Removing the file_id is not needed if you're moving the file.02:56
abentleyjelmer: There is no "before" or "after" in a delta.  It's ambiguous to perform two operations (deletion or moving) in the same delta.02:58
jelmerabentley: Ah, ok.02:59
jelmerI don't know beforehand which files are only removed but not added again (a rename), but I can obviously keep a set of files that are deleted and remove the ones that are also copied from that and just process the renames at the end03:00
=== jamesh__ is now known as jamesh
metajackAny idea what "bzr: ERROR: The branch lp:poetry has no revision None." means?  I've used this launchpad branch plenty in the past.  All of a sudden it is being weird.04:29
=== lamont` is now known as lamont
Chaosmagi Do u feel like your life is stuck in a rut, just going around in circles. Do u feel Spirituality left out then all u have to do is !!!!TAKE BACK REALITY!!!! www.ellis69.webs.com05:08
Peng_Take back reality from who?05:09
Peng_Is there something up with the mailing list? I've seen replies to several messages I haven't received.05:10
Peng_In the svn-import performance thread, I see four messages. Gmane only has two.05:11
Peng_The mailing list archive says there are five messages. So I guess I am missing something for some reason.05:12
abentleyPeng_: I see 5 also.05:12
Peng_So it's just me? Damn.05:13
Peng_:P05:13
abentleyPeng_: #5 is ~ 16 minutes old.05:13
Peng_abentley: I'm missing the first reply from jam, not the most recent message.05:15
AfCSorry for a stupid question: if using bzr-svn, does the Bazaar revno == the Subversion revision number?05:16
AfC(fresh branch, etc)05:17
abentleyAfC: Not in the general case.05:17
Peng_AfC: No, because svn revnos are repo-wide while bzr revnos are branch-wide. "bzr log" will show the svn revnos on revisions created with svn.05:19
AfCah05:21
AfCPeng_: didn't know about that. Nice feature. Thanks.05:22
Peng_There's also an svn revspec, so you can do e.g. "bzr cat -r svn:123 foo".05:22
fullermdPeng_: Taking reality back is easy.  The question is, does reality want YOU back?05:22
Peng_Gmane seems to have all of hte messages.05:29
Peng_Hm.05:29
AfCPeng_: you have a blog or homepage?06:07
Peng_AfC: I own a domain name, but whether you can call an almost-blank index.html a "homepage"...06:08
AfCPeng_: It could hardly be worse than http://audacious-media-player.org/06:09
Peng_AfC: By "almost-blank", I seriously meant "almost-blank". It's only one page, with no CSS or images or anything. :)06:10
AfCFine. I won't link to you.06:11
AfC{shrug} just trying to be polite and attribute when due.06:11
Peng_AfC: Thank you. :) I'd really rather not be linked. I just imagine the disappointment someone feels when they click a link, expecting to find something interesting, and...don't. :P06:13
AfCMaybe you should endeavour to be interesting, then? :)06:13
AfC[Tricky]06:14
AfC[/me notices in passing that is virtually impossible to make this conversation not make it appear condescending. Oh well]06:15
Peng_Heh. I didn't take it that way.06:15
fullermdI tried being interesting once, but it was way too much work.  I went with irreverant and misanthropic instead; it's surprisingly close to the same thing, but SO much easier.07:16
=== toytoy_ is now known as toytoy
vilahi all07:43
* vila had to reset its switch (first time in years, took him a while to even think about it as an explanation for losing internet connectivity :-)07:45
mtaylorhey all... I was going to upgrade my launchpad branches to 1.6 but now 1.9 exists... should I just go all the way to 1.9 now? or should I hold off and just do 1.6?08:21
fullermdI thought I heard that LP doesn't support 1.9 yet.08:23
mtaylorfullermd: well then - that would be a great reason to not use it yet!08:26
fullermdIt makes it harder anyway   ;p08:34
thekornhi, I've got a question about bzr rebase: did I get it right, this plugin can be used to create a new branch containing only the last ten revisions of another branch09:12
thekornis there some workflow related documentation to rebase somewhere?09:15
thekornok, maybe I'm wrong with bzr rebase09:41
thekornso more general question: is it possible to create a new branch of the last ten revisions of an existing branch?09:43
luksthekorn: you can probably branch the original branch with -r0, then merge everything from revision 0 to -9, `bzr revert --forget-merges`, `bzr commit`, `bzr replay` the rest09:45
thekornluks, hmm, thanks, this looks like magic, let me try09:47
luksthekorn: basically the problematic part to squash everything from the start of the branch to some point into a single revision09:48
thekornluks, does not seem to work, maybe I'm doing something wrong, thanks for your help anyway10:16
yaccjelmer, yt?10:35
Peng_fwiw, he last talked 7 hours ago, so likely not10:36
=== cprov is now known as cprov-away
=== bac_lunch is now known as bac
knighthawkcan someone explain the difference between merge, and pull to me? I'm not getting something.13:47
luksperhaps it would be better if you ask specifically what you don't understand13:48
=== kiko_ is now known as kiko
enobrevhas anyone here ever seen pack files get corrupted after a push14:49
enobrev?14:49
jelmeryacc, hi14:52
Takdid anyone file a feature request to make `bzr status -S` not show conflicts in an inconsistent way?14:52
enobrevAfter a push, when I try to do anything, I get "Unrecognised container format: 'B363'".  A couple of the pack files don't have their header ("Bazaar pack format 1 (introduced in 0.18)").15:04
enobrev"anything" such as bzr update15:05
knighthawkbzr: ERROR: These branches have diverged. Use the merge command to reconcile them.15:06
knighthawkbut when I use the merge command I get 'Nothing to do'15:06
LarstiQknighthawk: could you provide a bit more context on when this happens, what bzr status/missing say?15:10
LarstiQenobrev: I've seen something like that before, don't recall off the top of my head what the situation was.15:11
jelmerPeng, the mailing list is not sending me everything right away either15:11
=== abadger19991 is now known as abadger1999
=== beaumonta is now known as abeaumont
enobrevLarstiQ: you were the one to help me with it last time.  I ended up killing the repo and re-pulling because adding the header manually didn't work15:28
tigger^hey peeps15:29
LarstiQenobrev: ah15:29
tigger^bzr branch bzr+ssh://myrepo15:29
tigger^bzr: ERROR: Generic bzr smart protocol error:15:29
tigger^doesn't give me much to go on..15:30
tigger^Bazaar (bzr) 1.7.115:30
tigger^-Dhpss doesn't change the output at all, which strikes me as odd15:30
enobrevLarstiQ, at least that's what I did last time.  But just ran into the problem again this morning.  I'm waiting for the developer who made the last push to log on so I can debug with him, but just wondering if anyone's seen that happen around here15:32
LarstiQenobrev: this time, go the launchpad answers/bugs route15:32
enobrevLarstiQ, good call15:32
* LarstiQ nods15:32
LarstiQenobrev: succes with that15:32
* LarstiQ heads downtown15:32
enobrevLarstiQ: thx15:33
tigger^branching localy I got bzr: ERROR: exceptions.MemoryError:15:38
Takwow - `bzr branches localrepodir` => 750MB memory usage15:44
tigger^swap was disabled on the machine, fixed that, it works now15:46
yaccjelmer, hi ;)15:51
jelmeryacc, hi15:51
yaccjelmer, OT, technically, today #samba-technical is more appropiate ;)15:52
knighthawkLarstiQ, bzr status says nothing. bzr missing says I'm missing 2 revisions.16:02
=== kiko is now known as kiko-fud
jamabentley: ping about bug #30484116:10
ubottuLaunchpad bug 304841 in bzr "bzr push raises RevisionNotPresent" [Critical,Triaged] https://launchpad.net/bugs/30484116:10
jamWhen you say "as of revno 3873" is that because that is the bzr.dev you used to test it with16:11
jamor that is the actual revision that shows the bug versus not showing it?16:11
abentleyjam: No, that's the version of 1.10 I tested it with.16:11
jamAnd are you talking the 1.10 branch or the bzr.dev branch16:11
jamug16:11
jamthe new "loom" command hijacked "bzr up" to mean something other than "bzr update"16:11
abentleyjam: 1.10 rc does not exhibit the bug, because it gives the ShortReadv16:12
jamk, did you try bzr.dev ?16:12
abentleyjam: bzr.dev also gives the ShortReadv16:12
jamI don't expect anything different but just something to compare against16:12
jamhm... k16:12
jamI guess Martin didn't get the revert into bzr.dev yet16:12
abentleyjam: Right.16:13
abentleyjam: It's possible that the waste you're seeing in packs was introduced by Martin's stacking fix in 1.10.  That creates a fulltext if the basis text isn't available.16:22
abentleyjam: (but the basis text may arrive later in the stream).16:23
jamabentley: I don't think it would "go away" during autopack16:24
jamAlso, this is only in the brisbane-core branch which doesn't have bzr.dev merged in yet16:24
jamI'm pretty sure it is Robert's chk work, which adds things to the repository, then determines the sha1, and if it collides, just omits one of them from the index.16:25
jamabentley: do you get the same failure if you don't use "--use-existing" ?16:33
abentleyjam: No, then I get the standard error you get if you push to an existing directory.16:33
jamsure, I'm just wondering if there is something already wrong with the target, that is causing confusion.16:34
jamDo you get the failure if you push do a different branch?16:34
jamCertainly this is the "convert back to fulltext" code, since it is going through "get_bytes()".16:35
jamI can't actually see the branches, though, so I'm a bit limited in what I can poke at.16:35
abentleyjam: I would expect so, but I'll verify.16:36
abentleyjam: Unfortunately, these are LP branches, so providing a mirror would take significant time.  You may be able to reproduce with lp:~abentley/launchpad/web-diffs16:39
jamabentley: I'm not on the private team that has access to lp branches16:39
jamso I can't reproduce at *all*16:39
abentleyjam: That seems dumb.  I've gotta run.  Be back in ~ 2 hours16:41
jamI won't disagree...16:41
jamsee you later16:41
jamIt would also seem that the CombinedGraphIndex it is using doesn't have any actual indices, so there isn't any way for it to have *any* content.16:44
jamSeems like something is confused as to where the real content is.16:44
jamabentley: I can reproduce it here trying to push a stacked branch of bzr with bzr-1.10 onto launchpad.16:51
jamI get the same: KnitVersionedFiles(_KnitGraphIndex(CombinedGraphIndex()) failure16:51
jamoddly it takes almost 7m before it gets there...16:52
=== kiko-fud is now known as kiko
eferraiuoloCan someone explain what type of smart server would be the best for the following uses...17:19
eferraiuoloI want controlled user access to my repos, and maybe certain users have access to certain repos. This is on a server which I manage (VPS)17:20
eferraiuoloI would need the connection to the server to be encrypted17:20
eferraiuoloand possibly not want to create SSH or machine-level user accounts for people accessing the repos17:21
eferraiuolo...I've been reading up on the different smart server configs and not sure which matches with what I want to do the best, any suggestions?17:21
jameferraiuolo: my recommendation would be to use bzr+ssh with a single account17:33
jamand use different ssh keys for each user17:33
jamyou can see some sample info in contrib/bzr_access17:33
jamabentley: it also seems that I can reproduce it locally, without having to connect to LP at all17:34
eferraiuolookay, so you're suggesting a single user account on my machine that each user would login thru?17:34
=== Mario_ is now known as pygi
LaserJockcan running bzr upgrade after installing bzr 1.9 have some bad consequences?18:02
LaserJockI tried it and now bzr says there's no repository present when I try to pull/info/status, etc.18:03
beunoLaserJock, the default format is the same as 0.9218:04
beunoso there should be no consecuences18:04
beunowhat exactly is the error?18:05
LaserJockbzr: ERROR: No repository present: <path to repo>18:05
beunothat's very odd18:05
beunoare you using a shared repo?18:06
LaserJockno18:06
beunocan you check that there's a .bzr dir in there?18:06
LaserJockyeah, it's there :-)18:06
james_wLaserJock: check .bzr/repository18:06
LaserJockI checked that first18:06
james_wthere's a bug where it renames .bzr/repository to repository.moved or something18:06
LaserJockjames_w: there's a repository.backup18:07
james_w*then* checks18:07
james_wthen doesn't move it back if it fails18:07
beunojames_w, really???18:07
james_wLaserJock: yeah, move that to .bzr/repository18:07
beunoalso, why is it upgrading?18:07
beunoit only should upgrade if LaserJock was on knits18:07
LaserJockheah, there we co18:07
LaserJock*go18:07
LaserJockok, it works now18:07
james_wit happens when rich-root support is not the same18:07
beunoaaah18:07
beunorich root is evil18:08
LaserJockI've had a bunch of "you should upgrade" messages18:08
LaserJockbut I never do it18:08
beunook, so you where on knits18:08
LaserJockbut I decided to try it on a throw-away branch as it didn't matter if it screwed it up18:08
Peng_Tak: That's something with bzr-svn.18:08
beunoand you should probably do:  bzr upgrade --rich-root-pack18:08
Peng_Tak: Augh, I was scrolled really far up. Sorry.18:08
Takthat's ok - good to know18:09
james_wbug 14581218:09
ubottuLaunchpad bug 145812 in bzr "Upgrade can leave a broken repository (with backup)" [Low,Triaged] https://launchpad.net/bugs/14581218:09
LaserJockI think almost all my branches are rich-root-pack18:09
LaserJockthat's one of my "issues" with bzr is it seems like I'm always worrying about formats, and I don't understand them and can't keep them straight18:10
LaserJockis pack-0.92 the default?18:12
beunoyes18:12
LaserJockok, I've got a couple of those18:13
LaserJocknow if I upgrade my local branch does that slow down pulls if the branch I'm pulling from has an old format?18:15
beunoit does18:16
beunoyou should upgrade the remote one as well18:16
LaserJockwell, I never have access to the remote one18:16
LaserJockso i'll just leave them alone18:16
LaserJockI just wondered what would happen18:17
=== bac is now known as bac_lunch
jelmerjam: hi!18:24
jelmerjam: You mentioned a patch to a bug I was seeing in brisbane-core18:24
jelmerjam: Which patch is that?18:24
abentleyjam: glad to hear it.18:30
kjcoleHi.  Any cure for old (0.8.2) error: Error -3 while decompressing: invalid distance too far back?18:43
Peng_0.8.2? That release is older than I am. Does anyone even remember the error codes from back then?18:45
kjcoleThe error continues, mentioning specifically the same line referred to in a launchpad bug report about memory issues:18:48
kjcoleusr/lib/python2.4/site-packages/bzrlib/tuned_gzip.py line 10318:48
kjcole(It's a very short message resulting from "bzr check" only two or three lines of error, before returning to the prompt.  No long stack.18:49
ToyKeeperAfter using bzr, svn makes me :( :(19:00
ToyKeeper... especially with this 11 GiB checkout full of dead branches.19:01
=== bac_lunch is now known as bac
=== doko__ is now known as doko
=== kiko_ is now known as kiko
pygijelmer, how are the duck branches going?19:40
crisbhas anyone any suggestions for end of line translation?19:41
jelmercrisb, I think there's a plugin somewhere, not sure what the status of it is19:41
jelmerpygi, Well, they're there19:42
jelmerpygi, I guess it may be a good idea to put up a wiki page about them..19:42
crisbjelmer: i've seen that one, but is there any plans for anything more in bzr itself?  the plugin doesnt really do anything automated (but is still useful in some regards)19:42
pygijelmer, I mean have you done any work to support them in core? :)19:42
crisbit would be nice to get some info about how other projects manage it.  my current idea is to use just LF's in the repository except on files which need CRLFs (ini's etc) - is that how other people do it?19:44
jelmercrisb, yeah, I think most just pick one line ending mechanism19:44
crisbbut I can see that without at least the EOL plugin, repositories could become a mishmash of different line endings19:44
jelmercrisb, afaik the plugin did most things automated, but perhaps it's a good topic to bring up on the mailing list again19:45
jelmercrisb, I know we're at least planning on supporting line ending conversions like svn does19:45
crisbjelmer, ah thats good to know. we're converting from PVCS which (supposedly!) has some sort of conversion between line endings and although I dont see it as a real problem, some people are quite precious about it!19:47
jamjelmer: the patch is in the email "CHKMap._check_remap()"19:48
jamabentley: I'm pretty sure I understand the cause and have an idea of a reasonable solution19:48
jamit was one Martin considered originally, but didn't go with19:48
jamnamely, requesting topological ordering19:49
jamif we have a fallback vfs19:49
abentleyjam: What was the cause?19:49
jelmerjam, Thanks, I'll give it a try19:49
jamIf you go back to the bug I mentioned it theree. But basically, Assume you have a delta chani A-B-C-D19:49
jamand only A is present in the fallback19:49
jamif we get the delta "C"19:49
jamwe can't extract it to a fulltext19:50
jambecause we haven't seen B yet19:50
jamabentley: sound reasonable to you?19:50
jamThe actual case I looked at was a bit more confusing than that, because it seemed like I was inserting D, and C was present, but not B.19:51
jamAnd I didn't understand how *that* could happen.19:51
jamBut I'm going to start from there.19:51
jamI should have a patch shortly that you can try.19:51
abentleyjam: I thought we were checking for the case where B wasn't present.19:52
jamI'm not sure what you mean by "checking for"19:52
jamThe idea is that  the stream is "unordered"19:53
jamso it can send "C, B, D"19:53
abentleyjam: Only trying to get a fulltext when B was present.19:53
jamabentley: that might actually be why I saw the confusion19:53
jamImagine we are fetching and we see C, D, B19:53
jamat the point we get to D, C is present19:53
jambut if we want to insert a fulltext, B is not19:54
jam(we only look at the direct parent, and not the whole chain)19:54
jamanyway, I'm not 100% sure19:54
jamBut that is the best I could put together19:54
abentleyjam: I'm pretty sure we're checking whether C is present in the fallback.19:54
jam(so far)19:54
jelmerhmm, next issue19:54
jelmerCHKInventory doesn't have a apply_delta() function anymore19:54
jamjelmer: you aren't allowed to mutate a CHKInventory19:54
jamyou need to use "create_by_apply_delta()"19:54
jamwhich we should be adding to regular Inventory if we haven't19:55
abentleyjelmer: But more likely, you want to use Tree.apply_delta.19:55
jelmerjam: Thanks, I'll look at that19:55
jelmerabentley, A tree would be overkill in this situation I think. I'm only constructing the inventory for internal use by bzr-svn19:55
jamabentley: also, Tree doesn't have apply_delta, right? You have to at least have a MutableTree (I would assume)19:56
abentleyjelmer: Oh, I thought you were using it for commit.19:56
abentleyjam: Interesting question.  Not sure.19:57
jamYou can't really do RevisionTree.apply_delta, IMO19:57
abentleyjam: Well, it would probably be a bad idea, anyhow.20:00
abentleyjam: So I'm looking at the test in knit.py near 1336.20:01
jamThis one, right:20:02
jamelif ((record.storage_kind in knit_types)20:02
jam      and (not parents20:02
jam           or not self._fallback_vfs20:02
jam           or not self._index.missing_keys(parents)20:02
jam           or self.missing_keys(parents))):20:02
jamAnd the "self.missing_keys(parents)" is supposed to determine that the fallback doesn't have the parent either20:02
abentleyjam: "or self.missing_keys(parents)" should mean that we don't attempt to construct fulltexts unless the parent is present.20:02
jamRight, so imagine a long change A-B-C-D-E20:02
jamWe first get C20:03
jamand we see that only A is in the fallback20:03
jamso we go ahead and insert it as a delta.20:03
jamthen we get D20:03
jamI guess that should be telling us it is okay to insert as a delta as well, because C is present...20:03
abentleyjam: No, that would fail the missing_keys(parents) and the not _index.missing_keys(parents)20:04
abentleyjam: Okay, I'm inclined to agree that forcing a topo sort makes sense here.20:05
abentleyAs it's much simpler.20:05
jamwell, I can say that in my test case, forcing topological order made it "just work"20:05
jambut I'd like to make sure I know the problem first :)20:06
abentleySo if we have C, we're allowed to make D a fulltext.20:06
jamabentley: supposedly, but we don't have B to *actually* create D as a fulltext20:06
jambut the problem is that I don't understand why we *want* to make D a fultext20:07
jamanyway, here is the "just make it work" patch:20:07
jamhttp://paste.ubuntu.com/79974/20:07
abentleyjam: Oh, I was trying to explain it to you because of your last comment.20:07
jamA whole 1 line insertion20:07
jamabentley: figured it out20:08
jamit is a merge revision20:08
jamand we check "self.missing_keys(parents)"20:08
jamnot "self.missing_keys([compression_parent])"20:09
jamso it *does* have the direct parent20:09
jambut not the merged parent20:09
jam(I'm double checking that)20:09
jamok, a bit weird, but "self._index.missing_keys(parents)" returns 1 entry and "self.missing_keys(parents)" returns None...20:10
jamso that means that the stacked branch has *merged* the base branch20:10
abentleyjam: I'm testing out your patch.20:12
jamI'll also try a different one that isn't so heavy handed.20:12
abentleyjam: I can confirm your patch works for me.20:13
=== jfroy|work is now known as jfroy
=== jfroy is now known as jfroy|work
jamabentley: I'm almost done with a patch that just fixes parents => compression_parent20:20
jamgive me a sec20:20
jelmerjam, Yeah, "plain" Inventory doesn't have create_by_apply_delta() yet20:21
jelmerjam, Other than that, things at least work now - thanks20:21
jamabentley: try this: http://paste.ubuntu.com/79983/20:22
jamjelmer: It is trivial to add create_by_apply_delta to plain inventory20:22
jambasically, it is just "new = self.copy(); new.apply_delta(); return new"20:22
jelmerright, that's what I was already doing myself, so I've just added a check for that method :-)20:23
jamI think we would want that actual function in the brisbane branch20:23
jamif you want to write it up quickly20:23
jamabentley: so in testing it here, either patch I proposed to you fixes the bug20:23
abentleyjam: testing...20:24
abentleyjam: 2nd patch works for me.20:26
jamok. I feel like I have a good grasp of the problem at least.20:26
jamI'll probably propose both fixes20:26
jamas I think the topological sorting just means things go smoother in general20:26
jamand the other is a "correctness" fix20:27
abentleyjam: cool.  Thanks for taking point on this.20:27
jamnp20:28
jammartin asked me to step up for any stacking problems while he was afk20:28
kjcoleAny way to recover damaged "knit" files?  I have an old tree that appears to be working fine... Until I try to move to a newer system (or create a branch from it).20:29
kjcole"bzr check" reveals a zlib.error "invalid distance too far back" related -- I think -- to an old memory bug listed on launchpad.20:30
kjcole(the error appears to be at /usr/lib/python2.4/site-packages/bzrlib/tuned_gzip.py line 103, which is listed in the afore-mentioned bug report.)20:32
jelmerjam: I'll look into providing a patch20:59
jelmerjam, while I'm at it it would be nice to also fix this: http://paste.ubuntu.com/79989/20:59
jelmerany idea what's going wrong there?21:00
jamProbably a problem with an initialization path21:00
jamI believe Robert added an _entry_cache21:01
jamso that it doesn't have to read from disk and deserialize into an InventoryEntry multiple times21:01
jambut I don't know when _entry_cache gets written21:01
jamI would have thought in __init__ but maybe he did it elsewhere21:01
jelmerlifeless, ^21:02
jelmerjam: is it useful that I test and report these issues this at all atm or are you working on fixing them anyway?21:08
jamATM, I'm working on some bits lower down in the stack21:09
jamAlso, ATM, I'm the only one working on it... :)21:09
jamhowever, I think it is good to be aware of where things are broken in the branch21:09
jamI believe we want to get tests passing21:10
jamas it makes further development easier21:10
jelmerk, I'll just keep reporting issues and seeing if there's (small) things I can help with then21:11
jelmerspeaking of which..21:11
jelmerInventoryDirectory.children appears to've become a lot slower21:11
jamjelmer: CHKInventoryDirectory.children is quite slow as it has to go out and bring in more pages, etc.21:12
jamOh, and are you using "--development3" or "--development4" ?21:12
jam--dev4 added a "parent_id,basename => file_id" map21:13
jamthe --dev3 code has to iterate the *entire* inventory for every .children request.21:13
jelmerI'm using --development4-subtree21:14
jamso... CHKInventory is now lazily evaluated21:14
jamso when you create one it doesn't read the whole inventory21:14
jamand only pages things in as you go to each IE.children21:15
jamsort of thing21:15
jamSo building up that dict should be a lot slower than having already built it and only evaluating a dictionary21:15
=== bac is now known as bac_afk
jelmerright, so I should try to limit inspecting the inventory to the things I actually need21:16
jamyep21:17
jamI wish "bzr shelve" worked on windows....21:17
jamI keep wanting to use it :)21:17
jelmeryeah, I use it all the time as well :-)21:19
jelmerwhen add_inventory_delta() has to do an expensive copy of the inventory and apply the delta against that, is there some cheap way to get the resulting inventory?21:20
jamnot sure21:21
jamI would guess Robert didn't optimize for that case21:21
jamCertainly you could just have "add_inventory_delta()" return some sort of Inventory object back to you21:21
jelmerbut calculating that return value might be more expensive in the case of CHKInventory, no?21:25
jamI would imagine you could just return the CHKInventory21:26
jamit is really "add_inventory_*by*_delta"21:26
jamand I think at some point it needs to work out what the basic shape of the inventory is21:26
jameven if it didn't have to unpack every node.21:26
jam(I believe Martin mentioned wanting a slightly different name for the function.)21:27
=== bac_afk is now known as bac
jamabentley: the plot thickens further... the simple test case doesn't work right because it sees that the parent is missing so it 'buffers' the index entry21:39
jamI have to figure out how to get one of the entries to not be buffered21:40
jamugh21:40
abentleyjam: Did the old shelve work with win32?  It's now provided as "shelve1".21:41
jamabentley: yeah, the new one fails because of the WT locking issues21:41
jamyou can't actually hold a WT.basis_tree() outside the length of a lock21:41
jamor you end up with 2 references to the dirstate file21:42
jamwhich both try to lock it.21:42
jamfor now "cp" is good enough21:42
jambut yeah, I can probably use shelve121:42
awilkinsjelmer: Can bzr-svn 0.5 push a bzr branch as a new svn branch?22:09
jelmerawilkins, 0.4 can already do that22:09
awilkinsjelmer: Is there a particular syntax?22:09
jelmerbzr svn-push22:09
awilkinsjelmer: I'm trying to push a branch into a zero-revision svn repo22:09
jelmerawilkins, you can't push to the root of the repository, as that already exists22:10
jelmerawilkins, but you can push to e.g. /trunk22:10
awilkinsjelmer: waah, needs create-prefix :-P22:11
jelmerawilkins, ?22:11
jelmerawilkins, this behaviour is similar to that of bzr push22:11
jelmerawilkins, note that you need "bzr svn-push", not "bzr push"22:11
awilkinsYes, svn-push has no equivalent of the --create-prefix option of "push"22:13
jelmerahh22:13
DeviantPeerhi all!22:21
DeviantPeerI'm evaluating vcs an trully enjoying bazaar. Just a quick question: is there a way to have local branches whithout using another directory? (something like git does)22:22
DeviantPeerand also mercurial does that kind of branching.22:23
lifelessPeng_: rm-rf, new formats need to reindex anyhow to get more data.'2' isn't really finished yet, I haven'tdone a release..22:23
DeviantPeerI know that you can use hardlinks in order to keep the storage usage low, but it's so easy to do something like (git checkout branch.name) and start using that branch...22:24
lifelessDeviantPeer: yes, use a shared treeless repository to hold the branches, and then use 'bzr switch' to switch between them.22:26
DeviantPeerlifeless: shared treeless? hum... how?22:26
jelmerlifeless, create_by_apply_delta() forgets to set _entry_cache in the returned CHKInventory to {}, could that right?22:26
DeviantPeerlifeless: or better... where do I start to read about it? any links?22:27
NfNitLoopDeviantPeer: bzr init-repo . --no-trees;  bzr branch <remote-branch>; cd <workspace>; bzr co --lightweight <local-branch>  :)22:28
NfNitLoopDeviantPeer: check the bzr wiki for the "workflows" page.22:28
DeviantPeerNfNitLoop: ok.. gona try that. thx.22:28
NfNitLoopI'm pretty sure it's one of the ones listed there.  (though I don't remember if 'switch' is mentioned specifically.)22:29
lifelessjelmer: yes, looks like thats a bug to me22:29
DeviantPeerNfNitLoop: already open and reading. ;) thx22:29
NfNitLoopDeviantPeer: unfortunately it does use another directory, but with the --no-trees options, the directory only contains .bzr metadata about the branch, and all of the changesets(?) are stored in a shared .bzr in a parent dir.22:31
DeviantPeerNfNitLoop: I understood that. I guess it works by harlinking to the other directory22:31
NfNitLoopnope, no hardlinking.22:32
DeviantPeerNfNitLoop: ups then.. got to read more ;)22:32
NfNitLoop*nod*22:32
NfNitLoopI vaguely remember about one dscm using hardlinking (mercurial?)  and wondered how that worked on windows...22:33
DeviantPeerNfNitLoop: so if it doesn't use hardlinking it works even on "not so good" filesystems such as ntfs? (well yes.. at works we have to use it.. damn)22:33
NfNitLoopDeviantPeer: yep!22:34
DeviantPeer:) goody. :)22:34
NfNitLoopI use bzr on windows, osx and linux regularly. :p22:34
DeviantPeerI use wubi on the work computer... and didn't tell anyone about it.22:34
NfNitLoopwubi?22:34
DeviantPeerNfNitLoop: a small utility that installs ?ubuntu on top of windows without erasing anything from the hardisk22:35
DeviantPeerNfNitLoop: I think it's called wubi... I might be giving you the wrong name.22:36
NfNitLoopoh, cool.  Installs it on the FAT partition?22:36
NfNitLoopI think I did something like that back when Slackware was cutting-edge. :p22:36
DeviantPeeranyway.. my manager is realy happy 'cause I'm 5 times more productive than my coleagues22:36
NfNitLoopheh.  apt-get and free tools will do that.  ;)22:36
DeviantPeerNfNitLoop: it creates a biiiiig files on the ntfs (10 or more Gib)22:36
NfNitLoopBTW, I found out that 'meld' works with bzr this week.22:37
NfNitLoop<--happy. :)22:37
DeviantPeerNfNitLoop: and then uses that file as a loopback devide for the linux root.22:37
jamabentley: you may want to review the patch I just sent in, since I don't know if anyone else can get to it.22:37
jamI'm done working for now.22:37
NfNitLoopDeviantPeer: aah.22:37
jamabentley: http://bundlebuggy.aaronbentley.com/project/bzr/request/%3C493709CC.4090307%40arbash-meinel.com%3E22:37
DeviantPeeron bazaar: it's looking great. tomorow I'm going to try the "speed" of it when compared to others.22:38
abentleyjam: thanks.22:39
DeviantPeeron features it rocks.22:39
DeviantPeerthe proper versioning of directories is great.22:39
DeviantPeernow I can't even believe that I survived without it for so long ;)22:39
NfNitLoopDeviantPeer: what VCS were you using previously?22:40
DeviantPeeralthough ClearCase does version directories22:40
DeviantPeerNfNitLoop: uff.. I have used CVS, svn, ClearCase (arghhhh!) and git22:40
DeviantPeerNfNitLoop: now I'm trying some newer ones.22:40
NfNitLoopWe actually used MS VSS at one company I was at.  >.<22:41
DeviantPeerargh!22:41
DeviantPeerit's even worse than CCase.22:41
DeviantPeer:)22:41
DeviantPeerso much worse than anything actualy ;)22:41
metajackAny particular reason that bzr+ssh would fail but sftp would work?  I get 'bash: bzr: command not found' and 'bzr: ERROR: Connection closed: please check connectivity'.  ssh host bzr works fine though.22:42
metajackoh wait. no it doesn't. never mind me :)22:42
NfNitLoopmetajack: glad to be of service! :)22:42
DeviantPeermetajack: :D22:42
DeviantPeerwell... time to go and read... the old fashion way of learning.22:44
DeviantPeerNfNitLoop: thx for the tips.22:45
DeviantPeerlifeless: thx22:45
DeviantPeerbye all.22:45
lifelessjelmer: I've pushed a fix22:54
jelmerlifeless, argh, I was just working on a fix as well..22:54
jelmerI have a testcase, if that helps..22:54
lifelessjelmer: won't hurt to have a test22:54
lifelessjelmer: I just made a __init__22:55
markhjam: kerguelen is back up :)22:56
Lutin42hi! I have a bzr repository broken and I'm looking for help to fix it (or at least export its content)22:58
Lutin42I executed the following command: bzr rm documents22:59
Lutin42and now, with most of the commands (except logs), I get the following errors: bzr: ERROR: exceptions.AssertionError: Could not find target parent in wt: documents22:59
Lutin42is there any way to fix this?22:59
markhan assertion eh...  You have a recent verison of bzr?23:00
lifelessjelmer: feel free to push trivial stuff to brisbane-core directly23:01
lifelessjelmer: [like trivially correct, doco etc]23:01
jelmerlifeless, or this test ? :-)23:02
lifelessjelmer: larger stuff please send a [split-inv][MERGE] to the list, and get an ack before pushing23:02
Lutin42I was with an old version (1.6 I think)23:02
jelmerk23:02
Lutin42updated to 1.9, and still the same problem23:02
lifelessLutin42: that error will persist until you removeo the tree and check it again; it is a cache corruption, not a core data corruptio23:03
Lutin42ok... now I feel like a noob23:03
lifelessLutin42: if you have no outstanding changes in the tree, or none you care about, just do 'bzr remove-tree --force; bzr checkout .'23:03
Lutin42this tree was never pushed anywhere23:04
lifelessLutin42: do you have outstanding edits you haven't committed?23:04
Lutin42nothing that is not backed up23:05
lifelessok23:05
lifelessthen do23:05
lifeless'bzr remove-tree --force; bzr checkout .'23:05
NfNitLoopLutin42: I'm also curious if you're working on a case-insensitive fs. (Windows)23:06
=== spmcinern is now known as spm
Lutin42I'm on mac os x23:06
Lutin42default install23:06
Lutin42your command seemed to have worked ; produce a lot of conflict though23:09
lifelessLutin42: you can clean that up though, using bzr revert/resolve etc23:12
Lutin42yes ; I'm looking into it, as the slightly different workflow is different for an svn guy23:13
Lutin42Can I safely assume that all my modifs since the last commit have been moved to <file>.normal_extension.moved and that moving this file to the normal name and then do bzr resolve FILE will solve it?23:18
Lutin42from what I've seen so far, yes, but just in case...23:18
=== davi_ is now known as davi
Lutin42back to normal23:36
Lutin42lifeless, thanks a lot for your help23:36
uwsServer is too old for streaming pull, reconnecting.  (Upgrade the server to Bazaar 1.2 to avoid this)23:40
uwsIs it possible this also happens with pull over bzr+ssh:/ if the server is 1.8 and the client is 1.5?23:40
maxbI'm browsing "bzr help commands" ..... what is a ghost and why would I want to fetch it?23:43
speakmanusing bzr+ssh it says "Unable to determine your name. Use "bzr whoami" to set it.", but the whoami is already set to "Forename Lastname <email@address.com>".23:44
fullermduws: 1.6 (I think) removed the streaming pull thing for various reasons, so yes.23:55

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