/srv/irclogs.ubuntu.com/2012/01/03/#bzr.txt

pooliehi all00:11
jelmerg'morning poolie!00:24
jelmerhow were your holidays?00:24
pooliehi00:40
pooliepretty nice00:40
pooliewgz, hi?00:46
wgzhey poolie00:51
pooliehi00:52
pooliehappy new year00:52
pooliei was just going to reply to terry from leo-editor00:52
wgzyeah, that was also on my todo for tomorrow00:52
poolieif he has a working branch i think he can just call that 'trunk00:52
wgzhowever he created the previous one still results in it being broken, apparently00:53
wgzI need somone who understands launchpad stacking to walk me through the relationship between the branches00:53
AfCIs there an environment variable (or?) that indicates to bzr which SSH key to use when connecting to a remote server?01:55
poolieafc, not in bzr, but you can configure that in .ssh/config01:55
AfCpoolie: no, it's per command [ie bzr] not per target server that I need to change it01:56
poolieif you want to use a different one for bzr vs other access, create a different virtual host, with the HostName pointing to the real name01:56
AfChm01:56
pooliehm01:56
AfClet me look, might work01:56
pooliei think you can set the ssh client command name and you could point to a script that adds that parameter01:56
AfCoh,01:56
* AfC dummy01:56
AfCI changed the name of they key file01:56
AfCalready had an entry in .ssh/config01:56
AfCbah01:57
AfChumbug01:57
AfCsorry for noise.01:57
AfCpoolie: thanks for help01:57
AfC[that was hard to debug!]01:58
jelmermoin07:51
pooliehi jelmer07:57
pooliewelcome back07:57
vilahi all,08:00
vilahappy new year poolie08:00
pooliehi there, thanks vila, hi mgz08:01
mgzmorning all!08:01
pooliehey08:02
=== jameinel is now known as jam
jamhi all, welcome back from the holidays08:14
wgz....it's a random place in the UK09:59
wgznot even where my ISP is based09:59
wgzokay, enough battling with plusness09:59
jelmerit's probably just the closest thing to the cneter of the UK?09:59
jelmerI just got disconnected too09:59
wgzI'd expect more midlandsy for that, is suspiciously close to scotland10:00
mgzha, again I'd plugged this laptop in without actually switching on the power10:27
mgzvila: so windows babune is still bust, I think this is still my fault and I've made a circular import despite trying not to11:30
viladang it, almost forgot11:31
vilamgz: there are at least 2 issues11:31
mgzcan you give me the traceback from the win32utils import?11:31
mgzif I can get away without completely restructuing the platform code to make it more sane, that would probably be best11:31
vilathat one is trivial, just removing the line 2087 in osutils11:32
vilahttp://babune.ladeuil.net:24842/view/debug/job/debug-windows/lastFailedBuild/11:32
vilahttp://babune.ladeuil.net:24842/view/debug/job/debug-windows/lastFailedBuild/testReport/junit/bzrlib.tests.per_intertree.test_compare/TestCompare/test_abc_content_to_empty_InterDirStateTree_C__/ is where I get lost11:32
mgzokay, looking, thanks11:33
mgzack.11:33
vilamgz: so you can start from lp:~vila/bzr/for-babune/11:34
vilaif you want11:34
mgzprobably also just an import ordering issue from me11:34
mgzotherwise, I'll blame jelmer's xml removing branch11:34
mgzwill track it down.11:34
vilamore likely ;)11:34
vilaalso, absolute import fallback came to mind11:35
mgzer... what were these test__btree_serializer ones about...11:36
mgzI thought I'd formed an opinion, but now can't remember it11:36
vilahmpf, yeah, not very readable output, but I suspect the same underlying issue so didn't ever bother11:37
mgzokay, your for-babune change is good, I'm going to send that to pqm11:43
vilajelmer: I'm not sure I understand your desire for unescape_for_display, care to clarify ?11:48
mgzcan't a man have his desires?11:49
vilahehe11:49
vilasure, but understanding them help to address them ;)11:49
jelmervila: Mostly, I just like to not have a lot of different ways of converting URLs to user touchable things and vice versa12:07
mgzURL.__unicode__12:08
jelmermgz: we do want to allow paths in locations.conf though12:08
jelmerin particular, I worry about things like readonly+file:///12:08
vilayeah and windows paths too (or at least one bug asks for that)12:08
jelmerand escaping characters in URLs12:08
vilaright,12:09
jelmerthat's why I'm a bit skeptical - I'd rather just use normalized URLs internally and have user input converted to normalized URLs using something like location_to_url12:09
mgzpassing strings around of various different types does lead to breakage12:10
vilaso there are already several bugs filed for that and I agree with the goal and I'm not even sure I like allowing remote urls in config files given that  server settings that can be overridden are... unclear12:10
mgzI don't think that means we need to use URLs for everything, but certainly we need to know what kind of path is being operated on when displaying it in an error message etc12:11
mgzrather than looking at it and guessing12:11
jelmermgz: we do seem to need some guessing here, so I'd rather have it in one spot (location_to_url) than in multiple places12:11
vilaso when I say out-of-scope, I don't mean I don't care, it's just that this proposal is not about this topic12:11
vilareadonly+file is probably already a bug with locations.conf :-/12:12
jelmervila: I disagree, it adds more code that does this - and I think doing it properly is as much or perhaps less work than the current MP12:12
mgzwell, we can guess (or rather have a clear process) when the url enters bzrlib from the user (command line, config file, etc)12:13
mgzs/url/path, url, or filename/12:14
jelmermgz: ah, yeah - I think we mean the same thing12:14
mgzbut that's... an ideally, not what currently happens in many cases12:14
mgzyup, violent agreement12:14
vilajelmer: well, I tried changing it while migrating locations.conf to config stacks and... encountered some ugly cases (sorry I can't remember the details right now) but it wasn't that easy12:14
mgzhm, too many branches named "fix...."12:16
vilalooking at the config bugs: bug #85479 #359320 #43700912:16
ubot5Launchpad bug 85479 in bzr (Ubuntu) "configuration location lookup does not take care of url encoding" [Medium,Confirmed] https://launchpad.net/bugs/8547912:17
vilalooking at the config bugs: bug #85479 bug #359320 bug #43700912:17
ubot5Launchpad bug 359320 in Bazaar "Paths with links, or relative paths, cannot be used in location.conf." [Medium,Confirmed] https://launchpad.net/bugs/35932012:17
ubot5Launchpad bug 437009 in Bazaar "locations.conf has problems with Windows paths with backslashes" [Medium,Confirmed] https://launchpad.net/bugs/43700912:17
mgznice set vila.12:18
mgzincremental cleanups are fine, I've not looked at your branch yet, will shortly12:18
vilayeah, right, as said above, it's not as if I don't care about the issue12:18
vilajelmer: I agree that I use the same pattern as locations.conf but I did on purpose so any fix in one should go into the other and hopefully even more code can be shared but I wanted a simple proposal12:19
mgzow, builddeb makes a bt.test_selftest test fail12:20
mgzit's.... a relative import issue! :D12:21
mgzplugins/builddeb/util.py", line 32, in <module> from distro_info import DebianDistroInfo, UbuntuDistroInfo12:22
mgzalready fixed?12:22
jelmermgz: I don't think that's a relative import issue12:22
jelmermgz: distro_info is a top-level package12:22
mgzah, I just don't have it then.12:23
vilamgz: and yeah, urls enter bzrlib in different ways, config files are utf8 but provides unicode, btw https://code.launchpad.net/~vila/bzr/907279-override-from-env/+merge/86737 has landed but I'll still welcome your comments about 'env_encoding'12:24
mgzwhat's the lp: name for it?12:25
mgzvila: will do, can probably simplify the encoding side a little now with some of the other changes (rather than previous tack of having lots of different possible encodings for different things)12:25
vilamgz: yeah. your functions have the right stuff but the API doesn't quite fit what config is expecting, there is probably an easy middle ground though12:29
vilahmm12:29
vilamore network issues on a different machine now :-/12:29
jelmer:(12:33
mgzokay, that's made a bit of a dent in the review queue12:35
jelmermgz: thanks12:35
vilatransient DNS failure ? Do such things really still happen ? :-}12:39
vilajelmer: gha, look at smart/server.py line 360 :-(12:40
vilajelmer: on the bright side, grep returns ~50 hits for local_path_from_url so there is still hope12:41
vilajelmer: anyway, did I convince you I care about this stuff ? I already added a test with a location starting with file:/// (look at the last rev I pushed before my last comment), would you be fine with one more test showing that file:///foo is handled as /foo for section ids ?12:43
vilajelmer: and also (which may give you some more context), I'm whacking moles fixing bug #832042 already so chasing more moles today... is a bit too much ;)12:45
ubot5Launchpad bug 832042 in Bazaar "config files are read for each option" [High,In progress] https://launchpad.net/bugs/83204212:45
mgzokay, my issue with StartingPathMatcher vila,12:51
mgzis that I'm not sure if it's just trying to operate on local paths, or whether the if 'file://' check is intended to let other absolute urls through12:52
vila. o O (Amazing how apparently simple proposals can raise so many issues ;)12:52
vilamgz: same as locations.conf,12:52
jelmervila: I think this is just a single issue with it - it keeps the brokenness that's present in the previous implementation12:53
vilamgz: the aim is (and was) to allow paths where internally we also deal with urls12:53
jelmervila: I never questioned whether or not you cared :)12:53
vilahehe12:53
mgzwhich would be weird, because then the self.location could be either a url or a filesystem path when the slash handling goes on12:53
vilajelmer: but I can't fix all brokeness at once ;)12:53
mgzvila: the problem is the proposal isn't also deleting the old logic, so it's not clear you're not to blame :)12:54
vilamgz: yeah, not super pretty, I know, but that's what we have12:54
vilaoh my deleting the old logic will have to wait for all plugins to stop using the old implementation....12:54
mgzright :)12:55
vilawell, for bzr itself to stop using it to start with12:55
vilaI fired that one to *avoid* reusing locations.conf logic for new config files (the section ordering in this case)12:55
vilabecause I didn't want to have to deal with this brokeness in /etc/bazaar/defaults.conf or whatever we call it12:56
vilaI'm not a big fan of using urls in config files either mainly because the smart server ignore many options coming from there12:56
mgzanyway, this is livable with, provided you define in the docstring what 'location' may be in practice, and add some XXX about making this saner12:57
vilayeah, there are 2 call sites: initial location conversion, section id conversion, we need a bunch of tests around these anyway (the bugs I mentioned above are also around these calls)12:58
vila.. and I haven't mentioned allowing relative paths there either ;)12:59
mgzjust enumerating what doesn't work and listing bugs right there would help12:59
vila... which open another can of worms: if these paths are inside a bzr tree, should we apply the renames too ? ;)13:00
mgzright now, the code has various assumptions and it's not clear what they are13:00
jelmerI think that would reduce some of my concerns about this code as well13:00
vilaright, I'm slowly discovering pitfalls and trying to make them clearer13:00
vila\o/13:00
jelmerI'm still not convinced that doing it right would actually be that much harder than what you have at the moment, but I'll defer to your judgement on that13:01
vilayeah, may be I resigned too soon last time or may be too many issues were making it harder to understand...13:02
vilaI remember having to followup once or twice after my first attempt landed13:02
vilabut I was focused on minimizing differences between the old and the new implementation13:03
mgzthat's the kind of thing that is also useful to say in a docstring13:04
vilaat least now, it's all contained in a single class13:04
vila'that' ?13:04
mgz"logic intended to be compatible with previous implementation config.olf_function"13:05
mgzor similar.13:05
mgzolf? old.13:05
mgzI think the sky castle here is something like urlparse and poping from the tail to determine heirachy13:07
mgzafter converting input string to url from relpath etc13:08
vilainstead of just startswith ?13:08
mgzclearly just looking at the path section one segment at a time is enough for nearly all cases though13:08
vilanot to mention globs :-/13:09
mgzyeah, so you could say that http://example.com/bzr/branch?why=1/2 is in the same line as http://example.com/bzr/branch13:10
vilathe former starts with the later13:11
vilaoooh, jelmer, did you have some colo use case in mind ?13:12
mgzah, I see, but then say that http://example.com/bzr/branch_X isn't in the same line13:13
vilayeah :-/13:13
vilabut is it really an issue ?13:13
mgzcolo has kicked up a bunch of issues around this by wanting to stick stuff on the end of locations13:13
vilaand potentially in the middle too13:13
jelmermgz: colocated branch names don't have slashes in them though13:14
mgzyou have a bug report requesting that :)13:14
jelmermgz: slashes have to be urlencoded13:15
mgzsay you wanted a location config for all your colo branches named 'trunk'13:16
mgzwould you invision having a section like [file:,branch=trunk] with rules?13:16
mgzthat's a relative path, not a glob13:17
* mgz ponders13:17
vila  /path/asdfasdf/*/trunk13:17
mgzwould you invision having a section like [file://*,branch=trunk] with rules?13:17
jelmermgz: I think the latter makes most sense, probably13:17
jelmermgz: I don't think colocated branches (or rather, path segment parameters) need special casing13:17
vilayou have a branch.conf too,13:17
vilaso the other conf files should not be abused (not to mention you can move your branch and keep your settings)13:18
jelmeras an example, I currently always have "email" in branches named "unstable" set to "Jelmer Vernooij <jelmer@debian.org>"13:18
jelmerindependent of what project they're in13:18
mgzheh, I guess the glob would work with branches hidden in .bzr13:19
vilajelmer: and this works for colo branches right ?13:19
jelmervila: I haven't tried it for colo branhces, but I don't see why it wouldn't13:19
vilame neither13:20
vilajelmer: errr, waitasec, what section name do you use for this ?13:21
jelmerIIRC [/home/jelmer/src/*/unstable]13:23
vilaif I'm not mistaken it will fail for /home/jelmer/src/xxx/experimental/unstable13:23
vilai.e. locations.conf will match '*' with a *single* path component13:24
jelmerah, I see. So I guess it won't work for colocated branches then13:24
vilato match on the colo branch name, no, but to apply to all colo branches yes13:25
jelmeranyway, I'm not really worried about that right now :)13:26
vila...hmm, but StartingPathMatcher will match, damn, forgot to mention that... gee13:29
jelmervila: are you sure?13:30
jelmerin that case it seems like file://foo/bar will also match file://foo/bars ?13:31
jelmerwhich would be Bad13:31
vilawell, locations.conf split the path and then try to match each component and also sort on the number of components (my issue with it)13:31
jelmervila: the components won't match for colocated branches13:31
jelmerfile://bar/bar vs file://bar/bar,branch=foo13:32
vilasorry, components from split('/')13:32
vilaafter removing the final '/' if present13:32
jelmerright, so colocated branches won't match13:39
vilaif you have a section named /foo/bar and a branch named file:///foo/bar,branch=baz the section will apply I think, by luck, but apply...13:41
jelmervila: if that is the case, wouldn't file://foo/bars also match?13:48
vilaif the section is named foo/bar ? It should match13:48
vilaeven /foo/bar/ :-/13:48
jelmerurgh13:49
vilayeah13:49
vilanote that nobody complained... yet :-/13:49
vilas/yet/so far/13:51
vilaoh crap, smart server timing out while debugging :-(13:58
vilauuurgh,14:26
vilaI found one cause of smart server calling get_config_file too much:14:26
vilain at least one case, both the remote branch and the real_branch will ask for it :-/14:27
jelmervila: we shouldn't be using the real branch anymore in a lot of cases14:27
vilaI'm working on a branch based on bzr.dev@640414:28
vilathe test is bzrlib.tests.per_branch.test_branch.TestStrict.test_strict_history(RemoteBranchFormat-v2)14:29
vilahmm14:30
vilajelmer: could it be that a failure in the smart server triggers a fallback to real_branch in the client ? I'm having a weird behavior right now:14:31
vilaI encounter either LockNotHeld errors or SIGPIPE or... no errors but a use of real_branch14:31
vilaAFAICS only pulls should be triggered, does that requires real_branch still ?14:32
jelmervila: no, that shouldn't require real_branch14:32
vilajelmer: not sure if my description makes sense... ask for details if you need14:32
vilacrap, so some error is swallowed :-(14:32
jelmervila: I'm not sure that is the case, perhaps there's something oither than a pull here?14:33
vilathe test do commits and pulls14:33
vilawell, sprout, setting appen_revisions_only to start with too14:33
vilaha, and some merge_from_branch14:33
vilabut all the trees should be local14:34
vila(but the branches should be remote)14:34
vilaif I put breakpoints where LockNotHeld should raise, it stops raising... naughty14:35
vilaoh, progress, I'm at the raising call site...14:37
vilaweird, the real_branch is not None but still cannot be unlocked (so still some real_branch involved....)14:40
vilajelmer: any advice about debugging lock issues with the smart objects ?14:44
jelmervila: not really, I'm not entirely sure what you're trying to debug14:45
vilawell, I don't really know myself :-/14:45
vilaAFAICS I didn't touch any locking stuff14:46
vilahmm, or did I *remove* some ?14:46
vilahmm, so, I'm working on changing stack.set() to not call store.save() but instead wait until branch.unlock() to save the config file14:47
vilaso far, I've fixed only a few places in the code and fixed the blackbox tests that were mixing config settings on branch objects and run_bzr() calls14:48
vilaand I've got all blackbox tests passing, so presumably my fixes are not that bad14:49
jelmervila: you probably need some magic in Branch._ensure_real14:49
jelmervila: a write lock on RemoteBranch can be upgraded to a write lock on the real branch14:49
vilathe trick is that I don't lock anything anymore (for config purposes) relying on ... damn it, let's try something14:50
vilanope14:51
vilaso, relying on callers to always write lock branches when setting new values for options (which seems  correct so far, except for the tests themselves)14:52
jelmervila: if you do that, you probably want to also assert that the branch is locked when setting new options?14:52
vilahmm14:54
vilaI didn't so far...14:54
vila.. fearing useless IOs ??14:55
vilawhich is ridiculous, let's try that14:55
jelmerI don't think checking *we* have a write lock causes extra IO14:56
vilayup, but it means I need the .branch attribute for BranchStore which I was hoping to get rid of, nm14:57
vilahmm, no difference for the current test, but more blackbox failures to deal with15:03
vilapfew, 5915:03
vilajelmer: any objection on making branch write-locking mandatory to set an option ?15:04
jelmervila: sounds reasonable to me15:06
vila(previously we were taking one on the config file itself without involving the branch anyway...(15:06
vila))15:06
jelmermgz: any plans on landing your no_locale_hacks mp?15:12
mgzsome, still a little concerned about the effect on random scripts using bzrlib directly15:14
mgzbasically, on nix only, if they don't call setlocale,15:18
mgzcurrently they can do some things involving non-ascii characters, but not open non-ascii files or write non-ascii data to some streams15:19
mgzthe branch means a few more things won't work unless setlocale is called.15:20
jelmermgz: are you having seconds thoughts about it, or do you have anything in mind to address that?15:21
mgzwell, could change the fallback value, but that probably does more harm than good for a corner case.15:23
vilaok, blackbox failures fixed, the diff is now >1400 lines and I've still to address the ~50 remaining failures :-/15:42
vilaand the previous test is still failing ;)15:43
vilajelmer: another nice suggestion like the previous one ? :-P15:44
vilakidding really15:44
vilaI've found interesting cases with this one ;)15:44
jelmervila: perhaps split out the change to require a write lock for config changes?15:44
vilaoh, I will split out the change, there are already 4 or 5 mps in my wip15:45
vilaand many controversial changes... like,15:45
vilaif you have read-access only to a branch you cannot push it anymore...(well, unless you had write access when you set push_location)15:46
vilaor the fact that we save some config settings even if the operation fails15:47
vilaon the bright side, some hpss_calls went down !15:47
jelmer:)15:52
vilaO16:00
vilaM16:00
vilaG16:00
vilaRemoteBranchStore you idiot !16:00
vila...and I stay polite16:01
vilaI completely missed to do the same changes I did on BranchStore16:01
vila@only_raises is evil16:41
jelmeryep16:47
mgzehehe, naughty jelmer16:49
mgzwent with 'stronk' for the branch name :)16:50
vilathat's where I lost the exceptions I was searching for...16:50
jelmermgz: stronk is dutch for "branch" :)16:50
jelmermgz: strong was the typo, not the other way around :)16:50
mgzehehe16:51
vilaof course, now that I know,  calling store.save_changes() in unlock()... cannot fail with that ;)16:51
mgzhm, should probably just do this change, it's low impact16:58
=== vila is now known as bzr-RM
bzr-RMjelmer: woohoo !!!!17:10
=== bzr-RM is now known as vila
vila:)17:10
jelmervila: hmm?17:11
vilanoticed your what's new update ;)17:11
jelmerah :)17:12
glenhi, how new bzr i need here to merge then? http://pastebin.com/hM6mWAs918:06
glenit says i need 1.16 or newer, i have 2.4.2 and it's not new enough still?18:07
jelmerglen: your repository locally is too old18:09
jelmerglen: you probably want to run "bzr upgrade"18:10
glenbut i just checkouted it (branched it)18:10
jelmerglen: the remote repository that you cloned was probably also in an old format18:10
=== yofel_ is now known as yofel
glenhow do i upgrade remote repo?18:10
jelmerglen: "bzr upgrade <url>"18:11
glen"bzr upgrade lp:eventum" ?18:11
jelmeryep18:11
gleni need lots of bandwidth for that too?18:11
jelmerFor launchpad branches I think there is also a link on the branch page that can do it for you18:11
wgzvila: I'm reasonably sure your odd babune debug-windows failures are pyx drift18:11
glenjelmer: but how fresh version it lp web updates to? i need 2.0.4 support18:12
wgzvila: tests pass here, failure makes no sense, and module path goes from "c:\cygwin\home\babune\babune\slaves\xp-32bits.local\workspace\debug-windows\bzrlib\workingtree_4.py" to "_dirstate_helpers_pyx.pyx"18:13
wgzwhich implies a dirty cwd, but the error is still weird18:13
wgzglen: the current format works with 2.0 clients still18:14
glendoes bzr have concept of svn:eol-style ?18:15
wgzno, but you can set a similar thing globally for your local branches18:16
wgzsee <http://doc.bazaar.canonical.com/beta/en/user-reference/eol-help.html>18:20
wgzvila: previous reference to these failures (thanks email search) <https://code.launchpad.net/~gz/bzr/url_unquote_unreserved_842223/+merge/82309/comments/177821>18:21
wgzhm, I see, it's building with cygwin's gcc, and pyrex not cython18:24
wgzso perhaps the failures relate to that, the debug-windows setup is not the same as the selftest-windows setup maybe?18:25
wgzhm, random poking isn't getting me anywhere, but does show that the .pyx file being used isn't the one from the build process I think18:44
wgzenough for today.18:45

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