/srv/irclogs.ubuntu.com/2008/06/22/#bzr.txt

beunolifeless, you know what would be cool?  Making bzr-stats have similar indexes to bzr-search. So to make it easy to get stats, and be able to get something line "how many lines X commiter has added"00:07
beuno(in a cheap way, not processing everything each time)00:11
lifelessbeuno: yah00:11
edcrypt_hi people - are there any script to fetch svn:externals with bzr-svn?00:35
edcrypt_pinax.hotcluboffrance.com uses a lot of external apps, I think I'll write a quick script to fetch each one with bzr...00:37
Verterokbeuno: pushed, mail sent00:53
VerterokI'm off, at least for a few hours (birthday party), seeya later00:54
beunoVerterok, cool, have fun00:58
Verterokbeuno: thanks00:59
engieHi. I've pushed, with sftp, a branch to a web server and I can browse to it at http://www.studentrobotics.org/~stephen/jsdndide/local/ - what do I use to branch from this over http from another machine? I've tried every variant on branch with that URL I can think of!01:34
jamengie: You seem to have a shared repository in use on that machine, which is not exposed via http01:38
jamI'm guessing you have one in your home dir01:38
jamand Apache is only serving things under public_html01:39
jamSo you need to "bzr init-repo public_html/" or possibly "public_html/jsdndide" before you do another "bzr push"01:39
engieOK. Is this because the local branch is under an init-repo directory on my local machine?01:40
jamengie: no, there is a repo on the remote machine01:40
jamotherwise we would have created one with the branch01:40
jamsorry, with the "push"01:40
jamengie: It is a good thing to have a shared repo on the other machine, it just needs to be somewhere that people can access it through http01:42
engieOhh, looks like I accidentally pushed a .bzr up there when I was trying things out yesterday01:42
engieThat machine doesn't have bzr on it01:42
jamengie: you don't need one, you can do "bzr init-repo sftp://host/~/public_html"01:43
=== eMxyzptlk is now known as eMxyzptlk[away]
engieIs there any benefit to doing that? Does it share history between multiple branches?01:43
engieAhh brilliant, that's working, thanks01:46
lifelessjelmer: so what do you think03:33
lifelessRAOF: go to http://200.127.6.219:8080/bazaar/bzr/changes03:33
lifelessRAOF: and type in the search box03:34
RAOFlifeless: Is there really only one change there matching 'lambda'?03:40
lifelesslooks like03:41
RAOFSo, the find-as-you-type thing is good.  And it's nice and fast.03:42
RAOFThe formatting seems a little off?03:42
lifelessyes03:42
lifelessbeing worked on03:42
RAOFHm, it also doesn't much like "refactor" as a search term.03:42
lifelesshey, spare time, hacked up, new search engine etc03:42
RAOFIt flips between anything matching 're' and 'refactor' :)03:42
lifelessbeuno: http://200.127.6.219:8080/bazaar/bzr/revision/33?q=lambda doesn't search-complete?03:43
lifelessRAOF: uhm, not sure what you mean about flipping03:43
RAOFlifeless: Oh, I thought you were after comments/queries/criticisms.  If you'd like unadulterated praise, I can provide that, too :)03:43
lifelessRAOF: I'm not after either actually :)03:43
lifelessRAOF: you can throw peanuts at SLUG on friday if you like03:44
lifelessRAOF: this is just a follow up to the xesam comment in u-m03:44
RAOFRight.03:44
RAOFAaah, I think I see the problem:  Typing r..e..f..a..c..t..o..r gives "refactoring" as the sole hit.03:44
lifelesswhich comment I can't even remember now03:44
lifelessjust that it made me think I should show you this03:45
RAOFRight.  Contrary to Amaranth, I think search can be useful.  And I can immediately see how this could be nice and useful :)03:45
lifelessyah, this is a tiny code base its searching - the bzr-search plugin itself03:45
lifelesssearching bzr's code base will give more suggstions:03:45
lifeless:!bzr search -s refactor03:46
lifelessSuggestions: [('refactor',), ('refactored',), ('refactoring',), ('refactorings',), ('refactors',)]03:46
RAOFBut typing 'refactor' really quickly will briefly bring up 'refactoring', and then bring up all matches for 'r'03:46
lifelessRAOF: oh interesting. Thats because its a lot cheaper to search a smaller dataset I suspect03:46
lifelessRAOF: so its getting out of order results03:46
lifelessbeuno: you should include in the response to a lookup, the string that was asked for03:47
lifelessbeuno: then the client can ignore responses that are not the same as the current search is showing (or perhaps just ones that were done off a shorter prefix)03:47
lifelesss/smaller dataset/smaller number of terms/03:48
lifelessRAOF: there is a full command line client to bzr-search, if you prefer that03:50
lifelessgarh, fugliest site ever: http://python2.near-by.info/index.php?option=com_content&view=article&id=144&Itemid=11103:52
lifelessI was trying to find pure python b+/b-tree implementations03:52
lifelessbut that one sure seems locked away03:52
beunolifeless, the javascript isn't included in the revision page. It's a bug  :)04:05
lifelessbeuno: :P04:06
beunoand, it does wierd things because it looks for every character, no matter how fast you type04:06
beunoanother know bug04:06
beunoI have to make the javascript stop propagating if you type before it sends out the request04:07
beunoright now it queues them, which was simpler at the time04:08
lifelessbeuno: not at all04:08
lifelessbeuno: my suggestion will make it appear better04:08
lifelesssay it asked for - in order - 'r', 're', 'ref', 'refa'04:08
lifelessbut the answers come back in the order 'ref', 'refa', 're', 'r'04:08
lifelessthats why it looks wierd04:09
lifelessbut more specific searches complete faster, so this is actually expected04:09
beunoyeah, probably because04:09
lifelessnow, imagine that in each answer you include the search at the top of it04:09
beuno'r' took longer to process04:09
lifelessso the answer for r will have 'I am a search for 'r'04:09
lifelessand so on04:09
lifelessthen the client can do this:04:10
lifelessif the current contents of the widget does not start with the response, ignore it04:10
lifelessif the contents do start with the response, and no drop down is shown, store the thing the response is for in a variable and show the drop down04:11
beunoyes, that's one way to do it. But that would hammer the servers pretty bad on a large scale04:11
lifelessif a drop down is already shown, and the response is for a shorter query than the drop down is, discard the response04:11
lifelessbeuno: this is not a replacement for asking less often; its needed anyway (because under high load this can happen anyway)04:12
beunolifeless, right, that makes sense04:12
lifeless(oh, and if the user deletes terms, obviously reset this variable or something04:12
beunoso it should be a combination of both04:12
lifelessyes04:13
beunook, so *more* javascript to write  :)04:13
lifeless:)04:13
beunobut it's great that we're debugging this so much, it may get in shape to go into trunk sooner04:14
beunoI'd like to add a few optional plugins to LH04:14
beunothis being one of the strongest recommended ones04:14
beunoalso, I have plans to get the integrated into bzr-gtk, if no one does it first04:16
beunoit's even better as a desktop application  ;)04:16
lifelessperhaps jelmer will now hes seen it work :)04:19
lifelessbeuno: perhaps these glitches (like revision page missing the javascript should be bugs ?04:19
beunolifeless, I'd have to create a project for that. Do you think it's worth having a seperate project for it?04:20
lifelessnah just on loggerhead04:20
beunooh, sure, that sounds like a good idea04:21
beunoI'll file the revisions one (and annotate, and the rest) if you file the search order  :)04:22
lifelessk04:22
lifelessdone04:23
beunome too04:24
jml  File "/home/jml/.bazaar/plugins/svn/core.py", line 25, in <module>04:24
jml    from bzrlib.plugins.svn.client import get_config04:24
jmlImportError: No module named client04:24
jmlI got that when I tried to branch a svn branch with bzr04:25
lifelessis there a client.py file ?04:25
jmlthere's a client.c file. Apparently I need to build bzr-svn.04:26
lifelessjelmer: ^04:27
* jml installs a bunch of stuff04:29
jmlok. that version of bzr-svn is not going to help me much.04:30
lifelessnow05:01
lifelessPeng: around?05:01
lifelessjml: ping05:03
jmllifeless: pong05:03
lifelessloggerhead is down05:03
lifelessdo you know if we moved it off vostok yet ?05:03
jmllifeless: no I don't.05:05
lifelessdang05:05
lifelessdo you know the new machine name it would have moved too ?05:06
beunolifeless, AFAIK, the new version of LH will be deployed on wendsday, so maybe that's when they're moving it?05:07
lifelessbeuno: these things are unrelated05:07
lifelessbeuno: deployments are routine; moving to a new machine is reconfiguration, testing etc05:07
lifelessmwhudson was talking about doing it driday05:08
jmllifeless: no, I don't.05:08
lifelessanyhow, It's 5am in London, I'll wait till 7am and ring james05:08
lifelessjml: have you played with kjbuckets ever?05:10
lifelesshttp://gadfly.sourceforge.net/kjbuckets.html05:10
jmllifeless: years ago05:10
lifelessthats more than I; impressions?05:10
lifelesshttp://bazaar-vcs.org/RobertCollins#head-b2dc9ae46f1860c46f79682db455c3512152d14805:10
jmllifeless: memories more like it. in the end I did my own graph classes.05:11
jmllifeless: I recall the API as being a little cumbersome.05:12
lifelessk, thats sufficient to tip me away05:12
lifelessneeding to compile would be a burden anyhow05:12
lifelessscary: http://www.pythonweb.org/engine/05:14
Penglifeless: pong05:16
lifelessPeng: do you have that magic to get the new LH running at a subfolder?05:16
Penglifeless: Subfolder?05:17
lifelessyeah, so it can fit in an existing site05:17
lifelessmwhudson showed you how last week05:17
Penglifeless: Oh.05:17
Penglifeless: Here's my serve-branches.py: http://paste.pocoo.org/show/75647/05:19
lifelessPeng: thanks!05:19
Penglifeless: (Then I just used lighty's mod_proxy/mod_proxy_core.)05:19
lifelessPeng: yeah, I have squid for that :P05:20
Peng:)05:20
lifelessloggerhead is back05:35
beunolifeless, are you deploying the new LH in squid-cache.org?05:35
lifelessbeuno: not just yet, I'm going to deploy a demo copy at my house05:36
beunolifeless, re: bug #24204605:41
ubottuLaunchpad bug 242046 in bzr "ppa feisty bzr and bzrtools not installable" [Undecided,New] https://launchpad.net/bugs/24204605:41
beunois bzr uninstalable too?05:41
beunoI used PPAs copy feature, and have had to re-upload without it akready for gutsy05:41
lifelessbeuno: bzr and bzrtools - both05:42
* beuno grumbles05:42
beunoI'll re-upload now05:42
beunoso the copy tool is not really useful...05:42
beuno(or I'm using it wrong, which is more probable)05:43
beunohrm, that's odd. I *did* re-upload bzr for feisty05:44
beunonot bzrtools though05:45
lifelesswell05:45
lifelessthe problem is the dependency on python-central05:45
beunobuildlog seems to think the right version was used: http://launchpadlibrarian.net/14569048/buildlog_ubuntu-feisty-i386.bzr_1.5.0-1~bazaar1~feisty1_FULLYBUILT.txt.gz05:49
lifelessok05:51
lifelessmay just be bzrtools;)05:51
lifelesslet me uninstall that and upgrade bzr05:51
beunoI'm fixing bzrtools now05:51
lifelessok bzr is fine05:51
beunocool, I'll upload bzrtools in a minute05:52
beunosorry about that05:52
lifelessnp05:55
* beuno uploads and waits for the build deamons to wake up05:59
PengBug 241938?!06:01
ubottuLaunchpad bug 241938 in bzr "MemoryError on "bzr ci" for 1396 Megabytes file" [Undecided,New] https://launchpad.net/bugs/24193806:01
lifelessPeng: yah, we should be able to handle such files06:03
lifelesstheres nothing in the disk format preventing handling them06:04
PengHow much work would it take not to read entire files into RAM?06:04
lifelessPeng: for simple storage and tree building, not a huge amount, though doing it without affecting performance for normal files is important06:06
lifelessPeng: for delta storage, diffs, merge its much tricker06:08
lifelessdelta storage depends on diffs06:10
lifelessmerge could just write .BASE, .OTHER, .THIS and give up06:10
lifelessbut three-way merge etc is nice to offer, and that depends on diff06:10
lifelessin a high entropy file the line count is about 1/256 the file length, a 1.4G file is 5.6million lines long06:11
lifelessif we hash the file to (say) sha1, its still 100MB per instance of the file (20*5.6million)06:12
lifelesswhich is pretty high06:12
lifelessand easily exploited to cause DOS by having many more \n's.06:13
beunolifeless, re-uploaded bzrtools, should be fixed, but can you double check?06:21
lifelessbeuno: its good now06:25
beuno:)06:26
jelmerlifeless: hmm, I'll give that a try some time07:19
jelmerlifeless: the loggerhead frontend certainly is very fast!07:19
jelmerjml: you need to run make these days (or ./setup.py build_ext --inplace)07:20
lifelessjelmer: revno 42 should work nicely for you07:20
Pengjelmer: Is bzr-svn supposed to have any old-style classes?07:20
jelmerPeng: nope07:21
PengIt has 11. :P07:21
jelmeris there anything in particular bad about old style classes?07:21
jelmeror is it just a stylistic thing?07:22
PengFor me, it's stylistic.07:22
lifelessjelmer: is there a small svn repo around you run live tests against ?07:26
lifelessjelmer: in particular one that bzr-svn supports :P07:26
jelmerI generally use svn://svn.samba.org/smb-build/trunk07:28
jelmerlifeless: if you've got any repositories in particular that don't work, please file a bug..07:29
lifelessjelmer: do you support repository.weave_store.get_weave ?07:29
jelmerlifeless: nope, don't support any weave implementation at all07:30
jelmernot as provider, that is07:30
lifelessjelmer: are you working on it? (will be needed for stacking)07:30
Pengjelmer: fwiw, I have a branch up at http://bzr.mattnordhoff.com/bzr/bzr-svn/trivial/new-style-classes that fixes all of the old-style classes I could find.07:30
jelmerlifeless: I'm planning to work on it, haven't started yet07:31
lifelessjelmer: and can you point me at the bits of bzr-svn that would give access to the svn backing data?07:31
jelmerlifeless: Trying to finish my own python bindings atm07:31
jelmerlifeless: what do you mean with backing data specifically?07:31
jelmerlifeless: *svn python bindings07:32
jelmerPeng: thanks, I'll have a look at merging that07:32
Peng:)07:32
lifelessjelmer: I'd like to make bzr-search index svn repos07:34
lifelessjelmer: all it needs is a non-colocated branch object supporting the repository graph and versionedfile apis07:35
jelmerPeng: merged, thanks07:36
jelmerlifeless: Getting the versionedfile APIs to work is a fair amount of work07:37
jelmerlifeless: the graph code is all there07:37
lifelesseww07:39
lifelessbzr: ERROR: libsvn._core.SubversionException: ("Can't find a temporary directory", 20014)07:39
lifelessjelmer: ^ hints?07:40
lifelessjelmer: I did '/home/robertc/bin/bzr', 'checkout', '--lightweight', 'svn://svn.samba.org/smb-build/trunk', 'sbm-build-test'07:40
lifeless4.G free on /07:44
lifeless198 files in /tmp/07:44
jelmerhmm, no - what version of bzr-svn is this?07:46
lifelesssvn --version07:46
jelmeryou may want to try with the latest release just to be sure07:46
lifelesssvn, version 1.4.6 (r28521)07:46
lifeless   compiled Mar 11 2008, 08:53:4907:46
lifelessI'm running hardy07:46
lifelesshappens just running svn co07:47
jelmeralso happens running svn co you mean?07:50
lifelesssvn: Can't find a temporary directory07:51
lifelessI mean07:51
lifeless$ svn co svn://svn.samba.org/smb-build/trunk07:51
lifelesssvn: Can't find a temporary directory07:51
jelmertime for strace :-)07:51
lifelessgarh07:52
lifelessI was hoping you had seen fuckage before :)07:52
jelmerI vaguely recall something like this07:53
jelmerbut don't remember the specifics :-(07:53
PengSet TMP or whatever, just to check?07:53
lifelessserver side fuckage07:58
lifelesshttp://rafb.net/p/sOwYPM49.html07:58
lifelessthe first line, I think, is the key08:00
lifelessread(3, "( success ( ) ) ( success ( 36:e8204dac-47fa-0310-9482-a4e8a03ab89e 29:svn://svn.samba.org/smb-build"..., 4096) = 10508:00
lifelesssorry, line 508:01
lifelessread(3, "( success ( ( ) 0: ) ) ( failure ( ( 20014 32:Can\'t find a temporary directory 77:/home/tretkowski/s"..., 4096) = 17008:01
lifelesssuccess (failure!)08:01
jelmerhardcoehmm, chroot broken perhaps :-(08:01
jelmerhardcoded paths?08:02
lifelesswell, I'm not tretkowski :P08:02
lifelessbzr-svn work with gcode yet ?08:02
jelmeryeah, always has afaik08:02
lifelessk08:03
lifelessI'll hunt for a small project there ;P08:03
jelmeryou just need the svn+ hack to work around the fact that bzr aborts as soon as it gets a permission denied08:03
PengOh.08:05
PengHmm.08:06
PengWith the 0.4 branch, trying to branch http://ack.googlecode.com/svn/trunk/ (with or without "svn+") exits after a second with a return code of 11.08:06
asabillifeless: last time I checked bzr-svn was unable to checkout some code from gcode : http://code.google.com/p/waf/08:07
jelmerasabil: even with the svn+ hack?08:13
asabiljelmer: hack ? I was using either http:// or svn+ssh://08:14
jelmerasabil: I don't remember seeing a bug report about that :-)08:15
jelmerasabil: I meant svn+http://08:15
asabilI don't think I tried svn+http08:16
lifelessjelmer: what needs to happen to fix the bug?08:16
jelmerlifeless: bzr needs to be somewhat more persistent when probing for repository formats08:17
jelmerrather than aborting the minute it gets something that's not NotBranchError08:17
lifelessjelmer: why? what raises the permission denied ?08:18
jelmerlifeless: trying to open .bzr/branch/format raises a 40308:18
lifelessrather than a 404?08:18
jelmeryes, afair that was the problem08:19
lifelesshmmm08:19
lifelessso08:19
lifelessI don't think the driver loop should catch more things08:19
lifelessthe probe functions should catch whatever other things that neither indicate an error nor a found branch08:20
jelmerI don't think the Bzr branch format catching 403 is very nice though08:20
jelmerif something's got to do it, rather have it be the driver loop08:21
lifelesswell08:23
lifelesshow can the driver loop tell that 403 means 404?08:23
lifelesshave we filed a bug with googlecode that it gives 403 when a 404 is appropriate?08:25
lifeless(I agree that the Bzr branch format catching 403 is not nice). But I also think that the driver catching 403 is  not nice08:25
lifelessbecause, if you had nested branches, typeA and typeB08:26
jelmerah, and the other reason the svn+ stuff exists is to work around the ssl certificate stuff08:26
lifelessand there is a permission problem on typeB, typeA can be detected incorrectly08:26
lifelesswhat will address the ssl certiicate stuff?08:29
jelmerthere's an ancient bug report open about bzr dealing with self signed certificates08:31
lifelessk, I have a lightweight checkout08:38
lifelessso I can fiddle08:38
lifelessno promises, but if I get something shaping up I'll give you a branch08:39
lifelessnow for dinner and games though :)08:39
jelmercool08:40
jelmerhave a nice weekend08:40
* jelmer goes and removes the last dependencies on the official svn python bindings08:40
Jc2koooh08:45
gourcongrats jelmer08:45
gourthey finally did 1.5.0, but still....08:45
PengWould your bindings be usable by other projects?08:45
jelmerPeng: in theory, yes08:46
jelmerhowever, they're not very well documented and the set I converted is limited to what bzr-svn needs08:47
gourthat's good enough08:47
jelmerif there are other projects interested in using these bindings as well, I'd happily provide them as a separate package08:49
jelmerI'd rather wait for such projects to ask first though, rather than putting all of the work in now to find out nobody cares08:53
lifelessjelmer: you still support 1.4 w/patches?09:27
lifelessjelmer: (hardy only has that ...)09:27
lifelessjelmer: how do I get a repository id out of a bzr-svn branch object?09:29
jelmerlifeless: yeah, patches aren't even necessary anymore09:30
jelmerlifeless: branch.repository.uuid09:30
lifelessjelmer: and the relative path to the branch?09:46
lifelessjelmer: I'm going to use uuid/branch-path-here/ as a lookaside index path09:46
jelmerlifeless: branch.get_branch_path()09:50
lifelesshi AfC10:08
AfClifeless: Good evening10:09
AfCIs there a command [line client command] which lists all the revision properties / metadata of a given revision?10:14
lifelessI don't think there is today10:14
lifelesssome of the data can be pretty big and is not human consumable10:14
AfCHuh10:15
lifelessgcommit stores per-file commit messages as revision properties10:15
AfC(oh yeah? What consumes it?)10:16
lifelessI think gannotate or something10:16
lifelessjam will know10:16
AfC(not important)10:16
=== yacc_ is now known as yacc
lifelessAfC: speaking of locale, ulrich drepper rejected the latin patch for libc10:33
lifelessAfC: so Ubuntu is carrying it locally :)10:33
lifelessjelmer: ok, I've got to the point where   File "/home/robertc/.bazaar/plugins/svn/repository.py", line 332, in get_inventory_weave10:34
lifeless    raise NotImplementedError(self.get_inventory_weave)10:34
lifelessis triggered10:34
lifelessjelmer: its kinda slow to get that far :(10:34
AfClifeless: Ulrich has always been a hard case.10:48
lifelessAfC: oh yes :)10:48
lifelesshe applied his trademark tact and diplomacy10:49
AfCMaybe if you were to become a Benedictine monk or something. That might add credibility (you know, since you have none).10:49
lifeless:)10:49
lifelesswasn't my credentials, its was the locals10:49
lifeless'just another made up locale' wa the prhase I think10:53
AfCYeah, I can see that. Latin is a lot like Klingon, after all.10:55
lifeless:P10:56
lifelessok, its working now for commits11:01
lifelessjelmer:11:01
lifelessjelmer: revno 43, if you'd like to tell me what I'm doing wrong that makes it so slow, that would be cool.11:04
lifelessjelmer: ping11:40
lifelessjelmer: where do you want bugs filed, ctrl-C was having trouble stopping 'bzr search test' on http://waf.googlecode.com/svn/trunk11:42
* Jc2k is tempted to forcefully upgrade parents to ubuntu11:46
Jc2klifeless: will bzr-search work against bzr-mirror.gnome.org :)11:47
lifelessJc2k: yes, bzr-mirror is native bzr11:52
lifelessJc2k: I recommend fresh indices with revno 4211:52
Jc2kcool i might give that a spin later11:53
lifelessif you do, you could also try the loggerhead branch that supports it :)11:59
Jc2kpresumably thats now all shiny and wsgi-ify-arific12:00
Jc2kin which case, take me to ur url :)12:00
lifelessyes12:00
lifelesshttps://code.edge.launchpad.net/loggerhead12:01
lifelesssecond from top12:01
Jc2kthis ok for bzr-search: cd ~/.bazaar/plugins && bzr branch lp:bzr-search search && cd search && bzr revert -r4012:07
Jc2k?12:07
lifelessno need to revert12:07
Jc2k40 was wrong anyway, i meant 4212:09
lifeless43 is fine too12:09
lifelessbut < 42 will use a different index logic that gives poorer results on searches12:09
Jc2ki see12:10
Jc2krar, the search branch of loggerhead hard depends on a bzr-search that is globally installed12:10
lifelesswell12:11
lifelessfile a bug12:11
lifelessand show me the error12:11
mwhudsonsurely you can fiddle BZR_PLUGINS_PATH ?12:11
PengOr run LH as a user with it in his ~/.bazaar/plugins?12:11
lifelessJc2k: what user does loggerhead run as12:12
Jc2klifeless: at the moment, as me, but in a second im going to move it to x469yq12:14
lifelesspastebin thee rrror12:15
lifelessJc2k: it should not depend on a global install of bzr-search12:17
lifelessJc2k: if you can pastebin the error I can advise12:17
lifelessJc2k: for different accounts, just put bzr-search in the ~/.bazaar/plugins/search dir in the relevant account12:18
Jc2klifeless: sorry, laptop just ran out of power12:18
Jc2klifeless: thats where it is12:18
Jc2kthis is going to be painful.. *tries to remember copy and paste in putty*12:19
Jc2klifeless: line 20 of loggerhead/search.py12:21
Jc2kfrom bzrlib.plugins.search import errors12:21
Jc2kNo module named search12:21
lifelessok, do this12:21
lifelesspython -c 'import bzrlib.plugins.search'12:21
Jc2ksame error12:22
lifelessok12:22
lifelessfor me:12:23
Jc2kah12:23
Jc2kgot it12:23
lifeless:P12:23
PengDoes Loggerhead use any global bzr settings for anything, like your username or something?12:24
lifelessPeng: well, it doesn't do commits12:24
PengYeah, but..12:24
lifelessPeng: but yes, it does load the global settings12:24
PengDo any of them affect it?12:24
lifelessdunno12:24
PengMy only ones are email, editor and LP user.12:25
lifelessI can't imagine any of those affecting it12:25
PengAnyway, I'm moving it to its own user, and wondering if I should copy bazaar.conf over.12:25
lifelessJc2k: what was wrong?12:25
* Jc2k blushes12:26
Jc2kfix was12:26
lifelessJc2k: also, currently indices are per-branch, not per-repository (because search shouldn't return commits from a different branch), so you probably only want to index trunk; a full text index is a pretty large fraction of the history in the first place12:26
Jc2kcd ~/.bazaar && mv search plugins/12:26
lifelessJc2k: :P12:26
* Jc2k blushes some more12:26
Jc2kok. i'll index conduit/trunk first. what is the command foo?12:27
lifelessbzr index conduit/trunk12:27
lifelessor12:27
lifelesscd conduit/trunk && bzr index12:27
Jc2kand i can run that every time i update the mirror?12:28
lifelessnah12:28
lifelessit will keep itself up to date once indexed12:28
Jc2ksweet!12:28
lifeless(or at least its meant to; we can check that it is by running your script and searching for something in the most recent commit)12:28
* Jc2k desperately wants to learn more about bzr internals some time so he can hack on things :)12:30
Jc2kk, the conduit index was quite quick12:30
Jc2kawesome12:32
* Jc2k searches for fixme :)12:32
lifelessits currently case insensitive only12:32
lifelesssorry12:32
lifelesssensitive12:33
Jc2kwhat are your thoughts on showing GNOME this?12:33
Jc2ki want to keep up the "look at this shiny shiny" blogging12:33
lifelesswell12:33
lifelessyou're supporting the mirror :P12:33
Jc2khmm12:34
lifelessI would say12:34
lifelessgive beuno a few days to polish loggerheads UI for it12:34
lifelessits web2.0y12:34
lifelessbut a little crude12:35
Jc2kkk12:35
lifelesstalk to him when he gets up though12:35
lifelessand get it running so you can tell him what bits suck and what don't :)12:35
Jc2k:D12:35
Jc2kthe only think i noticed is that it finds a revision, but i have no clue what file the match is in12:36
Jc2kthing, even12:36
ToyKeeperhrrm...  looks like bzr_access does 'bzr' but not 'access' yet.12:36
lifelessToyKeeper: I recall a patch or two for that recentl12:37
ToyKeeperI took a quick look, and it appears the reason it doesn't do per-repo permissions is because the repo path isn't specified in SSH_ORIGINAL_COMMAND.12:38
ToyKeeperEvery "bzr push bzr+ssh://host/path/to/repo" results in "bzr serve --inet --directory=/ --allow-writes" on the remote side.  I'm not sure how to get the /path/to/repo part.12:41
ToyKeeperAt least, it's not in os.environ anywhere.  Maybe there's a better place to look.  :)12:43
lifelessToyKeeper: does bzr_access hook into the smart server methods, or just wrap things ?12:44
ToyKeeperAs far as I can tell, it just wraps things...  look up the ssh user, then replace the --directory= and --allow-writes parameters, and exec bzr.12:45
lifelessah12:45
ToyKeeperGranted, that's sufficient for my personal use...  but it's not very useful for more than one user.  :)12:47
clementeHi. I have this: „etec“ is a link to /etc, and is listed to be added to the repository. I want not to add it, so I try: „bzr remove --keep etec“. And the result: „bzr: ERROR: Not a branch: "/etc/".“12:51
clementeSo I can't remove it12:51
lifelessclemente: I think there is a bug open12:52
lifelessclemente: you need to:12:52
lifelessrm <link>; bzr remove <link>12:52
lifelessln -s <whatever>12:53
Peng(or mv <link> <link>.bak or something..)12:53
clementelifeless: thanks, that works12:54
clementeIt's bug 236149, by the way13:00
ubottuLaunchpad bug 236149 in bzr ""Error: Not a branch" when trying to revert a symlink" [Low,Triaged] https://launchpad.net/bugs/23614913:00
PieterVienna:5.0 pieter$ time bzr pull lp:mysql-server/6.013:00
Pieterbzr: ERROR: These branches have diverged. Use the merge command to reconcile them.13:00
Pieterreal25m3.689s13:00
Pieterwhy does that have to take 23 minutes?13:01
Jc2kwhat happens if you do it again?13:01
mwhudsonwhich bzr version?13:01
mwhudsonthere was a bug here13:01
Pieter1.513:02
PengWere the performance issues pulling from packs to knits fixed?13:02
PieterJc2k: then it's 'just' 23 seconds13:02
lifelessPieter: it has pulled the data in13:02
lifelessPieter: repeat the operation; bet you it will be much faster13:03
Pieteryeah, 60x as fast is ok13:04
lifelessPeng: well, knits to packs has to annotate13:04
lifelessPieter: hmm, 30 seconds still. likely an index problem:13:04
lifelesshttp://bazaar-vcs.org/RobertCollins#head-b2dc9ae46f1860c46f79682db455c3512152d14813:05
lifelessPeng: I believe it should be 'ok' to pull to knits, not stellar, but ok13:05
Jc2kPieter: can you answer a gitweb question?13:06
PieterJc2k: perhaps, try me :)13:06
Jc2k*grabs a url*13:07
Jc2kok question 1, how can i make the first page faster. its scanning 520 modules and is insanely slow.13:08
Jc2kquestion 2, have a look at http://git-mirror.gnome.org/?p=glib;a=summary13:09
Pieterwhat version of gitweb do you have? (out of which git version?)13:09
Pieterthere have been patches for the slow listing, I think they were integrated into 1.5.5 or 1.5.613:09
Jc2kits a bare mirror, i have down git --bare svn fetch, how to i update "master" to svn/trunk?13:10
Jc2k*done13:10
Pietergit update-ref svn/trunk master13:10
Pietereh13:11
Pieterreverse those13:11
Jc2kis that a once per update thing, or a once per repository thing?13:11
Pieteronce per update13:11
Pieterif you want to do it for always, try git symbolic-ref master svn/trunk13:12
Pieteror rather, git symbolic-ref refs/heads/master refs/remotes/svn/trunk, or wherever it is13:13
Jc2kwill that cause any problems for people cloning from git-mirror.gnome.org ?13:14
Pieterno13:15
Jc2kace13:17
Jc2kthank you for answering my questions Pieter, as always :)13:17
Jc2kwhat as the git-gc command you wanted me to run?13:17
Pietergit repack -adf --window=100 or so should do13:18
Jc2ki'll run that and the symbolic-ref thing when theres some free time on the server then13:18
Jc2kim guessing that'll be about 4 hours13:19
Pietermake sure you have the refs right :) i'm not sure wher git-svn stores its refs13:19
Jc2kwill do!13:20
PieterJc2k: http://kerneltrap.org/mailarchive/git/2008/3/13/1160884 << about projcet list caching13:22
Jc2kPieter: does one of those say "this is in HEAD and will be in git 1.x"?13:39
Jc2k:)13:40
PieterJc2k: no. There's a gitweb caching GSoC going on though that will be in 1.6.013:40
Jc2kah13:40
PengThis is weird... when one of my branches was branched over http, the smart server was barely used at all.13:49
PengAbsolutely none of the more bandwidth-intensive requests used it. There are a couple dozen hits to the indexes and packs.13:49
awilkinsPeng: Do people find HTTP more convenient?13:52
Pengawilkins: ?13:52
awilkinsPeng: Are you saying that making it availeble over HTTP makes people use the smart server less, or that serving over HTTP doesn't USE the smart server?13:53
lifelessPeng: it falls back to VFS operations for many things today; spiv has been working on making it do so less; possibly there are bugs there, or the client was one tat doesn't have his work incorporated13:54
PengOne person branched this branch over http. It auto-detected bzr+http being available, but barely used it.13:55
PengThere were 35 hpss requests and 49 for packs or indices.13:56
lifelesswow, very chatty13:56
PengHmm, does the smart server log?13:56
lifelessyes13:56
lifeless.bzr.log13:56
PengHuh.13:56
PengWell, it's running as my web servers user, and it doesn't have a home dir. Oh well.13:57
Pengserver's*13:57
jelmerlifeless: filed as bugs against bzr-svn in lp14:09
* jelmer reads his backlog14:10
spivjelmer: I've seen flurry of commits on bzr-svn recently.  How's the cext going?14:10
jelmerspiv: it's there and working :-)14:13
spivjelmer: sweet14:15
spivjelmer: if I want to try out the shiny new stuff, which branch should I sue?14:21
spivEr, "use" :)14:21
Jc2keh, we know your motives now spiv :P14:22
jelmerthe 0.4 one14:22
jelmerlifeless: woot on getting bzr-search working against svn!14:24
spivjelmer: hmm, I get a segfault if I try to pull in my python trunk conversion (in svn_auth_set_parameter), and traceback if I try to pull in my Twisted trunk checkout (KeyError for u'trunk' in _get_old_id).14:26
spivI mustn't be lucky tonight :)14:27
jelmerplease try pulling again14:28
jelmerI'm pushing my latest changes now14:29
jelmerhmm, one sec14:29
* spiv -> zzz14:37
jelmerspiv: g'night14:40
jelmerawilkins: ping14:40
=== mario_ is now known as pygi
Jc2klifeless: my server is about to explode :P k thx bai14:55
Jc2kits sucked up 95% of memory :)14:58
Jc2kit seems to have calmed down now14:59
=== gour is now known as gour|afk
jelmerJc2k: what were you running?15:33
Jc2kjelmer: bzr index15:36
Jc2kon gcompris15:36
MvGIs there any verbose documentation about the different repository formats? I'm especially curious about the difference between rich-root and rich-root-pack.15:52
PengMvG: rich-root is dirstate-tags (well, the repo hasn't changed since knit) only with rich roots, and rich-root-pack is pack-0.92 only with rich roots.16:15
MvGWhat are rich roots?16:18
jelmerMvG: in rich root formats, the root directory has a file id16:21
MvGAh.16:22
jelmerMvG: older formats don't store a file id for the root directory16:22
MvGWhat's the kind of operation that uses this feature?16:23
MvGAnything to do with having nested branches?16:23
MvGWhat's the status of nested branches, by the way?16:23
jelmeryeah, nested branches need root ids16:24
jelmerbzr-svn also relies on root ids because it avoids a lot of special casing and corner cases16:24
jelmerMvG: LarstiQ was working on it last I heard16:25
jelmerLarstiQ: ping16:25
LarstiQhas no one else done anything with it?16:34
jelmernot afaik16:36
LarstiQok16:36
vxnickHi All - got a bit of a problem if anyone can help?16:46
fredreichbierjust ask, vxnick ;)16:47
vxnickThanks - basically, I'm tracking an upstream by way of "svn export" (as I can't get bzr-svn working for one reason or another)16:48
vxnickI'm tracking this in "upstream/project", (which I "bzr init"-ed) - I then "bzr add" and "bzr commit" these files16:49
vxnickThe problem I'm having is merging the contents of that project into an empty trunk (which is a checkout)16:49
vxnickIt tells me the working copy is out of date, although a "bzr update" doesn't do anything as there's nothing in the repository16:49
vxnickI also managed to get a nice traceback somehow :(16:50
vxnickNow, merging the contents into trunk works fine (bzr status shows N+ for each file), but I can't commit these as it says there are no changes to commit16:51
vxnickWhen I bzr update, it shows "-D" next to each file, and I get "bzr: ERROR: Reserved revision-id {null:}" (presumably because I'm on revision 0)16:55
vxnickbzr status then shows whitespace next to each filename16:56
vxnickand bzr commit deletes the files, but throws a traceback and this error: bzr: ERROR: exceptions.AssertionError: 2 != 116:56
vxnickany ideas, fredreichbier?16:57
PengWow.16:59
PengUsing "svn export" for a mirror is pretty awful.16:59
PengYou should really try to get bzr-svn -- or any other converter -- working.16:59
vxnickYeah, I gave it a couple of goes but with no luck16:59
PengWhat issues were you having?17:00
vxnickbah, I can't remember now17:00
vxnickit was a couple of weeks ago I last tried17:00
vxnickI was working on the basis that "svn export" doesn't export any history with it, just a clean tree17:01
vxnickin effect working the same as if I were to add the files myself17:01
clementevxnick: that's what I was thinking... Can you reproduce the problem if you add the files yourself? Maybe the problem has nothing to do with Subversion17:03
vxnickbear with me and i'll give it a go now...17:03
clementeI myself am getting a crash with „bzr status“ and I'm trying to figure out the cause17:06
clemente  File "/Werkstatt/bzr.dev/bzrlib/tsort.py", line 415, in __init__17:06
clemente    parents = self._graph.pop(branch_tip)17:06
clementeKeyError: 'pop(): dictionary is empty'17:06
vxnickclemente: same issue when adding the files myself17:06
PengUh-ohs.17:06
Pengclemente: Up-to-date bzr.dev?17:07
vxnickjust to clarify - should I be "bzr init" the directory when I add the files, along with bzr add and bzr commit, then merge into trunk?17:07
clementePeng: almost; one moment...17:07
clementePeng: yes17:08
Pengclemente: If you can find a way to reproduce this, file a bug.17:09
Peng(Well, search for existing bugs first...)17:09
clementeWhat's the efficient way of finding out more about an error? Inserting „pdb.set_trace()“? Turning on some debug mode...? Running tests?17:09
Pengclemente: You can run it so it'll automatically drop into pdb, but I forget how.17:10
vilaBZR_PDB=1 ?17:11
clementevila: yes17:11
clementevxnick: I suppose that init+add+commit should work... (Do they work without problems for you?) The big problems could be with the merge17:12
clementevxnick: if you get errors, maybe you can debug them. BZR_PDB=1 :-)17:13
vxnickclemente: those work fine for me usually, so I think you're right in that it's the merge.17:13
vxnickI presume you can merge something into an empty directory, or do you need to have the same (older) files there beforehand?17:14
vxnickI could pull the files in, but then the parent dir for the trunk would be the upstream, which doesn't make much sense to me17:14
vxnickthe main problem, to clarify, seems to be that "bzr commit" doesn't commit the merge to the repository - bzr status shows the new files, and I can see them in the physical directory of the trunk too17:16
vxnick"commit" just reckons there's no changes, thus nothing to commit17:16
clementeI thought „commit“ sends the changes to your branch, whereas „push“ sends them to the remote repository. I would try „push“ and „merge“ instead of „commit“17:18
vxnickI've got a remote repository setup with a checkout on my local machine17:18
vxnickcommit can work locally and/or remotely I believe17:19
vxnickif you are using a checkout17:19
vxnickI believe push/pull work for a branch17:19
vxnickbut I'm quite new to bazaar, so might be wrong :)17:19
clementevxnick: yes, right. I'm also new and in fact I still haven't succeeded in doing a „merge“...17:22
vxnickI've managed to merge branches locally, but this is the first time I've tried merging into a checkout17:22
vxnickI have prevously "bzr init"-ed a directory and then branched it, then merged from the branch back into the "trunk"17:23
vxnickif you branch something, you have to "pull" the changes from the original dir into the new branch - I think that merges as well automatically17:23
vxnickif you want to merge the differences from the new branch to the old, you use merge17:24
vxnickif that makes sense17:24
clementevxnick: I don't know. I would try looking at where the error message comes from in the code, in case you get an error17:29
vxnickyeah I might try that, but I'm not familiar with Python17:29
vxnickand I have to do some weird stuff to get the trace from it17:29
vxnickother than that, it's just the generic bzr error messages such as "working copy out of date" and so on17:30
clementeThen look if the syntax you're using is the correct one17:31
clementeYou may also find a way to reproduce it to see if some other person sees the problem17:31
vxnickyeah fair enough17:33
clementeDon't worry... I have just gotten your error :-)17:33
clementebzr: ERROR: Reserved revision-id {null:}17:33
clementeAfter doing a merge of a patch I created with „send“17:33
LeonidasWhat is the command to modify the working tree to look like some older revision?17:34
LeonidasI've tried both checkout and update, but none of them lets me specify the desired revision17:35
vxnickbzr revert?17:35
vxnickor uncomitt17:35
vxnickuncommit*17:35
vxnicksee what "bzr help revert" or "bzr help uncommit" show - that should help :)17:36
Leonidasvxnick: bzr revert seems to be what I needed. Right. uncommit whould be too much, I don't want to loose the tip/HEAD17:36
vxnickah right17:36
Leonidasbtw, that is the name of the most recent revision? hg calls it tip, git HEAD and bzr? -1?17:36
LarstiQLeonidas: -1 is a shorthand for that, yes17:37
vxnickHEAD I think17:37
LarstiQvxnick: not in a tool addressable way17:38
LarstiQLeonidas: but if you want to talk terminology in discussions, tip or head would be understood17:38
LeonidasLarstiQ: ok, thanks.17:39
clementevxnick: I got also „D-“ on update17:46
vxnickis that with a checkout?17:47
clementeProblem is: rev_id=null  here:17:48
clemente  /Werkstatt/bzr.dev/bzrlib/mutabletree.py(52)tree_write_locked()17:48
clemente-> return unbound(self, *args, **kwargs)17:48
clemente> /Werkstatt/bzr.dev/bzrlib/workingtree_4.py(1103)set_parent_trees()17:48
clemente-> _mod_revision.check_not_reserved_id(rev_id)17:48
clementeBut I don't understand more17:48
clementevxnick: it was with init+merge+update17:48
clementewhere the merge came from a patch file (created with „bzr send“)17:49
clementeIt happens also with latest bzr17:49
vxnickhave you tried just a normal merge?17:50
clementeYou mean, from a repository instead of from a file?  (No)17:50
vxnicktry making a dir "bzr init dir" then branching it to "dir2" - add a couple of files with some random text in "dir" and then cd to dir2 and "bzr pull". Make some changes in "dir2", cd to "dir" and "bzr merge ../dir2"17:53
clementevxnick: I suppose you had to do „commit“ at least once after the „init“17:58
clementeotherwise you stay at revision 017:59
vxnickyeah, sorry17:59
vxnickand bzr add before the commit17:59
clemente(and this may be the problem for rev_id to be null...)17:59
clementevxnick: ok, it stays there without errors under „pending merges“18:04
clemente(I did a „commit“ also on dir2)18:04
vxnickdo a commit and it should work18:04
clementeOk, so no problems in update/commit/status18:05
clementeMy first successful merge, thanks for the help :-)18:05
clementeNow I try with a patch file instead of with a repo18:05
clementeOk, I only get the error message if the merge occurs before revision 118:10
clementeThis fails on „update“:  mkdir bzr00004; cd bzr00004; bzr init; bzr merge /n/resprueba/mezcla ; bzr update18:11
clementeBut this works:  mkdir bzr00005; cd bzr00005; bzr init; echo a>b; bzr add b; bzr commit -m "be"; bzr merge /n/resprueba/mezcla ; bzr update18:11
clementeSo the problem is doing the „merge“ before you have done a „commit“ on your new repository18:12
clementeI suppose it's a bug18:12
=== mw|out is now known as mw
asabilclemente: how do you want to merge in an empty repo ?18:16
asabilThey have no parent in common18:16
clementeIs it not allowed?  „merge with empty“ == „branch“?18:17
asabilclemente: try to pull18:18
clementeYes, „pull“ works18:19
clementeI think then that instead of failing, bzr should show an error message which says that (you can't merge in an empty repository)18:20
Pengs/repository/branch/18:22
clementeBut I thought that after „init“ you got really an empty repository, that is, a first parent (a root parent)18:23
Pengs/repository/branch/18:37
clementeThanks. Does „repository“ mean „collection of branches“?18:38
PengNo.18:38
PengA repository is a big bag of revision data.18:38
clementeA branch too18:38
PengNo.18:39
clementeOr a branch is the place, and the repository the content?18:39
PengOn disk, a branch is simply the ID of the most recent revision in that branch. That's used to figure everything else out from the revisions in the repository.18:39
clementeI submitted bug 242175, about improving the error message18:43
ubottuLaunchpad bug 242175 in bzr "Better error message when merging into empty branch" [Undecided,New] https://launchpad.net/bugs/24217518:43
clementePeng: where can I find precise definitions of those concepts? (applied to Bazaar)18:44
PengI dunno; user guide?18:44
clemente(Peng: yes, it was)19:30
clementeWhat's that about a „smart server“? Does it work? According to [1] it's still under design phase. [1]: http://bazaar-vcs.org/Specs/SmartServer19:30
Pengclemente: Yes the smart server works.19:30
clementeOk, I'll try it19:32
Pengclemente: It still doesn't have optimal performance, but they're working on it, and it's perfectly usable today.19:32
Pengclemente: FWIW, I always use the smart server.19:33
Pengclemente: If you're using a knit repo (upgrade!), it's a huge performance improvement. Packs are fast enough that it's not really, but it probably would be if you're moving a lot of data, and anyway, it's cooler and getting better all the time.19:34
clementeCan you also use on a machine where you can't modify apache.conf?19:35
Pengclemente: bzr+http? Um, can you modify .htaccess?19:36
clementeYes19:37
Pengclemente: You can use it then19:43
Pengclemente: You can install bzr?19:43
clementeYes19:45
clementeIs that in the manual?19:46
PengIs what?19:46
clementeThe explanations for setting up the smart server with .htaccess19:47
clementeI only find that for ssh, inetd, or a dedicated server19:47
* Peng shrugs.19:48
PengWhen I set it up, I used the documentation.19:48
clementeI will read more documentation then19:49
PengHmmm.19:49
PengYou're right.19:49
PengThat section doesn't mention it.19:49
PengThe source tree has doc/en/user-guide/http_smart_server.txt19:50
PengNot sure where to find it in the html19:50
Pengclemente: Oh, it's at the bottom, in an appendix. http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#serving-bazaar-with-fastcgi19:51
Pengclemente: (You don't need to use FastCGI.)19:51
clementeOk, thanks for all help, I will continue learning bzr; bye20:16
bkorjelmer: "It generates inefficient code - it generates proxy classes that " <-- ends abruptly20:33
awilkinsjelmer: pong20:35
jelmerbkor: whoops, thanks20:45
jelmerawilkins: The C extensions branch is there!20:46
jelmerand passing all tests on Linux20:46
PengHmm. I was able to push bzr-svn into a rich-root-pack repo, but not upgrade the subtree repo to it.20:47
jelmerPeng: Hmm, that sounds like a bug20:49
Pengjelmer: (I meant bzr-svn's repo itself, not an svn repo managed by bzr-svn.)20:50
PengI was also left with a "repository.backup".20:50
PengProbably the same thing that happened to you a couple days ago.20:50
PengBzr flatly refused to do it since, of course, rich-root-pack doesn't support subtrees.20:50
jelmerIdeally, bzr would only refuse to upgrade from subtree to rich-root-pack if there was actually a revision in that repository that used subtrees20:51
PengYep.20:52
PengAnd it already has the proper machinery, since push can do it.20:52
jelmerPush probably breaks if you try to push a revision with a subtree into rich-root-pack20:53
PengThat's what I mean. Push probably handles it exactly how upgrade should.20:53
edcryptsome of this info seems outdated: http://live.gnome.org/DistributedSCM20:54
jelmerPeng: I mean that it breaks badly :-)20:55
PengOh.20:55
bkoredcrypt: please update21:01
edcryptbkor: will try to research some references...21:02
mwhudson_morning21:10
Jc2kevening mwhudson_ :)21:10
mwhudson_Jc2k: did you see that you can run loggerhead trunk now? :)21:11
Jc2kmwhudson_: did you try search on my copy of loggerhead ;)21:11
Jc2kyou should be able to give it a spin on gtk+ now :)21:11
mwhudson_neat :)21:13
Jc2kso yeah, im running a different branch now :)21:13
mwhudson_heh, ok21:14
Jc2kits very had not to blog about the loggerhead foo :)21:16
Jc2kmwhudson_: i can link loggerhead into apache more now?21:18
Jc2krather than having it running in a screen session :P21:18
PengHeh, I have it running in screen too.21:19
Jc2ki guess i just need mod_wsgi21:22
mwhudson_Jc2k: i guess so, yes21:27
mwhudson_Jc2k: feel free to blog21:27
mwhudson_i don't really know if there are any real actual advantages to mod_wsgi21:27
Jc2kmwhudson_: waiting a few days for some bueno polish :)21:27
mwhudson_oh, ok :)21:27
mwhudson_beuno: i see you noticed your ~loggerhead-team membership :)21:28
=== edcrypt is now known as edcrypt_
lifelessmoin22:05
thumpermorning22:05
=== eMxyzptlk[away] is now known as eMxyzptlk
mkanatmwhudson_: Trying loggerhead trunk, getting a traceback with start-loggerhead.py: http://pastebin.mozilla.org/46568122:09
mwhudson_mkanat: you use auto_folder ?22:10
mkanatmwhudson_: I do.22:10
mwhudson_i bet i never even checked that22:10
mwhudson_mkanat: have you seen the new serve-branches.py script?22:10
mkanatmwhudson_: I have, but I don't want to serve everything in the path. Is that avoidable?22:10
mwhudson_not without programming i guess22:11
=== mwhudson_ is now known as mwhudson
* mwhudson hmms22:13
mwhudsonactually it's url_prefix that's broken i think22:14
mkanatOh, hmm.22:14
mkanatYeah, I need that unless I can just tell it "strip off the /var/www/html/everythingsolved.com/bzr/ from every path for the URL".22:15
lifelessjelmer: any comment on the speed issue it has?22:16
mwhudsontruth be told, i've never understood the purpose of many of the things you can put in loggerhead.conf :)22:16
mkanatmwhudson: Heh. :-)22:16
mwhudsonmkanat: i just pushed r166 of trunk, try that?22:17
lifelessJc2k: which branch chewed all your ram while indexing?22:17
mwhudsonmorning lifeless22:17
mkanatmwhudson: Yes, that seems to be running! :-)22:18
mwhudsonmkanat: woo!22:19
Jc2klifeless: i'm not entirely sure if it was bzr index or not, but things got a little rough on the box for trunk of... gcompris, gimp-help, gimp and guadec-web22:19
mwhudsonmkanat: i hope this one doesn't chew all your ram...22:19
Jc2ki aborted them..22:19
mkanatWell, the first plus I can see is that my log isn't full of 404s. :-)22:19
lifelessJc2k: oh it likely was :)22:19
lifelessJc2k: can you edit index.py22:19
Jc2kgimp.. i dont know, i was just worried it would break so i abored it anyway22:19
lifelesslook for group_size = 250022:19
Jc2klifeless: i can, but i'd prefer not to whilst it was still running22:20
Jc2kits indexing nautilus22:20
lifelessdrop that down and repeat until it stays happy22:20
lifelessI'd like to figure out some way to auto tune22:20
jelmerlifeless: 'morning22:20
jelmerlifeless: speed issue?22:20
lifelessJc2k: uhm, its fine to do as its running :P22:20
mkanatmwhudson: I'm getting a few tracebacks in my debug.log, though not sure what the problem is (I just have spiders that are crawling the site, apparently). Want to see the traceback?22:20
lifelessjelmer: in the backlog; it was very slow at indexing just the commits via bzr-svn22:21
mwhudsonmkanat: yeah, let's have a look22:21
mkanatmwhudson: http://pastebin.mozilla.org/46568322:21
lifelessJc2k: the .py -> .pyc will be recompiled the next time python loads it22:21
mwhudsonmkanat: so i think that happens when someone browses to blah/blah/inventory?file_id=file_id_of_non_directory22:22
mwhudsonmkanat: it's possible we're generating a bogus link somewhere22:23
mkanatmwhudson: Ah. And that link shows up in the UI? (This is the Googlebot doing this, apparently.)22:23
mwhudsonmkanat: it seems unlikely that googlebot just made such a url up, indeed :)22:23
mkanatmwhudson: And WOW, this version is WAY better on the resources!22:23
mkanatI can't even pick it out in top's list.22:24
mwhudsonmkanat: :)22:24
lifelessjelmer: the easiest way to show you is for you to try it yourself :P22:24
mwhudsonmkanat: i can't see anywhere where a bogus link like that would be generated22:26
mkanatmwhudson: I'll watch my apache log for referrers.22:26
mwhudsonmkanat: it's possible that we fixed this bug without noticing at some point and googlebot is remembering it22:26
mkanatmwhudson: Yeah, that is possible.22:26
mwhudsonmkanat: one idea22:27
mkanatAh, I couldn't pick it out in top because it wasn't there--I had Ctrl-C'ed and I forgot that I was running ./start-loggerhead.py -f. :-)22:27
mwhudsonmkanat: do you have an 'updir' link in the root of the branch (in the files view)?22:27
mkanatmwhudson: I'll look.22:28
mwhudsonthat's something i could imagine going wrong22:28
mwhudson(though it doesn't in my tests)22:28
mwhudsonmkanat: this branch should still be a lot better than the old version on resources22:28
mwhudsonmkanat: please let us know how it does over time22:28
mkanatmwhudson: Yeah, it is so far.22:29
mkanatmwhudson: Yeah, I will.22:29
mkanatmwhudson: Oh, problem.22:29
awilkinsjelmer: So the 0.4 branch now has the cext branch merged in it?22:29
mkanatmwhudson: The URLs look like http://localhost:8080//bzr.everythingsolved.com//vci/stable/revision/8822:29
jelmerlifeless: I'm confused - bzr-search appears to rely on weaves which bzr-svn doesn't have22:30
mkanatmwhudson: Which is the path to the local server, not the right URL.22:30
mwhudsonmkanat: oh bugrit22:30
mwhudsonmkanat: i thought i'd fixed that22:30
jelmerawilkins: yep22:30
lifelessjelmer: it only indexes commit messages on SvnBranch objects today22:30
mwhudsonugh, indeed, totally not22:30
jelmerlifeless: ah, ok22:31
lifelessjelmer: yesterday I did the various bits of machinery needed to teach it where to store an index for a svn branch, and disabled the stuff it couldn't use22:31
awilkinsjelmer: Will distutils build them?22:31
jelmerawilkins: yes22:31
lifelessjelmer: if you change commits_only = True, to False on line 161 of index.py you can see it fail to access weaves :)22:32
mwhudsonmkanat: fixing...22:32
mkanatmwhudson: Okay. :-)22:33
=== eMxyzptlk is now known as eMxyzptlk[away]
mwhudsonmkanat: can you try r167 from https://code.edge.launchpad.net/~mwhudson/loggerhead/config-vhost ?22:33
mkanatmwhudson: I can just pull from that into my current?22:34
mwhudsonyes22:34
mkanatmwhudson: Wow, bzr does not like that URL.22:34
mwhudsonmm22:35
mwhudsonit should redirect to the branch22:35
mwhudsonlp:~mwhudson/loggerhead/config-vhost should work better22:35
mkanatmwhudson: http://pastebin.mozilla.org/46568722:35
Jc2k Sorry, you don't have permission to access this page.22:35
Jc2kYou are logged in as John Carr.22:35
mwhudsonoh22:36
thumper???22:36
mwhudsonmkanat: try again22:36
mkanatbzr: ERROR: Not a branch: "http://bazaar.launchpad.net/~mwhudson/loggerhead/config-vhost/".22:36
thumperah22:37
thumpermkanat: there will be a pause22:37
thumpermkanat: while the http system realises that it is no longer private22:37
mkanatOkay.22:37
thumpermkanat: give it a minute or so22:37
mkanatbzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/%7Eloggerhead-team/loggerhead/trunk/.bzr/branch/lock): Transport operation not possible: http does not support mkdir()22:38
mwhudsonwhat command line are you running??22:39
mkanatmwhudson: bzr pull https://code.edge.launchpad.net/~mwhudson/loggerhead/config-vhost22:39
mwhudson(do you have a checkout? in which case 'bzr unbind')22:39
mkanatOh, right, I should unbind.22:39
mkanatmwhudson: Thanks. :-)22:39
mkanatmwhudson: I had it bound manually so that I could just type "bzr up" when I wanted to.22:39
mwhudsonuh22:40
mwhudson'bzr pull' should work22:40
mwhudsonmkanat: oh, this branch will require paste.deploy, btw22:40
mkanatmwhudson: Okay, that version dies: http://pastebin.mozilla.org/46568822:40
mwhudsonPrefixMiddleware(app, translate_forwarded_server=True, prefix=webpath)22:41
mwhudsoni.e. add the 'app' argument22:41
mwhudson(sorry)22:41
mkanatOkay.22:41
Jc2klifeless: i halved it, whatever that will lead to..22:41
mkanatmwhudson: Now my frontpage URLs are slightly wrong: http://bzr.everythingsolved.comvci/stable22:42
mkanatmwhudson: And if I fix that in the URL bar, the internal URLs look like: http://bzr.everythingsolved.comhttp%3a//bzr.everythingsolved.com/vci/stable/revision/8822:43
mwhudsonso basically, that didn't work at all22:43
mwhudsonmkanat: what's the server.webpath in your loggerhead.conf ?22:43
mkanatserver.webpath = 'http://bzr.everythingsolved.com/'22:44
mkanatI just added that slash.22:44
mkanatSo it was server.webpath = 'http://bzr.everythingsolved.com'22:44
mwhudsonmkanat: so if you remove that22:44
mwhudsonand the "translate_forwarded_server=True"  in start-loggerhead.py22:44
mwhudsonthen it should Just Work22:44
LarstiQ(TM)22:44
mkanatmwhudson: It originally didn't have the /.22:45
mkanatmwhudson: Adding the slash makes no difference, it seems.22:45
mwhudsonmkanat: but that worked with the old loggerhead, right?22:45
mkanatmwhudson: Yeah, slashless worked with the old loggerhead.22:46
mwhudsonso two things (1) do what i said above, that should get you working (2) i have some work to do to get perfect compatibility with old loggerhead.conf files22:46
mkanatmwhudson: Oh, remove server.webpath entirely?22:47
mwhudsonmkanat: yes22:47
mkanatOkay, here we go! Let's try. :-)22:47
mkanatOkay, with both of them gone, the front page works.22:48
mkanatmwhudson: But the internal URLs look like: http://localhost:8080/vci/stable/revision/8822:49
mwhudsonmkanat: you are running behind apache using mod_proxy ?22:50
mkanatmwhudson: Yeah, I think so.22:50
mwhudsonoddness22:51
mkanatmwhudson: Here's my Apache conf: http://pastebin.mozilla.org/46570422:52
mwhudsonmkanat: that's not mod_proxy, that's mod_rewrite :)22:52
mkanatmwhudson: Well, [P] is using mod_proxy, no?22:52
mwhudsonhm, maybe22:53
mwhudsonanyway, what paste.deploy is doing is relying on HTTP_X_FORWARDED_SERVER22:53
* mkanat read the Apache docs just now and it says that [P] does indeed use mod_proxy.22:54
mwhudsonyeah, me too22:54
mkanatmwhudson: Anywhere I could put some debug code to spit out that env var?22:55
mwhudsondef (environ, start_response, orig=app):22:56
mwhudson print environ22:56
mwhudson return orig(environ, start_response)22:56
mkanatmwhudson: In what file?22:56
mwhudsonin start-loggerhead.py, just before the serve call22:56
mkanatOkay.22:57
mkanatmwhudson: In the try block?22:57
mwhudsonmkanat: yeah, should work22:58
mwhudson(doesn't matter much, basically)22:58
mkanatdef (environ, start_response, orig=app):22:58
mkanat        ^22:58
mkanatSyntaxError: invalid synta22:58
mwhudsonerm22:59
mwhudsondo you know python well?22:59
mkanatI know it, but I don't know these frameworks well enough.22:59
mkanatAnd I don't know it well enough to know what an empty def call does.22:59
mwhudsoni typed three lines for that function23:00
mwhudsonmkanat: http://pastebin.ubuntu.com/22225/23:00
mwhudsonmkanat: phone now, brb23:00
mkanatmwhudson: Okay.23:00
mkanat(Ahh, it was nameless originally.)23:00
mwhudsonmkanat: oops :)23:01
mkanat'HTTP_X_FORWARDED_SERVER': 'bzr.everythingsolved.com'23:01
mwhudsonmkanat: sorry about this, thanks for being patient23:01
mkanatmwhudson: Hey, no problem.23:01
mwhudsonmkanat: and then still funky urls?23:02
mkanatmwhudson: Yep.23:02
mwhudsongrr23:02
mkanatNot *as* funky as they used to be.23:02
mkanatI mean, at least these could theoretically be right, if I was somehow on the server itself. :-)23:02
mkanatYou can see it here if you want: http://bzr.everythingsolved.com/vci/stable/changes23:03
mkanatHTTP_X_FORWARDED_HOST is also bzr.everythingsolved.com.23:04
mwhudsonmkanat: i wonder what version of paste deploy you have?23:05
mkanatrpm -q python-paste23:05
mkanatpython-paste-1.6-1.el523:05
mkanatrpm -q python-paste-deploy23:06
mkanatpython-paste-deploy-1.3.1-1.el523:06
mwhudsonmm, pretty close to the same as me23:06
mkanatHmm, welcome to "our product has no changelog".23:08
mkanatAhh, yes it does.23:09
mkanatIt was just cleverly hidden.23:09
mkanatmwhudson: What version of paste-deploy do you have?23:09
mwhudson1.3.1-2 (ubuntu hardy here)23:10
mkanatYeah.23:10
mkanatOkay, so yeah, the same.23:10
mkanatmwhudson: And paste 1.6?23:11
mwhudson1.6-223:12
PengWhat's this about url_prefix being broken?23:13
mwhudsonPeng: if you're not using loggerhead.conf. it shouldn't affect you23:13
PengIndeed I am not.23:14
PengI'm using serve-branches.py with the Paste Deploy prefix thingy. :)23:15
Peng(If that's what url_prefix does..)23:15
mwhudsonPeng: it's not23:16
PengHeh, okay.23:16
PengI'll shut up then. :)23:16
mwhudsonmkanat: try this patch: http://pastebin.ubuntu.com/22228/23:16
mwhudsoni think i was getting too complicated :)23:17
poolie_good morning23:55

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