/srv/irclogs.ubuntu.com/2009/03/03/#bzr.txt

lifelessdoes it say blackbox.test_diff, or bzrlib.tests.blackbox.test_diff ?00:00
jfroyAh, it's working00:00
jfroyI, apparently, had not used the . :p00:00
jfroy* ./00:00
lifeless:)00:00
jfroyERROR: blackbox.test_export.TestExport.test_tar_export00:00
jfroy    global name 'tests' is not defined00:00
lifelesstry ./bzr selftest --no-plugins00:01
lifelessif that works, you have a plugin adding tests oddly00:02
jfroyWell if I'm running from a source distribution, would it still find any plug-ins?00:02
lifelessyes00:02
jfroyThe system running those tests doesn't have any in ~/.bazaar00:02
lifelessok00:02
jfroybut it does in the system-wide bzrlib00:03
lifelessthis is windows?00:03
jfroyMac OS X00:03
lifelessok00:03
lifelessplease try anyway00:03
lifeless'./bzr selftest --no-plugins'00:03
jfroylooks good00:04
jfroyseems it does load system-wide plug-ins00:04
jfroy*eats his tongue* never mind00:04
jfroysame error00:05
jfroywell, maybe just bite :p00:05
lifelessok00:05
lifelesswhat version ?00:06
jfroy1.1200:06
jfroyquite a few failures in blackbox.test_filesystem_cicp00:06
lifelessits odd that its only reporting 'blackbox..' rather than bzrlib.test.blackbox...00:06
lifelessit makes me think something has gone seriously wrong with module loading00:07
lifelesswhat python version ?00:07
jfroy2.5.100:09
jfroy(apologies for the delay)00:10
lifelessvila: was that the bust version?00:14
jfroySo aside from that import error and the failures in filesystem_cicp it looks good so far00:20
jfroyAre those filesystem tests known failures on OS X?00:20
james_wlifeless: your extend_command patch ignores the "plugins_override" parameter that controls whether plugins should be able to override builtins. Is that the desired behaviour?00:20
lifelessjames_w: yes00:21
lifelessjames_w: because that patch doesn't support replacing commands at all00:21
lifelessjfroy: theres a buggy python on some mac os X's00:21
lifelessjfroy: bugs in the tarfile module, and somewhere else, IIRC00:22
lifelessabentley: on http://bundlebuggy.aaronbentley.com/request/%3C1235999150.10731.0.camel@flash%3E, it would be nice if the project: Bazaar link was to merge requests, and the actual project-meta-data was a link on the right00:28
lifelessabentley: just an oddity but I *always* click on Bazaar and end up where I don't want to be00:28
lifelessjelmer: has the network_name stuff been clear enough for you?00:40
rockyjelmer: hey, which branch of TracBzr should i use for trac 0.11.3 ?00:56
jelmerlifeless, is there any reason for not explicitly comparing that the various bits that make up a repository's stream ?00:59
jelmerrocky, sorry, I no longer follow trac-bzr development00:59
jelmerrocky, I've only been involved to the degree that we need it for bitlbee01:00
rockyjelmer: someone is the lead maintainer or it's simply not being maintained?01:00
jelmerrocky, I don't think there has been a maintainer for the past 2 years01:00
rockyouch, that's too bad01:01
jelmerrocky, I have been doing some work keeping merging patches people put up until a couple of months ago01:02
jelmers/keeping//01:02
rockygotcha01:02
jelmerrocky: There's enough people interested in trac-bzr, there's just no maintainer atm01:03
rockyi need it for ClueMapper01:03
rockyi want to support bzr as the main repo format instead of svn under my trac01:03
jelmerrocky, would you be interested in stepping up as maintainer?01:05
jelmerrocky, It shouldn't be a lot of work, as there seem to be enough people proposing patches01:05
jmlmwhudson: https://code.edge.launchpad.net/~jml/+junk/bzr-establish01:05
mwhudsonthanks01:05
jelmerthere just needs to be somebody to review and merge them01:05
lifelessjelmer: can you rephrase - 'explicitly comparing that the various bits that make up a repository's stream01:06
lifeless'01:06
rockyjelmer: it's a possibility01:06
mwhudsonjelmer: lp:~jelmer/bzr-git/jelmer, not lp:~jelmer/bzr-git/trunk, right?01:06
jelmerlifeless, so, rather than defining that repoformat X matches the network representation of repoformat Y, wouldn't it be possible to just compare the serializer format, inventory format, etc?01:07
jelmerlifeless, Not suggesting it should work that way, just wondering why it can't work that way?01:08
jelmermwhudson, Yeah, http://people.samba.org/bzr/jelmer/bzr-git/trunk01:09
jelmermwhudson, it requires bzr.dev atm01:10
pooliejam, if you're still here, is there any mysterious reason why http://pastebin.ubuntu.com/125544/ is not a valid simplification?01:10
mwhudsonjelmer: ok01:10
jmlmwhudson: http://code.mumak.net/2008/10/bazaar-hacking.html ; http://code.mumak.net/2008/10/more-bzr-hacking.html01:10
lifelessjelmer: su01:12
lifelessjelmer: 'so'.01:12
lifelessjelmer: two formats may have the same serialiser but still not want to behave identically01:12
lifelessjelmer: (format) is a complete encapsulation of behaviour, and works for things like bzr-svn that don't particularly even have serialisers01:13
lifelessjelmer: I think we do want to end up with a complete meta-description, but we're currently adding dimensions faster than verbs are keeping up, so using a format.network_name is future proofing until we're ahead of the curve and can lock-down the round trips for operations and eliminate teh vfs01:14
jelmerlifeless: ah01:14
jelmerlifeless: That makes sense to me01:14
jelmerlifeless, so01:14
jelmerlifeless, bb:approve01:15
nevansI accidentally rebased a branch, and now I want to get back the original.  what would be the easiest way to find the tip revision ID for the original?01:15
jelmerlifeless, as this was the only bit I wasn't sure about01:15
lifelessjelmer: well, its all landed :P I was more asking because we have the room to change things if it was interacting badly with bzr svn01:15
james_wnevans: "bzr heads" from bzrtools will help01:15
jelmerlifeless, ahh01:15
nevansbzr heads is taking forever to return... is there some way to point it at the last common revision, and tell me only the descendants of that?01:15
lifelessjelmer: I have no desire to make your task *harder* :P01:16
jelmerlifeless, it shouldn't affect bzr-svn unless you're pushing from a svn repository to a smart server right?01:16
nevansBTW: as an aside, I really like how "bzr uncommit" gives you the original revision id right before it does its work.  ;)01:17
lifelessjelmer: or pulling from a smart server with svn behind it01:17
lifelessjelmer: so you have several things you can do; you could:01:18
lifeless - return a network_name of a bzr native format [where you claim that your streaming data is that format, and that cloning should create that format]01:18
lifeless - return a unique network_name [where both ends will need bzr-svn installed, but you can potentially stream in a optimised form]01:18
jelmerI can't really do (1) sensibly01:20
jelmersince it will mean things using Repository.{texts,inventories,revisions} a lot01:20
lifelessok01:22
* mwhudson gets the feeling he's doing it wrong01:22
mwhudsonbzr: ERROR: No such file: u'/home/mwh/src/git-play/.git/inventory': [Errno 2] No such file or directory: u'/home/mwh/src/git-play/.git/inventory'01:22
lifelessnote that pushing from a svn workingtree to a hpss smart server is probably not that common :)01:22
jelmermwhudson, bzr-git doesn't support working trees yet01:22
jelmerlifeless, I've seen people do it :-)01:22
lifelessmwhudson: its not finished :)01:22
mwhudsoni guess i should read the README01:23
mwhudsonjelmer: how can i make it do something interesting?01:23
lifelessjelmer: ok; so we can either say 'install bzr-svn on the server' (for 2), or perhaps have a bzr-svn-light that has just the Format objects, no actual capabilities.01:23
jelmermwhudson, bzr.dev branch git://git.kitenet.net/etckeeper01:24
jelmerlifeless, there's no fallback scenario in case the network format the server offers isn't supported by the client?01:25
jelmerno *generic* fallback scenario01:25
lifelessjelmer: no01:26
lifelessjelmer: you wanted to avoid people creating branches on the server the server can't open; this does that :)01:27
mwhudsonjelmer: eh, i thought network support was flaky, did i get the wrong end of the stick01:27
mwhudsonanyway, seems to be working, yay01:27
jelmermwhudson, pull is the main thing that's flaky01:28
mwhudsonjelmer: ok01:29
jelmerlifeless, well, if the server understands the format a branch is stored in, it could always send it to the client in some generic format that the client udnersatnds01:29
jelmermwhudson, please do file bugs for things you find don't work or don't work well01:29
jelmerlifeless, can you explain the bzr-svn-light thing a bit perhaps?01:29
mwhudsonjelmer: how do you use a dev version of dulwich out of curiosity?  just set $PYTHONPATH01:30
jelmermwhudson, yeah01:30
mwhudsonfair enough01:31
jelmerlifeless, did apt-get find python-subvertpy for you btw?01:32
mwhudsonjelmer: well for starters, bzr init; bzr pull git:// breaks nastily :)01:32
mwhudsoninit --1.9-rich-root is fine though01:32
jelmermwhudson, whoops01:34
lifelessjelmer: no01:34
* jelmer gets some sleep01:35
lifelessjelmer: so, generic formats - yes, we could write a mapping table that says '1.9 is the same as 1.6'01:35
lifelessjelmer: and if we tell the client about a format it doesn't understand, it could ask us to translate somehow01:36
lifelessjelmer: and similarly client -> server01:36
jelmerlifeless, yeah, that's what I meant01:36
lifelessjelmer: however, option (2) doesn't have a mapping from 'svn' to 'bzr' at all at the moment:P01:36
jelmerah, in that sense01:37
jelmerlifeless, tunneling svn over bzr01:37
lifelessjelmer: spiv and I discussed doing this if its needed, but right now there is simply no way to work with a format not mutually known01:37
lifelessjelmer: so we felt it was ok to not-improve-the-situation01:37
jelmerlifeless: Yeah, I agree01:38
lifelessjelmer: go sleep. doing some testing might be good if you get the chance01:38
lifelessif we're wrong and it it suddenly problematic, we have 1.5 weeks to get a solution for the beta01:38
nevansstill waiting for "bzr heads" to respond with anything... in the meantime, I've managed to open a python console and get the base revision before the rebase.01:43
rockyjelmer: functionally, if i point repository_dir to some random dir that contained repos that contained various branches.... trac should "think" that the random dir is the base repo right? (for TracBzr)01:43
nevansis there any way for me to use the Revision object to tell me its children01:43
nevans(I'm very much a python newb)01:43
jelmernevans, fwiw bzr-rebase will store the revid of the revision it is a rebase of01:44
nevansjelmer: o rly? :)01:44
jelmernevans, in the 'rebase-of' revision property01:44
nevanstoo easy.  :)01:44
jelmernevans, it's not exposed in the UI, but there under the covers01:45
nevanshow do I retrieve the revision properties?01:45
jelmerrocky, I think some people reported that that bit was broken01:45
jelmerrocky, It seemed to be having trouble using more than one bzr repository01:46
jelmerrocky, but multiple branches would be fine01:46
jelmerrocky, at least that's what I remember reading01:46
jelmernevans, If you have a Revision object, it has a 'properties' member01:47
jelmernevans, Repository.get_revision("some-revid").properties["rebase-of"]01:47
rockyjelmer: most trac projects i work with don't really correspond to the lightweight notion of bzr repos... since my trac projects consist of more than one code component and each code component really should get it's own bzr repo01:47
lifelessnevans: revision.parent_ids01:47
rockyso i guess the multiple repo thing is something that "fits me"01:47
jelmerrocky, are you talking about a bzr repo or a bzr branch?01:47
nevansjelmer: thanks.  that does it! :)01:48
rockyjelmer: well, i have the ClueMapper "project" where it has it's own trac site ... but that project has 5 different libraries that all relate to one another conceptually ... so it seems to me each library should get it's own repo01:49
rockyand then each library (which has it's own repo) has it's own trunk and various branches01:49
rockyany decent-size project i work on is like that01:49
rockyjelmer: so if i call tree.inventory.path2id('') then bzr returns me None if the root of the branch has no files? that seems, odd02:09
lifelessrocky: two trees A and B that are both for different projects have different root ids02:23
lifelessrocky: at some point between 'null tree', 'new tree' and 'first commit' the id has to be set02:24
lifelessrocky: bzr chose to do it at 'bzr add' in the new tree02:24
rockyah02:24
rockylifeless: i'm using launchapd branches for the first time and when i try to push my local branch to a launchpad branch that i just registered it gives on odd error saying the target branch exists but doesn't have a valid .bzr directory ... is that normal?02:29
lifelessmwhudson: ^02:30
mwhudsonrocky: push --use-existing-dir probably?02:30
mwhudsonrocky: but in general, don't register hosted branches in the ui :/02:31
rockylol02:31
jampoolie: http://pastebin.ubuntu.com/125544/ seems fine to me02:31
rockstarrocky, seriously, it's best to just push to Launchpad.02:32
rockyrockstar: sure, i will from now on...  but i was just following the logical path to do what i needed, so i guess something needs some work there ;)02:34
lifelessrocky: yah, it needs to be deleted :)02:34
rockyhehe02:34
rockywhatever works ;)02:34
rockyanyways, bedtime for me02:34
rockynight02:34
lifelessgnight02:34
pooliethanks jam02:53
poolieand thanks for the reviews02:53
mwhudsondulwich and bzr-git require python 2.5 ?03:01
* mwhudson sads03:01
johnfI'm upgrading my smart server to 1.12. I'm currently running it out of fcgi. Does this still work or should I be using bzr --serve?03:02
pooliejohnf: hi; afaik it should still work; spiv should know03:03
lifelessjohnf: it should still work03:03
lifelessjohnf: please tell us if it doesn't :)03:03
johnfMight switch to serve and cook up an init script for the debian package03:03
igcigc03:04
igcis back03:04
lifelesshi igc03:05
lifelessjohnf: FWIW most folk run over bzr+ssh i think03:05
pooliehello igc03:05
lifelessjohnf: afc runs a live server with --serve, on the internet. He may have a script.03:05
spivjohnf: what poolie and lifeless said.03:13
johnfspiv: I'm going to move to --serve the fcgi was a pain03:13
spivFair enough.03:14
spivWhich HTTP server?  Apache?03:14
johnfyes. Going to use mod_proxy03:16
lifelesserem03:16
lifelessjohnf: --serve isn't http03:16
poolielifeless: did you also say something similar to  https://bugs.edge.launchpad.net/bzr/+bug/32289303:17
ubottuLaunchpad bug 322893 in bzr "new progress bars only use 80 columns" [Medium,Confirmed]03:17
johnflifeless: ahh :)03:17
lifelessjohnf: --serve is 'bzr://'. IANA registered protocol.03:17
johnfok back to fcgi then :)03:18
lifelessjohnf: if you want bzr-over-http, you need mod_python or fcgi or whatever03:18
lifelessjohnf: you don't need to do bzr-over-http03:18
lifelesspoolie: yes, I did03:18
lifelesspoolie: I also filed a bug about comment truncating03:18
johnflifeless: yeah pondering connecting to it directly at the moment03:19
=== Toksyuryel` is now known as Toksyuryel
johnfshould "bzr serve" be logging a whole heap of NotImplemented errors? Works fine but is logging errors04:34
poolieprobably not04:34
poolielike what?04:34
jmlhello04:42
pooliehi04:42
jml[-                   ] Transferring:Walking content. 0/3604:42
poolie:-}04:43
jmlI've been pushing up a branch to Launchpad for about 421.534s now04:43
pooliesrsl?04:43
pooliegot a trace?04:43
jmlyes.04:43
jmlpoolie: I've got the bzr log04:43
jmlpoolie: and I'm running with -Dhpss04:43
poolieshow spiv/lifeless?04:44
lifelessjml: version?04:45
jmlhttp://paste.ubuntu.com/125595/04:45
jmlBazaar (bzr) 1.13dev04:45
lifelessjohnf: its a bug, fixed in bzr.dev04:45
jmlfrom the nightly ppa04:45
lifelessjml: revno please04:45
lifelessjml: the full package version has the revno in it04:46
jml(bzr version should tell me the revno, don't you think?)04:46
jmlVersion: 1.13~bzr8.10-4065-104:46
lifelessjml: (maybe, file a bug on the packaging)04:46
jmlit's still going, fwiw.04:48
jmlok, now it's done04:49
lifelessjml: it was reading from 186.818  hpss call w/readv: 'readv', '/~launchpad-pqm/launchpad/devel/.bzr/repository/packs/fee0993f46df016a5650a9004f0f4fdf.pack'04:51
lifelessand writing to04:51
lifeless187.201  hpss call w/body: 'append', '/~jml/launchpad/source-package-branch-listing/.bzr/repository/upload/05wh3tplu93ue19c02ok.pack',04:51
lifelessjml: I suspect it was filing in missing deltas for files you modified the first time04:52
fignewmanThis is probably a stupid question, but I can't find an answer. I'm using bzr in a simple centralized manner (checkout/commit) and I can't find a command similar to subversion's 'svn st -u' (that is, I want to see what has changed upstream since I last updated)04:52
lifelessfignewman: bzr missing04:52
jmllifeless: that's quite possible.04:52
lifelessjml: so, this is because the streaming code path precludes the pack optimised one, which really is quite fast; we're using the public generic interface to stream04:53
jmllifeless: I know what all of those words mean.04:53
lifelessjml: -> should be faster on bzr.dev servers, but some possibilities of slower on downlevel smart servers04:53
fignewmanlifeless: thanks. It's complaining, but I think I know why.04:56
fignewmanlifeless: would be nice if it defaulted to the branch when using a checkout.04:57
lifelessfignewman: possibly;possibly we should do status -u for this case04:57
lifelessfignewman: our checkouts are also branches (in that they are a checkout of a branch)04:58
fignewmanlifeless: is there a way to set a default or should I just use an alias?05:01
lifelessfignewman: there may be a canned alias like :master, not sure though05:02
lifelessfignewman: you can just do missing --remember05:02
pooliejml, i got a tuit to make a debug_flags config option05:02
johnflifeless: if I set post_commit_to in ~/.bazaar/bazaar.conf in the [DEFAULT] section should bzr-email work for all branches?05:03
lifelessjohnf: yes05:04
jmlpoolie: what for?05:04
poolieso people can always capture hpss logs rather than needing to remember it05:05
pooliei guess you can use a shell alias05:05
=== eMBee_ is now known as eMBee
fignewmanlifeless: --remember doesn't seem to be in my version (1.3.1). For all I know, my issue was long ago resolved anyway. Thanks for the help. This will work nicely.05:06
lifelesspoolie: you can't pass debug_flags to a smart server05:08
lifelesspoolie: it would be nice to put them in branch.conf and have it just work :)05:08
poolielifeless: when it's run over ssh you mean?05:09
pooliei think what i'm doing will make it read them from ~/.bazaar/bazaar.conf on the server05:09
lifelessok05:09
lifelessthats a start :)05:09
jmlpoolie: oh, cool.05:09
pooliestarts are good :)05:09
jmlpoolie: well, I have -Dhpss05:09
jmlas an alias.05:09
jmlpoolie: but that sounds like a great idea.05:10
johnflifeless: for bzr-email when the hook runs under bzr serve the op type seems to be "change" instead of "commit" does that make sense?05:24
lifelessjohnf: yes. Possibly a bug, but probably just de riguer05:25
johnfwhat is a change vs a commit. Should I patch bzr-email to also send email on change or work out why it's change instead of commit?05:28
lifelessjohnf: change is uncommit/push/pull05:29
lifelessjohnf: commit is commit05:29
lifelessjohnf: have you read 'bzr help email' ?05:29
johnfyes05:29
lifelessit can send mail on change05:29
lifelesswhat bzr-email version do you have?05:29
johnftrunk. But the thing is I'm performing a commit not a push. or does a commit become a push over bzr:// ?05:30
lifelessjohnf: it becomes a push05:32
lifelesstwo-phase commit thingy05:32
johnfahh ok I'll set post_commit_push_pull then05:33
johnfyou want a patch for the docs to make that more obvious?05:33
johnfor would a patch for bzr-email to detect it's running in server mode make more sense?05:33
lifelessfeel free to make it as lovely as possible05:34
lifelessI don't know offhand how easy it will be05:34
* igc offline for ~ 2 hours05:35
poolie[rfc] rename TestCase.get_transport to something like get_test_transport, because it's not interchangeable05:37
lifelesspoolie: mmm, it could detect absolute urls, but we shouldn't really be using those in tests *anyway*05:38
pooliedetect them and error?05:38
pooliei guess05:38
pooliewell, actually we commonly do if we have a url from somewhere else05:39
pooliefoo.base for example05:39
lifelesswell, we have foo then :) - is this something you're running into repeatedly?05:41
johnfany easy way to work out from a plugin if you are running in server mode?05:43
lifelessjohnf: 16:30 < lifeless> I don't know offhand how easy it will be05:46
johnflifeless: heh I'm going to try for the server_started hook05:46
johnfalthough I have a feeling I won't get the callback05:47
lifelessspiv: arrrgh test_stacking failing, sometimes, if you run a specific test before it07:01
vilahi all07:15
johnfis there a way to get the path to the repo from the branch object? ie if it is chroot-1244:///devel/test I want '/devel/test'07:45
johnfor do I just need to regex on branch.base?07:46
lifelessits a software chroot07:51
lifelesslook at bzrlib.transport.chroot07:51
lifelessbut!07:51
lifelesswhat you probably want is branch.public_location() or whatever07:52
johnflifeless: yeah I'm hacking the public_branch functionality. I adding public_branch_prefix which gets put on the front of everything served by the server07:53
lifelessjohnf: why do you want the repo at all though07:55
johnfas in why am I running a server vs bzr+ssh?07:56
lifelessno07:56
lifelessas in why do you want the repo at all07:56
johnfas in why do I want a central code repository?07:57
lifelessno07:57
lifelessyou said you wanted the path to the repo - /devel/test; thats not usable in the general case by clients, its not relevant for bzr commands, it doesn't really have any use.07:57
lifelessso I assume you have a larger use case07:59
johnffor the email in bzr-email. ie right now the email is displaying chroot-123:///devel/test or for other branches in that repo chroot-234:///devel/website07:59
lifelessand I'd like to know what it is07:59
lifelessjohnf: branch.public_location() -> print that07:59
johnfie multiple branches serverd by the same "bzr server"07:59
lifelessjohnf: if thats wrong, the server admin can fix it by configuring in branch.conf or locations.conf07:59
lifelessits the same problem as a backend webserver with a squid frontend:)08:00
lifelessyou have to tell the backend somehow where clients are coming into it from08:01
johnfdoesn't that assume I set public_location for every branch?08:01
lifelessyes, so - if its not there assume branch.base is sane IMO.08:02
lifelessas an admin you can set it for all served branches with three lines in locations.conf08:02
johnfonce per branch or globally for all?08:02
lifelessfor all08:02
johnfahh that's what I want let me go look that up08:03
johnflifeless: hmm what would I be setting in locations.conf?08:06
lifelessin theory; note that you may have found a bug/current limitation - we need more adopters of server side stuff!08:07
lifeless[file:///srv/bzr/blah/blah]08:07
lifelesspublic_branch:policy = appendpath08:08
lifelesspublic_branch = bzr://host08:08
lifelessthen .../blah/blah/b108:08
lifelesswill get08:08
lifelessbzr://host/b1 as its public url08:08
lifelessfor instance, I have:08:08
lifeless[sftp://bazaar.launchpad.net/%7Ebzr/]08:08
lifelesspublic_branch = http://bazaar.launchpad.net/~bzr/08:08
lifelesspublic_branch:policy = appendpath08:08
lifeless"everything I push to lp/~bzr is visible on http://.../~bzr08:09
johnfok let me give it a whirl08:09
lifelessthe transport chroot may break it08:09
lifelessif so file a bug08:09
lifelessbut thats the _right_ solution08:09
johnfand then that should appear in branch.get_public_branch() ?08:10
lifelessyes08:10
lifelesswoo, finally landed that branch09:04
lifelessI thought it would never give in and succeed09:05
johnflifeless: just sent you a review request. I have a feeling the way I store wether we are in server mode is a bit of a hack. But my python skills are lacking09:15
lifelessjohnf: thanks09:23
johnfI also have a patch for the locations.conf chroot problem. But I'm trying to find a less hacky solution09:24
johnfAt the moment I convert chroot-12345:///devel/test into /devel/test  which means you can match it using [/] in locations.conf09:25
lifelessI would teach the location config handler that a chroot transport is to be unchrooted, then looked up09:25
johnfI'd really like to get at the non-croot path so I could turn the chroot into /srv/bzr/devel/test and match using [/srv/bzr]09:25
lifelesskeep Branch ignorant of that09:25
johnfin config.py?09:26
johnfthat's where I've been hacking so far. it;s the unchrooting from there that is the trick09:26
lifelessbzrlib.transport.chroot09:27
lifelesslook in there09:27
crisbhi, i've got a problem with my bzr where if I do a second commit I get a SHA1KnitCorrupt error - anyone had this before?09:37
lifelessno09:40
lifelesswhat bzr version?09:40
crisb1.1209:40
lifelessare you on nfs/ftp/sftp?09:40
crisbits a branch I got via sftp yeah09:41
lifelessdoes 'bzr check' pass on it?09:42
crisbwith flying colours09:48
lifelessunusual :P09:49
lifelessuhm, what does bzr info -v report ?09:49
crisbhttp://pastebin.com/m35a6a43c09:50
Kamping_Kaisercan someone explain why i have bzr looking for an svn cache?09:50
Kamping_Kaiserbzr status09:50
Kamping_KaiserInitialising Subversion metadata cache in /home/kgoetz/.bazaar/svn-cache/d35b4800-ec1a-0410-b8e8-ae9f3643f63709:50
Kamping_Kaiseris this a bug, or a feature i've not noticed before?09:50
lifelessKamping_Kaiser: you have bzr-svn installed, and have run bzr in a svn checkout09:51
lifelessKamping_Kaiser: its doing just in time translation of metadata09:51
Kamping_Kaiserlifeless, aaah, that explains it. (i only installed bzr-svn recently). thanks for telling me - i'd forgotten this was an svn dir *heh*09:52
lifelessKamping_Kaiser: that is the idea :)09:52
lifelesscrisb: this is very odd09:52
lifelesscrisb: unfortunately its late for me; could you file a bug?09:52
* Kamping_Kaiser tries it out.09:52
lifelessyou should get a backtrace in ~/.bzr.log , that backtrace with the version details and so on would be very useful09:52
crisblifeless: sure.  its strange I've tried it on another machine with python2.5.2/bzr 1.11 and all ok.  the branch is taken from a machine with bzr-1.12/python2.6.109:54
lifelesscrisb: none of those raise alarm bells09:54
lifelesscrisb: and check dos a scan of all the texts that could be failing09:54
crisblifeless: bzr check fails as soon as I've done the first commit after branching09:56
crisbthe sha1 that is corrupt is the one of the last revision09:57
lifelesscrisb: its fascinating, and AFAIK unique, but I have to halt()09:58
lifelesscrisb: sorry09:58
lifelessjam: vila: either of you might like to look at this ? ^09:59
crisblifeless np ;)10:00
crisbabout halting that is!10:00
johnflifeless:  just to confirm the functionality. If I have a location of [/srv/bzr] and I have append policy with public_branch = http://bzr.com/ then if a banch lives at /srv/bzr/project/trunk then the public url should be http://bzr.com/project/trunk10:06
vilacrisb: Did you file a  bug already ?10:09
crisbvila: not yet I was just fiddling around a bit more10:11
vilacrisb: ok, Di you try bzr check just after branching ? And what bzr version do you use on the machine where the bug is occurring ?10:11
crisbbzr check just after branching is fine, its bzr 1.1210:12
vilacrisb: OS ?10:12
crisbvila: linux10:12
vilacrisb: installed from the PPA or from sources ?10:12
crisbcrisb: its the bzr package which I (mostly) maintain! its mandriva, and built from the official tar ball10:13
crisbvila: even lol10:13
crisbhistory is its a import from CVS using cvsps-import.  the import was done on another machine with 1.1110:14
vilacrisb: Ha ! Mandriva, sorry, didn't match earlier :-/ Help me page in the context, ... yeah that way :)10:14
vilacrisb: did you run the full test suite successfully ?10:15
crisbvila: :(10:15
crisbgood call, its totally failing today!10:16
vilacrisb: let's start with that, can you file a bug and attach the selftest output ?10:17
vilacrisb: try to mention python version, and also versions for supporting libraries like pycurl or paramiko10:17
crisbvila: its probably my fault ;) i also package python-pycrypto.....added a little patch for py2.6 ;)10:23
vilacrisb: np, let us know if you can fix it or how we could help10:24
crisbvila: is pycrypto used for sha-1 calcs?10:40
vilacrisb: I don't think so, but it's used by paramiko and we use paramiko for sftp10:42
crisbvila: think my patch is ok then...blackbox.test_aliases.TestAliases.test_aliases shouldnt use pycrypto10:43
vilacrisb: err, I miss context to follow you there :)10:44
crisbvila: that test fails with sha-1 of reconstructed text does not match expected sha-1, but should not touch any code changed by my pycrypto patch right?10:46
vilaI'm not familiar enough with pycrypto to be definitive here, it may populate some methods that override the ones we use for example10:47
vilacrisb: you can run 'bzr selftest -s bb.test_aliases.TestAliases.test_aliases' with and without your patch to check that10:47
vilacrisb: using '-s' is really faster in these cases10:48
crisbhttp://pastebin.com/m488db1d910:50
crisbvila: same with and without patch10:50
vilacrisb: can you try on a 32bits machine with the same config ?10:52
aboSamoorI want to commit to my repo from another PC, what I have to do ?10:53
vilaaboSamoor: how are the two PCs connected ? How can your branch (which use a repo but is not a repo) accesible from the other PC ?10:55
aboSamoorvila: I have a launchpad account and I commit using my laptop. I branched it in my PC but I can not commit I got Public Key denied. I did not do anything other than branching.10:57
crisbvila: passes on 32-bit10:57
vilacrisb: here we are :-/10:57
vilacrisb: can you file a bug ?10:57
crisbvila: sure.10:58
crisbvila: seems unlikely that no bzr developers use 64-bit though?10:59
vilacrisb: with python2.6 ?10:59
vilacrisb: I try to test many combinations, but I lacked that one, I have 32bits/2.[456] and 64bits/2.5 myself + OSX 10.4 but I've yet to automate that...11:00
vilaI'm setting up 64bits/python2.6 right now, but until I make a diagnosis there, that sounds a lot like a python bug, we shouldn't have to take care of that...11:01
lifeless[getting a drink] try removing the .so files in bzrlib/11:02
crisbvila: i swear this has been working :|11:02
lifelessjohnf: yes; its in the docs that this works too :)11:03
lifelessjohnf: bzr help configuration11:03
vilacrisb: that's what bugs are about :)11:03
lifeless[gone again]11:03
CokeOne file was locally removed, how do I update just that file from the remote branch?11:07
luksbzr revert it11:07
vilacrisb: by the way, can you do the same tests with python2.5 ? 32 and 64 ?11:08
CokeOh11:08
Cokethat is so ugly11:08
Cokewhat happens if one file is deleted, some other are changed and I do revert on that directory? all changed files reverted to?11:08
luksrevert just the specific file11:09
luksbzr revert my/removed/file.c11:10
crisbvila: 33718311:12
vilacrisb: ask ubottu instead #33718311:12
vilahuh ? bug #33718311:12
ubottuLaunchpad bug 337183 in bzr "tests fail with sha-1 corrupt on bzr-1.12/python2.6 64-bit" [Undecided,New] https://launchpad.net/bugs/33718311:12
vilathanks11:12
crisbvila: have a sneaky feeling 1.11 was ok11:14
vilacrisb: you used 2.6 with bzr-1.11 ?11:15
crisbyeah11:15
vilacrisb: do you have 2.5 available on your 32/64 machines ?11:15
crisbno unfortunately :(  i've tried 1.11 on a 32-bit machine with py2.511:16
vilacrisb: hmm, no 1.11/2.6/64bit where you can run 'bzr selftest -s bb.test_aliases.TestAliases.test_aliases' ?11:17
vilacrisb: in fact we are in kind of opposite configs :-) I have to build 2.6 from source...11:19
crisbheheh11:20
crisbi can try to get a 1.1111:20
crisbvila: bzr's fault ;)11:27
crisbvila: at least it proves i'm not going mad!11:28
vilacrisb: by that you mean you ran 'bzr selftest -s bb.test_aliases.TestAliases.test_aliases' on 1.11/2.6/64bit machine ?11:28
vilaand it passed ?11:28
crisbvila: yep, straight off11:30
lifelesscrisb: did you try removing the .so's ?11:31
crisblifeless: bzr extension so's? no.11:32
lifelesstry then :)11:34
vilalifeless: sorry I thought you were talking to johnf, what do you have in mind with the so ?11:34
lifelessvila: removing them11:34
vilalol11:34
lifelessvila: eliminates non-python code11:35
vilacrisb: I can't reproduce here with bzr.dev python 2.6 built from sources, no bzr extensions so far11:36
vilacrisb: correction, I have bzr extensions11:36
lifelessalso note that all of ubuntu's devs are on 1.12 now11:37
lifelesssorry11:37
lifelessI mean 2.611:37
lifelessso we should be seeing this very widespread11:37
vilalifeless: with jaunty ?11:37
lifelessyes11:37
crisbvila: ok so now its weird, i've just reinstalled bzr 1.12 RPM and all is fine....11:39
vilacrisb's fault :-)11:41
crisbvila: it always is! lots of bugs here11:41
vilacrisb: np, better safe than sorry11:42
vilacrisb: Can I mark  #337183 as invalid or do you intend to try harder to make it fail again ? ;)11:42
crisbvila: lets invalidate it, not sure what I can do to reproduce.  apologies for the waste of your time11:44
vilacrisb: np, helping users is never a waste of my time11:44
crisbcan I get a diff of revision 1-4 without 3 somehow?12:40
rockylifeless: don't suppose you know the easiest way to get the ancestry of a particular file id ?14:04
rockyapparently workingtree used to have a private _get_weave() method that could then get the ancestry from14:05
james_wrocky: you mean the list of revisions that touched a particular file id?14:07
rockyjames_w: maybe... i'm trying to work with someone elses code that used self.tree._get_weave(file_id).get_ancestry(rev)14:08
rocky_get_weave doesn't exist anymore it seems14:08
james_wah14:09
james_wI'm not sure exactly what replaced it14:09
james_wor even what that did, sorry14:09
james_wrocky: I think you need to go through VersionedFile now14:10
rbriggsatuiowais there a way to get merge to tell me what revisions it is merging in?14:10
rockyjames_w: if i have the repo and branch for the file_id, what's the stndard way to get the VersionedFile obj?14:11
rockydir() yields me a bit too much ;)14:11
james_wrocky: not, sure, never done it :-)14:11
james_wrepository.revisions14:12
james_wthat gives you a VersionedFiles14:14
RaceConditionhow do I convert a git repository to a bzr one?14:15
RaceConditionwhile keeping the history14:15
Lo-lan-doRaceCondition: There's a bzr-git plugin, but it's not complete yet.14:16
RaceConditionso it's not possible yet?14:17
Lo-lan-doIt should be possible for one-time migrations.14:18
Lo-lan-doI wrote http://lists.fusionforge.org/pipermail/fusionforge-general/2009-January/000004.html which has a section on bzr/git interoperability.14:18
Lo-lan-doBut there's been some activity on bzr-git lately, so hopefully it'll reach its full feature set soonish :-)14:19
james_wrocky: yeah, not sure, it's not obvious to me that VersionedFiles exposes the per-file graph like that14:20
RaceConditionLo-lan-do: a one-time migration is what I need14:20
RaceConditionI could simply lose all the history too without much problem though14:20
Lo-lan-doRaceCondition: Then bzr-git should work.14:21
RaceConditionLo-lan-do: OK, thanks14:21
vilajam: ping14:38
vilajam: when is CHKMap.iter_changes() used ?14:38
jammorning vila14:39
jamwhenever someone feels like it, I guess :)14:39
jamI think it is used as a custom InterTree method14:39
vila:-)14:39
jamfor CHKRevisionTree.iter_changes()14:39
vilaENOTFOUND14:40
jamvila: CHKinventory.iter_changes() calls down to self.id_to_entry.iter_changes()14:42
Kobazyeah14:42
Kobazer14:42
jamAnd I believe the default InterTree.iter_changes() calls tree.inventory.iter_changes()14:42
vilayup, self.target.inventory.iter_changes(self.source.inventory), thanks14:44
vilajam: well, it's not exactly the defaut, but I want to remove the hack that leads to that call by adding a proper InterTree optimiser14:48
vilasee bzrlib/tree.py line 92614:49
jamvila: aren't "CHKRevisionTrees" just RevisionTrees ?14:49
vilajam: I think so :-) Hence ENOTFOUND :)14:49
jamah, ok14:49
jamI would like to not introduce CHKRevisionTree unless we have to14:50
vilaI want to remove the XXX but keep the implementation, so I don't intend to change anything else14:51
Kobazyeah14:51
Kobazer14:51
vilai.e. is_compatible will be try: source and target defines id_to_entry return True except: return False14:52
jamvila: ah, sure, sounds like a good plan14:57
vilajam: the only problem is to find *where* to put that :-) As it seems I need to call it InterCHKTree (or InterCHKRevisionTree) even if none of these objects exist...14:58
vilajam: revisiontree.py to start with ? Will we ever add a CHKMap to dirstate ?14:59
jamso, you'll need to create a new Inter object, yes14:59
jamCHKMap w/ dirstate...14:59
jamwe *will* want a custom implementation14:59
jamprobably something that 'chains' changes14:59
jamspecifically, dirstate can find the difference from the source tree to the basis tree quickly15:00
jamand then you want to compute the different from the basis to any other tree15:00
jamwhich should make "bzr diff -r XX" fast15:00
jamThat is pretty low on *my* priority list, though. As it is fairly complex, and not a common op15:00
vilajam: ok, so InterCHLRevisionTree to start with, I'll define it in revisiontree.py then15:02
Kobazi would love to be able to do a bzr diff while in the process of a bzr commit15:02
Kobazi used to do that with svn all the time15:02
vilaKobaz: bzr commit --show-diff15:03
Kobazyes i know15:03
awilkinsWhat about qcommit (look at list of diffs, clickity)15:03
Kobazbut it would be nice to be able to selectivly show individual files15:03
jamvila: Why not CHM ?15:04
jam:)15:04
Kobazi want a non-gui15:04
vilajam: lol15:04
Kobazi dont see why the affected files have to be locked for reading15:04
* vila would prefer a record-laughter/send-url to just 'lol'15:05
jamKobaz: the file that is locked is the meta-info file15:05
jamwhich we have plans to change so it doesn't cause this problem15:05
jamit just is low priority right now15:05
Kobaznifty15:05
jamversus other thinsg15:05
Kobazyeah15:05
vilaKobaz: you want a non-gui yet you can't fire a diff while committing ? You mean commit fire you editor but you don't consider your editor as a GUI ? (Trying to understand where you encounter the problem)15:06
RaceConditionI'm trying to commit over HTTP/WebDAV but getting Transport operation not possible: http does not support mkdir()15:08
Kobazvila: non-gui as in non-x15:08
awilkinse.g. - you're using `screen` and want to check the diffs in another terminal while the commit dialog waits15:09
awilkins(editor being e.g. vim)15:09
Kobazvila: i'm generally working in two or three ssh sessions to the same system15:09
Kobazso i'll use emacs in one, to make my commit, and do diffs in another iwndow15:09
RaceConditionI've set up the DAV lock file and HTTP basic auth, pull works fine, but not push/commit15:09
Kobazright now with bzr commit --show-diff, i do a split window, it seems to work out, but i really prefer to be able to navigate the tree and just say... i wanna do this file15:09
vilaKobaz: have you tried dvc ?15:10
Kobazwhat's that?15:10
vilaKobaz: ok, have you tried diff-mode in a buffer containing the output of 'bzr diff -rsubmit:' ?15:11
Kobaznope15:11
Kobazit sounds like it would be cool15:11
vilaKobaz: dvc is a layer above that, a package that aim to provide the same UI than pcl-cvs was providing but for all DVCS15:11
Kobazmmm, i've never used diff-mode, that's pretty cool15:13
vilaKobaz: my work cycle is: hack, get a buffer with 'bzr diff' in diff-mode (dvc-diff provides that and some additional niceties) from there I can do C-c C-c and it opens the file at point in that exact position (line and char) C-c C-a apply/revert the hunk at point15:14
Kobazi need to change my colors though, some text is black on black, heh15:14
vilaKobaz: it makes appyling/reverting any hunk a breeze15:14
vilaKobaz: and more importantly allows me to navigate between all the files I'm modifying15:15
vilaKobaz: I know no other IDE that can beat that15:15
Kobazyeah15:15
Kobazsexy15:15
vilaKobaz: Oh, and I almost forget: when commit time is near: C-x 4 a in any hunk create the ChangeLog entry (remember to create the ChangeLog file at your project root though)15:16
Kobazmmm15:16
vilaKobaz: So I *prepare* my commit in ChangeLog by doing multiple reviews of the diff buffer far before committing15:17
LarstiQjelmer: I don't know if you uploaded bzr-svn to the ppa, but 0.5.2 is only in hardy15:17
vilaKobaz: So I never need to look at diffs when committing, I just copy/paste my already prepared messager15:17
Kobazmmm15:18
Kobazionteresting15:18
Kobazinteresting15:18
RaceConditiondoes bzr not handle tildes (~) in URLs well?15:25
Kobazhave you studdied the logs15:26
Kobazer15:26
awilkinsRaceCondition: I know it doesn't understand them for bzr+ssh://15:27
RaceConditionawilkins: http+webdav is what I'm using15:27
RaceConditionit "normalizes" ~ to %7E15:28
RaceConditionand then Apache makes an automatic permanent redirect which bzr errors on15:28
awilkinsRaceCondition: Not tried it ; but is the user on the server the owner of the home folder you are aiming at?15:28
RaceConditionawilkins: the home folder, yes, but not the part that is accessed via WebDAV15:28
RaceConditiondoes it matter?15:29
awilkinsI'm not entirely sure over WebDAV15:32
RaceConditionhmm, well, I changed to absolute paths instead of ~, but getting different errors now15:32
RaceConditionhas anyone verified that the webdav plugin actually works?15:33
rockyjelmer: ping15:36
Keybukremind me who does "bzr fast-import" :)15:42
Keybukbzr: ERROR: Bad restart - attempted to skip commit :3 but matching revision-id is unknown15:45
Keybuk:-(15:45
jelmerrocky, pong15:50
jelmerKeybuk, igc (Ian Clatworthy) does fast-import15:50
james_wKeybuk: that's igc15:50
james_wKeybuk: are you using the latest lp:bzr-fastimport ?15:50
Keybukjames_w: afaik15:53
james_wok15:53
james_wthat was either fixed recently, or caused recently15:54
james_wI guess it must be the latter :-)15:54
jelmerLarstiQ, I uploaded 0.5.2 to Hardy at Barry's request15:54
Keybukoh, no, I'm out of date15:54
Keybukssh'd to the wrong machine when I checked15:54
Keybuklet me pull and try again15:54
james_wjelmer: would you be willing to sponsor an upload to Debian this week?15:54
rockyjelmer: just curious, some TracBzr code is calling _get_weave(fileid) to in order to get merge history but in some versino of bzr _get_weave() disappeared... do you know a better way to track down merge history for a fileid ?15:55
Keybukjames_w: still fails with current HEAD15:56
LarstiQjelmer: ah15:56
jelmerjames_w, yes, happy to sponsor15:57
james_wjelmer: cool, thanks, I'll put details in a mail15:58
jelmerrocky: Repository.texts might have some function that can return ancestry15:58
rockyoh cool16:00
rockyjelmer: just so i'm familiar with terminology here... what exactly is a "weave" in the context of bzr? is it a repo format, or just some technique for relating things or ?16:02
james_wone annoyance with the hook to provide a starting commit message is that it means you can't exit without changes to cancel the commit16:03
jelmerrocky, it's a place where revisions for a particular file are stored16:03
jelmerrocky, it no longer exists in newer repositories16:03
rockyah i c16:03
jelmerrocky, has been replaced with Repository.texts16:03
rockygotcha16:03
jelmerrocky, which manages all revisions of all texts16:04
rockyi'm looking at VersionedFiles (which is what .text is an instance of ) but it seems rather low level with no functions that work with fileid's16:04
jelmerrocky: Keys are a tuple of (fileid, revision)16:04
jelmerrocky, VersionedFiles is generic16:04
rockyohh16:04
rockythat makes sense16:04
rockyso looks like annotate may give me the ancestry i need16:06
rockystrange, doesn't seem obvious how to get a VersionedFile instance from VersionedFiles16:09
jelmerrocky: annotate will give you the contents16:12
jelmerrocky, not the ancestry16:12
jelmeryou may need to use bzrlib.graph.Graph combined with Repository.texts.get_parent_map16:12
rockyyeah right now i'm eye'ing VersionedFile.get_ancestry() which seems to do what i need...but it's not obvious how to get a VersionedFile from a repo when i have the current file_id and rev16:13
rockyor is VersionedFile not really used anymore?16:14
rocky(since it was tied to Weave it seems)16:15
rockysorry if i'm acting like a noob on this, i'm trying to get more comfortable with bzrlib flow of things so i can be more useful :)16:15
jelmerit was the base class for Weave's and Knit's16:15
jelmerrocky, no worries16:15
jelmerrocky, I think yu want bzrlib.graph.Graph(repo.texts.get_parent_map)16:16
jelmerrocky, I think yu want bzrlib.graph.Graph(repo.texts.get_parent_map).iter_ancestry([(myfile, textrevision)])16:16
mxpxpodjelmer: hey... I was wondering if there are any docs for subvertpy16:17
jelmermxpxpod, pydoc subvertpy :-)16:17
jelmermxpxpod, other than that, I'm happy to answer questions about subvertpy or update the docs where necessary16:17
jelmermxpxpod, more dosc were added recently, so be sure you're running from lp:subvertpy16:18
mxpxpodjelmer: how would I update a repo with a self-signed certificate? I get an exception saying the server certificate verification failed: issuer is not trusted16:20
jelmermxpxpod, specify an Auth handler when opening RemoteAccess16:22
jelmermxpxpod, the Auth handler should contain a SSL server certificate checker16:22
mxpxpodjelmer: I was using c = client.Client(); c.update(['/path/to/checkout'])16:22
jelmermxpxpod, try something like this:16:23
jelmerc = client.Client(auth=Auth([my_ssl_checker]))16:24
mxpxpodjelmer: and what is my_ssl_checker?16:24
jelmersee bzrlib.plugins.svn.auth.create_auth_baton for an example16:24
mxpxpodok16:24
jelmermxpxpod, HTH, if not, I should be around again later tonight16:25
mxpxpodjelmer: ok, thanks for the help16:25
jelmeror feel free to email me, and I can add a trivial example to the bzr branch16:25
mxpxpodjelmer: awesome, I'll do that16:25
=== mvo_ is now known as mvo
mxpxpodjelmer: that worked great, thanks!16:28
=== beuno_ is now known as beuno
phinzei feel bad, but i keep getting frustrated when someone else eats my commits to our trunk16:41
phinzeand the log starts looking like 2345: merging from remote, 2346: merging from remote16:41
phinzewith all of the actual messages as subcommits16:41
beunophinze, you can set an append-only policy16:42
beunoso nobody can do that16:42
radixphinze: That can actually be a good thing, depending on your development methodology16:42
beunothey'd have to change the workflow16:42
beunoas in, have a checkout of trunk, and merge changes *into* that from other branches16:42
radixphinze: if you do feature/fix-per-branch, it works out quite well: the merge commit shouldn't just say "merge from remote", but actually describe the feature or fix16:42
radixthen it's easy to generate a news file for a release :)16:43
phinzewell it's more like #123 my change, #124 a merge of everyone elses changes while i was working, #125 my other change, #126 a merge of everyone elses changes while i was fixing thta16:43
phinzeor i suppose the order would be flipped16:43
phinzewith the merges coming before the changes16:44
beunophinze, right. So, set append only policy to trunk16:44
beunoand tell everyone to change the workflow to the one I mentioned above16:44
phinzebeuno: yeah i suppose that's the way to go16:44
phinzenot sure if i have the clout to force other people into that workflow though16:45
beunophinze, just set the append only flag, and the rest will happen on it's own   ;)16:46
phinzebeuno: oooo you are talking about a setting i can make16:46
beunophinze, of course16:47
beunoappend_revisions_only16:47
phinzeokay, i like that, so what will the offending coworkers experience then16:48
beuno:)16:48
phinzethey branch trunk locally, make changes (while other commits are being made to shared trunk)16:48
phinzethen they want to push16:48
phinzeand shared trunk denies them?16:48
beunoyes16:49
beunoset it in on branch.conf of trunk16:49
phinzecool, now when they come to me with their local branch in that messy state... how do i get them out of it? :)16:49
beunowell, they will get denied merging and pushing16:50
beunowhich is when you explain16:50
beunothey should have a checkout16:50
beunomerge into that, and commit16:50
beunoso no push involved16:50
phinzegotchya16:51
Ollie_R_hey if i do a bzr push it keeps this info i.e.. bzr info displays it so it must be recored. Is there anyway to remove this?16:52
beunoOllie_R_, in ~/.bazaar/locations.conf16:52
Ollie_R_beuno: just manually edit it?16:52
beunoOllie_R_, yes16:52
Ollie_R_beuno: perfect thanks16:52
beunophinze, so you edit .bzr/branch/branch.conf16:53
beunoand add: append_revisions_only = True16:53
jamphinze: I'm sure you have the clout, since if you set the policy, everyone's client will complain if they don't :)16:59
phinzejam: that's always the best way, no? :)17:01
jamphinze: well, don't you have a developer meeting this afternoon anyway?17:02
jamJust tell them that jam on IRC said that this is the 'one true way'17:02
jam:)17:02
jam(seriously, though, checkouts of trunk are a great way to go)17:02
phinzejam: lol you know too much about our group.  dev mtg is thursday and it's on the agenda.  we'll set the policy after the meeting gives fair warning.17:02
phinzeyeah i've got the important players to agree with me17:03
jam(and having updates show up as "merged feature XXX" is another really good thing)17:03
jamespecially when combined with 'bzr log --short -r -10..-1'17:03
phinzeand the fact that you can set the policy on the shared branches is golden17:03
jamright, so with the policy set, you don't *have* to use a checkout17:03
jamthey could still push/pull17:04
jamas long as they manage to maintain the history correctly17:04
phinzejam: hah, keith was just talking about your favorite log format17:04
jam*but* a checkout will help maintain that much easier17:04
phinzeoh i didn't know about -# notation, i've been wasting keystrokes on last:#17:05
jamphinze: also '-#' works better in aliases, IIRC17:06
jamif you do 'bzr log -r -10..-1' but there are only 5 revisions, it still works17:06
jamI think 'last:10' might give an error about there not being 1017:06
phinzecool17:06
=== serg_ is now known as serg
CaMasonI'm on windows, and using `bzr diff --using=BCompare` which launches my diffs on a file-by-file basis. Is there a way to get the entire diff output as one 'temp' file?17:11
awilkinsjelmer: Ping?17:40
eydaimonare there any variables I can use? Such as $author$ etc?17:42
awilkinseydaimon: No keyword subbing yet17:42
eydaimonthanks17:43
lifelessrocky: list(Graph(parents_provider=t.branch.repository.texts)._make_breadth_first_searcher([(file_id, revision])))17:49
lifelessrocky: thats roughly the replacement for the line of code you quoted, if you really need that :P17:50
Ollie_R_is it possible to turn a heavyweight checkout into a lightweight checkout after If I have already done a checkout or bound to a repo17:58
beunoOllie_R_, bzr reconfigure --lightweight-checkout17:59
Ollie_R_beuno: again many thanks17:59
beunoOllie_R_, you're very welcome18:00
beunohiya lifeless18:00
beunoyou're up early, aren't you?18:00
lifelessfsvo up18:02
beunomy best guess of what that means is "my fiancee woke me up"18:04
lifelessfor some value of up18:07
beuno:)18:08
=== enigma1 is now known as enigma42
rockylifeless: yeah, that looks good, course i was a little scared by the fact that Graph's constructor says it should rarely be used ;)18:26
lifelessrocky: it should be rarely used18:27
lifelessrocky: accessing all of history like that isn't generally a good idea18:27
rockylifeless: of course now you have me using another private method ;)18:27
rocky_make_breadth_first18:28
lifelesshi mneptok18:29
mneptokahoy18:30
mneptokirssi is strange.18:34
lifelessirssi, life, ce la vie18:35
lifelesslol, again with the softpedia - http://linux.softpedia.com/get/Programming/Version-Control/bzr-search-40745.shtml18:37
=== eix is now known as Goundy
sidneilifeless: evil! what text indexing does it use? xapian? lucene? something else?18:51
beunosidnei, of course, it's something custom lifeless wrote18:52
beunousing existing libraries is for wimps18:52
* awilkins thanks sidnei for answering a question on his brainstack about "wtf is lucene"18:52
awilkinsYeah, how can you be sure that existing libraries will have exactly the right bugs?18:53
awilkinsmneptok: irssi is awesome18:54
awilkinsjelmer: Ping?18:57
lifelesssidnei: its a trivial text index I wrote using bzrlib primitives, java bindings were too nasty, and xapian was too local-only for my taste19:07
sidneilifeless: solr might be an option, it's lucene with a http frontend, rest-inspired api, works around both issues.19:10
lifelesssidnei: well, won't work over ftp :P [the current index does]19:11
lifelesssidnei: also it would seem to require running up a large infrastructure to answer 'bzr search foo' from vim, which is concerning :)19:12
lifelesssidnei: thats actually my main concern for this; xapian would have been nearly ideal with its embedded design19:13
=== Ganja is now known as Goundy
lifelessanyhow, the result is fast enough to do search completion for loggerhead :)19:14
lifelessbeuno: is there a demo site showing that still?19:14
sidneilifeless: been burnt by xapian myself. there's some great python client support for solr though, we've used it for replacing the built-in search in plone19:15
beunolifeless, http://bzr.mattnordhoff.com/loggerhead/bzr-search/py2.6/files19:16
beunoPeng_ rocks19:16
lifelesssidnei: I will poke at it19:16
lifelessbeuno: oh, I should merge that I guess, remind me tomorrow19:17
lifelesssidnei: go to the url beuno just linked19:17
lifelesssidnei: search box in the top right, type stuff in. You can't down arrow into the results yet19:18
* lifeless looks at beuno19:18
lifelesssidnei: so you have to click19:18
sidneilifeless: looks cool!19:19
* beuno hides behind his piles of work19:19
=== davidstrauss_ is now known as davidstrauss
lifelesssidnei: if you hit enter you get the non ajax search page for whatever you had been typing19:19
beunolifeless, although, now that it's been YUI-ified, I have a pretty good idea how to do that19:19
beunonot that I have the time to implement it, but maybe I'll manage to trick someone19:19
sidneilifeless: very nice19:20
sidneilifeless: fyi, if you ever look at solr, this is a good start to look at how to integrate it with an existing system http://pypi.python.org/pypi/collective.solr/19:20
lifelessthanks19:22
mneptokawilkins: alternate_nick cannot be defined in the main core section of the config file. it has to be defined in a separate core param elsewhere. weird.19:22
lifelessthumper: the bzr-playground mirror-log file is inaccessible now19:23
lifelessthumper: also the bzr-search indices for trunk seem awol19:24
lifelessJc2k: do you still have your imports with search?19:25
Jc2klifeless: it all just forwards on to bzr-playground now19:30
Jc2kthere were some old imports on the playground box in my home directory19:31
=== maxb is now known as Guest27135
mwhudsonjelmer: ping20:47
rockstarjelmer, hello!21:05
savvas/usr/lib/python2.6/dist-packages/Crypto/Hash/SHA.py:6: DeprecationWarning: the sha module is deprecated; use the hashlib module instead <- I suppose this will be fixed for bzr (if it wasn't already) :)21:14
mwhudsonsavvas: well, hashlib isn't present in 2.4, which bzr still runs with21:16
savvasah, I see21:17
mwhudsonso, "yes", i guess, but it's not totally trivial21:17
savvasmwhudson: is there a list with what would possibly break with python 3?21:18
mwhudsoni have no idea, but i imagine the list would be rather long21:18
mwhudsoni think the unicode/str stuff probably makes a mess21:18
savvasthanks for the information, good to know what to expect :)21:19
igc1morning22:14
=== igc1 is now known as igc
poolie1hi igc22:15
poolie1jam (over here), i was tempted to look at some of the highest bugs, but22:15
poolie1that's probably actually a distraction from brisbane core22:15
jammorning igc22:16
igcpoolie1: hi. I'm probably going to hit the review queue today22:16
jamigc: what is your comfort level for doing some testing with groupcompress+rabin?22:16
igchi jam22:16
jamI've just finished a couple rounds of updates22:16
poolie1i'd really like to get that running on orcadas22:16
jamand while I'm going to be working on changing the actual layout a bit next22:16
poolie1if the conversion speed is getting better i'd even think about not using pre-canned data22:17
jamI think I have the compressor/decompressor pretty well settled22:17
mwhudsonjelmer, Jc2k: either of you here?22:17
jampoolie1: I don't think it is in the 'good enough' stage yet22:17
igcpoolie1: yesterday was unproductive - slept much of the day22:17
nuaHi all, quick question: Does a branch always have revision no. 1 as its first revision? or could it be something strange like 0.1?22:22
igcjam: can I get some help with chk_map.iter_changes()?22:24
igcjam: I'd like to know when excluded_keys ought to be populated22:24
=== Guest27135 is now known as maxb
Jc2kmwhudson: sup22:27
jelmermwhudson, hi22:27
Jc2kha22:27
jamigc: so... I believe robert was the original author of that code, and I don't have a tremendous handle on it. But I'll try to help when I can.22:27
Jc2kjelmer: great timing :)22:27
jelmerJc2k, somethign is weird here today22:28
jelmerI had the same thing with james_w a bit earlier22:28
jamrobert went with a sort of 'priority queue' (heap) to determine what keys should be checked next22:28
mwhudson:)22:28
jamin general, you have 3 states22:28
jamkeys which are in the 'known uninteresting' set22:28
jamkeys which are in the 'known interesting' set22:28
jamand keys that you don't know yet22:29
mwhudsonjelmer, Jc2k: is the dulwich dependence on python 2.5 a deep thing?22:29
jelmermwhudson, not really22:29
jamknown uninteresting is a sha1 sum that you have seen on both sides22:29
jamobviously no changes there22:29
jelmermwhudson, it's mainly just laziness22:29
mwhudsoni have a terribly terribly awful branch that seems to make it work on 2.4...22:29
jamso all children of those keys can be excluded22:29
jamknown interesting is more difficult22:29
mwhudsonlp:~mwhudson/dulwich/2.4-hacking i think22:29
rockstarjelmer, if you think it's worth it, I'm willing to clean up the awfulness of that branch.22:29
jamit is a sha1 sum that doesn't exist on the other side, and you *know* that it isn't possible to find it22:30
jamfor example, if the prefix on side 1 doesn't have an 'A' record, then you know the sha1 underneath 'A' is interesting.22:30
mwhudsonof course maybe we'll actually be able to use 2.5 before this is super important22:30
jelmermwhudson, rockstar: that would be nice22:30
mwhudsonjelmer: cool22:30
jamSo 'excluded_keys' sounds like things that are "known_uninteresting", though I haven't really dug through the code (yet)22:31
mwhudsonjelmer: also the dulwich tests fail on trunk for me22:32
igcjam: right22:32
poolie1nua: the first is always 122:33
nuapoolie1: excellent, thanks :)22:33
poolie1jam: compression speed not good enough to convert on every benchmark, or not good enough to field it?22:33
mwhudsondulwich.tests.test_pack.TestPackData.test_iterentries22:33
poolie1orcadas is sad about the hardy upgrade, it keeps saying22:33
poolie1 /srv/benchmark.bazaar-vcs.org/bzrbench/bin/monitor-load.sh: 18: 1236118801: not found22:34
poolie1so i'll probably fix that first22:34
poolie1nice error though: )22:34
jampoolie1: not good enough to convert on every benchmark22:34
Jc2kmwhudson: that test never passed for me on my main laptop, but i think i have seen it pass somewhere :/22:35
jampoolie1: time bzr pack on a python.org repository gc+rabin+chk255 is 30 minutes22:35
mwhudsonJc2k: nice22:35
jamI'm not sure how long a conversion is22:35
poolie1ok, so igc did write this nice new pre-canned data thing22:36
poolie1we can use that22:36
mwhudsonJc2k: i bet its a 64 bit, 32 bit bug22:36
jampoolie1: though as for my 'improvements', that is down from 1.8hrs yesterday22:37
igcjam: can you taz.bz2 that python branch and upload it to orcadas?22:37
Jc2kmwhudson: ooh, it never passed on my 64 bit laptop *i think*22:37
jamigc: I'm not sure that I have access to orcadas, and I'm pretty sure .bz2 isn't going to pack it any better :), but I can upload it somewhere22:37
mwhudsoni love the readable error22:37
mwhudsonit's so easy to see which things aren't equald22:38
igcjam: if therer's a matching 1.9 branch, we'd like it uploaded as well22:38
igcjam: the tar.bz2 format is just what usertest expects to find as source input22:38
jamigc: sure22:38
igctar.gz is fine as well22:38
igcjam: is your rabin branch available somewhere as well?22:39
poolie1gzip -1 then22:39
jamigc: lp:~bzr/bzr-groupcompress/rabin22:39
mwhudsonbasically it comes down to22:39
mwhudson-901046474 != 339392082222:39
mwhudsonbut22:41
mwhudson-901046474&0xffffffff == 339392082222:41
jammwhudson: just to mention zlib.crc32(text) returns a signed 32-bit PyInt on 32-bit platforms, and a signed 64-bit PyInt on 64-bit platforms. However as crc32 is a 32-bit object, it shows up negative in 32-bit platforms and *positive* on 64-bit22:41
mwhudsoni.e. it is some kind of clipping thing22:41
jamI don't know where else that happens22:41
jambut we ran into it in our code22:41
mwhudsoni doubt git is using crc32 somehow22:41
mwhudsonbut yes, it's something like that22:41
mwhudsonJc2k: should i file a bug?22:41
igcjam: any thoughts on how long before you'll be ready to merge that into the groupcompress trunk?22:42
jamigc: So I think the compressor / decompressor are good22:42
jamAnd certainly faster than gc-trunk22:42
jamI don't have a pure python implementation yet22:42
jam(not sure how much I'm going to bother, potentially I'll use the old GC code as the python impl)22:42
igcjam: groupcompress needs a Makefile then :-)22:44
jamigc: python setup.py build_ext -i22:44
jamworks fine here :)22:45
Jc2kmwhudson: *nod*22:45
jamigc: I'm uploading: python-gcr255-rr2.tar to my home directory on orcadas now22:45
jamIt tells me that I should expect it to get there in about 2 hours22:45
ronnyjelmer: is there any git cappability that tells if old/new objects are supported?22:46
igcjam: ah - cool. I wasn't sure if that only handled std plugins. If it works for other plugins installed as well, that's neat.22:46
jamigc: well doing it in *bzr* won't build the plugin, but doing it in the plugin directory works fine22:46
jelmerronny, in the protocol you mean?22:48
ronnyjelmer: in the repo itself22:49
jelmerronny, no22:49
jamigc: anyway, the next step is to change how labels, etc work. Which is a fairly major change to the bytes-on-disk22:49
jamwhich is sort of what I was waiting for22:49
jamI suppose I could land it earlier rather than later22:49
ronnyjelmer: ah, k, sad22:49
igcjam: no hurry22:50
mwhudsonJc2k: https://bugs.edge.launchpad.net/dulwich/+bug/33748322:50
ubottuLaunchpad bug 337483 in dulwich "dulwich.tests.test_pack.TestPackData.test_iterentries fails on a 64-bit system" [Undecided,New]22:50
igcjam: my focus is trying to get log -v faster and it just isn't in the small tests I've done to date22:50
jamigc: you might look at 'iter_interesting_nodes' which is a different approach to culling chk pages22:51
jamI don't know if it is specifically faster/slower22:51
jamjust a different ordering22:51
igcjam: yeah, I'm yet to digest the last 50% of the chk_map code22:51
jamanyway, I'm done for the night22:52
jamlater guys22:52
igcjam: night and thanks22:52
poolie1night jam23:07
poolie1and thanks for the roadmap updates23:09
igcspiv: has http://bundlebuggy.aaronbentley.com/project/bzr/request/%3C20090126072506.GA30864%40steerpike.home.puzzling.org%3E landed yet?23:16
poolie1lifeless: is there actually a bzr-gc plugin or am i just dreaming?23:18
igcpoolie1: bzr-groupcompress23:22
spivigc: not yet; I need to take another look at it now that vila has landed related changes for HTTP network activity reporting23:28
spivigc: partly because I should probably reuse some of the code, and also to be sure it won't cause double-counting of bzr+http traffic.23:29
* igc breakfast23:33
nuaI'm trying to get the id of the first revision in a branch using bzrlib, but branch.get_rev_id('1') is throwing an exception: BzrBranch6('file:///home/testuser/test/revnotest/') has no revision 123:34
nua...there must be a neater way of doing this!23:35
spivnua: have you tried branch.get_rev_id(1)23:39
spivnua: i.e. the revno you pass in should be an int, not a str.23:39
nuaspiv: yes, it says its not a valid revno23:39
spivwhat is branch.last_revision_info()?23:40
spivnua: branch.get_rev_id(1) works for me.23:40
nuaspiv: that's interesting!23:40
spivnua: http://rafb.net/p/D2wnww23.html23:40
nuaspiv: thanks, I'll look into my code23:40
poolie1igc, lifeless, i meant garbagecollect not groupcompress :)23:45

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