/srv/irclogs.ubuntu.com/2011/09/05/#bzr.txt

mgzokay, posting that for review before I go cross-eyed00:31
mgzthe actual changes in the branch are simple and should fix nearly all the problems, the overall picture is just complicated00:33
mgzand whoops, I totally forgot earlier dulwich isn't managed on launchpad, just realised merge proposal was asking vcs imports to look at it00:35
jelmermgz: the mp has been merged00:37
mgzhey, you magically did the right thing despite the fact I'm an idiot!00:37
jelmermgz: thanks for looking into that colo bug00:39
mgz...I take it you did it manually by somehow reading my mind, or does launchpad help out?00:39
jelmermgz: launchpad doesn't help out, especially as I use dpush on dulwich00:40
jelmermgz: for bzr-svn pushes (which have roundtripping) it does recognize merges properly00:40
mgz^some of the colo thing I think is just going to be messy because you're trying to layer an extra external thing onto urls00:41
mgzbut it should all be fixable at least00:42
mgzI think it just needs choosing what behaviour is wanted in a few corner cases,00:43
mgzthe sort of branches anyone will use in practice should be fine already.00:44
=== mwhudson_ is now known as mwhudson
vilahi all !07:06
pooliehi vila07:38
poolienice report07:38
poolieoh no :)07:38
vilapoolie: hehe07:39
vilapoolie: you've been good at updating that topic for the past weeks ;)07:39
=== vila changed the topic of #bzr to: Bazaar version control <http://bazaar.canonical.com> | try https://answers.launchpad.net/bzr for more help | http://irclogs.ubuntu.com/ | Patch pilot: poolie
pooliethat was really classy actually07:41
pooliei think i can manage it this week07:41
vilapoolie: try https://code.launchpad.net/~vila/udd/819910-file-mp/+merge/73927 for an easy one (it's already deployed which is... well it is ;)07:43
pooliethanks07:53
pooliefwiw i really prefer just 4-char indents for paramter continuations07:54
vilafwiw I just type enter and let my editor do the Right Thing ;)07:54
poolieor not :)07:54
vilawell, overriding that will be really unconvenient and error prone07:55
vilaI almost never do indentation mistakes because I just follow the mode...07:56
pooliewell, i strongly suspect there's a variable to control it07:56
pooliebut it's not a big deal at all07:56
poolieit just stood out since it was ½ the diff :)07:57
vilahehe07:57
vilathe 4 spaces indent *is* used if the line is truncated after the opening brace07:57
poolieoh, i see07:58
vilaand overall, I think it makes a lot of sense: either you put *all* parameters on the following line or you align them07:58
pooliei think lp's style guide asks for that07:58
poolieours doesn't, so i'm not saying you're wrong07:58
vilano worries, I've noticed the various usages long ago and just attributed them to other editors07:59
vilapoolie: oh, just looked at the mp, yeah, unfortunate and useless here :-/08:01
vilapoolie: left over from a more involved attempt08:01
vilapoolie: I generally revert them but forgot that one08:01
vilano big deal, just explaining08:01
=== Quintasan_ is now known as Quintasan
Riddellbonjour08:08
vilaRiddell: hey !08:10
vilaRiddell: we just a got a storm of PristineTarError on the package importer (   http://package-import.ubuntu.com/status/73aaec3da59a46ab68e18ea8c195a6e7.html) all of them related to kde: any obvious cause to your eyes ?08:12
vilajelmer: do we support bz2 on jubany ? (Shot in the dark)08:13
vilapoolie: did you talked to mthaddon ? The new pqm was ready to deploy last Friday but I deferred to you (targeting today) while the queue was purging (Friday)08:22
poolieno, i haven't talked to him since friday08:23
vilapoolie: given the config, I think we can use --parallel=fork and ask for /tmp to be tmpfs mounted, that should give us something around 5 mins to land a patch (hopefully)08:23
mthaddonI'm planning to put it live today08:23
vilahehe, excellent :)08:23
vilamthaddon: so, can /tmp be tmpfs mounted ?08:23
mthaddonvila: I'd like to have a successful run first, then we can do that, yep08:24
vilagreat08:24
vilamthaddon: just ask if you need me to trigger such a run08:24
mthaddonvila: ok, I'll let you know when we're ready for it - thx08:25
vilapoolie: https://code.launchpad.net/~vila/bzr/837926-log-make-check-trunk/+merge/73500 didn't cause problems and provides a limited but useful view, are you ok to deploy the moral equivalent for all branches ? If nothing else, it will provide some fuel for the new pqm tests08:26
poolieoh hi mthaddon08:32
mthaddono/08:32
pooliethat's great, thankyou08:32
poolievila, i still have qualms about doing test-futzing things in stable branches08:32
poolie2.4 is ok08:32
pooliejust more on general principal than because i think the specific risk is very high08:33
vilahehe, ok, I'm glad you care about stable branches this way, I do too :)08:34
poolie:) if you think it's worthwhile it's ok08:35
pooliewoo!08:35
vilapoolie: the fundamental reason I want that on all branches (including stable ones) is that it will give us hard data about regressions.08:37
vilapoolie: what was this 'woo' for ?08:37
pooliei got some improvements to lp mail handling working08:38
pooliesee that channel08:38
vilaoh, ok, yeah, great !08:38
vilajelmer, poolie: http://wiki.bazaar.canonical.com/UbuntuStableReleaseUpdates updated, I think only one of you can act from there08:40
vilajelmer, poolie : also, in the freeze announcement I said I will officially announce the release tomorrow, but thinking again about it, it doesn't really make sense08:41
pooliespecifically 2.2.5?08:41
vilajelmer, poolie : people interested in SRUs just get them via updates, telling them about it via mail... doesn't seem to match08:41
pooliebecause it's only useful to people tracking 2.2, ro more specifically on maverick?08:41
vilayeah, 2.2.508:41
poolieyeah08:41
pooliei think it's useful there be something they can read about it08:42
pooliebut it's important it be in context so people tracking trunk or 2.4 are not confused08:42
vilapoolie, jelmer: ok, I'll update releasing.txt and will announce it when it's available (ping me if I forget)08:43
vilapoolie: on my RM plate this week: freeze 2.4.1 (2.5b1 will be next week) (https://launchpad.net/bzr/+milestones for the overview)08:44
Riddellvila: I don't know I'm afraid, when I try it locally pristine tar works fine09:17
vilaRiddell: ok, thanks09:17
Riddellusing .bz2 can't be the issue, plenty packages use that09:17
jelmervila: what pristine-tar version is on jubany?09:24
jelmerpristine-tar 1.03 fixed a bzip2 issue when the bz2 compressor was changed09:24
vilajelmer: 1.11ubuntu1~0.IS.8.0409:25
jelmerhmm09:25
vilajelmer: may be unrelated, I was surprised mainly by all failures occurring being for kde and was wondering if something changed there recently09:27
jelmervila: I can't find much that could be related; did KDE perhaps change the way they create their tarballs?09:45
poolieok guys i'm off to squash09:46
pooliehave a good day09:46
vilajelmer: thanks for looking, I'll dig later to better understand the issue and let you know (cleaning up my plate from other stuff right now)09:46
vilapoolie: you too !09:47
jelmerhave fun poolie :)09:47
vilajelmer: I started using https://code.launchpad.net/~vila/udd/analyze-log-imports/+merge/74057 to get a better understanding on when imports succeed and where they come from (ubuntu/debian)09:48
vilajelmer: the vast majority todat are from debian (sid, wheezy) may be that's where something occurred recently09:49
jelmervila: are you sure it's bz2 files, not xz files?09:49
Riddelljelmer: did you get PQM error messages from https://code.launchpad.net/~jr/bzr/i18n-errors/+merge/73547 and https://code.launchpad.net/~jr/bzr/i18n-topic-help/+merge/73653 ?09:49
vilajelmer: no, not sure, just read the p-i web site so far09:49
jelmerRiddell: ah, yep. Let me see if I can find them and forward to you.09:50
vilaRiddell, jelmer : In case you missed it, mthaddon should be very close to provide the new pqm09:50
Riddellthe pqm queue is empty, the perfect time to do a switcheroo09:51
vilaRiddell, jelmer : So send one submission at a time so you can use the new one sooner ;)09:51
jelmerhehe09:51
jelmerRiddell: forwarded09:53
RiddellI do wish PQM fail logs didn't include all the expected failures09:55
jelmerRiddell: it should be possible to add a subunit filter to filter them out09:58
lifelessin pqm even10:19
lifelesschange the filter invocation10:19
Riddellwho's our unicode expert?10:50
jelmerRiddell: probably jam, though any of us know a fair bit about it10:55
jelmerRiddell: oh, jam and mgz I guess10:55
Riddellthis solves my problem but it doesn't look very elegant gettext(unicode(fmt, 'utf-8')).encode('utf-8')10:56
Riddelland is probably incorrect if not using utf-810:57
jelmerRiddell: I think generally we try to make sure we know what the encoding is of things we handle :)10:57
jelmerRiddell: where does fmt come from?\10:57
Riddellit's https://code.launchpad.net/~jr/bzr/i18n-errors/+merge/73547  and fmt is the error string10:58
Riddelland bzrlib.tests.test_errors.TestErrors.test_duplicate_record_name_error is the test case I need to fix10:58
jelmerRiddell: it looks like our (de-facto) policy is to have _fmt contain utf-810:59
jelmerhmm, though there are a few exceptions11:00
jelmerRiddell: perhaps check the type and raise a deprecationwarning if _fmt has a different type than what you expect11:00
Riddellwell the type is just str I think11:01
jelmerRiddell: some things in bzrlib.errors use unicode for their _fmt11:01
Riddellso that's unlike to work with my solution above11:03
jelmerRiddell: gettext requires a bytestring I guess?11:04
jelmerRiddell: in that case it seems most reasonable to:11:04
jelmercheck if type(fmt) == unicode, and if it is, convert to utf-8 (perhaps after printing a deprecation warning)11:05
jelmerafter that, simply passing fmt to gettext11:05
jelmerhmm, I guess it's the other way around11:05
Riddellyes11:06
* jelmer hopes he is still making sense11:06
jelmerRiddell: either way, your solution looks reasonable though we'd probably have to make sure to cope with the situation where a fmt is passed in that has type "unicode"11:07
Riddellso if it's a str() convert to unicode, if it's unicode issue deprecation warning and pass to gettext direct?11:07
jelmerRiddell: Yeah, that seems the most reasonable to me. The only thing I'm not sure about is whether we want fmt to be unicode or utf8 by default11:09
jelmerRiddell: we seem to've gone for utf8 in a lot of places though, and that's what we do for almost all _fmt strings at the moment11:10
jelmervila, jam: ^11:10
Riddelljelmer: by utf8 you mean a str that contains utf8 bytes?11:20
vilajelmer: the ~consensus is to: 1) wait as long as possible before encoding 2) default to utf8 is nothing better is known11:22
vilathat doesn't really answer the decoding though11:22
vilaRiddell: 33+from bzrlib import i18n, tests, errors, workingtree11:23
vilause multiple lines sorted to avoid conflicts ;)11:23
vila56+ err = str(e)11:24
vilaRiddell: ask mgz, but I'm pretty sure he will object ;)11:24
vilaRiddell: unicode issues make my head spin, I know mgz have spend quite some time to get things right in the subunit/testtools python2.4 -> 3.x to notably, so I'll defer to him there11:25
Riddellvila: object to str(e) ?11:25
vilayeah11:26
vilabecause. among other things,  some paths may be involved when reporting an error11:26
vilaRiddell: Oh, and don't feel bad, http://package-import.ubuntu.com/status/ mentions 58 + 10 + 5 + 2 (and probably some I miss) failures related to UnicodeError...11:28
vilaso it's not like you're alone in this boat11:29
Breedlingshi folks, I'm struggling with setting up .htaccess to limit access for checkouts. Can anyone advise please?11:31
Riddellhttps://code.launchpad.net/~jr/bzr/i18n-errors/+merge/73547 updated if anyone wishes to eye over again11:41
jelmerRiddell: we typically use .decode("utf-8") or safe_unicode to convert to utf811:46
jelmerthat's a minor nitpick; it'd be great if somebody could also have a look wrt the bigger picture11:49
Riddellok safe_unicode now in11:53
Quintasanjelmer: Do we have git branch support in LP now?12:25
jelmerQuintasan: no, that branch has not yet landed12:36
sorenjelmer: Is it far off, you think?12:45
davi_jelmer, hi, had some limited success with round tripping support. mostly works, but there are a couple of issues. subsequents pushes (-r N) to the repository fails with exception, but pull from the git repository works. another thing is that partial pushes attempt to get all tags, which is bound to fail. should i report bugs for these?13:02
jelmersoren: it's ready, just waiting to land at this point13:06
jelmersoren: we've also just updated to bzr 2.4 so I'd like to make sure that's all working without problems before landing the colocated branch work13:07
sorenjelmer: So.. Less than a month's time?13:07
jelmersoren: definitely.13:08
sorenCool beans.13:08
jelmersoren: well, I should know to never make promises like that. But really weird things would have to happen if it doesn't land within a month.13:08
jelmerdavi_: Can you perhaps comment on the roundtripping bug with what you've found?13:09
davi_jelmer, sure13:09
jelmers/if it doesn't/for it not to/13:12
jelmerRiddell: hmm13:50
jelmerRiddell: I just realized, one of the things we'll have to take into account when translating errors is how this interacts with errors sent by remote servers13:51
Riddelljelmer: mm13:52
RiddellI can do some tests13:52
Riddellbut first I need to write this app developer week talk13:52
vilajelmer: The more I see you work on foreign plugins the more I think some of these plugins should land into core...15:03
vilajelmer: with optional dependencies may be...15:04
vilas/optional/soft/15:04
jelmervila: I'm pretty happy with the current situation. What advantage would having them in core have?15:09
vilabatteries included, less regressions when something change in core15:10
jelmervila: we can't really do batteries included as we can't reasonably ship the dependencies of the foreign plugins15:11
vilait may also help to refine the core design by exposing the plugin needs15:11
jelmervila: unless you want to ship copies of the apache libraries, svn libraries and subvertpy for bzr-svn, the mercurial source code for bzr-hg and dulwich for bzr-git :)15:11
vilayeah, that's why I said 'soft' dependencies15:12
jelmerthat's not really "batteries included"15:12
vilayeah but I think you get what I meant ;)15:13
vilapycurl is such a  soft dependency for example, used if present15:14
jelmervila: I'm not sure what shipping the foreign plugins really adds in that case, as the user will still have to install e.g. python-subvertpy15:15
vilabut if you don't support the idea, never mind, there are arguments both ways15:15
vilasure, but that can be addressed with a friendly warning, etc15:16
jelmervila: for now it's not really possible anyway, as the plugins don't pass the bzr.dev testsuite15:16
vilayour status.net remark about pull <git> ; push <svn> made me think about it15:16
vilajelmer: yup, I know15:16
vilajelmer: the counter-argument is that the work you're doing right now can't be done if they were part of core15:17
vilahmm15:18
vilawell "can" be done but probably not as cleanly15:18
jelmervila: I like the idea of making it easier for end users to use the foreign plugins, but I don't think that necessarily means including them in the core15:18
vilaI see15:19
vilaand agree ;)15:19
jelmervila: I think it's already fairly easy to get the foreign plugins installed on a Linux system. We seem to do alright for bzr-svn on Windows and Mac. bzr-git isn't included in the windows installer. Not sure about bzr-git on Mac.15:24
vila...and no idea about other distros15:24
vilaI see no mention of git in the mac installers15:26
jelmervila: do you know about "whohas" ?15:26
vilano, is that a command, an IRC nick, something else ?15:26
jelmervila: It's a command, from the "whohas" package in Ubuntu15:26
jelmervila: try "whohas bzr"15:26
vilawow15:27
vilahmm, we need to find an openSUSE maintainer :-/15:28
fullermdJeez, git is a pain to use...15:29
vilafullermd: try bzr-git ;)15:29
=== beuno is now known as beuno-lunch
Riddellvila: we need opensuse packages?16:47
RiddellI've done those before16:47
vilaRiddell: `whohas bzr` says openSUSE carries 2.0.5...16:54
Riddell** Talk on Bazzar Explorer in 5 minutes in #ubuntu-classroom16:54
mgzhm, Riddell's gettext on errors branch is a fun set of problems.16:55
Riddelluh oh16:55
nigelbRiddell: ping16:55
Riddellnigelb: hi16:56
nigelbAll set? (sorry about the schedule mistake)16:56
nigelbCould you join #ubuntu-classroom-backstage as well, in case something goes wrong, or you need help :)16:56
Riddellwhat schedule mistake?16:57
nigelb"it gives the full power of tools like git but it's understandable to people other than Linus" -- I'm always going to use this when I talk about bzr.17:07
=== beuno-lunch is now known as beuno
nigelbRiddell: Nice talk.18:02
nigelbLOVED your description of bzr :)18:02
Riddellthanks nigelb18:05
Riddellmgz: what problems do you think it has?18:05
mgzeg:18:08
mgz_fmt = 'Permission denied: "%(path)s"%(extra)s'18:08
mgzreturn gettext(unicode_fmt).encode('utf-8')18:09
mgz'Lupa ev\xc3\xa4tty: "%(path)s"%(extra)s' % {'path':u'.', 'extra':''}18:09
mgztry evalling the last line.18:09
mgzthe problem is the error module is pretty confused already, so it's hard to cleanly add in gettext18:10
mgzbasically, mixing str and unicode types breaks when non-ascii is involved, and some things we want to use with errors are bytes, and some (like paths) are unicode18:12
mgzcurrently _fmt is ascii (are there any exceptions?) so provided the inputs are only one or the other, we're fine18:13
mgzbut if _fmt becomes some non-ascii utf-8 string from gettext, more things start breaking18:14
mgzso really you're exposing existing problems rather than creating new ones.18:15
mgzbut using osutils.safe_unicode is just wrong ;)18:16
Riddellmgz: why is it wrong?18:19
mgzbecause if you don't know the type of the input, you can't safely handle it18:19
mgzit's a check in the wrong place.18:20
mgzone thing I don't completely understand is the preferred input for gettext-the-python-module18:24
Riddellmgz: it might not have one18:24
Riddellgenerally it's going to expect just ascii characters18:25
mgzand it will always return unicode?18:25
mgzgettext proper has the normal mess of encodings18:25
Riddellyes it returns unicode strings18:26
jelmermgz: what's wrong with using safe_unicode if we know the input is going to be utf8 or unicode ?18:26
mgzjelmer: we very seldom do, and when we actually do, that's just a bad api - pick one or the other18:27
jelmermgz: sure, I agree we should pick one or another but we can consider one deprecated, which I think Riddell's patch does18:27
mgzthe common case is often utf-8 or ascii, but should really be looking at LC_MESSAGES or similar environmental settings18:27
jelmermgz: this is about the contents of BzrError._fmt, which would be set by a programmer. I think we require utf8 or unicode there.18:28
mgzI don't see why we can't just require ascii.18:28
mgzand write a test to that effect.18:29
jelmermgz: what if we ever need to use a non-ascii character in a format string?18:29
mgzthen we break that error for anyone with LANG=C? doesn't seem worth it.18:30
mgzI don't understand from that branch (having not followed naoki's changes that closely) is how we're getting all the _fmt strings out for translation, I guess it's a seperate step?18:31
Riddellyes that's hidden in export_pot.py18:31
Riddellwhich is a funny way to do it compared to just using  gettext() around all the strings18:32
mgzit's a side-effect of Python I guess.18:32
mgzwe don't want to do the translation at byte-code compile time18:33
mgzwait, wrongly phrased18:33
mgzclass definition time.18:33
jelmerit would be neat if we could do it at byte-code compile time.. :)18:35
mgzRiddell: okay, so the only thing I think that really needs fixing before landing is18:37
mgz+            return gettext(unicode_fmt).encode('utf-8')18:37
mgzremove the encode.18:37
mgzthere's no problem with _fmt being unicode there, calling str() on an exception encodes to utf-8 anyway, and mixing a utf-8 translation and unicode path would be common and break everything18:38
Riddellmgz: then this fails18:39
Riddell./bzr selftest -s bzrlib.tests.test_errors.TestErrors.test_duplicate_record_name_error18:39
mgzthat's not suprising, but fixing that one error is easier than fixing every error that includes a path18:41
Riddellbut the test looks valid to me18:41
mgzI'd make the exception decode the name.18:42
mgz-        self.name = name18:43
mgz+        self.name = name.decode("utf-8")18:43
mgzthen the test would pass as written.18:43
mgzwould be nice to delay that till the format step, but there's no simple way to do that.18:44
Riddellbut aren't there other errors which will need the same?18:45
mgzprobably, they're completely inconsistent at the moment.18:46
mgz    raise errors.DuplicateRecordNameError(name_tuple)18:48
mgzhuh?18:48
=== nyuszika7h is now known as evilnyuszika7h
mgzin bzrlib.pack  ...but... variable seems to be a string despite being having 'tuple' in the name18:48
mgzor, no, it is a tuple, that will something... gr...18:49
mgzRiddell: adding a test with an error _fmt string that's translated would be helpful I think...18:50
mgzmaybe make the ZzzTranslations thing use more than just ascii?18:51
mgzthen the test you added would fail.18:52
Riddellok thanks mgz, I've got to go out now18:55
mgzbye! I'll write a few things in the mp.18:55
=== yofel_ is now known as yofel
=== evilnyuszika7h is now known as nyuszika7h
=== nyuszika7h is now known as [nyuszika7h]
=== [nyuszika7h] is now known as nyuszika7h
aquarius_in Ubuntu, /usr/share/pyshared/bzrlib/tests/ftp_server/pyftpdlib_based.py contains a test for bzr that uses pyftpdlib, but... pyftpdlib doesn't seem to be packaged?21:34
mgzthat certainly was an issue... there's a bug for it somewhere21:35
mgzbug 78114021:36
ubot5Launchpad bug 781140 in Bazaar "Missing test coverage for FTPTransport, needs pyftplib" [Medium,Fix released] https://launchpad.net/bugs/78114021:36
aquarius_aha21:36
aquarius_nice one :)21:37
AuroraBorealisso i'm trying out the 'sign always' thing in bzr where it uses my gpg key22:05
AuroraBorealisbut where is it finding my gpg key? i haven't told it where it is and it keeps saying my passphrase is incorrect22:06
mwhudsonAuroraBorealis: it runs gpg22:07
mwhudsonso if echo '' | gpg --clearsign works, probably bzr will to22:07
mwhudsono22:07
AuroraBorealiswell im on windows so i have not set it up really22:08
AuroraBorealisand i have no idea how to set it up to use my key22:08
AuroraBorealisbut it somehow is using my key22:08
mwhudsonhow can i make --show-base the default for merge ?22:23
mwhudsoni guess an alias works22:23
pooliehi all23:32
mgzhey poolie.23:40
pooliehi there23:40
mgzconfusing bug numbers... I thought launchpad just gave me the same thing twice23:46
mgzbut it's 842223 and 84223323:47

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