/srv/irclogs.ubuntu.com/2009/04/13/#bzr.txt

nbjaymehello all.  I have a couple of projects and each is using a different email address. How do you configure different email address on a per repository/project? (Thanks in advance).03:02
lifelessbzr help configuration - you want to set stuff in ~/.bazaar/locations.conf03:02
nbjaymethanks i'll have a look at it.03:03
lifelessbzr whoami will let you test if its set03:03
nbjaymeit worked!  thanks so much, lifeless.03:08
lifelessmy pleasure03:09
=== doughnut42 is now known as eugeneoden
=== moquist__ is now known as moquist
mrooneyIs an export slower than a checkout?05:57
mrooneyIt seems to be, I am wondering I should be using a checkout and removing the .bzr dirs?05:58
juanjeHi, guys, anyone here know about bzr-svn?09:48
juanjeI got a weird issue....09:49
juanjehttp://pastebin.ubuntu.com/150006/09:49
juanjeError says something about bugs fixed, but just two of them09:50
juanjeI don't know if this is global issue or just because those two bugs (launchpad ones) closed are already closed but there are some comments after the closes...09:51
juanjethis happens in both, but the status is still "Fix Released", so doesn't seem so...09:52
juanjeI checked the logs and there are a lots of other bugs fixed, before and after those two and didn't say nothing about them09:54
speakmanhi folks!09:58
speakmanIf i've branched a project and made some changes, and now the projects trunk has also made some changes; is there any way to pull the trunk once again and then put my changes on top of that?09:59
bob2pull in bzr implies one side is a subset of the other10:02
bob2so you need to merge10:02
speakmanhow about update?10:02
bob2'update' in bzr has nothing to do with the repository or branch10:02
speakmanreally..?10:03
bob2it just updates the working copy10:03
speakmanoh, I see! of course!10:03
bob2I'm not sure aht you're trying to do - are you concerned about the 'log' output after you merge in the trunk?10:03
speakmanI prefer pulling my friends branches, yes.10:04
speakman(then they get the credits in the log output)10:04
bob2they get credit anyway - the log includes all the revisions merged or pulled10:04
speakmancan't rebase do something here?10:04
bob2you're making this very hard...:)10:05
speakmanbob2: yes, but it won't show unless you do bzr visualize or bzr log --long10:05
speakman:D10:05
wgrantvanilla 'bzr log' shows merged revisions.10:05
bob2bzr log -n010:05
bob2and only as of 1.1410:05
bob2before then, bzr log showed them too10:05
juanjespeakman: I usually do 'bzr pull [the_other_branch]' or 'bzr merge --pull [the_other_branch]' for that10:05
speakmanLaunchpad doesn't show merged revisions ;)10:06
bob2surely your own comit message is "Merge from Foo Bar", anyway10:06
juanjespeakman: yes, but you have to click somewhere10:06
juanjei don't rememeber where, but you can see it10:07
speakmanDoing "pull" it's a much nicer log output :)10:07
juanjethat happens to me once10:07
juanjeyep10:07
bob2in short: the sane, simple way is to use "merge", you could use rebase if you really wanted, but rebase has all sorts of sde effects10:07
lifelessspeakman: you can use rebase; however rebase turns tested code into untested code10:07
speakmanside effects?10:07
speakmanoh, i see10:08
wgrantAnd rebase is also very inconvenient if your branch is public.10:08
speakmanpoint taken; rebase isn't a very good idea10:09
speakmanthere are more than me and my friend using this lp project10:10
bob2are lp branches append only?10:10
speakmanI'll just use bzr merge --pull instead10:10
bob2speakman: and since pull won't work, that's the same as 'bzr merge'10:10
speakmanno, bzr push --overwrite could do whatever you like10:10
speakmanbob2: exactly; do pull if I can, else merge. Easy as that :)10:10
juanjespeakman: I you see this branch (http://bazaar.launchpad.net/~freemix-dev/freemix/head/revision/17) there is a merge from one branch of me, but it didn't show well. But if you click on the '16.1.6 freemix' you'll see all my revisions that were merged10:11
LarstiQbob2: no, they're not10:12
lifelessbob2: lp branches are the same as anywhere else -its configurable10:13
bob2LarstiQ: its not?10:13
lifelessbob2: 'lp branches;10:14
LarstiQlifeless: you don't have direct access to the lp branch.conf I don't think?10:14
lifelessLarstiQ: yes, you do10:14
LarstiQhmmm :)10:15
bob2via sftpz?10:15
LarstiQhandediting and uploading? yuck10:15
speakmanjuanje: but here https://code.launchpad.net/~freemix-dev/freemix/head you won't see your changes. Launchpad should handle that better IMO, since most free software are built on credits.10:15
bob2speakman: merge commit messages should have the credit within them10:16
juanjespeakman: yes, I though so, but actually are there, you can see if you click in the right place, but yes is a bit hiden10:16
juanjespeakman: http://bazaar.launchpad.net/~freemix-dev/freemix/head/changes/16.1.610:17
juanjespeakman: there you can see now my commits merged10:18
juanjespeakman: all the 16.1.? revisions10:18
speakmanbob2: yes, that's true10:18
speakmanBut also; a simple merge is nothing of value itself; it's what's merged what's interesting for the log10:19
juanjespeakman: actually, when there is not problem with pull, all the changes are fully integrated (with credits) in my trunk, the only problems is when I have to do merge10:20
speakmanjuanje: you're on to same "problem"10:20
speakmanThe PQM does a better job imo: https://code.launchpad.net/~bzr/bzr/trunk10:21
bob2pqm does everything as a merge10:21
bob2isn't that the opposite of what you want?10:22
speakmanBut If you change the commit messages to "Merged from Jelmer" etc, then it isn't that valueble10:22
bob2"merged foo bar baz from Jelmer"10:23
johnfwould it make sense to anyone that bzr 1.14 now has a zlib build dependency which it didn't have previously?10:25
* johnf is about to go hunting in revision log10:25
speakmanHow about making a certain switch to "bzr merge" which automatically reuses the log messages of the merged branch?10:26
bob2how would that work?  you might be merging a thousand revisions10:26
speakmanThen don't use the switch ;)10:27
lifelessspeakman: I think an option klke that mght be good10:32
lifelessI'd start with a plugin that wraps merge though, see if you can get the kinks out, then propose the logic as a patch to merge/pull --merge/whatever10:32
lifelessjohnf: yes10:33
lifelessjohnf: its the new compressor, we use zlib directly as well as via python10:33
johnflifeless: cool, just wanted to check before adding the build depends10:33
jrydberglifeless: how's performance these days?10:36
lifelessjrydberg: pretty good; the new format (beta in 1.14) is 20 times faster at a bunch of things; and 1/3 the disk space utilisation10:40
bob2--development?10:41
speakmanYou would make GvR rethink his choice of Mercurial ;)10:41
jrydberglifeless: cool. how is it on large trees?10:44
lifelessjrydberg: 1.0->0.4 seconds for commit on some very large trees10:45
lifelessO(logN) scaling for tree size, diff time proportional to change size etc10:45
lifelessI have to go though, can't chat right now :(10:45
lifelessbob2: --development-rich-root10:45
speakmanlifeless: sent a blueprint just to not let it be forgotten: https://blueprints.launchpad.net/bzr/+spec/merge-commit-reuses-log :)10:48
lifelessspeakman: we don't really get driven by blueprints11:32
lifelessspeakman: either file a bug, or write some code :)11:32
johnfLarstiQ: you about?11:42
LarstiQjohnf: nish11:43
LarstiQjohnf: we're going to pack our stuff into the car now, and leave Breakpoint in an hour11:44
LarstiQjohnf: if you have clear ideas about bzr-svn ppa, go ahead11:44
johnfLarstiQ: heh. I've just uploaded bzr and bzrtools to ppa. You want to do newest version of bzr-svn?11:44
johnfYeah I might try the old method and if it's too much hassle use same process as bzrtools and bzr11:45
LarstiQjohnf: I can, but not today, might take a couple of days.11:45
LarstiQjohnf: k11:45
johnfthanks11:45
johnfI'll check it out11:45
* LarstiQ packs11:45
OllieRsay i have /srv/bzr/project1 should I be doing cd /srv/bzr bzr init-repo at the top level "above" all my projects directories or should I do bzr init-repo within each project sub directory?12:43
lifelessOllieR: doesn't really matter12:44
OllieRlifeless: the bzr help page says - "Purpose: Create a shared repository to hold branches."12:46
lifelessyes12:47
lifelessits optional though12:47
lifelessbranches can be created regardless12:47
lifelessand performance will not change greatly whether you have one repo per project or one for all12:47
OllieRright the real reason for asking this is because I am trying to work out how I will setup my directory structure12:47
OllieR"New branches created under the repository directory will store their revisions in the repository, not in the branch directory." - this may make perms trickier?12:48
OllieRbasicially I have /srv/bzr/private and /srv/bzr/project/12:48
OllieRcorrection /srv/bzr/public/12:48
OllieRso the public dir will have tree and will be accessible via http (apache) so that a user could do a checkout12:49
OllieRI would also then like to enable certain people write permissions to certain branches/projects12:49
OllieRis this just a case of chowning my bzr branch as necessary?12:50
OllieRif I do bzr init-repo then it says my revisions are stored in a repo and no the branch dir itself, well that could make permissions very difficult to setup12:50
OllieRI haven't setup a multi bzr setup like this before so really just after a bit of guidance to point me in the right direction :)12:51
fullermdYes, you end up only really being able to set perms at repo granularity.  All or nothing.  Branch-level differences could protect against accident, but not malice.12:53
fullermdAlso, if you're web serving /srv/bzr/public/ and the branches there are using a repo at /srv/bzr/, they won't be web accessible anyway since the repo can't be seen.12:54
OllieRfullermd: good point12:54
OllieRok so essentially I should setup separate repos for each project and then I can grant commit access to trusted parties for that whole project12:55
OllieRIf I had one repo for all projects then I would restrict myself to being able to grant commit access to every project or no projects which is no desirable12:56
fullermdRoughly, yah.  Comes to threat models; if you can read the repo, you can read anything in it, no matter what branch (and you can heuristically guess where branches head out at)12:57
OllieRyep so i defnitely want multiple repos12:58
fullermdIf you can write to the repo, you can pretty much write OVER anything in it, so even if you couldn't change a branch's idea of the rev that's its head, you can change the contents of that rev.12:58
lifelessfullermd: well, signed revisions prevent that - data deletion is much more likely a vector13:19
SamBwhy is bzr/bzr-svn asking me for a username+password to access https://freedos.svn.sourceforge.net/svnroot/freedos/freecom ?13:29
SamBhmm, at least if I just hit enter it works fine ...13:30
SamBjelmer: any idea?13:30
OllieRSamB: it doesn't ask for a username/pass for me ...13:31
OllieRfor bzr branch or via http (browser)13:33
lifelessSamB: try nosmart+http13:34
SamBwell, that was via svn-import ...13:34
lifelessSamB: its a change in tip bzr-svn which got backed out - see the list for details13:34
SamBah13:34
lifelesswhat happens is that bzr POST's to probe for a smart server13:35
lifelessand the server is giving 40113:35
lifelesswhich isn't strictly true, but all-the-same13:35
lifelessbzr then prompts for credentials13:35
=== You're now known as ubuntulog
fullermdlifeless: signed revs would only help in very limited circumstances.13:42
jelmerSamB: latest bzr.dev / bzr-svn 0.6 ?13:49
jelmerSamB: sf is probably requesting authentication for POST requests13:50
SamBjelmer: yeah, latest13:50
SamBalso how come "bzr svn-import https://freedos.svn.sourceforge.net/svnroot/freedos/freecom" leaves me with freecom/freecom/{trunk,branches} ?13:51
SamB(after hitting "enter" those extra two times, of course)13:51
jelmerSamB: should be fixed now (0.6 branch)14:05
=== mtaylor_ is now known as mtaylor
rockyhrm, i need something a little higher level than a Transport to munge with security :/16:58
jelmerrocky: are you trying to do security for stuff inside of a bzr versioned tree?16:59
jelmerrocky: or rather security on a per-branch basis?16:59
rockyjelmer: ok... let me tell you what i have and what i want...16:59
rockyjelmer: i've created this very simple http browser thing that acts like mod_svn whereby you can browse any directory whether it's bzr versioned or not .... and as you go into sub folders, if one of them is a branch, it starts displaying the branch's latest revision file listing as if it were just another directory17:00
rockyand you can go deeper into the tree whether it's a branch or not and it looks the wsame17:01
rocky*same17:01
rockynow i want to control read and write access based on a path that may or may not go into a branch's tree info17:01
rockyat the Transport level, i have no notion of the working tree17:02
rockywhich is a problem17:02
rockyjelmer: for an example of what i'm doing ... take a look at http://dev.serverzen.com/bzr/  and drill down until you get to a trunk dir17:12
OllieRis it possible to convert a tree less shared repo to one with a tree?17:12
rockydidn't think repos could have working trees17:13
jelmerrocky: sorry, was away for a bit17:15
jelmerrocky: ah, yeah17:15
jelmerrocky: You're using something like Branch.basis_tree() to find the tree?17:16
jelmerrocky: or do you mean using the bzr smart server?17:16
rockyjelmer: i'm using Branch.basis_tree() for browsing the tree, yes ... but, if you browsed through you can see that it gives a bzr url ... that bzr url works against the same server, my little server is smart enough to hand bzr smart http requests to the bzr smart http server app\17:18
rockyso my little server is essentially a tree browser and a bzr smart server17:19
jelmerrocky: ah, neat17:19
jelmerrocky: yes, Transport is the wrong place for fine-grained auth17:19
rockyso now, i want to do url-based security17:19
rockyfor both tree browsing and bzr smart server requests17:19
jelmerrocky: but if you let users retrieve revisions using the smart server17:19
jelmerthey'll get the full tree anyway17:19
rockyi don't mind that the url-based security can only go as deep as the branch17:20
jelmeryou can't let them retrieve parts of the revision as bzr doesn't support partial checkouts yet17:20
rockyactually, just discussing this has made me think i can do all of this without worrying about bzrlib's security at all17:20
rockyi can implement all security checks right in the wsgi layer if i don't care to go deeper than branch roots17:21
jelmerrocky: right17:21
=== beuno_ is now known as beuno
rockyjelmer: i'm building this for my own use to make it easier to manage bzr servers with my ClueMapper suite ... hopefully this will be useful to others as well17:26
jammorning all17:29
jamvila: how's it going?17:29
jamjelmer: I've been having trouble trying to convert the latest python trunk branch via bzr-svn 0.5.417:29
vilajam: as an Easter Monday ? Back from a bicycle ride, passing around before dinner ;-)17:32
jamah, I thought you might have today off, I wasn't sure17:32
vilajam: what about you ? Neither friday nor monday ?17:33
jamvila: it isn't a governmental holiday, so no official days of from canonical17:33
vilahaaa, yeah, of course17:34
jelmerjam: hi17:42
jamhey jelmer17:42
jelmerjam: What sort of trouble?17:42
jamI've been getting quite a few failures, so I'm not really sure where to start17:42
jamIf I use "svn-import" it runs for a couple hours17:42
jambut then dies with:17:42
jamAssertionError: Tried registering <CachingRevisionMetadata... as parent while ... already was parent17:43
jamIf I try to just convert "python/trunk" I get:17:43
jamTypeError: Bit 1 of ('2160@6015fed2-1504-0410-9fe1-9d1591cc4771:python%2Ftrunk%2F', u'Lib')...17:43
jamwhich means that something in bzr-svn is trying to use a "key"17:43
jamwhich has unicode in it17:43
jelmerjam: there's an open bug about the first issue17:43
jelmerjam: not sure about the second, can you provide some more details?17:44
jam(I don't have any idea why bzr-svn would be trying to create a file-id with "u'Lib'" as the revision id)17:44
jamjelmer: "bzr init-repo --develompent6-rich-root test; bzr branch http://svn.python.org/projects/python/trunk test/trunk"17:44
jamI have the feeling we have been silently allowing a bad file_id, revision_id combo17:44
jamin older formats17:44
jamand now the --dev6 is being more strict about only allowing 8-bit strings17:45
jelmerjam: ok, trying to reproduce now18:00
jelmerjam: I can't see any obvious places where we would be specifying wrong text revisions18:00
jamjelmer: so the backtrace is here:http://paste.ubuntu.com/150280/18:01
jamWhich at least makes it looks like the code is failing18:01
jambecause it has generated an exception18:01
jamwhich it is then trying to "prettify"18:01
jam(make pretty)18:02
jamand the report_inventory_contents is passing some bad paths18:02
jelmerjam: hmm18:04
jelmerjam: the bit that is failing is in the (file_id, basename) -> file_id map18:04
jelmerjam: that's the cache that's only provided by CHK Inventories18:05
jelmer        parent_id_basename_index = getattr(self.old_inventory, "parent_id_basename_to_file_id", None)18:05
jelmerjam: it seems reasonable that basename is a unicode string18:07
beunojelmer, any fix yet for the AbsentContentFactory error?18:07
jelmerbeuno: which error?18:07
jelmerbeuno: I mean, what bug are you referring to?18:08
* beuno seraches for the bug #18:08
jamjelmer: that probably does make sense. I'm pretty sure at the CHK map layer, basename would be a utf-8 string, but I could understand that we should be abstracting that away somewhere inbetween18:09
beunoErrorFromSmartServer: Error received from smart server: ('error', "'AbsentContentFactory' object has no attribute 'get_bytes_as'")18:09
jelmerjam: ah, encoding it as utf8 makes sense I guess18:09
jamjelmer: my guess is that CHKInventory should be doing an encode before passing it lower18:09
jamthough I think bzr-svn is going after it directly18:10
jelmerjam: ah, yeah - CHKInventory is indeed encoding to utf818:10
beunojelmer, bug 35403618:10
ubottuLaunchpad bug 354036 in bzr "ErrorFromSmartServer - AbsentContentFactory object has no attribute 'get_bytes_as' exception while pulling from Launchpad" [Critical,Confirmed] https://launchpad.net/bugs/35403618:10
jamjelmer: CHKInventory._parent_id_basename_key18:10
* jelmer tries with utf818:10
jamdoes an encode('utf-8')18:10
jelmerbeuno: probably better to ask spiv, I have no idea about that bug18:12
jelmerjam: with the encode("utf-8") it seems to work better18:13
* jelmer commits18:13
jelmer(and fast, converted almost 1k revisions already)18:13
jelmerjam: r285218:15
jamjelmer: bzr-svn trunk?18:15
jelmerjam: 0.6 branch (http://people.samba.org/bzr/jelmer/0.6)18:16
jelmeror substitute 0.6 for bzr.dev18:16
jelmer(which is a symlink)18:16
jamjelmer: so what is 0.6 vs 0.5?18:17
jamIs there a format bump in there I should be cautious of?18:17
jelmerjam: no, no format changes18:18
jelmerjam: 0.6 depends on a few new patches in bzr.dev18:18
jelmerjam: and takes advantage of some of my pending patches18:18
jelmerjam: (although it doesn't require them)18:18
jelmerjam: so, if things work linearly then I can do an import of python trunk in under two hours now18:24
jamjelmer: from what I've seen, it isn't quite linear.18:24
jamalso, have you pushed up 2852?18:25
jelmeryeah, 2852 has been pushed18:25
jamk, it wasn't just a second ago18:25
jamI still don't see it18:25
jelmershould have been18:25
jelmerhttp://people.samba.org/bzr/jelmer/bzr-svn/0.6 ?18:25
jamhmm... I seem to have the launchpad mirror18:25
jelmerabentley: hi18:41
jelmerabentley: I thought there was a noticable speed differences between trees and inventories, is that not true?18:42
abentleyThere should not be.18:51
abentleyjelmer: ^^ tree operations should have the same speed as an inventory operation that provides the same guarantees.  Obviously, WorkingTree.get_file_sha1 can't be as fast as InventoryEntry.sha1 (or whatever it's called)18:56
jelmerabentley: ah, thanks18:57
jelmerabentley: I'll change things to use a tree then, seems better than to use premature optimization18:57
jelmers/use/do/18:58
jelmeranyway18:58
abentleySo what's this code actually doing?  It looks like it's handling renames, but why does it assert no adds or removes?19:00
abentleyjelmer: It's remapping file-ids, right?19:01
jelmerabentley: yeah19:02
abentleyjelmer: Can I recommend apply_inventory_delta?  It removes the ordering constraints and avoids generating an inventory on dirstate trees.19:02
jelmerabentley: the "dpull" operation will have created an exact copy in the remote repository with the same contents but with different file ids19:03
jelmerabentley: this code changes the local working tree to use the file ids in the remote repository19:03
jelmerabentley: what would that do to unversioned files in directories that are removed using the inventory_delta?19:04
abentleyjelmer: inventory deltas only affect the inventory, not the filesystem.19:05
abentleydo all the file-ids change when you dpush, or only the ones for recently-added files?19:06
jelmerabentley: only the ones for recently-added files; the current remapping is suboptimal in that regard19:07
abentleyjelmer: It doesn't sounds like a directory could become unversioned in update_workinginv_fileids.19:07
jelmerabentley: well, in case of the inventory delta we'd have to delete the directory with the old file-id and re-add it with the new file-id19:08
abentleyjelmer: But if it did, the unversioned file would stop being mentioned in Tree.extras or anything else that lists unknown files.19:08
abentleyjelmer: You would have to delete the inventory entry for the directory with the old file-id and re-add it with the new file-id.  You wouldn't need to delete the directory itself.19:09
jelmerabentley: right, that makes sense19:09
abentleyYou could actually use a TreeTransform for this.  In fact, I think you could use WT.revert.19:11
abentleyThough I guess that would revert any uncommitted changes.19:12
abentleyjelmer: The advantage of TT is that file-ids aren't authoritative identifiers.  So you can do tt.unversion(trans_id); tt.version_file('file-id2', trans_id)19:14
abentleyAnd it will calculate the inventory delta for you.19:18
abentleyAnd apply it, of course.19:18
rockyjelmer: hey, the only problem with defining the security layer on top of wsgi is that i cannot differentiate between a read and write bzr smart request19:46
pygirocky, what, you :p19:50
rocky=P19:50
pygirocky, did you thikn of new things?:D19:51
pygithink*19:51
rockypygi: i just finished adding dir-browsing support ... you can take a look at http://dev.serverzen.com/bzr/19:52
rockypygi: now i'm trying to fix up the security ini stuff19:52
pygirockstar, per-repo security?19:52
pygiand groups support?19:52
pygirocky, and what kind of difference do you see between bzr branch url and Bzr Path URL?19:53
pygirocky, and did you fix it for 1.13?20:01
rockypygi: sorry stepped away a sec... trying to do per-branch security20:20
rockyno groups support yet20:20
pygirockstar, wouldn't per-repo security allow me to do say ~mario, ~rocky and stuff?20:21
rockyand the difference between branch url and path url is that you might be several levels deep in a branch so the path url will change but the branch url will ot20:21
pygiups20:22
pygirocky*20:22
pygi:)20:22
rockywhat diff would per-repo and per-branch security do there?20:22
pygiwell, I create ~mario repo, so user mario can create branches in there?20:22
pygiwithout need for additional configuration?20:22
jelmerjam: fwiw a python import (41k revs) now takes 7474.116 seconds here, so just a little bit over two hours20:23
pygi(even if that is called abusing repos, but oh well :P)20:23
jelmerjam: are there any plans to provide integration for the memory profiler you and mwh wrote?20:24
rockypygi: oh yeah... that would be good to have but is still a bit separate from the security stuff i'm talking about... why would that be abusing repos?20:24
pygirocky, cause repos are supposed to be used for branches that share similarities :p20:24
rockyohhh right20:25
jamjelmer: right now I'm purely latency bound, on a 6 year old machine20:25
rockyyeah ;)20:25
jamso I'm not sure how long... but it should be pretty flat :)20:25
pygirocky, SIGHUP support is in?20:25
jamjelmer: I'm not sure what integration we'll end up doing20:25
pygior am I still to do it?20:25
jamI might tie something into 'trace.debug_memory()'20:25
rockypygi: well, we could do it a little more like launchpad and make it so you'd do ~rocky/project1/mybranch so ~rocky would just be regular dir and project1 would be the repo20:26
rockypygi: still waiting on you :)20:26
jamjelmer: what would *you* like to see?20:26
pygirocky, I like that idea about ~user/project/branch20:26
jelmerjam: "bzr selftest --memprof=foo.callgrind" or something along those lines20:26
jelmeror bzr --memprof=foo.callgrind branch <...>20:26
jelmerwriting out the state at the moment bzr is termiunated20:27
jamjelmer: when would you dump it? At the peak, at the end, periodically?20:27
pygirocky, ok, you'll have sighup patch by tomorrow hopefully then20:27
rockyjelmer: any clues on how i'd distinguish between a read and write request over a http bzr smart server request? (in the wsgi layer)20:27
jelmerjam: at the end20:27
jelmerrocky: sorry, I'm not familiar with the http bzr smart server20:28
jelmerjam: at the peak would be ideal, but it's hard to say what the peak was until bzr has terminated20:29
rockyi think i may still have to go back to the transport level for that :(20:29
jelmerrocky: you might want to talk to spiv about this20:29
jelmerjam: being able to send a SIGQUIT and then easily dumping the memory profile somewhere could also work20:29
rockyspiv: ping.... :)20:30
jelmerjam: if it's just "import memprof; memprof.dump_trace('foo.callgrind')"20:30
jamjelmer: ^| from memory_dump import scanner; scanner.dump_gc_objects('foo.dump')20:30
jamat them moment20:30
jelmerjam: ah, nice20:30
jelmerjam: that's several degrees better than the other profilers I've looked at in the past20:31
jamthe dump file is currently still json only20:31
jambut I have a 'runsnakerun' patch that allows it to be loaded directly20:31
jamI'd like to get it in callgrind output, but it takes some thinking20:31
jamas dump_gc_objects() is meant to be as lightweight on memory as possible20:31
jam(i think it currently costs about 20kB)20:32
jamscaling O(num_objects) hurt me with stuff like heapy20:32
jamsince I had 1GB already...20:32
jamthere are 2 dump functions, ATM, based on whether you want to use a set while dumping20:36
jammy test showed it took about 60MB to dump 600MB20:36
jamwhich is ok, but depends on your needs20:36
* rockstar curses at pygi for turning his tab blue21:15
pygirockstar, :P21:15
=== lamont` is now known as lamont
lifelessrocky: you can't distinguish in the wisgi layer, you have to use the smart request layer to tell22:00
lifelessrocky: transport is overly low, many smart verbs are not directly transport related22:01
rbriggsatuiowausing bzr diff --old b1 --new b2 # how do I get a list of the files that changed?22:07
rbriggsatuiowarather than all the changes themselves22:07
lifelessrbriggsatuiowa: you need bzr st for that, but it doesn't have old and new. instead do22:12
lifelesscd b222:12
lifelessbzr st -r branch:b122:12
rbriggsatuiowathanks22:16
rbriggsatuiowathanks22:16
lifelessspiv: ping23:30
rockylifeless: yeah so now i'm doing a combination of transport level and wsgi layer level23:38

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