/srv/irclogs.ubuntu.com/2011/02/24/#bzr.txt

=== Guest72054 is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
=== Ursinha is now known as Guest70297
=== Guest70297 is now known as Ursinha-afk
=== Ursinha-afk is now known as Guest94180
=== Guest94180 is now known as Ursinha_
=== arjenAU2 is now known as arjenAU
fullermdthumper: I'm pretty sure it only ever expands lp: through the UI.  The saved locs in branch.conf are pre-expanded, it won't indirect through the directory service for them.01:19
fullermd(so if one did get in there, it wouldn't work)01:19
thumperfullermd: ah, ok01:35
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
=== 84XAAAATU is now known as beuno
=== chx_sleep is now known as chx
wolterdoes bzr use argparse?02:33
mwhudsonno02:35
mwhudsonit has its own thing that predates argparse (and uses optparse as a backend iirc)02:35
mwhudsonsee bzrlib.option?02:36
wolterhm dont know whats that02:39
PengWhat it is is bzr's option parser.02:46
mwhudsonwolter: it's a module within the bzrlib package02:49
chxhow the years have passed :)02:52
chxsix years almost, no wonder the option parse predates argparse :)02:54
vilawolter, chx : And IIRC argparse is not available for python2.4 (we still maintain compatibility with it so far) right ?07:00
wolterwouldn't know :s07:04
vilawolter: np, just saying07:05
vilawolter: it would be nice to switch anyway but that can't be done *now*07:06
=== mbarnett` is now known as mbarnett
bialixbonjour vila09:17
vilabialix: hey !09:17
bialix:-)09:18
bialixto continue our last conversation09:18
bialixI think qbzr really needs atomicity re group of options09:18
bialixand group of options per se09:18
bialixgroups09:19
vilacan you elaborate on that ?09:19
vilawhy is it needed, what are the failure scenarios ?09:19
bialixwe have several pixels options: size, is_maximized flag, sometimes even the relative sizes of widgets09:19
bialixthe scenario is simple: for qbzr those options should be read and written as one operations09:20
bialixto always have consistent state09:20
bialixthat's my idea09:20
bialixcurrently config interface is one-option-at-time oriented09:20
bialixalthough some internal options are grouped as well09:21
bialixsay, bound_location + is_bound flag09:21
bialixnot sure about stacked on option09:21
vilayes, it's one option at a time and I'd like to change that, but when will that fail ?09:21
vilaI mean, with the current implementation09:21
bialixsmart server09:22
vilawhat will fail there ?09:22
bialixwe're using commit_data group and older smart servers has no support for dicts in config09:22
bialixs/has/had/09:22
bialixnow spiv fixed this09:22
vilathat's a different problem, not related to atomicity09:23
bialixqbzr don't hold the lock all the time09:23
bialixand bzr-explorer for more broad example09:23
vilabialix: we're talking past to each other,09:24
bialixconfig's API is: if you need 1 option then read a config file09:24
vilaif there is no atomicity, what could go wrong ?09:24
bialixI can't say09:24
bialixmy point not about imaginary race condition09:25
vilamine is :)09:25
bialixbut about the situation that sometime some code works with tightly coupled group of options09:25
vilaif you don't encounter a race, then setting the options one by one gives the same end result09:26
bialixthose options should be read simultaneously, and should be written simultaneously09:26
vilawhy ?09:26
bialixexcept that you have to re-read the same config many times09:26
bialixlet's talk again about smart server09:26
bialixto change 5 opyions you need 10 operations09:26
bialixoptions09:27
vilayes, the concern is about performance but this can be address more easily than the race conditions09:27
vilaand you can also get atomicity by bencoding your set09:27
vilaof course bencode is user hostile, but that's another issue09:28
bialixbencoding the set is ad-hoc solution09:28
bialixI don't really like the idea of bencoding09:28
bialixI understand it and can use it if nothing else helps09:28
bialixbut I'm not very keen to it09:28
bialixthe very fact that I should bencode my group of options sounds wrong to me, and you?09:29
vilasure, I'm talking about a temporary solution there and what is the best trade-off09:29
bialixmaybe that's why we have our own wheel in the qbzr09:30
bialixI can't say09:30
vilaif/when we reach the point where a config *file* is read once and written once for a given transaction, we get the atomicity back without performance costs09:30
bialixvila: I'm going to implement "group" idea for qbzr's pixel settings09:31
vilabialix: don't do that with subsections please, you'll make my life harder :-}09:31
vilabialix: anything else is fine :D09:31
bialixoh no09:31
bialixyou read my mind09:31
bialixwhere is my tin cap?09:32
vilahehe, may be I'm over concerned with compatibility...09:32
vilaa radical way to address it will be to consider that the new features will be provided for new files only and leave the existing features for the existing files09:33
bialixyep09:33
vilathen one new feature would be to bootstrap the new file from the old one, converting on the fly09:33
bialixas I said yesterday I want to extract pixels options into separate zoo09:33
vilabut it still feels wrong to tell you:"yes, use that, I will remove it soon"09:34
* bialix nods09:34
vilabialix: climb on my rug, I will pull it from under you :D09:35
bialixhehe09:36
vilaexcept for the multi-line value problem, *sorting* the file on dotted names could address your finding issues...09:38
vilaand by the way, X resources are also specified with dotted names, so we aren't inventing anything new there09:39
vilawe're talking about a technic used for years09:39
viladecades09:39
bialixcenturies...09:39
vilaat least :D09:39
bialixI can't resist sorry09:39
vilaand 'sort -c. -k<n>' is also a good friend to get various sort orders...09:40
vilayeah, I know, may not work on windows, but still09:41
vila'bzr config' also accept regexps for NAME... we can imagine adding a sort option there and you wouldn't have to ever look at the file content09:42
vilabzr config *size*09:42
vilaerr09:42
vilabzr config .*size.* ?09:42
vila--scope qbzr09:43
vila(NIY)09:43
bialixniy?09:43
vilaNot Implemented Yet09:43
vila--scope qbzr that is09:43
bialixthat all sound good09:44
bialixbut I think the groups and subsections are really cool09:44
bialixI understand your intents09:44
vilaand *my* concern is that adding support for subsections will make the UI confusing09:45
bialixbut I see how groups will simplify the things09:45
bialixI don't need those subsections to be editable by user09:45
bialixso no UI concerns here09:45
vilaevery difference between the data stored in the config files and the way it is accessed is a source of issues09:46
vilaa basic line in a config file is: 'name =value'09:47
vilaso far it translates at the UI level by: to refer to an option I use the 'name' I see in the config file09:47
vilaif you add sections there, it's still valid as long as the sections are used to allow using the same name multiple times but still for the same option09:48
vilathe sections are then used to decide which context is appropriate (extending the idea from locations.conf where the path defines the context)09:48
vilaif you use subsections as part of the name, things become blurry09:49
vilaI want to refer to this option, so wait, what's it's name ?09:49
vilas/it's/its/09:49
vilacommit data is already violating this principle, hence my concerns about it09:50
vilaoverall, I'm trying to *reduce* the number of concepts the user has to deal with, without losing features09:51
vilaso if dict values can be represented with a set of dotted names sharing the same prefix (the dict name), it's better than forcing the user to specify an option differently whether its value is a scalar or a dict09:52
vila*and* we regain control on section names to carry another kind of information09:53
bialixI don't understand why commit_data violates this principe09:53
vilabecause it uses section names to implement option names09:53
bialixno, it's not09:53
vilaso we can't use section names for other purposes09:54
vilayes it is09:54
bialixit uses section name to get atomicity09:54
vilago to beginning-of-discussion09:54
vilaatomicity can be achieved with other means09:54
vilaand the user shouldn't have to care about it09:54
bialixhere we call that "hand-made sunset"09:55
bialixok, I understand, you want commit_data to die09:55
bialixthat's possib;e09:55
vilano, I don't want it to die, I want it to be represented differently without losing any other feature09:57
bialixbencode everything everywhere everytime09:57
vilabialix: have you read configuration.txt in lp:~bzr-core/bzr/devnotes ?09:58
vilabialix: no, bencode is user hostile09:58
vilabialix: using bencode loses the user-friendly property of being able to read the config files09:58
bialixvila: I don't use locations.conf09:58
bialixso I don't really care about it09:58
bialixhonestly09:58
vilabialix: that's not the point09:58
bialixthere are too much config files09:59
bialixthat bothers me09:59
vilabialix: really ?09:59
bialixsometimes09:59
vilabialix: then what about grouping them into the same config file then ?10:00
bialixmaxb will complain10:00
vilabialix: and use section names to decide which section apply in which case10:00
vilabialix: rhaaaa, come on, maxb made it clear that he was referring to option specific to a given user on a given host10:00
vilabialix: and options that nobody want to see but still want to be persistent for that matter10:01
vilabialix: different type of options requires different config files, yet, the same kind of options should be in the same config file even if they are used by different parts of the code (including plugins)10:02
vilabialix: the bookmarks plugin is a good example here10:02
vilait's current implementation use a [BOOKMARKS] section in bazaar.conf but a name space trick (bookmark_xxx) in branch.conf10:03
vilathat's not user friendly !10:03
vilaif I define mypush=lp:~vila in bazaar.conf and want to specialize it in a given branch it will be called bookmark_mypush in branch.conf but when I want to use it I must use 'mypush' ghaaa10:04
=== bialix_ is now known as bialix
vilabialix: what was the last msg you got ?10:04
vilajelmer: hi :)10:05
bialixvila: [12:01]<vila>bialix: and options that nobody want to see but still want to be persistent for that matter10:05
vila<vila> bialix: different type of options requires different config files, yet, the same kind of options should be in the same config file even if they are used by different parts of the code (including plugins)10:06
vila<vila> bialix: the bookmarks plugin is a good example here10:06
vila* jelmer (~jelmer@a83-163-205-244.adsl.xs4all.nl) has joined #bzr10:06
vila* jelmer has quit (Changing host)10:06
vila* jelmer (~jelmer@samba/team/jelmer) has joined #bzr10:06
vila<vila> it's current implementation use a [BOOKMARKS] section in bazaar.conf but a name space trick (bookmark_xxx) in branch.conf10:06
vila<vila> that's not user friendly !10:06
vila* tchan1 (~tchan@c-69-243-144-187.hsd1.il.comcast.net) has joined #bzr10:06
vila<vila> if I define mypush=lp:~vila in bazaar.conf and want to specialize it in a given branch it will be called bookmark_mypush in branch.conf but when I want to use it I must use 'mypush' ghaaa10:06
bialixI see10:08
bialixwhar's the cure?10:08
bialixbookmarks might use sections everywhere? no wait, we going away of sections10:08
jelmer'morning vila, bialix10:09
jelmersorry, my VPS is giving me trouble this morning.. now connected directly to IRC :)10:09
bialixhey jelmer10:09
vilabialix: the cure is to use: 'bzr.bookmarks.mypush' that you can use in every section in locations.conf, in bazaar.conf and in branch.conf10:10
bialixvila: I think I don't like them to be in [DEFAULT] section of bazaar.conf10:10
vilaanother problem with dict values: say a user want to modify a single value in the dict, what would be the syntax for 'bzr config' ?10:11
bialixjust because they're not defaults10:11
vilawhat ?10:11
bialixI dunno10:11
bialixvila: I think I don't like'bzr.bookmarks.mypush' to be in [DEFAULT] section of bazaar.conf just because they're not defaults10:11
bialixI dunno re dicts10:12
* bialix has to press enter not so many times10:12
vilabialix: if they are defined in bazaar.conf *empty* section ([DEFAULT] is nothing more that an alias for an empty section in branch.conf that's why I want to get rid of it ([DEFAULT] in bazaar.conf that is))10:12
vilabialix: then they defined the default value for the bookmark if it's not defined anywhere else10:13
vilaso it *is* a default10:13
vilaif it's defined in branch.conf, it takes precedence10:13
bialixyes, I know this hack10:14
vilaI want this hack to become a generalized feature10:14
bialixyou know, in fact I really like how git works with configs10:15
vilaand I want to reuse the locations.conf trick for naming sections as paths but allow it in bazaar.conf to define default values as opposed to overriding values in locations.conf10:15
bialixin git qbzr.foo means [qbzr] section and option foo10:15
vilaI dunno how it works in git, tell me10:15
vilathat's exactly my proposal, see configuration.txt in devnotes10:16
bialixthat's how I understand it from their man pages10:16
bialixno, you say there should not be sections10:16
vilano10:16
vilaread configuration.txt in devnotes10:16
vilaI want to use sections, but not for dict values10:16
vilaand if they are used for dict values I can't use them10:17
bialixvila: I'm reading now10:17
vilak10:17
bialixit said: This means that in the most common cases, the user doesn't need to define any section.10:21
bialixalso: A section is named by the path it should apply to (more examples below).10:22
bialixvila: qbzr has several options that are not very suitable for bazaar.conf10:22
vilabialix: I thought we agreed yesterday that these options should stay in their own config file10:22
vilaNot all config files needs to define sections (in the most common cases, the user doesn't need to define any section)10:23
vilaI'm not aiming to collect all options in bazaar/branch/tree conf files if they don't fit, and I think the qbzr window options don't fit10:24
vilathe commit data fits in tree.conf, I don't yet see a case where it would need sections (but I may be wrong there and maybe the colocated branch *relative* path may be useful)10:25
bialixok, enough food for the mind, it's time to get some food for the body10:27
bialixvila: I'm sure we can continue our mindstorm later10:27
vilabialix: cool, one last thing:10:28
bialixI'm too qbzr-centric10:28
bialixvila: you want to get a broader picture10:28
vilabialix: when I wrote the devnotes doc, I was only considering paths for section names (and mostly absolute paths for that matter)10:28
bialixmaybe that's why we can't find the common way10:28
vilabialix: now, I realize section names can be used for different cases, qbzr.windows.conf can use them for window names (since they are no overlap in this case), authentication.conf can use them for server urls or regexps, etc10:29
vilabialix: now, I realize section names can be used for different cases, qbzr.windows.conf can use them for window names (since there is no overlap in this case), authentication.conf can use them for server urls or regexps, etc10:30
bialixk10:30
vilabialix: but the basic idea is to not use section names if you can use the name space to achieve the same result10:30
bialixthere is no rul for all, right?10:30
vilabialix: roughly yes, as long as a defined common set of rules is respected by all :D10:31
bialixI need to chew your words some time10:32
vilaone is: option names are valid python identifiers (aka dotted names, no space, no funky stuff, may be even mo unicode if it makes things simpler)10:32
bialixno unicode -- that's right10:32
bialixbut anyway, can I have groups API please?10:33
jelmergroups?10:34
vilayou can build them yourself from get_option_matching('^qbzr.windows.')10:34
bialixwhat's about set?10:34
bialixjelmer: we're talking about groups of options10:35
vilabialix: or rather, forget about atomicity by considering that we will reach a point where we read/write a conf file once by transaction10:35
vilabialix: set ? You mean list values ?10:35
bialixno I mean about set options back10:35
vilaEPARSE10:35
bialixwrite10:35
bialixget-set10:35
bialixyou wrote get_option_matching10:35
bialixcan I set dict :-D10:36
bialix?10:36
vilaif the conf file is written once, you don't care about setting each option separately, if you need helpers for that, we can think about it yes10:37
bialix(abort write commit group)10:38
vilabialix: [conf.set_user_option('qbzr.windows.%' % k, v) for k,v in d.iteritems()]10:38
bialixconf.set_user_option_group(mydict-here) :-P10:39
vilayes, that's the helper10:40
vilabut you need to give it a name too10:40
vilaprobably set_user_option_from_dict(name, dict)10:41
bialixand it will bencode?10:41
vilaand only scalars accepted as values in the dict10:41
vilanooo10:42
bialixI think we stuck around ConfigObj10:42
vilagood enough for now, no need to change IMHO10:42
vilahow we *use* it should be better enforced though10:43
bialixthat's what I mean10:43
bialixit has many features10:43
bialixbut some of them are not good enough or de-jure prohibited10:43
vilayup10:43
bialixbut not de-facto10:43
vilabut that's part of the evolutionary process, you start using/testing and change your mind along the way10:44
bialixok10:44
vilamany plugins poke under the cover because the proposed features were too limited10:44
vilaI'm trying to summarize all the current needs so we can propose a better evolution10:45
bialixthat's good10:45
bialixI hope shaggy qbzr needs gave you many food10:45
alfHi, is there an easy way to change the nicknames of the commits in a branch (eg because I decided to rename a branch)?10:50
vilabialix: yup, very good feedback !10:50
vilaalf: no, but further commits will respect the new nick10:51
vilaalf: revisions are immutable, if you want to change them, you need to create new ones10:51
vilaalf: they are immutable because it means they can be shared and everybody can refer to them by their ID and have the guarantee that they are talking about the same thing10:52
vilaalf: so you can't change that thing without losing this property10:52
alfvila: sure, but the branch I am working on is still local/private...10:54
alfvila: could the rebase plugin help here?10:54
vilaalf: sure, rebase will create *new* revisions10:54
vilaif don't know if you can change *just* the nickname from the available UI, but rebasing is the way to go for that kind of change10:55
alfvila: thanks, although I cannot make rebase to work. When I try to rebase the existing revisions in a branch after having changed the nick it just says "Base branch is descendant of current branch. Pulling instead"11:04
alfvila: which makes sense, of course, but doesn't fit my needs in this case11:05
vilaalf: right, that's... yeah, exactly11:05
vilaalf: file a bug11:05
vilaalf: out of curiosity, why does the nick matters in your case ?11:05
alfvila: just being pedantic, really :)11:06
vilaalf: ok, np, I am pedantic myself on occasions ;)11:06
jelmervila: are there still plans to switch to Tarmac at some point?11:08
vilajelmer: yes11:09
vilajelmer: we were supposed to do that back in Dallas and then... it didn't happen ;)11:09
jelmervila: ah, ok11:15
jelmervila: whoa, 33893 unit tests...11:32
vila...and counting ;D11:32
vilajelmer: http://babune.ladeuil.net:24842/job/selftest-lang-C/25/testReport/ says 125,095 tests :D11:34
vilaand some slaves are missing in this run ;)11:34
vila...and that's without any plugins of course11:35
vilajelmer: but back to your remark, was there a recent increase because you managed to better plug the foreign tests ?11:36
vilajelmer: or are they already well plugged and you just noticed the number ?11:37
jelmervila: yeah, this is partially because of the per_{workingtree,branch,repository} tests now running against the foreign plugins11:45
jelmerI think that accounts for a couple of thousand tests11:46
jelmernow to get them all passing..11:46
jelmeroh, and we do stuff like this:11:47
jelmerbzrlib.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_set_push_location(HgWorkingTreeFormat)11:47
vilajelmer: O_O12:05
vilajelmer: fun ahead :D12:05
vilajelmer: if the end result is that suddenly upload works for svn, hg and it trees... that would be... an unexpected but interesting side-effect...12:07
vilawhere did that 'g' go ?12:07
jelmervila: Yeah, that'd be nice.. not sure yet how shallow these test failures are12:07
vilajelmer: the root cause should be quite clear in upload sources, I was aiming in the same direction as you... getting test parametrization for free from bzr12:08
vilajelmer: and that's all I care about, whatever the way it's achieved12:09
jelmervila: yeah, this is really neat12:09
jelmerI've already discovered some things that would be genuine bugs12:10
vilabingo !12:10
maxbSo, anyone want to look at something weird?12:13
maxbThere's a bzr-builddeb test that fails in the daily PPA, but not for me locally12:13
maxbAlso, I have replaced my bzr-cvsps-import MP with two new ones that supersede it12:14
* jelmer tries to run the bzr-builddeb tests12:15
jelmermaxb: Runs fine here too - what's the error in the daily PPA?12:19
maxbTestMergeUpstream.test_smoke_renamed_file fails in a way I do not really understand12:20
maxb  File "/build/buildd/bzr-builddeb-2.6+bzr526~natty1/merge_upstream.py", line 96, in changelog_add_new_version12:21
maxbOSError: [Errno 2] No such file or directory12:21
jelmermaxb: Hmm, no idea at a first glance..12:45
jelmermaxb: r=me for your bzr-cvsps-import MPs12:46
wgrantWhat's the conventional way to initialise plugins in a script?13:12
wgrantJust call bzrlib.plugin.load_plugins() after the imports?13:12
jelmerwgrant: yep13:13
wgrantjelmer: Thanks.13:14
vilawgrant: still up ???13:29
wgrantvila: Yes.13:30
vilawgrant: oh my, I wanted to ask you to keep an eye on package imports fallouts once I deploy a new driver there, but you will never wake up tomorrow :D13:30
vilawgrant: err, I mean, any potential fallouts on the lp side13:31
wgrantvila: What are you changing?13:31
vilawgrant: the mass_import.py script which should not change anything regarding launchpad, so you're not supposed to see anything unsual13:31
vilawgrant: and since I didn't hear rumours about a debian release, you may in fact see nothing at all, but just in case I wanted you to be aware of the change13:32
wgrantHaha.13:32
wgrantThanks.13:32
vilajelmer: yes, I know, deprecating symbols is a pita13:37
jelmervila: hmm?13:41
vilajelmer: oh, you haven't seen my last review yet :)13:42
vilajelmer: and thanks for yours by the way !13:42
jelmerah :)13:42
jelmerthanks for the review(s), much appreciated :)13:49
jelmeronly one branch left before being able to move the weave formats into a plugin..13:51
vila\O/13:52
vilaone last test before pulling the new driver for the package importer13:53
jelmerniice13:55
vilaok, imports failed, test succeeded :D13:56
vilayes, the test was to collect the failures ;)13:56
wamHow do I save credentials when using bzr+https so that the next bzr up or bzr commit won't ask me again?14:18
* jdobrien is back from kneeling in the dirt15:00
jdobrienoops15:00
maxbwam: http://doc.bazaar.canonical.com/bzr.dev/en/user-reference/authentication-help.html should tell you what  you need to know15:04
wamah - authentication.conf. I just read about it as a feature-request.15:05
wamthanks. I'll try15:05
wamor is this 2.4 only?15:05
maxbno, it is fairly old15:06
wamnice, thanks15:07
=== Ursinha is now known as Ursinha-lunch
cr3what's the proper way to merge diffs between releases from one branch to an unrelated branch, like lp:foo to lp:ubuntu/foo for example. I keep doing something like (cd /path/to/foo; bzr diff -r1..2) | patch -p0, but that's aweful :(15:16
wammaxb: yeah, works smoothly, although the scheme bzr+https is not recognized in my 2.2. But that's not requried. Any scheme will do. thanks again15:18
maxbwam: hmm. Does it support https: ?15:18
wammaxb: positive15:21
maxbwam: Hmm. It's definitely supposed to support bzr+https:15:24
catphishi was just about to ask about bzr+https15:26
catphishit doesn't seem to work well15:26
catphishi think there's a problem with python 2.6 + pycurl + bzr+https15:30
catphishwhich seems to be killing my attempts to use it15:30
wamdunno about pycurl, but it runs smoothly for me15:36
catphishhttps://bugs.launchpad.net/bzr/+bug/24169815:37
catphishhttps://bugs.launchpad.net/bzr/+bug/36587415:37
catphishthat's the problem i'm having15:37
catphishit seems to affect only the combination of smart http + SSL + basic auth15:37
catphishbut that's the configuration i need to use :(15:38
maxbcatphish: have you tried uninstalling pycurl so that it uses urllib?15:40
catphishmaxb: i'm told it can be made to work using https+urllib://15:41
catphishbut that doesn't seem to try to use the smart protocol15:41
catphishyes, it seems to work when pycurl is uninstalled15:43
catphishthat's annoying15:43
vilawam, maxb: https is the scheme to be used in authentication.conf when using either https or bzr+https15:43
catphish(not annoying that it works, but it would be nice if there were some other way to stop it using pycurl)15:43
=== zyga is now known as zyga-afk
vilabug #241698, ubot, tell me more15:44
ubot5Launchpad bug 241698 in Bazaar "POST to authenticating proxy causes "necessary data rewind wasn't possible" error (dup-of: 365874)" [Medium,Confirmed] https://launchpad.net/bugs/24169815:44
ubot5Launchpad bug 365874 in Bazaar "curl error: necessary data rewind wasn't possible" [Medium,Confirmed] https://launchpad.net/bugs/36587415:44
catphishubot5 is on the ball15:44
vilacatphish: did you read the bug reports ?15:44
vilacatphish: can you provide a .bzr.log while running a failing command with -Dhttp as an additional parameter ?15:45
vilavila: did you check your inbox ?15:45
catphishwhat does -Dhttp do?15:45
vilaerr, wait15:45
vilacatphish: it will output a transcript of the http dialog in .bzr.log15:46
catphishah15:46
vilacatphish: for debug purposes15:46
vilacatphish: so you didn't read the bugs comments then ?15:46
catphishi read much of it15:46
catphishbut got distracted by someone else talking about it here15:47
* wam winks15:48
catphishvila: http://paste.codebasehq.com/pastes/cx5364v4fo2615:49
vilacatphish: but first, what bzr version are you using ?15:49
catphish2.1.1, python 2.6.515:49
vilanginx/0.7.6515:50
vilaouch, 2.1.1.. OS ?15:50
catphishubuntu 10.0415:50
catphishUser-Agent: bzr/2.1.1 (pycurl: libcurl/7.19.7 GnuTLS/2.8.5 zlib/1.2.3.3 libidn/1.15)15:51
catphishseems to be what ubuntu installs by default, and therefore annoyingly what users are likely to have15:51
vilasudo add-apt-repository ppa:bzr/ppa will give you access to the latest and greatest stable versions of bzr itself and a bunch of plugins15:51
wamoh damn - i always used virtualenv + easy_install ;)15:52
vilawhy, do simple things when you can do complicated ones instead ;-D15:53
=== joey-tosh is now known as joey
vilawam, catphish: But my suspicion will be against nginx15:54
vilawait, you're in touch with the admins there right ?15:55
catphishi am the admin there, thats why i'm trying to make this work :)15:55
vilacool, one less hop in the loop15:55
catphishand ideally trying to make it work against the old version of bzr that ships with ubuntu15:55
wamcatphish: i just did setup this: http://thomaslow.com/2011/01/24/configure-redmine-advanced-bazaar-integration/15:56
wamcatphish: works perfectly, but you need 2.215:56
wamor you'll get a error that bzr can't understand what 401 means.15:56
catphishyeah, though you can work around that by specitying the username in the url15:56
wamah15:56
catphishbzr+http://username@server15:56
waminteresting15:56
catphishit prompts you for the password before making the first request15:57
catphishso no 40115:57
wamcatphish: are you going with redmine or is that just so that bzr+http works?15:57
catphishredmine sounds like a competitor15:58
catphish:)15:58
wami see15:58
vilacatphish: first things first: bzr+ssh is not an option ? Easier to setup (well, for some values of easier), guaranteed to work15:58
catphishbzr+ssh will work15:58
catphishi just want http(s) to work too15:58
vilak15:58
catphishand http works fine15:58
vilaook15:58
catphishit's just when ssl is enabled it throws this odd error15:58
catphishand only when pycurl is installed15:59
catphishbut annoyingly that seems to be how ubuntu is set up15:59
catphishso id like to be able to work around it15:59
catphisheither with a different URL or by adding headers at the server sidew15:59
catphish*side15:59
vilacatphish: so, from my dusted memory, the issue was that somewhere in the stack (curl or ssl) someone was trying to seek the a file handle backwards which broke upper levels16:01
catphishah16:01
catphishis there a way simply to disable pycurl?16:02
vilacatphish: the immediate workaround would be bzr+https+urllib:// but this would mean that the certificate is not checked anymore16:02
catphishi tried that first, but it doesn't seem to recognise the protocol name16:02
catphishbzr: ERROR: Unsupported protocol for url "bzr+https+urllib://charlie@test.codebase4.com/test-repositories/bzr1.bzr"16:02
vilashudder16:03
wamright, i get that rewind bug too with ubuntu's 2.116:04
vilawam: so you confirm it's fixed in 2.2 then ?16:04
catphishi realise its my own fault for using 2.116:04
catphishbut lots of my customers will :(16:04
wamat least it's fixed with my easy_installed 2.216:04
vilacatphish: sure, not your fault16:04
wamah no16:04
wam2.316:04
wamis what i have now16:04
wamit's definitively fixed with 2.316:05
vilacatphish: but it's hard to fix bugs in old releases *and* get them deployed16:05
wamAND it works with Bazaar (bzr) 2.2b2 - which comes from ubuntu maverick16:05
vilacatphish: we're working on it though, there is  a SRU in the pipes for 2.2, once we get that done... we *may* try one for 2.116:05
wammaybe you can backport this package from 10.1016:06
vilathat's what the ppa offers16:06
catphishany idea if i can do anything server side here?16:06
catphishor in the url16:06
vilacatphish: stop using authentication may address the problem but I doubt you'll like that ;)16:07
wamcatphish: are all clients yours and are they all ubuntu?16:07
vilacatphish: seriously, it's a client-side issue16:07
catphishthe clients are not under my control, they could be running anything16:07
wamk16:07
catphishi'm just trying to maximize compatibility16:07
vilacatphish: will they *require* certificate validation ?16:07
catphishvila: no16:07
vilathen urllib should work around the issue,16:08
catphishthey just feel better if it says https16:08
vilashudder16:08
catphishindeed16:08
catphishis there a pay to persuade it to use bzr+https+urllib?16:09
viladamn, where did my defaultToUrllib plugin go ?16:09
catphishfailing that i will have to tell people to upgrade and/or remove pycurl16:10
catphishand/or drop SSL support for a few months16:10
=== deryck is now known as deryck[lunch]
maxbIt would be nice if we had a more structured approach to the url scheme decorators, such that arbitrary combinations were valid16:12
catphishis it just a hardcoded list at the moment?16:12
vilacatphish: http://paste.ubuntu.com/571783/16:13
vilaput that in ~/.bazaar/plugins/defaultToUrllib.py16:13
vilamaxb: sure, with automatic tests :)16:14
vilamaxb: unfortunately it's a bit more complex than it appears :-/16:14
vilamaxb: but I agree it would be nice16:14
catphishvila: that works like magic :)16:15
vilacool16:16
catphishi can probably distribute that16:16
vilacatphish: but keep in mind that it won't verify certificates16:16
catphishthat's annoying but IMO less so than telling people they can't use SSL16:17
vilacatphish: it's GPLed16:17
catphishi saw16:17
catphishi'll distribute it independently anyway16:18
vilaI never bothered to publish it (and I don't use it anymor eeither 8-)16:18
vilawam:, ha he's gone :-/16:18
=== Ursinha-lunch is now known as Ursinha
=== beuno is now known as beuno-lunch
vilajelmer: what's up with get_module() ? It can returns a *name* or a *module* ? Sounds confusing from the diff, should I review in context or can you answer ?16:55
jelmervila: it returns the name of the module16:55
jelmervila: Though I can understand how that's a bit vague in the current docstring16:56
vilaHaaaa, always the name, ok16:56
vilaI don't use __module__ every day :)16:56
vilaoooh, I'm not even sure I *knew* about module... how cute...16:57
vilaerrr, how come I'm reviewing a mp already marked as superseded >-/17:02
jelmerhttps://code.launchpad.net/~jelmer/bzr/per-interrepo-extra/+merge/51166 is the active one17:03
vilayup, figured that now ;)17:03
vilaI should have think about instead of blaming the 4th dimension...17:03
fullermdLousy 4th dimension.  Somehow I never have time to give it the whippin' it deserves.17:06
vilafullermd: ha ! here you are ! Hello :)17:08
fullermdI am!  Oh!  There I are.17:09
epoxyhello. if I 'bzr add' in a directory. then I remove the files with 'rm' (not bzr rm).. when I commit, will the files I 'rm' still be commited or will I get any errors?17:09
epoxyah I think bzr status and diff answer that.17:12
=== deryck[lunch] is now known as deryck
danielshI init'd a tree yesterday.  I'd like to rewrite history such that the root of the tree is now a subdir (eg, /README now becomes foo/README, with 'foo' a child of the tree root.)17:19
danielshcurrently it seems to me that fast-export is the way to go,17:19
danielshare there other/better options?17:19
=== beuno-lunch is now known as beuno
* danielsh (FTR, fast-export did it with some manual massaging of the stream.)17:49
* danielsh afk17:49
* danielsh (back later)17:49
maxbdanielsh: Hi. Wouldn't it have been simpler to just move all the content into a subdir?18:08
fullermdWell you really need a pivot_root command.18:10
vilajelmer: do you have the bzr kanban URL handy ? The ones in my history seem to be 404'ing O_018:47
maxbvila: This one? http://people.canonical.com/~mbp/kanban/canonical-bazaar-kanban.html18:51
vilamaxb: Indeed ! Thanks ! I was totally on the bad track (devpad...)18:52
wolteris there documentation on the bzrlib.option module? I cound't find any yesterday19:16
vilawolter: pydoc bzlib.option19:49
vila... again.... why don't I just use completion as ping-check...19:50
vilaand mgz did that just to point out the flow in my logic... I'm sure !19:51
fullermdAt least he didn't point out the flaw in your logic   :p19:53
vilafullermd: that's the most devastating thing you could have said at this precise moment :-(19:55
* vila kicks off Marvin: "Don't ever touch this keyboard again !"19:58
vila:D19:58
vilastill 4444 imports to go at http://package-import.ubuntu.com/status/19:58
vilanow that's a number19:58
vilacomposed with the most delicates power of 2 represent as often as itself19:58
vilated, represented19:58
fullermdNot only that, but the sum of them is a power of 2 too.  And it's the power of 2 represented by the digits themselves.19:58
* vila sudo importer kill -919:59
vilaan oasis of beauty in an ocean of bits20:00
fullermdTheir product maxes out a byte, too.  Which would be the bits numbered by the sum of the number of digits and the digit itself.20:00
fullermdAnd if you round off its square root, you get a quad-repeat of digits too; 66.66.20:01
vilaOMG, the hidden perfection ! Nobody knew it and it just appeared from the middle of nowhere 8-)20:01
vilaand now it's gone... impermanence..20:02
fullermdHalfway between the two would obviously be 555.5.  If we take that as a product and a subtraction, we get 5*5*5-5 = 120.20:03
vilaonly to be replaced by 4411 hehe20:03
fullermdDividing that by the 66.66, we get another nice repeating series: 1.800180018001800...20:03
fullermdTake that 1800 away from our original 4444, and we get 2644; back with the 4's, and this time they're the average of the preceeding digits.20:03
vilahey, you seem to ob your way for the infamous five 5 games: with the usual operators and using the five 5, find all the integers starting from 0 and going as far as you can :)20:04
vilas/ob/on/20:04
vilas/ob/be on/ tyops while re-reading, the next level20:06
=== Leonidas_ is now known as Leonidas
vilasomething weird is going on... with the net20:37
fullermdProbably needs to be rebooted.20:37
vilaor shutdown to stay on the safe side20:37
vilaI still suspect Morris to plan a come-back one of these days...20:38
lamalexHi, I got a merge conflict and was wondering if there was anyway way to tell bzr to just throw out the incoming changes and use the in tree version whole hog21:09
james_w`lamalex, "bzr revert file"21:10
lifeless'bzr revert .'21:10
james_w`lamalex, "bzr revert ." for all files21:10
* lifeless hi fives james_w` 21:10
danielshmaxb: morning. it would have worked, but I wanted to rewrite the 5 revisions' worth of history, too.21:10
lamalexthanks james_w`21:10
lifelessjames_w`: also, your ` is showing.21:10
james_w`ooo-err missus21:11
caravelhi everybody22:07
caravelPREAMBLE I'm not trying to troll, okay ? I need to underand a few things :)22:08
spivHi caravel22:09
fullermdWell, that takes all the fun out of it...22:09
caravelit's about a web site for a self-employed food company. It was mounted by a friend who has very good marketing and web-art skills, but not that techy22:10
caravel(food retail) so he chose Magento then Joomla, tried to glue it all together as he could22:11
caraveltoday we end up with a MASSIVE amount of files, and to be honest, some kind of a mess22:11
caravelwe're getting close to th0s channel topic, please be patient :)22:11
caravelSo... 29,000 files on the hosting, including lots of stuff that should be removed. I'm family related to the retail shop, and try to enforce a few things, such as ... a VCS of course. So far, he's been hacking the hosted prod server directly ! Just learned this, he had "let us understand" that he was using sme dev copy on his laptop. Well, this was not the case22:13
=== tchan1 is now known as tchan
caravelAnyway. More than 1 year ago, I had suggedted he'd look at bzr22:14
caravelhe just did and said he had some head aches during HOURS, that bzr doesn't take so many files (apparently, he tried to feed the entire site in bzr !?!)22:14
caravelAnd in the same email, announced that he had setup hg. Well, I was a Ubuntu user for long, now I'm on Fedora KDE by choice, but I'm still scared of hg22:15
caravelhttps://developer.mozilla.org/en/Mercurial_basics22:16
caravelSo I tried to explain that. He agrees to let me try, my turn. I'm a rather very strange programmer (niche market for 15 years, xml stuff), don't have web-dev experience22:17
caravelSo I have a few questions. Thanks for having read so far, I'll start now :) </PREAMBLE>22:18
lifelessbzr should hangle 29K files22:18
lifelesswe've testing up to 100K if I remember correctly22:18
caravellifeless: I suppose so, and even many more22:18
caravelright22:18
caravelhe didn't even tried the command line !!! he wrote something like "it just closed with no message", so he was using the GUI22:18
caravelbut I'm glad to get some confrmation already, found it so strange22:19
caravelnext... anyone here is using bzr for such a webapps repo ?22:19
lifelessWe do the development for the launchpad.net website using bzr22:20
lifeless8K files22:20
caraveldoes it make ANY sense at all, to store 29,000 files from Mage, Joomla, whatever plugins such as JFusion, FlexiContents, PhocaGallery and so on, in a VCS ?22:20
* caravel assumes it does NOT22:21
caravelI've worked a lot as a tech lead with CVS and SVN, and I sometimes HAD to include a few libs "external to the project" in my own tree, but that was exceptional and due to specific integration processes22:22
lifelessso, you can do it22:23
lifelessbut a little more structure would probably be better22:23
lifelessone project per thing - mage, joomla, etc22:23
caravellifeless: yes, sure -- there are "source ours" in each app, so of course we need that22:24
caravelI just can't pronounce myself globally since I never used a VCS in such context22:25
caravelcan you tell me how you do this briefly ? is there any useful tip that will permit to "bzr update" and push only specific files, even being able to push directly the changes eg. to the prod server... but avoiding "manual installation steps" hence working with bzr of our real, respective (local) LAMP stacks on a day to day basis ?22:28
caravelI can only assume that's why he tried it this way (and I know already I'm the one who will have to identify each default/custom resource, since it's obvious he doesn't know precisely. That explains it all, and oh well, that's okay. ^^ )22:30
spivbzr is fine with that many files, but it can consume a lot of memory if you have individual large files.22:36
caravelspiv: yes, I'm guessing it had issues on the image tree -- by luck, vids are externalized ;-)22:36
spivIf you want to push only specific files, I'd try what lifeless says: break it down into multiple branches, one per project or whatever the natural boundary is for you.22:37
caravelmy question is : is this practicle to set the repo at the LAMP root, add use it to manage only "our" custom files across the tree ? (never done this in my VCS projects, always "whole" tree, never had to ask me that question)22:38
caravel*add -> and22:38
caravelso we could gently tag, update/branch and push our files only, just like a "mask" on the whole thing ?22:40
lifelesscaravel: certainly. you can use 'bzr ignore' to ignore files you got from elsewhere.22:40
lifelessor 'bzr ignore \*' to ignore everything, and then 'bzr add' specific things.22:40
caravellifeless: thanks. so we can even recursively add stuff while ignoring other. Sounds as simple as expected. I'll take it from there. Thanks a LOT for your time, people.22:41
* caravel 's thankful to spiv and lifeless (everyone deserves having his/her life back). Did fullermd have some fun anyway ? ;-)22:44
BlazingSunhi, anyone there familiar with bzr+ssh and working with multiple users?22:48
BlazingSunon the same branch22:48
caravelBlazingSun: tested this last year, seemed to work great, but I had to simulate all users so my tests were rather rudimentary and not so simultaneous22:49
BlazingSuni am trying for a few hours now, but setting the sticky-bit doesnt seem to affect newly created branches22:49
BlazingSunso only the "branch-owner" has write acess, all others only get read-access22:50
* caravel should better leave before harming anyone with wrong answers22:50
BlazingSunah i am using debian6 btw22:50
caravelBlazingSun: oh22:50
caravelBlazingSun: that should NOT be related to bzr, right ?22:51
caravelBlazingSun: but to ssh users and permissions22:51
BlazingSuncaravel: i am not sure, could be22:52
* caravel uses Debian also, but Lenny only (=stable, 5)22:52
caravelBlazingSun:  you are using distinct logins for each user, right ?22:53
BlazingSunsure22:53
BlazingSunbut they share the same group, called bazaar22:53
BlazingSunpermissions are drwxrws---22:53
caravelrwx--- at the end, you mean ? ^^22:54
BlazingSunnha rws, so newly created branches still have the same group22:54
BlazingSunwhen i set permissions manually everything works right22:55
BlazingSunbut i need the possibilty that everyone can create new branches and everyone can access them22:55
BlazingSunwithout me setting the permissions everytime22:58
BlazingSunhmm i think its the global umask, so nothing bzr related23:01
BlazingSundebian has 0022 as the default but most distros use 0002, so i found my error :)23:02
caravelBlazingSun: just read again man:chmod, thanks :)23:03
caravelBlazingSun: if you use +s, you give the the id of your "bazaar" group, right ?23:04
BlazingSuncaravel: sure, thats what i was using, but debians umask is 022 not 002 as i ecpected23:06
caravelok, I got it23:07
BlazingSunthx anyway for the help23:07
caravelBlazingSun: I don't quite get the point of using s over x (and making the tree belong to the bazaar group) ? More than interested in this anwer, our bzr will be shared over SSH/SFTP (on Lenny)23:07
BlazingSuncaravel:  if someone creates a new branch on the server he will be the owner of the branch, but i need the group to have still permission23:08
BlazingSunwith the stickybit the group will stay the same23:09
caravelBlazingSun: all clear, thanks for your answer ;-)23:26
* caravel better go and stop take the space for so little23:27
caravelnight all23:27
BlazingSuncaravel: cant fight where i can set the global umask thou ^^^n8 then23:29
caravelBlazingSun: sorry, was on something else23:50
caravelBlazingSun: in your sshd_config ?23:51
caravelBlazingSun: man sshd_config doesn't help much, right23:51
caravelBlazingSun: Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server' ?23:52
BlazingSuncaravel: im using ssh not sftp23:52
caravelBlazingSun: isn't sftp implicitely used ?23:57
caravelthis could help you I guess http://serverfault.com/questions/231717/how-to-get-full-control-of-umask-pam-permissions23:58

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