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

BasicOSXlp's bug database hates me00:09
beunoBasicOSX, or, it's down for a bit00:10
beunoand will be back in ~30 minutes or so00:10
lifelessbeuno: should be back much sooner than that00:13
lifelessits only an os reboot00:13
lifelessthough over a few machines00:13
* beuno likes pleasantly surprising people00:17
elmolifeless: dude, these are not laptops.  some of these machines take 5 minutes just to *POST*00:19
* thumper wonders what a POST is here00:19
elmoI'm not Scotty, I don't over-estimate the downtime just for the hell of it00:20
elmothumper: BIOS POST00:20
ddaa the BIOS thing that happens before first stage bootloader00:20
cody-somervilleGeez... no wonder people are complaining about Ubuntu boot times :P00:20
lifelesselmo: sorry00:24
lifelesselmo: on the other hand, how is your scottish brogue?00:25
* Kinnison ruffles elmo00:43
* Kinnison 's new machine takes 45 seconds to get from poweron to grub, and then 15 seconds from there to login00:44
KinnisonPOST sucks00:44
owhSalutations. I'm running Eclipse Ganymede and I'm trying to install the bzr plug-in. The plug-in itself installed fine, but step 1 in the installation instructions has me stumped: "install the bzr-xmloutput plugin" - I cannot find an Intrepid package for it. Am I missing something?00:46
NfNitLoop owh: it's likely just a .tgz00:49
NfNitLoopwhich you drop into ~/.bzr/plugins00:49
NfNitLoop(unpacked)00:49
owhSo, that will do it for one user. What about the other users? I'm more than a little surprised that we seem to be back to dropping files into a directory - that feels like stepping back a decade.00:51
lifelessowh: its packaged in jaunty00:52
lifelesshttps://edge.launchpad.net/ubuntu/+source/bzr-xmloutput00:52
* owh wonders if that will just install under Intrepid.00:53
lifelessprobably it will00:53
thumperyay for the jaunty package00:54
owhNope, it depends on python-central >= 0.6.1100:57
owhCrap00:57
owhWell, while less than orthodox, installing the latest Janty python-central + bzr-xmloutput seemed to install. How do I test to make sure it actually works?01:04
lifelessowh: bzr help plugins01:04
lifelessowh: should list xmloutput01:04
owhMagic01:05
owhMuch Tah.01:05
owhNow to make it all work with Eclipse :)01:05
* jelmer wished somebody packaged bzr-eclipse01:07
thumperigc: want to put two things on the eclipse list?01:08
thumperigc: package for ubuntu and windows :)01:08
jelmerthumper,igc: fwiw there is some initial work on a debian package in the pkg-bazaar bzr repository01:10
jelmerbut I couldn't figure out how to build bzr-eclipse non-interactively01:10
lifelessjelmer: did you ask veterok01:10
owhHmm, seem to be running into a problem. In the Team Synchronisation View, I click on the Synchronise Button, which brings up a dialog with synchronisation types. I chose Bazaar, and initially it told me that there was an invalid path. I pointed it at /usr/bin/bzr and it stopped complaining, but when I click Finish, nothing happens. Next is greyed out.01:12
lifelessodd01:17
lifelessuhm01:17
lifelessI have no idea :)01:17
jelmerlifeless: no01:21
jelmerlifeless: I tried out the pre-built version of bzr-eclipse but found it had to many rough edges01:21
jelmerlifeless: so froze my effort to package it01:22
jelmerthat was a while ago though, it may have gotten better since01:22
NfNitLoopomg annoying voice guy won't stfu01:23
lifeless?01:23
NfNitLoopoops wrong window.01:23
NfNitLoopsorry  :)01:24
thumperNfNitLoop: heh01:24
thumperNfNitLoop: had me laughing01:24
NfNitLoopthis cellphone connection is laggy... thought i was typing elsewhere01:24
owhHow do I go about figuring out why I cannot create a bzr team synchronisation in eclipse?01:25
lifelessowh: I'd love to help you but I don't know enough about eclipse01:25
lifelessowh: make sure have the eclipse version the bzr-eclipse page talks about01:25
owhI do, 3.4.1 which is >= 3.301:26
lifelessisn't that incompatible? I seem to recall a different build of the eclipse plugin being needed01:27
owhSeems to be working. That's a 'feature' not a bug :)01:37
owhNot that I like the word "seems" in a development environment, but backups are there for a reason :)01:38
lifelesstrace generates _very_ odd results sometimes03:07
meoblast001hi03:07
lifelesshmm, could be decorators messing it up03:15
igchi all03:34
lifelesshi igc03:36
igchi lifeless03:37
thumperhi edcrypt04:02
edcryptthumper hi04:02
thumperedcrypt: I haven't looked at the source yet, but I have a couple of comments on the readme :)04:03
thumperedcrypt: although first a question04:03
thumperedcrypt: for the init-workspace, you have the sandbox outside the repo04:03
thumperedcrypt: why?04:03
thumperedcrypt: I would have thought it easier to have MyProject be the shared repo04:03
thumperedcrypt: with trunk04:03
thumperedcrypt: and the sandbox checkout04:03
thumperedcrypt: then you don't have two different repo styles for --feature-branches or other04:04
lifelessI'm really concerned that all these 'make it easy by layering' approachs are just making the problem worse04:04
thumperlifeless: all problems are solvable with another layer of indirection L)04:04
* thumper snickers04:05
edcryptthumper: not big motive, it's just the layout I'm used to04:05
lifelessto fix it we need to remove the sand grains causing the issue04:05
thumperedcrypt: personally I have my lightweight checkouts outside my repo04:05
thumperedcrypt: but I think that the plugin should be simple enough to understand without having two different layouts04:06
edcryptthumper: I think I agree.04:07
thumperI'm pretty sure that switch is smart enough now that `bzr switch feature-x` will DTRT04:08
thumperrather than `bzr switch ../feature-x`04:08
lifelessthumper: it will search in branch-root/../04:10
lifelessso yes, qualified04:10
lifelessman, it is going to take a long time to index all of bzrlibs tests04:11
lifelesswhy is trace.Trace so slow04:11
thumperedcrypt: also the `update-sandbox` command will do weird things if the checkout is no longer trunk04:13
lifeless10 tests in 20 minutes04:17
lifeless2 minutes each, 18K tests, 36K minutes :(04:17
lifeless600 hours :(04:17
lifeless24 days. faaaark04:17
thumperlifeless: why are you doing this?04:19
spivlifeless: I guess that's what happens when you run python functions for every bytecode...04:19
edcryptthumper: right. it should check that.04:19
edcryptthumper: thanks for the feedback,04:20
lifelessspiv: wheeee04:20
lifelessthumper: I have written a plugin04:20
lifelessthumper: it indexes tests by the code they exercise04:20
thumperedcrypt: my pleasure04:20
lifelessthen when you run 'bzr selftest --changes' it calculates the changed code  and looks up the relevant tests04:20
* thumper nods04:21
lifelessit works, with some various caveats. I finished it up last night, but without a full index its useless; so I haven't put it out there yet04:21
lifelessspiv: possibly I should just use lsprof04:33
lifelessspiv: and extract stuff from that, but I do need the module paths04:33
* lifeless will play after work04:33
lifelessjelmer: ping04:35
* igc lunch05:02
spmAm getting a bzr return code of '3' from a bzr checkout - no output unf :-( Any idea what a return 3 from a bzr checkout is? My googlefu can't find a simple table of codes.05:09
poolie"failed"05:09
pooliehth :)05:09
spmpoolie: not really :-D05:10
poolieis there something in ~/.bzr.log?05:10
lifelessspm: no output at all?!05:11
lifelessspm: pastebin please05:11
spmpoolie: yes actually! ta. but is the generic connection failed, pls to using -Dhpss message. hmmm.05:11
spmlifeless: from the buildbot log. looks like it throws away stderr/out05:11
spmso .bzr.log has: https://pastebin.canonical.com/16383/05:12
spmbuilbot slave log has: https://pastebin.canonical.com/16384/ cf line 2105:13
lifelessspm: haven't looked yet but I bet 'fix your dns'05:14
spmheh05:14
lifelesswe'll need stderr thats where the openssh output will have gone05:14
pooliehm i thought we removed that "please use -Dhpss" message05:15
pooliemaybe he has an old bzr05:15
spmpoolie: Yikes! 1.805:16
lifelessspm: please be using something from this year05:16
lifelessspm: but I bet you a liquid refreshment that its dns05:17
spmI could really learn to hate ec2... dns seems so fragile there.05:17
lifelessigc: I don't really understand your LocalRemoteBranchTypes thing05:23
igclifeless: give it another 30 minutes - what's there was just a 'save-before-lunch' snapshot05:27
lifelessigc: ok; if its useful I can say what confused me05:28
igclifeless: sure, go ahead05:29
lifelessGiven commonly recommended practices like feature branching, the intention when branching locally (start me a new line of development) is different to the intention when branching from a remote location (grab me my copy of that project).05:30
lifelessthat was the bit that confuses me05:30
lifelessI don't know how often you grab a copy of a project without the intent of making changes; but it sure seems to me that mirroring (grab a copy) is less common than editing (get me something I will make changes to)05:32
lifelesss/you grab/one grabs/05:32
lifelessAnyhow, hope that helps; and please do think about the root cause of the issues; I don't think its accidental that we are having a lot of growing pains here - our design is broken and we need to fix it.05:33
spmlifeless: poolie: fyi. pebkac, effectively. ssh-agent fail. fixed now. ta, and sorry for the false alarm as it were.05:37
lifelessdamn, I owe you water05:37
spmhigh quality tap water at that! No less!05:38
lifelessI shall piss in the cup myself05:38
poolieENSFW05:39
BasicOSXI've seen NSFW, and VNSFW, what's ENSFW?05:44
poolie"error nsfw"05:44
BasicOSXextremely? ahh, ok05:44
vilahi all07:02
maxbwindow level all07:49
wgrantIf I make a branch append-only, will the smartserver enforce that? In this case I cannot assume that the people using the branch are not malicious.08:01
jelmerlifeless: pong08:06
=== jrydberg_ is now known as jrydberg
lifelessjelmer: see mail08:17
jelmerlifeless: push_branch also pushes to existing branches08:56
jelmerBzrDir.push_branch() will open the underlying branch if there is one08:57
lifelessjelmer: I know, thats part of the issue ;P08:59
jelmerlifeless: but you want to get at a Branch without getting at a BzrDir first?09:06
jelmerlifeless: anyway, the suggestions for the helper seem reasonable09:08
jelmerlifeless: seems a bit similar to BzrDir.open_containing_tree_branch_or_repository09:09
jelmerlifeless: ie BzrDir.open_branch_or_bzrdir()09:09
lifelessjelmer: it may create :)09:11
lifelessjelmer: look at the network trace09:11
jelmerlifeless: so basically, the only thing I can't do is a create without a push09:12
jelmerlifeless: which trace?09:12
lifelessthe one in my mail09:13
* igc dinner09:15
jmlhow do you deloomify a branch?09:19
lifelessjml: bzr export-loom09:20
jmlmeh09:20
jmlok, what I really meant was, how can I make this error go away? TypeError: open() got an unexpected keyword argument 'ignore_fallbacks'09:20
lifelessupgrade your loom plugin with aaron's patch09:21
jmlthanks.09:21
=== sabdfl1 is now known as sabdf1
=== fta_ is now known as fta
=== serg_ is now known as serg
jelmerre10:50
=== nevans1 is now known as nevans
LarstiQwgrant: it certainly should if they are using the smartserver to access it13:27
LarstiQis there a jaunty user around that could test https://edge.launchpad.net/~bzr-beta-ppa/+archive/ppa/+files/bzr-svn_0.5.4-1~bazaar1~jaunty1_all.deb from the beta ppa?13:31
beunoLarstiQ, sure13:32
beunoah13:34
beunodoesn't work with nightlies13:34
vilaabentley: ping13:58
abentleyvila: pong14:03
vilaabentley: at the end of bzrlib/merge_directive.py MergeDirective2 is registered with a string mentioning 0.19 while its _format_string attribute mentions 0.90, is it deliberate ?14:05
abentleyvila: doesn't sound like it.  lemme see...14:05
beunoLarstiQ, works perfect14:06
LarstiQbeuno: thanks!14:06
abentleyvila: Yes, it looks deliberate.  You see that it's registered twice, right?14:07
vilayes14:07
vilaso why ?14:08
abentley0.19 never existed.  It got renamed to 0.90.14:08
abentleyBut by that point, there were already merge directives in the wild that used 0.1914:08
vilaabentley: oeuf corse14:08
abentleySo this was to retain compatibility with those merge directives.14:09
vilaabentley: added as comment14:10
vilaabentley: and thanks :)14:12
abentleyvila: np14:12
=== ja1 is now known as jam
jamhey vila, how's it going?15:30
vilajam: fine, getting closer to submission :)15:31
jamI at least saw your commit show up :)15:31
vilajam: Ha ! Good, still not here, but at least I fixed the setup (again :-/)15:31
jamvila: btw, my recent LRUCache patch *might* be part of the answer for why branch conversions leak a bit of memory15:31
jamWe were "leaking" LRUNodes by leaving in the linked-list, but not in the dict15:32
vilajam: Next on my list to check :)15:32
jamThe nodes themselves aren't large enough to explain it, but maybe them coupled with referencing a key that then gets repeated would be enough15:32
vilajam: and multiplied by the number of LRUCache, multiplied by the number of autorepack during the conversion...15:33
vilajam: damn, just realized I haven't approved your patch :-/15:34
jamvila: well, when we get rid of the containing btree reference, it should gc the lru nodes15:35
jamso... maybe15:35
jamcertainly I think the fix will help15:35
jamand in the meantime I'll finish perf testing the link indirection15:35
jamit seems to cost about 10% overhead15:35
vilaECONTEXT link ?15:35
jamvila: LRUNodes are in a double linked list (.next, .prev)15:37
jamwhich means that if you just del LRUCache15:37
jamthey stay around until gc.collect() runs15:37
vilaha, that link :)15:37
jamYou can use 'prev_key' and then look up the prev object in LRUCache._cache15:38
jamthe problem is it adds a dict overhead15:38
jamvila: current timing: http://paste.ubuntu.com/152135/15:39
jamThat is with 2.8M tuples15:39
jam8.2k unique15:39
vilajam: this measures only the cache overhead right ?15:44
jamright15:44
jamthis is with a test where a miss has 0 cost15:44
jamI just do except: cache[val] = val15:44
vilaso, you're trying to be quicker without leaking memory, I'd say we don't want to leak memory, whatever the price is :)15:45
jamvila: this isn't about *leaking* specifically15:46
jamit is just whether the data gets cleaned up during "del foo"15:46
jamor during "gc.collect()"15:46
vilajam: sure, I shouldn't have say leaked, sry15:46
jamvila: the patch you approved was about a more genuine "leak"15:46
jamwhere not even gc.collect() would grab it15:46
jambecause they were still 'live' in the linked list15:47
jamvila: And gc.collect() runs automatically every 700 unmatched allocations or so15:47
jamso the data will get cleaned up eventually15:48
jamI *think* I want to do it anyway15:49
jamI just need a real-world benefit15:49
jamand maybe big conversions are it15:49
jamsince during autopack we'll be generate a new btree index, and "throwing away" the old one15:49
vilaby the way, the xml cache trick seems to reduce memory pressure too here, I'm (approx) at 20 out 27 hours (instead of 41) and the memory is at 3GB ( instead of 4GB)15:50
vilajam: right, and we autopack several times :)15:51
vilaone just triggers here :)15:51
jamvila: yeah, the xml trick means that for the 100 or so revision trees we have in memory15:52
jamwe only have 1 copy of 99% of the inventory objects15:52
jamI would be surprised for it to be 1GB15:53
vilajam: those 3 and 4GB are very rough, and the conversion is still not done, yet, from memory (mine) this was growing linearly with time15:55
jamthen again, it could be *huge* for improving fragmentation15:55
vilajam: that's the problem :) We really need to find a better way to measure that fragmentation15:56
jamvila: bzr branch lp:~jameinel/+junk/py_memory_dump :)15:56
vilajam: Hmpf man malloc(3) BUGS section 8-/16:05
__alexandre__hi everybody16:12
__alexandre__I have a problem using bazaar and I need some help. Am I in the right place ?16:13
bialixhi, jelmer is around?16:13
bialix__alexandre__: simply ask the question16:14
__alexandre__I'm trying to use bazaar with an HTTP server (lighttpd)16:14
__alexandre__but with basic authentification16:14
__alexandre__and bazaar does not ask me for my password when it gets 401 error16:15
jam__alexandre__: use a username in the url16:15
jamhttp://username@host/...16:15
__alexandre__I tried16:15
__alexandre__but I get a big traceback16:15
__alexandre__if I set the password with it16:16
__alexandre__something like16:16
__alexandre__http://username:password@localhost/the_path16:16
__alexandre__even just http://username@localhost does not work16:17
vila__alexandre__: can you pastebin the traceback somewhere ? What bzr version are you using ?16:22
__alexandre__Bazaar (bzr) 1.6.1 with python2.5.216:23
vila__alexandre__: hmm, I'm affraid you need to upgrade, 1.6.1 is pretty old and some bugs have been fixed in that area16:24
__alexandre__bzr: ERROR: pycurl.error: (65, "necessary data rewind wasn't possible")16:24
__alexandre__Traceback (most recent call last):16:24
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 857, in run_bzr_catch_errors16:24
__alexandre__    return run_bzr(argv)16:24
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr16:24
__alexandre__    ret = run(*run_argv)16:24
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases16:24
__alexandre__    return self.run(**all_cmd_args)16:24
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 840, in run16:24
__alexandre__    from_location)16:24
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 878, in open_tree_or_branch16:25
__alexandre__    bzrdir = klass.open(location)16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 756, in open16:25
vila__alexandre__: eeerk, pastebin ! not here !16:25
__alexandre__    return BzrDir.open_from_transport(t, _unsupported=_unsupported)16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 793, in open_from_transport16:25
__alexandre__    redirected)16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/lazy_import.py", line 125, in __call__16:25
__alexandre__    return obj(*args, **kwargs)16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/transport/__init__.py", line 1616, in do_catching_redirections16:25
__alexandre__    return action(transport)16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 770, in find_format16:25
__alexandre__    transport, _server_formats=_server_formats)16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 1593, in find_format16:25
__alexandre__    return format.probe_transport(transport)16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 2580, in probe_transport16:25
__alexandre__    server_version = medium.protocol_version()16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/smart/medium.py", line 531, in protocol_version16:25
__alexandre__    client_protocol.query_version()16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/smart/protocol.py", line 770, in query_version16:25
__alexandre__    self.call('hello')16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/smart/protocol.py", line 618, in call16:25
__alexandre__    self._request.finished_writing()16:25
__alexandre__  File "/usr/lib/python2.5/site-packages/bzrlib/smart/medium.py", line16:25
__alexandre__oh ok16:25
__alexandre__I'm using the one which is in Ubuntu repository16:25
__alexandre__oups sorry16:25
__alexandre__(which are not always uptodate)16:25
__alexandre__ok I'll try with the last stable version16:26
__alexandre__thank you !16:26
vila__alexandre__: anyway, the relevant error here is:  ERROR: pycurl.error: (65, "necessary data rewind wasn't possible")16:27
vilaand I'm pretty sure many fixes applies to solve that :-)16:27
vila__alexandre__: if you look at https://launchpad.net/bzr/ you'll find instructions on how to add a bzr sources.list entry for any Ubuntu version, and you can choose to use stable, beta or nightly build of bzr16:29
__alexandre__ok it seems to work with a newer version. thank you16:32
jamvila: just checked 'man malloc', I'm not particularly worried about the bug16:58
vilajam: no, no worries, just... ugh16:59
jamIt just means that if you have "for(i = 0; i < infinity; ++i) {malloc(100000)}16:59
jamit will over succeed16:59
jampages aren't actually acquired until you touch them16:59
vila...and then randomly kill some processes16:59
jamI remember benchmarking it in the past16:59
jonnydeehello, I need help with nested trees: when I "join --reference" a subtree "bzr st" on the outer tree lists ".bzr" directory of subtree as "unknown". is this correct behavior? (I am using bzr 1.13.1)20:10
jonnydeebtw, "bzr st" also lists all the other files/directories within the subtree as "unknown", too...20:12
jonnydeeno one who can help me? I'd love you use nested trees, because they seem to be exactly what I need.20:18
LarstiQjonnydee: nested trees (especially reference) have seen recent development, I don't think 1.13 has all of that.20:19
* LarstiQ is bad with time20:19
LarstiQjonnydee: http://bazaar-vcs.org/NestedTreeProgress20:19
jonnydeeparticularly, the feature that bzr will remember the revision of the inner tree within the outer tree is very cool!!!20:20
jonnydeeLarstiQ: I've read this site, but I wonder why bzr 1.13.1 already has "join --reference" released...20:21
jonnydee(thanx for your reaction :) )20:21
james_wis there a plugin with a pre_commit hook for test before commit?20:21
james_w*not* PQM ;-)20:22
LarstiQjonnydee: it's not in bzr.dev, let me check 1.1320:22
LarstiQjonnydee: --reference is indeed on join in 1.13, but join itself is a hidden command.20:23
LarstiQjonnydee: anyway, it boils down to: I'm afraid nested trees as released will not do what you want, just yet.20:24
LarstiQjonnydee: depending on what you want, you could 1) wait 2) try Aaron's recent code 3) use scmproj or config-manager 4) without reference, manual, etc20:25
jonnydeeahh ok :)  but do you know what can be done with the current release? I mean can I use join in any useful way?20:25
LarstiQjonnydee: there are cases where it can be usefully used, yes20:26
LarstiQjonnydee: but what's your usecase? Maybe we can help you find something for that.20:26
jonnydeeI would like to have a 'lib' branch as a subtree of another project branch.20:28
jonnydeethe lib branch is versioned itself20:29
jonnydeecurrently, I maintain a branch with all my software projects in it. but this turns out to be not quite practicable, because when I develop a feature for project x I branch the complete tree with all projects20:31
LarstiQpretty much the canonical case for by reference nested trees, indeed20:31
jonnydeeso I would like to have a separate branch for each project20:31
jonnydeeand get common things for each project by subtrees20:32
jonnydeeyes, I think it's exactly the use case described in http://bazaar-vcs.org/NestedTreesDesign20:32
LarstiQjonnydee: I haven't looked at scmproj (https://launchpad.net/bzr-scmproj) since it's redesign, but I've used it in the past to accomplish this20:33
LarstiQjonnydee: so you might want to look at that for something that works right now20:33
jonnydeeoh, thanks for this hint :) I'll have a look to it. and thank you very much for your attention and help :)20:34
LarstiQjonnydee: np20:36
james_wvila: around by any chance?20:50
james_wI have some testsuite questions :-)20:50
vilajames_w: lucky you ! :)20:50
james_wyay!20:50
james_wI want a way to run the testsuite for a plugin that doesn't depend on the plugin being the one that bzr will load20:51
vilawhat testsuite ?20:51
james_wso that e.g. "python tests/__init__.py" in the plugin will run its tests regardless of where it is20:51
* LarstiQ tries to parse that again20:51
LarstiQah, right20:51
vilaok, run the test suite without selftest20:52
james_wyeah20:52
vilajusdepending on unittest or using bzrlib.tests features20:52
vila ?20:52
james_wI've needed it a couple of times, so I'm finally going to try and come up with a working solution, so I thought that I would come to the master20:52
james_wbzrlib.tests would be nice20:52
vilaand why not use selftest -s bp.myplugin ?20:53
james_wbecause that involves making sure that "myplugin" is on the bzr plugin path20:53
vilaneed to test various versions without swapping ?20:53
james_wI just wrote a quick pre_change_branch_tip hook for running tests20:53
james_wit gets the branch and a revid, so it exports to a tempdir, and runs the tests there20:54
LarstiQjames_w: BZR_PLUGIN_PATH=. ?20:54
vilajames_w: I was thinking about LarstiQ proposal while searching the relevant bug on lp :)20:54
LarstiQbit of a hammer20:54
james_wLarstiQ: yeah, it's a bit annoying as it tries to load like setup.py as a plugin for example20:55
LarstiQjames_w: ooh20:55
LarstiQright20:55
vilajames_w: if __name__ == "__main__":20:55
vila    unittest.TestProgram(module=__name__)20:55
vilaif the incantation I use when doing TDD outside bzr20:56
james_wso that would be fine for anything not using the bzr extensions?20:56
LarstiQvila: how does that differ from unittest.main()?20:56
vilait should be fine to use bzr extensions *except* for load_test() and test_suite()20:56
james_wah, because of inheritance!20:57
vilaLarstiQ: main = TestProgram20:58
vila in unittest.py ? :-P20:58
jamjames_w: why not write a 'main()' function which just imports bzrlib.tests and runs itself20:58
vilaline ~808 :)20:58
jamheck, if you want to get crafty, you could have it set BZR_PLUGIN_PATH20:58
jamand then run 'bzr selftest -s bp.myplugin'20:58
vilaELOOP :)20:59
jamvila: not really, it is just a "if __name__ == '__main__':" check21:00
jamI suppose it is recursive, but directly terminating21:00
vilajam: not the code, the discussion :)21:00
james_wok, putting vila's suggestion in tests/__init__.py runs 0 tests21:00
vilaI proposed -s bp.myplugin earlier :)21:00
jamvila: right, and he said the problem was he didn't want to have to put it into path21:00
jamso *I* suggested having the plugin put itself into path21:00
jamand have the *plugin* call out to "bzr selftest $ME"21:01
james_wputting it in __init__.py fails as you can't run "__init__.py" as it tries to import parts of the plugin, and plugins haven't been loaded yet so they aren't under b.p.21:01
jamso his "python tests/__init__.py" would Just Work21:01
vilajam: right, I rule that out too fast maybe (I thought there may be several versins conflicting)21:01
vilajames_w: if you use b.p. imports then you *must* use bzr to load correctly21:02
james_wyeah21:02
james_wso I want to run bzr, but I want slightly more control over the plugins it imports21:02
vilabug #31619221:04
ubottuLaunchpad bug 316192 in bzr "bzrlib.plugin.load_plugins() loads system plugins even for non-system bzrlib" [Medium,Confirmed] https://launchpad.net/bugs/31619221:04
jamjames_w: well you could put the "if __name__" check very early21:04
jamand have it finish with "sys.exit()"21:04
jam(as in, put it before the other 'import' statements, etc)21:04
vilabug #8269321:04
ubottuLaunchpad bug 82693 in bzr "Ability to run tests in a particular plugin" [Wishlist,Confirmed] https://launchpad.net/bugs/8269321:04
vilajam, james_w : we could add a test-plugin command that will implement jam suggestion above (load the plugin and run selftest -s bp.plugin) with options to load *only* the plugin or *also* the plugin and accept the plugin path as a parameter21:12
james_wthat would be great21:13
james_wI'm getting there21:13
james_whowever, the plugin is currently loaded as "bzrlib.plugins.trunk"21:13
vilajames_w: :-) I know that one, I ended up making my ~/.bazaar/plugins directory a link farm pointing to various ~/src subdirectories21:14
james_wthat's what I have21:14
vilaI also love a bzr enable/disable plugin that mv in and out the DISABLED directory :-)21:15
james_w\o/21:18
james_wit won't work on Windows though21:18
james_wif __name__ == '__main__':21:19
james_w    import os21:19
james_w    import subprocess21:19
james_w    import sys21:19
LarstiQmv DISABLED?21:19
james_w    dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "plugins")21:19
james_w    retcode = subprocess.call("bzr selftest -s bzrlib.plugins.builder",21:19
james_w            shell=True, env={"BZR_PLUGIN_PATH": dir})21:19
james_w    sys.exit(retcode)21:19
james_wwith /plugins/builder -> /21:19
james_w(symlink)21:19
james_wthanks team, I'll use this for a while and see how it goes21:20
Kobazzr: ERROR: Connection error: curl connection error (server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt)21:36
Kobazi get that while trying to do a pull21:37
Kobazhow do i turn off ca validation21:37
Kobazi use self-signed certs21:37
exarkunKobaz: Add your cert to the site ca cert list?21:38
exarkunThen you can use self-signed certs /and/ retain some security.21:38
exarkunwoot.21:38
LarstiQor use http+urllib://21:40
exarkunLarstiQ: That's the same as turning off ca validation, right?21:42
LarstiQexarkun: isn't that exactly what Kobaz is asking?21:42
exarkunYes21:42
LarstiQah, that way.21:42
LarstiQexarkun: yes, I believe it is.21:43
LarstiQexarkun: although our use of urllib may have grown certificate validation.21:43
LarstiQI wish it did, it's the only thing keeping pycurl alive.21:44
Kobazmmm21:45
Kobazso the only way is to add the ca to the ca store?21:45
Kobazoh wait21:46
Kobazwhat's http+urllib://21:46
Kobazi'm using bzr+https://21:46
LarstiQKobaz: could you try bzr+https+urllib:// ?21:46
LarstiQnot sure if multiple decorators work, but worth a try21:47
Kobazk21:48
Kobazit's weird though, i'm putting bzr on a new box21:48
Kobazi use bzr+https:// on all my other boxes with no issue21:48
Kobazall on bzr 1.1321:48
lifelessKobaz: in bzr 1.13 the server will do more operations; you may be seeing the server itself generatin that error21:49
Kobazbzr: ERROR: Unsupported protocol for url "bzr+https+urllib://21:49
Kobazit's definitly not the server21:50
LarstiQKobaz: my guess is that all the others do not have pycurl installed21:50
Kobazoh yeah, that's how i fixed it, was removing pycurl21:50
LarstiQgood night21:51
Kobazso soon?21:51
Kobazhere's something i've been wondering a while21:52
Kobazhow do i display relative paths when doing bzr st, or other commands21:52
Kobazbogger {~/projects/system_init} kobaz$ bzr st *21:52
Kobazunknown: system_init/create_postgres_users21:52
LarstiQKobaz: 23.00, my usual sleeping time21:52
Kobazwhat i used to do all the time with subversion, is copy and paste the filename and do somethign with it21:53
Kobazso if i copy and paste21:53
Kobazi get bzr diff system_init/create_postgres_users21:53
Kobazwhich doesn't exist... since i'm already in system_init/21:53
Kobazif i do bzr st *... i should see just: system_init21:53
Kobazer i mean... i should just see the files with relative paths... which would be just one filw: create_postgres_users21:54
lifelessKobaz: we are changing st to be like svn in that regard21:59
lifelessKobaz: for now you could do `bzr root`/<filename>21:59
Kobazi like if you do svn st... and it will show you everything in the tree22:00
Kobazbut it would be cool if there was an option to do relative paths22:00
Kobazi think both methods should exist22:00
lifelessKobaz: yes, it will show everything and give relative paths22:10
lifelesshtats the current plan as I understand it22:10
Kobaznifty22:12
kfogellifeless: the new eol-conversion stuff is entirely client side, right?  that is, if someone wants the feature, and they upgrade their local bzr to 1.14rc1, then they'll get the feature, even if the other servers they talk to are 1.13 or older.  Is that correct?22:18
lifelesskfogel: at this point I believe so22:19
kfogellifeless: thanks.  Wanted to make absolutely sure, before I said it to a VIU.22:20
kfogellifeless: I saw your "I believe"; I will CC Martin on my response to make sure.22:20
lifelesskfogel: igc has been writing this feature22:21
fullermd'client' is probably the wrong division.  It's all WT-side.22:21
kfogelfullermd: well, in a sense that's a subset of "client" (I think this user wants to be told the answer in the simplest way possible).22:22
lifelesskfogel: I'm not aware of any changes in the repository api to signal how things should be stored22:25
lifelesskfogel: which says its all client side to me22:25
kfogellifeless: *nod*22:26
Peng_beuno: Ping?22:34
beunoPeng_, pong22:34
Peng_beuno: Oh hi!22:34
Peng_Um.22:34
beunohai22:34
Peng_beuno: Any opinion on bug 358322?22:35
ubottuLaunchpad bug 358322 in loggerhead "Every call to LoggerheadConfig() creates a new temp dir" [Critical,Confirmed] https://launchpad.net/bugs/35832222:35
beunoPeng_, yeah, we should use the same dir, and make it configurable22:35
beunonot add the timestamp, or whatever random string to add22:36
beunois that what you where aiming at?22:36
Peng_beuno: I wasn't aiming at anything in particular.22:36
beunowell, that's what I thought of in the shower a day or two ago  :)22:37
AmanicAkfogel: wouldn't you need to update to the 1.14 formats to get that feature? so the old version on the server would not like it22:38
AmanicANew formats 1.14 and 1.14-rich-root supporting End-Of-Line (EOL) conversions,22:39
Peng_AmanicA: But if the only new format is the working tree, and the server-side doesn't have working trees, it's not a problem.22:39
Peng_beuno: Is my patch okay as an interim solution?22:39
AmanicAah22:39
kfogelAmanicA, Peng_: or at least, whatever working trees are on the server side are of no concern on our side.22:40
beunoPeng_, I did not know there was a patch22:40
* beuno looks22:40
beunoPeng_, you should file merge proposals  ;)22:42
beunonow22:42
beunowhat would the prefix fix?22:42
Peng_beuno: Sorry. I didn't because it was only an RFC.22:42
beunoidentifying it?22:42
blfgomescould anybody help me setup bzr to work with a proxy that requires authentication?22:45
beunoPeng_, ^ ?22:46
Peng_Err, hold on. I just got distracted.22:46
beunosure, didn't know if you had read22:47
lifelessblfgomes: export http_proxy=http://hostname:port/22:47
blfgomesanybody? I have HTTP_PROXY configured, I can do pretty much everything (wget, apt-get), except for bzr22:47
lifelessblfgomes: ok, is it lp: url's that are giving you grief ?22:48
blfgomeslifeless: I tried the whole url as well, but it doesn't seem to be authentication in either case22:48
blfgomesI just get a 407 straight away22:49
lifelesshmm22:49
lifelessvila: ^22:49
lifelesswhat proxy is it?22:49
blfgomesgood question22:49
blfgomesI've seen some unorthodox proxy configuration here at work before, where some things wouldn't work... But why should bzr fail when wget runs smoothly?22:51
lifelessif its doing NTLM/kerberos we might not support tat22:51
lifelessI'm reasonably sure we support digest22:51
lifelessvila maintains our http stack22:52
blfgomesI'm giving my credentials in plain text in the HTTP_PROXY variable22:52
lifelessoh22:52
lifelessI'd strace and see what bzr is putting on the wire22:52
lifelessnote that lp: url's won't work through a proxy at all at this point :(22:53
lifelessdue to a xmlrpc lib limitation we haven't worked around yet22:53
Peng_beuno: On a different subject, I forgot, for "fix is in lp:loggerhead", do you use Fix Committed or Fix Released?22:53
lifelesshttp://bazaar.launchpad.net/ ones will work22:53
beunoPeng_, committed22:54
blfgomesyou're right... lp: urls timeout here, whereas full urls give me the 407 error22:54
Peng_beuno: Thanks.22:54
Peng_beuno: Anyway. What do you mean about prefixes?22:58
beunoPeng_, the cache dirs are created in /tmp22:58
beunowith different names each time, no?22:58
Peng_beuno: Oh. The prefix argument is just so the directory is named "/tmp/loggerhead-cache-XXXXXX" instead of something like "/tmp/tmpXXXXXX". That's not a new change.22:59
beunoPeng_, ok, so, I'm fine with that change22:59
beunobb:approve22:59
beunolp:22:59
beunowhatever22:59
beunobut the deeper problem is that you shouldn't have to re-generate the cache everytime you restart22:59
beunono?23:00
beunoor did I worry for nothing?23:00
beunoI do that sometimes23:00
Peng_beuno: Honestly, I don't mind that. My cache got corrupted once, so that meant a restart fixed it.23:00
beunoI guess you don't have 200mb of caches and a dying server23:01
beuno:)23:01
Peng_Heh, right.23:01
beunosomeday, I'll work on Loggerhead again23:01
beunoI'm sure23:02
Peng_beuno: It doesn't *need* to be recreated every time. Using a static location doesn't cause any problems.23:02
Peng_Well, currently I think the file gets deleted on shutdown anyway, and I don't know hwy.23:02
lifelessblfgomes: please file a bug23:02
Peng_s/hwy/why/23:02
lifelessblfgomes: I'll assign it to vila and ask him to look; he's in europe23:02
lifelessBasicOSX: ping; is your addons repo work now ?23:03
beunoPeng_, yeah. I think making it static is better. And even more if it's configurable23:03
BasicOSXlifeless:  I haven't check since the initial debug and troubleshooting23:03
BasicOSXI'm still at my real job, will check it again tonight when I'm home23:04
blfgomeslifeless: I'll make sure it's a bug, first23:04
lifelessblfgomes: thanks23:05
lifelessBasicOSX: ok, grab me and we'll sort it out; I have a meeting in ~ 3 hours for <2 hours23:05
lifelessBasicOSX: other than that a clear slate to help23:05
BasicOSXlifeless:  I also have a backup of the repo (go Timemachine) from 2am that morning, I'm going to restore some place different and see if my repo got corrupt23:08
Peng_beuno: If I make it configurable, what do you think the default should be? Going through mkdtemp is really hte safest option.23:13
Peng_s/hte/the/ Darnit!23:13
beunoPeng_, agreed. Make mkdtemp the default, but let the user pass a config option23:14
Peng_beuno: Alright.23:16
beunoPeng_, you rock23:16
* beuno -> home23:26
beunobbiab23:26
lifelessjames_w: btw let me know if my plugin works ;)23:47
lifelessjames_w: I didn't test it23:47
=== Daviey_ is now known as Daviey
Peng_beuno: Back yet?23:56
beunoPeng_, yes23:56
Peng_beuno: What do you want the option to be named? --cache-dir? --sql-dir? Something else?23:56
Peng_(FWIW, I picked --cache-dir, since it may be changed to something not-SQL in the future.)23:56
beunoPeng_, --cache-dir sounds good23:57
Peng_beuno: Alright. Thanks.23:57

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