/srv/irclogs.ubuntu.com/2010/12/03/#bzr.txt

achianghello, can someone explain what i'm doing wrong here? http://pastebin.ubuntu.com/539211/00:03
achiangtrying to make it so that my streamflow project uses my personal email, not my work email00:03
achiangaccording to the help i found on google, that syntax i used should work...00:03
mwhudsonachiang: what file is that top section from?00:04
mwhudsoni think it needs to be ~/.bazaar/locations.conf, not ~/.bazaar/bazaar.conf00:04
achiangmwhudson: ~/.bazaar/bazaar.conf00:04
achiangmwhudson: hm, interesting00:04
achiangi will try again00:04
achiangmwhudson: yes, that was it, thank you00:05
mwhudsonachiang: np00:06
achiangmwhudson: the problem was entirely mine. i read this page too fast -- http://wiki.bazaar.canonical.com/ConfiguringBzr00:06
pooliehi mwh, achiang00:06
achiangthe documentation clearly says locations.conf, and i misread it00:06
achiangso your documentation is good, i am just dumb. :)00:07
achiangpoolie: hi00:07
maxb$ bzr resolve --take-this .bzrignore00:45
maxb0 conflict(s) resolved, 1 remaining00:45
maxberm, what?00:45
maxb(yes, .bzrignore is conflicted)00:45
maxbtext conflicted, that is00:45
spivmaxb: :(00:49
lifelessmaxb: bzr resolve --take-this .bzrignore.THIS ?00:53
pooliemaxb, iirc what vila said, it does not mark it as resolved00:55
poolieit should00:55
pooliewe should distinguish "do this to the file" from "mark the conflict as solved"00:55
thumperhey01:44
thumperhow do I set append only for an existing branch on LP?01:44
spivthumper: by editing the branch.conf file, I think :(01:52
thumperwhat?01:53
thumperthat's a bit primitive01:53
spivthumper: I expect vila's config work will provide UI for this fairly soon01:53
thumperspiv: what do I need to add?01:53
thumperI'm sure hitchhiker can work wonders01:53
spivappend_revisions_only = True01:54
spivOr open the branch object and call br.set_append_revisions_only(True)01:54
pooliethumper: thanks for your mail about apis, i'm replying02:10
pooliespiv, maybe we should pair together more02:10
pooliei was thinking of buying a desktop rather than headset mike02:10
mkanatpoolie: Any hope of getting my loggerhead changes pushed to LP?02:23
mkanatOr approved, at least.02:23
pooliegood question!02:23
pooliedid i review but not mark them approved?02:23
poolieor... there are probably more still unreviewed?02:23
mkanatpoolie: Ah, I merged them into loggerhead, but the LP branch push MP is still waiting a review.02:24
glyphHey, I have a workflow hiccup with bzr that I am wondering if you guys can shed some light on.02:28
glyphI frequently encounter diverged branches that I don't really expect02:28
glyphthis is mainly in my 'personal preferences' repository, which I keep on several machines02:29
glyphthe sort of pattern is this; I'm on a plane, I make some settings adjustment based on some new tidbit of information (like, a shell helper that I didn't realize was doing a DNS lookup or something like that, that I discover because I'm offline)02:29
glyphcommit locally02:29
thumperpoolie: cool02:30
glyphthen later I make changes to the repository on my desktop, push those changes02:30
glyphand then, 30 seconds before I go somewhere, I do a quick 'bzr pull' on my laptop02:30
glyphoops!  branches diverged.  but my upstream is kind of crappy, so it takes 45 seconds to actually do the SSH handshake with my server, and I'm leaving for a meeting or something, so I just leave without my changes.02:31
mkanatglyph: Ah, you have to do a "bzr merge" in that situation instead.02:31
glyphmkanat: Oh, I know *that*.  But 'bzr merge' needs to do the SSH handshake again and deal with RTT again and it's slow.02:31
glyphMore importantly, I have to do something interactive02:31
maxbglyph: Perhaps you would be interested in 'bzr merge --pull' (pull if you can, otherwise merge)02:32
glyphmaxb: Hmm, maybe that is what I want02:32
glyphalthough02:32
maxbOf course, you still need to commit and push02:32
glyphwhat I _really_ want is 'pull if you can, otherwise, put the diverged branch in some helpful location in the same repository, so you can merge from it later'02:33
maxbWell, it's not the greatest of UIs, but that kind of already happens (except for the helpful bit)02:35
glyphhaha02:36
glyphmaxb: is that bzr's motto?02:36
glyphmaxb: 'that already works, except for the helpful bit'02:36
maxbThe not-actually-pulled head will be stored in the local repository and visible in 'bzr heads --dead'02:36
maxbyou would be able to merge it by revision-id later02:36
glyphwoah02:36
glyphthat's pretty awesome02:36
glyphso the network I/O actually _does_ happen?02:37
maxbsure, it's not just pretending :-)02:38
glyphwell, I knew _some_ did02:38
glyphI didn't realize it actually pulled all of the revs though02:38
glyphso, how about this02:40
glyphif I make a no-tree branch in my branch and then only ever pull into it02:41
glyphthen I can just do 'cd upstream; bzr pull'02:41
glyphand then 'cd ..; bzr merge --pull upstream'02:41
glyphwhen I have a moment to sit and merge later, but potentially no network I/O02:41
glyphhmm, if I do 'bzr get . upstream', it works, but it doesn't appear to use the working directory as a shared repository02:42
glyphthe branch in question is ~/something, and I don't want ~ to be a shared repository.  'bzr init-repository .' complains that '.bzr' already exists.02:43
glyphdo I have any option here?02:43
maxberm, possibly02:45
maxblet me test something....02:46
maxbIt's rather cheating quite a lot, but it seems as if 'touch .bzr/repository/shared-storage' convinces bzr to use an existing branch's repository as a shared repository for contained branches02:47
glyphmaxb: hmm02:49
glyphmaxb: maybe I don't need to do that02:49
glyphnow that I'm looking at the output of heads --dead, I can see that it's basically doing what I want02:50
glyphyeah02:50
glyphokay this is cool02:50
glyphmaxb: thanks for the info02:51
spivpoolie: it would be interesting to try pairing more02:57
spivpoolie: I'd have to have a bit of a think about headsets etc.02:57
poolieperhaps we should just meet up and actually pair?02:57
pooliei feel a bit buried with stuff i've already started but really there's no reason we couldn't pair on that02:58
poolieor or things you have in train02:58
glyphso, now I think I know how to phrase my request03:06
glyphspiv: there should be a 'bzr merge --last' (or perhaps just the default behavior of 'bzr merge' if there are pulled-but-not-merged revisions)03:06
glyphif 'bzr pull' fails03:07
glyphor "if the branches have diverged"03:07
glyphit looks like 'push' actually fixes the divergent revisions too?  this is really neat!03:07
glyphpush actually _pulls_ the divergent revisions03:07
spivglyph: how precisely would you define "last"?03:15
maxbmerge --last is an interesting concept. It's roughly equivalent to .git/FETCH_HEAD03:15
spivglyph: you mean the head most recently added to the repo?03:15
glyphspiv: I *think* that's what I mean, but I don't understand those terms perfectly, so, to be explicit:03:16
glyphbzr pull; oops, diverged; bzr merge # don't do any network I/O, you already have a diverged merge tip, just merge it03:17
glyphI don't really know about .git/FETCH_HEAD, because one of the best things - perhaps _the_ best thing about bzr, is the fact that it prevents me from needing to learn anything at all about git :)03:17
spivglyph: so the trick is finding the right diverged tip04:12
spivglyph: maybe you have other tips from doing "bzr merge; bzr revert", or from "bzr uncommit".04:13
=== BasicPRO is now known as BasicOSX
glyphspiv: well, this is why I phrased my requirement that way.05:47
glyphspiv: You could have 'bzr pull' specifically remember which tip is the right one, when the branches have diverged, and have other things wipe that memory05:48
glyphspiv: 'bzr pull; bzr whatever; bzr merge --last' would just say 'Sorry, last command wasn't a pull, I don't know what tip you mean."05:53
dmuirkind of a noob question, but how do I go about manually creating patch files? I've got a situation where I've got two trees with no common base, and I just want to copy over some revisions.06:04
dmuiris it simply `bzr diff -c revno > filename.patch` ?06:05
dmuirand and then `bzr merge filename.patch`?06:07
dmuirhmm, that didn't work06:08
peitschiedmuir: I think you need to use the gnu "patch" command to apply the batch06:09
peitschieit won't handle renames or binary files correctly however06:10
dmuirhmm, ok06:10
peitschiedmuir: give this a try? http://www.cuberick.com/2009/02/merge-bazaar-repositories-with-no.html06:11
glyphdmuir: 'bzr send'06:14
glyphpeitschie: woah, that is rad.06:15
dmuirhmm, if I understand the cuberick trick, I'm basically cherrypicking the tree as a whole?06:16
dmuirI'm still getting a bunch of conflicts, but I think they're all fairly straight forward.06:17
peitschiedmuir: sounds about right06:17
peitschieglyph: I think send wants to provide a bundle, which pretty much requires a common ancestor?06:18
dmuirhmm, send crashed on me06:19
dmuirbzrtools's patch seems to do the job reasonably well06:27
spivglyph: ok, I'd call that option --last-pull in that case.06:40
glyphspiv: really, I just want it to be the default behavior of 'merge' :)06:45
spivglyph: have a local mirror of the source branch, and have that mirror associated as the parent branch, and you'd have that ;)06:47
glyphspiv: any better way to do the branch-and-shared-repository thing?06:57
glyphit would just be handy to have the local mirror be an empty dir called 'upstream' ;)06:58
UnhappyVssUserIn VSS (M****** Source Safe) there are shared files. A file is always in a vss "project" (a directory). If you share it (VSS terminology), the same file can appear in multiple projects. Let's say I have a configuration file "OurCommonConfigs.xml". We have this file in all our Visual Studio projects. But we don't want to manually(!) update it in all places where it is used. When I edit it in project X it should be updated in project Y 07:27
UnhappyVssUserpossible with GIT?07:27
pooliethis isn't the git channel07:29
UnhappyVssUserErr, I mean Bazaar. You see I'm evaluating the various Source control07:29
poolieyou could store it in a bzr branch and reference it from all your projects07:29
UnhappyVssUsersystems.07:29
poolieby a lnk, or some other means07:29
pooliebzr won't automatically update every checkout of it07:29
spivglyph: you can do e.g. "bzr init-repo foo --no-trees; cd foo; bzr init .; bzr pull $my_branch; bzr branch $upstream upstream"07:30
spivglyph: although it might be nicer and simpler to use the bzr-colo plugin07:30
UnhappyVssUserThanks, I'll look up branch and link benhaviour07:31
vilahi all07:33
vilapingeling about https://code.edge.launchpad.net/~vila/bzr/638451-malformed/+merge/4175907:35
pooliehi there vila07:46
vilapoolie: hey !07:46
pooliesorry vila, i really wanted to do that today07:47
pooliedidn't get to it07:47
poolie:/07:47
vilaShould I just land this mp, I summarized in the cover letter that I addressed the points raised, but I'm always a bit hesitant to do that sort of thing07:47
* poolie looks quickly07:48
pooliei have to go soon07:48
vilapoolie: yeah, no worries, I've seen a couple of interesting mails from you :)07:48
pooliedoes it actually resolve things?07:49
pooliei mean, does it mark the conflict resolved?07:49
vilaoh yes07:49
poolieit looks basically ok07:49
poolieso, weak +1 if you're confident to merge it07:49
poolienow i have to go; have a good day!07:49
poolieand weekend07:49
vilapoolie: you too ! and thanks !07:49
vilatoo slow ;)07:50
UnhappyVssUserRegarding shared VSS files: I have read about the "branch" command but didn't found the "lnk" command in documentation. The branch command creates a new repository! Not really what shared files are. But let's assume I make a branch for this file and put it in a shared repository. When I change the file, I change it in this branch. Then there is another branch (smae repository) which contains the class-files of the program. Is it possi07:57
UnhappyVssUserclass files and the "Shared" file in the same physical directory the developer uses to work with (say: "C:\Product\CurrentDev\ProjectA\class1.cs" and "C:\Product\CurrentDev\ProjectA\Options.xml")? Do you think the Visual Studio plugin will be able to handle this situation?07:57
vilaUnhappyVssUser: I think poolie meant 'lnk' as in a link to a file that is not part of the branch you're working in but pointing to a file managed in its own branch08:00
vilaUnhappyVssUser: the point is that bzr handles trees not individual files when it comes to versioning, and I suspect you don't want this file to be part of every revision in all your project branches08:01
vilaUnhappyVssUser: because if you revert to a previous revision you don't want to revert this file too08:01
vilaUnhappyVssUser: or not ?08:02
vilaUnhappyVssUser: by the way, your previous msgs were truncated making them a bit unclear08:04
UnhappyVssUservila: Sorry for the truncated texts. Opera browser makes that (if you meant the two lines).08:13
vilaUnhappyVssUser: the first one ends with 'It is poss' and the second starts with 'class files and'08:14
UnhappyVssUserIt seems I havn't understood the philosophy of bazaar full. Let me explain: VSS is very simple (I hear you laughing, don't!). In a project(directory) you check out your file, edit it and check it in. If you want a version, you "label" it, say "v2.3.44". If you want that version you "get" a "label". too be continued...08:18
vilaI'm not laughing, I feel your pain :)08:19
UnhappyVssUserA "shared file" exists in x directories. If you "label" the directory/project and later "get" that "label" the you get also the "shared file"08:19
vilaright, so that's a fundamental difference08:20
vilawith bzr you don't version files, you version trees08:20
UnhappyVssUserWell, but what do you do if you want to have the same file on multiple places?08:21
UnhappyVssUserDon't tell me you edit all of them manually!!!08:22
vilathe question is whether you want this file to follow the history of its containing tree or not08:22
vilaUnhappyVssUser: if you revert a tree to a previous revision, do *you* want this file to also revert to this previous revision ?08:23
UnhappyVssUseryes, it should also revert to the previous revision ("label")08:24
UnhappyVssUserI'm looking up the "tree" and what it represents in VSS....if there is such a thing08:25
vilaok, in this case, you're after nested trees, which are not fully implemented (yet) in bzr, but even there, the plan is to nest *trees* not files, so you'll have to put this file in its own directory (AFAIUI)08:25
vilaUnhappyVssUser: I suspect a tree is really a label: i.e. the set of (file, revision) that happen to carry this label08:26
vila.. but may be not, (how would updates of the shared files propagate to other labels ?)08:27
UnhappyVssUserI found it in bazaar doc: http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-vss-users.html08:27
UnhappyVssUserA "label" seems to be a tag08:27
vilaUnhappyVssUser: right, this page says that Share is N/A08:29
vilaUnhappyVssUser: surely the person that wrote it knows VSS (I don't, I *guess* it's closer to CVS than to bzr)08:29
fullermdWell, if you're going to insult CVS...08:30
vilafullermd: hey !08:31
vilaI rarely insult tools anymore these days, they tend to just ignore me when I do that08:31
fullermdThey ignore me too, but it's still very cathartic to scream at them.08:32
vila... another reason is that ISTM, these insults tend to bounce back at me for trusting the tools too much :-D08:33
UnhappyVssUserOk bazaarians, I'm a friendly person too and this Linus guy makes insults even in pulbic speeches. So I'm not very GIT-friendly. I would prefer Bazaar. When can I expect nested trees? It seems I'm the only guy who has the same file at multiple places. It was not my idea, it's Visual Studio.08:41
vilaUnhappyVssUser: not soon enough :-/ But there are plugins which tries to address the same kind of compositing, bzr-externals and... bialix will hate me for forgetting the other...08:43
vilasomeone help me ?08:43
vilascmproj !08:44
vilaUnhappyVssUser: http://doc.bazaar.canonical.com/plugins/en/08:44
vilaUnhappyVssUser: both externals and scmproj are actively maintained and part of the devs (if not all) are on windows too, so they should be able to help you better than me08:46
UnhappyVssUservila: Thanks for the link. More to read...08:46
UnhappyVssUservila: I thank you very much. Very helpful. I'll check the plugins...08:47
vilaUnhappyVssUser: you're welcome08:47
UnhappyVssUserhave a good day (The boss appeared at my office ...uh)08:47
UnhappyVssUserHe does not know of his bazaar luck, yet08:48
vilaUnhappyVssUser: quick ! Bring up your facebook page ! Enough of this productivity-enhancing tools discussions !!08:49
UnhappyVssUserlol08:49
vila:)08:49
UnhappyVssUserBut honestly, this is his thinking08:49
UnhappyVssUserunfortunately, we must "introduce" changes secretly until they work and present after they are a success. Before: "costs too much", "no effort in this direction"08:50
vilafullermd: by the way, just curious, how would you address this 'shared file' issue in CVS ?08:51
vilaUnhappyVssUser: Yeah, I know the feeling :-/08:51
vilafullermd: CVSROOT/modules tinkering ?08:51
fullermdI s'pose you could "ln -s /some/other/repo/foo,v ."08:51
vilafullermd: naaah, on windows man, no funny symlinks...08:52
fullermdWell, you wouldn't be hosting a CVS repo on windows in the first place...08:52
vilafullermd: pff, cheater :D08:52
fullermdMan, if we're running CVS, cheating is de rigeur   :p08:53
vilaLOL08:53
vilagood to know I can use 'de rigueur' with English people ;)08:53
fullermdOh, did French borrow that phrase from English too?   ;>08:54
vilasomething like that certainly ;D08:55
vilaha ! window is easy, just one click is enough !09:17
vilaThe trouble is to find which one...09:17
vilamgz, jam: For the record, export BZR_SSH=openssh now works for the babune slave *including* using the ssh keys forwarded from the babune master, \o/09:37
mgzfor the further record, what exactly did you need to change vila?09:37
vilahmm09:37
vilathe ssh server service should be started by the babune user09:38
vilastarting a service should be allowed from a user with an empty password09:38
vilalp key should be registered in the right known_hosts file09:39
vilaof course none of those admin tweaks could be recorded in a bzr branch :-(09:40
mgzbut it's what we have irc logs for :)09:41
vilaone more test including booting the slave09:41
vilahehe09:41
vilamgz: http://babune.ladeuil.net:24842/job/selftest-subset-windows/23/console09:42
mgzit's blue!09:43
vilamgz: also note that bzr has stopped complaining about lp-id09:43
vila*subset* !09:43
vilathis address the msgeditor failure09:43
mgzyes, but that subset would have been red.09:43
vilayup09:43
vilabut that gave me 1) a simple subset to play with 2) a strong incentive to address the annoying-for-far-too-long issues :D09:44
mgzthe remaining issues just need the same thing.09:45
vilamgz: note that this morning I was about to re-install windows from scratch before a let-s-try-one-more-thing urge :)09:45
mgzwell, one's a real tough bug, but I'll find the time to finish squishing that.09:45
vilathe trick was to find the real error behind: 'can't start the service for this user' and from there find where to click to allow a service to be launched by a user with an empty password...09:46
vilamgz: by the way, I tried plink too and I was close to make it work there too, but I resign once I understood that pageant can only be a starting point when it comes to forwarding ssh keys...09:48
vilawhich I reckon is because nobody can run a ssh server properly on windows09:48
vilaThe setup I ended up with, really only works for the the babune user, any other one will encounter the same kind of issue09:49
vilawhich basically are: sshd -> bzr -> ssh09:49
vilathe ssh processes can't communicate reliably because bzr being a native app broke some cygwin assumption about who owns what including one socket/file required to communicate between the two ssh processes09:50
vilamgz: re-running a full test suite to see where we are now09:51
mgzthat all sounds about right09:51
mgzI don't even get checkboxes, needed to use ntrights for some perms stuff for my test setup.09:53
mgzand manually setting HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\limitblankpassworduse09:54
viladon't mention guessing how this has been translated in French...09:55
vilaI've already forgot :D09:55
vilaand  this was less than an hour ago :D09:55
mgzwell, I'd forgotten the details too, had to go off and find the script where I'd documented what I'd done when you jogged my memory about blank password problems.09:56
vilatoo bad I didn't know about the ability to do this kind of stuff via scripts, I would have been more prone to record my tweaks this way :-/09:57
mgzwell, that particular script is 50% docstring and 50% after-the-fact test :)09:58
vilayup, I love doc strings for this kind of stiff09:59
vilastuff09:59
vilaoops09:59
mgz"do these steps, then running this should start working"09:59
vilayeah, better than mere: do this stuff again next time if you're lucky enough to remember09:59
vilawhich, as mentioned above, I'm not very good at ;D10:00
vilamgz: I had some hope for some vbox fix in the recently release 3.0.12, but the 'lost connection during test' errors are still there :-/10:08
vila3.2.12 even10:09
mgzwe will need more informaton on that to work out what exactly is going on.10:09
vilaI painfully know :D10:13
vilamgz: wow, have you ever noticed the 'Age' column in the babune failed tests ?10:14
mgzyup, that's why I bugged you about the one you just fixed, because it was new-but-not-random10:14
vilaexcellent...10:15
vilamgz: surprising new failures in the launchpad plugin10:24
mgzthose do look odd.10:25
vilamgz: surprising + 3 failures *and* surprising +3 tests... very weird10:25
mgzpossibly related to your lp login change?10:29
vilafailed in run #253 but not in #252 with only unrelated changes bewteen the 2 ?10:30
mgzsorry, as in:10:30
mgz<vila> lp key should be registered in the right known_hosts file10:30
mgz<vila> mgz: also note that bzr has stopped complaining about lp-id10:30
vilaooooh10:31
mgzI'd hope the test would be sufficiently isolated, but it may well not me.10:31
mgz*be10:31
vilabad test isolation then10:31
vila:)10:31
mgzdef get_lp_login(_config=None):10:32
mgz    if _config is None:10:32
mgz        _config = GlobalConfig()10:32
mgz    username = _config.get_user_option('launchpad_username')10:32
mgzlooks dodgy.10:32
mgzwait... should be fine.10:33
mgzconfig is handled by the default setup?10:33
vilaTestCaseInTempDir, so it should10:37
vilaeerk, it isn't10:38
mgzI thought you told Gordon it was for his mergetools mp...10:39
vilano, I mean, TestCaseInTempDir should, but it seems the test manage to escape it10:39
vilaunless....10:40
mgzah. well, it's a bug to fix, I can't repo it here unfortunately.10:41
vilaos.environ.get('BZR_HOME') returns None ???10:41
vilaurgh: tests.TestCase.setUp(self)10:43
mgzha!10:46
mgzI'd not noticed that.10:46
mgzone line fix to get you three passing tests again.10:46
vilasry, that was obscure, it's in a test class based on TestCaseInTempDir10:46
vilahow creative we can be to defeat our own checks...10:46
mgzyeah, I saw it when you pasted.10:47
mgzit looks deliberate, so better just check the mp from barry, but seems like it should just be changed.10:47
vilaand that fixes them all (of course)10:47
vilaoooh, I can of recall this mp, I may even be the one that proposed the "fix" :D10:48
mgzkarma!10:48
vilas/can/kind/10:48
vilahihi10:48
vilaI don't quite get how it was passing before though...10:49
vilaraising InvalidURL because it couldn't connect maybe10:50
mgzhttps://code.launchpad.net/~barry/bzr/609186-shortcuts/+merge/3778710:51
mgz^right, that's my guess, not having a lp user was getting an earlier failure10:51
vilanice example of an unexpected success...10:52
vilamgz: how to call someone evading jail ?11:03
mgzescapee? there are better words I'm failing to remember11:04
viladodger will do :D11:06
fullermdFugitive?11:07
vilaisolation dodger sounds better for the case at hand I think, it's not that it's running away, it's that it cleverly dodge the part we want to enforce :o)11:07
fullermdEvade.11:08
mgzthat's the one. thanks fullermd.11:08
mgzwas looking for my copy of great expectations.11:08
fullermdEep.  Good thing I happened by  :p11:09
vilapfff, évadé will you ? :-D11:09
fullermdPoker?  I hardly know 'er!11:09
vilabut I won't use accented letters in a branch name, oh no, I've better things to do ;-p11:09
mgzfugitive_launchpad_plugin_tests11:10
fullermdAh yes, Bon Jovi telling us how to write tests   :p11:11
mgzI thought they were written by the man with one arm.11:12
vilathey put several arms in servers these days11:13
vilafugitif can also means stealth in french11:14
mgzright, it's slightly emphasising the sneaking around trying to avoid recapture rather than the gaol break itself.11:17
fullermdI'm pretty sure it comes from Latin, so...11:17
vilaTempos fugit ?11:19
fullermdSame root.11:19
vilaindeed11:20
vilatime feels longer in jail, because you're closer to its roots11:21
vilahttps://code.edge.launchpad.net/~vila/bzr/684662-fugitive-launchpad-plugin-tests/+merge/4260511:23
vilamgz: meh, for bzrlib.tests.blackbox.test_version.TestVersionUnicodeOutput.test_unicode_bzr_home  we use get_user_encoding() for a path (BZR_HOME) ??11:36
vilamgz: is that the right thing to do or a buggy test ?11:37
mgzyeah, and the test is a little bogus anyway which is why I've not bothered squishing it yet.11:37
mgzas is the actual implementation, anything using 'safe_unicode' is asking for things to blow up randomly.11:38
vilain config.py you mean ?11:39
vilaI wonder if I added this to make this test pass... in anger11:39
mgzit was failing for me (in a different way) before that, I think related to depending on the cwd or environment11:41
* vila tries a full run without this safe_unicode call11:41
vilayeah, indeed, this test fails at a totally different place11:42
vilaand what's the rule about env vars encoding ? It was discussed before no ?11:43
mgzthey're in user encoding.11:43
mgzcan't get at unicode environment with python 2 unfortunately.11:44
vilaha ! That was it11:44
vilaright,single test failing11:44
vilaso the safe_unicode may be necessary but at a different place11:44
mgzno. bad vila.11:45
vilabut then the test itself is valid11:45
vilarhaaa, I meant user_decoding the env var :D11:45
mgzis never nessersary, it's just sticking a plaster on it.11:45
mgzyup.11:46
vilabut waitaminute, wan't the discussion saying something different between windows and the others there ?11:47
vila(about env var encoding)11:47
vilas/wan't/wasn't/11:47
mgzwell, for nix you can shove any old junk in the environment block11:49
mgzif you do that on windows, you're liable to crash your process11:49
vilaso the decoding should happen on windows only ?11:49
mgzwell, depends on the abstraction, but on nix we need at least to cope with the idea that the bytes may not be in the user's encoding11:50
vilahmm, the problem seems so vague it's hard to address it :-/11:51
mgzpython 3 basically swaps having a problem on windows (with not being able to access the unicode environment) for a problem on nix (not being able to use arbitrary bytes)11:51
mgzwhich they now 'solve' with a combination of two apis for everything, and the god-awful 'surrogate escape' codec11:52
mgzalso known as, the 'please break my xml' codec11:52
vilayou're just adding weight to my remark :)11:53
mgzclear abstrations help but yeah, some of this stuff is just complex11:53
mgz+c11:53
vilabasically we should start with s/os.environ.get/osutils.get_env/ or something11:54
vilaI'm sure this will raise some eyebrows...11:54
vila53 matches...11:55
vilawrong, 160 matches, there are os.environ[xx] uses11:55
mgzor just limit the apis that access the environment, and make them locale-sane depending on what we're trying to get out (a path, a flag, etc)11:55
vilayeah, second step :-/11:56
mgzwe've still got quite a lot of fiddly little bits of platform-specific code scattered around despite the osutils module11:56
vilabut I would rather not add this if we don't need to, flag and especially 'etc' shouldn't suffer11:56
vilayeah :-/11:57
vilaI know :(11:57
vilaright, bug #26287411:59
ubot5Launchpad bug 262874 in Bazaar "enviroment may not be in get_user_encoding() on Windows" [Medium,Confirmed] https://launchpad.net/bugs/26287411:59
vilamgz: so that's not quite user encoding even :-/12:00
* vila lunch12:00
mgzthat's a semantics-and-implementation thing12:00
mgzhave meant to close that bug out for a while.12:00
vilaI'll defer to you then ?12:00
mgzbasically, don't worry about that, and assume it's always in the user encoding.12:01
vilaerr, but isn't the "don't worry" attitude that led us there ? :D12:01
mgznot in that case :)12:02
vilaI'll look into bzrlib.tests.test_transform.TestTreeTransform.test_rename_fails  instead (after lunch ;)12:02
mgzwhat get_user_encoding does is poorly defined, and on windows we'd be better off with a raw GetACP, but that's basically what it does12:03
mgzwhich is also what the mbcs codec uses, so will in the decoding case where all bytes are in the codepage (and it doesn't have to replace invalid ones) do the same thing12:03
mgzbt.test_transform.TestTreeTransform.test_rename_fails is one I've got fixed vila, though you may want to add your skip_if_root thing to the top as it relies on a permissions failure12:06
vilamgz: meh, fixed where ?12:49
vilamgz: I thought the problem was to match on the error string instead of the error code those failing on the slave localized in french, but I haven't really dug so far12:51
=== vednis is now known as mars
ScottKIs there a way to checkout/branch just part of a bzr repo?  I just need http://bazaar.launchpad.net/~ubuntu-bugcontrol/qa-regression-testing/master/files/head:/scripts/ and the rest of that repository is frickin' huge.13:46
vilaScottK: no, you can't (yet)13:49
ScottKSigh.13:49
ScottKCan the duration of yet be quantified at all?13:49
vilahardly13:50
vilaor rather, it would be shorter to checkout the whole :-}13:50
ScottKRight.  Just wanted to know if I should ask again next week or in 2020.13:53
ScottK(this isn't the first time I've missed this feature)13:54
vilaScottK: there are several sub parts to address: one being to transfer no more than the last revision. Otherwise getting a subtree once you have part or all of the history is something that 'views' is supposed to address13:55
vilaScottK: but I've never played with 'views' myself13:56
* ScottK nods13:56
vilatransferring only the last revision may be worked on, I'm not sure, but it's often asked for UDD so it may happen sooner than I think13:57
=== Meths_ is now known as Meths
jamvila: so the debuntu stuff was why Windows was failing from the TEMP paths?15:41
vilajam: oh ! hi !16:15
vilahmm, no, the debuntu stuff revealed itself once I fixed the babune windows slave config16:15
=== tchan1 is now known as tchan
vilajam: damn, my history is too short, waitasec16:16
vila<vila> mgz, jam: For the record, export BZR_SSH=openssh now works for the babune slave *including* using the ssh keys forwarded from the babune master, \o/16:17
vila<mgz> for the further record, what exactly did you need to change vila?16:17
vila<vila> hmm16:17
vila<vila> the ssh server service should be started by the babune user16:17
vila<vila> starting a service should be allowed from a user with an empty password16:17
vila<vila> lp key should be registered in the right known_hosts file16:17
vila<vila> of course none of those admin tweaks could be recorded in a bzr branch :-(16:17
vilajam: so, from there, the windows slave suddenly got a launchpad login which triggered the test isolation bug16:18
jamvila: why does it need an lp login?16:18
mkanatIs there anything to guess the mime type of a file in the repository, in bzrlib?16:18
vilajam: to get rid of some annoying warnings and use the smart server instead of http16:19
jammkanat: I don't believe there is mime awareness inside bzrlib16:20
mkanatjam: Okay.16:20
jamvila: is that for the test suite itself? or for other stuff16:20
mkanatAll I really would want was something that would check the first few bytes of a file in the repo and guess its mime type.16:21
jamI'm fine w/ other stuff, but I'd like to understand what the *test suite* is trying to do16:21
jammkanat: to get the first few bytes basically gets all of them16:21
jamso you may as well get the text and send it to "file"16:21
mkanatjam: Fair enough. I'm trying to avoid that, though.16:21
mkanatjam: This is for loggerhead, and I want to return a generator that can stream the file, but I also want to have reliably mime-type guessing. I'm going to be doing it based on the file name, but still.16:22
jammkanat: do what you feel is best, just letting you know that we don't extract partial content16:22
mkanatjam: Okay.16:22
jamextracting content is probably a O(2x size-of-fulltext deal)16:23
jamone for the delta buffer, one for the final text16:23
mkanatSure, I just don't want it in memory if I can avoid it, as much as possible.16:23
jam(and 0.5 for the compressed content of the delta buffer)16:23
=== beuno is now known as beuno-lunch
jammkanat: 'as much as possible' would probably mean extracting it, writing it to a temp file, streaming from that16:24
mkanatjam: Well, I was just going to return an iter_bytes or whatever it's called.16:24
jammkanat: that just extracts the whole thing, and probably caches all the intermediate stuff until its done16:24
vilajam: both, it makes the pulls faster and it gives access from the slave to the master for planned features16:24
mkanatjam: Okay. But will that always be the case? I mean, if bzr improves, I'll get the improvement there too.16:25
jammkanat: I would not expect us to change that for a long time16:25
vilajam: including: automated updates for dependencies, upload of artifacts from slave to master, etc16:25
mkanatjam: Okay, well, what about the big-file work?16:25
jammkanat: there is one proposal which might break up big content into smaller chunks, but that is goingto complicate whatever you try to do anyway16:25
jamvila: all not test-suite related, afaict. I think it is great that you have it. My concern is why it affected the *test suite*16:26
mkanatjam: But if it's just an iter, it shouldn't complicate anything.16:26
vilajam: the test suite doesn't require ssh access, but the slave get its branches from lp (so far). If you look at some old windows runs, you'll notice the lp-related warning16:26
mkanatjam: I suppose the problem is that you have to build the revision text before you can stream it?16:27
jammkanat: well iter_bytes *today* is just [content_string]16:27
jamit might change in the future, but that is pretty unlikely at this point16:27
jamvila: sure. Though you said "I fixed the login stuff, and suddenly the test started failing"16:29
vilajam: yes, that's what happened16:29
jamvila: hence my concern why external config is affecting the test suite16:29
vilajam: you didn't read the fix don't you ?16:30
vilajam: the test was getting a launchpad login by accessing the local bazaar.conf in $HOME instead of the empty one we create under TMP16:30
jamvila: ah, ok. So the fix should actually remove the dependency. I did read the fix16:31
vilawhich dependency ?16:32
jamvila: the existing code accidentally dependend on the users config because it escaped isolation. You noticed the bug because of changing the user config, which prompted you to fix the dependency. Future test runs should be properly isolated from user config. \o/16:32
vilabut they are as long as they use TestCaseInTempDir and not TestCase16:33
vilathese ones are a bit special as in this case they were unexpected successes but I felt it wasn't worth the time to guard against that16:33
vilaI think I mentioned in the cover letter that they were probably succeeding before because InvalidURL was being raised earlier (while attempting to connect without a proper lp login or something)16:35
=== deryck is now known as deryck[lunch]
mkanatIs there a way to get the size of the content that iter_file_bytes is going to return, or do I just have to get all the bytes and then do len(content)?16:37
jammkanat: tree.inventory[file_id].text_size16:38
mkanatjam: Awesome, thank you. :-)16:38
hazmatwhen using bzr-pipeline, and switching pipes is there a way a hook can be invoked, i often have *.pyc files that end up cluttering directories that are added and removed, which generates spurious conflicts when navigating up/down the pipe16:59
mkanatmwhudson: Do you know what the motivation was behind choosing SimpleTAL for loggerhead?17:17
=== deryck[lunch] is now known as deryck
=== beuno-lunch is now known as beuno
mgzvila: that test will start passing when bug 273978 is fixed, which I have a branch for (unproposed as yet, still needs work)18:09
ubot5Launchpad bug 273978 in Bazaar "UnicodeDecodeError when strerror is not ascii" [Low,Confirmed] https://launchpad.net/bugs/27397818:09
vilamgz: haaa, good :) Oh yeah, I remember now !18:10
vilaEOD here (and invited by friends so I'll may poke here far later but that's rather unsure ;)18:11
mgzit's one of my top things to do before 2.3 now I've sorted the testing unicode stuff, just need a space to bash it in.18:11
mgzfood for me too.18:13
mkanatWow, bzr really *is* fast, when you use the API right. It's pretty remarkable sometimes.18:33
mkanatI'm doing everything needed to get a file out of the system and send it to the client in 0.05 seconds or less.18:33
jammkanat: simpletal was the fastest reasonable engine at the time, and was used elsewhere, IIRC18:48
mkanatjam: Ah, okay.18:48
mkanatIs that what Launchpad is using also, or is it using something else?18:49
jamI think there was a push at one point to use something like Cheetah, which compiles the same syntax into python bytecode18:49
mkanatjam: Yeah, I was thinking Mako actually.18:49
jammkanat: IIRC, simpletal is zope's engine pulled out18:49
jamand LP is built on zope18:49
mkanatjam: Ahh, okay.18:49
mkanatSo there's also shared expertise.18:49
jamright, though using the same syntax with a faster engine would be fine18:50
mkanatIt's fine, I don't have any problems with SimpleTAL right now. I mean, no major problems. The templates would be cleaner in Mako.18:50
jamI think we wanted to avoid a different TAL18:50
jam(template language, if that is actually a bad acronym)18:50
mkanatYeah.18:50
beunomkanat, jam, we went with simpletal because it was fast, and used TAL, which is what Launchpad used, so we where familiar with it18:52
mkanatOkay. I think TAL has some nice advantages, but I wouldn't be super-excited about designing a large system with it. Although I suppose you guys did with LP. :-)18:52
mkanatI like that it forces you to have valid HTML that at least has closing tags and so on.18:53
mkanatAnd I like the convenience of putting stuff in attributes.18:53
mkanatBut I think that after a while, it becomes very difficult to read, with everything in the attributes.18:54
mkanatAlthough that does encourage you to keep the templates simple.18:54
mkanatIt's *very* hard to see the logic flow in a large template with a lot of tal:condition.18:55
jambeuno, mkanat: sites like this http://nick.zoic.org/2009/07/29/templates-fugit-3/ doen't make me think simpletal is all that fast. :)18:58
jamor this: http://nick.zoic.org/2010/04/18:59
jamthough I think that is the same guy18:59
mkanatjam: Yeah, another reason I like Mako. :-)18:59
mkanatBesides the fact that it's the best template language I've ever used, possibly tied with the Template Toolkit.18:59
mkanatWell, I think I like Mako more in some ways, though.18:59
beunojam, at the time, simpletal was as fast as the other engines we tried out18:59
beunoI implemented loggerhead in a few different engines18:59
beunoand our benchmarks where more or less the same or worst19:00
beunoso we went with that for familiarity19:00
beunobut, this was... 3 years ago?19:00
mkanatYeah, I wouldn't imagine that the template language is a primary performance limiter on LP in any case.19:00
jambeuno: I can imagine that it would depend a lot on what you were doing with the template19:02
jamI do remember the discussions (though not in detail()19:02
mkanatThree years ago, I don't think Mako even existed.19:03
maxbDoes anyone know, did Savannah ever get a helper to help with Loggerhead?19:08
mkanatmaxb: Not that I know of.19:09
jammkanat, beuno: My email archives show Mako being mentioned back in 2008-07-09 and also another 2008-07-10 proposal to use SimpleTAL19:12
mkanatjam: I think at that time Mako would have been brand new.19:13
jamwith mwhudson saying: If we could get the same perf out of genshi, I would prefer it,19:13
jamand that simpletal is the "fastest tree-based engine"19:13
jam(from beuno)19:13
jamso the "Tree-based" was probably a familiarity factor19:13
beunoright, I did test genshi, and it was slower19:13
beunoyes, mwhudson really wanted something tree-based19:13
jamhe seemed pretty happy with genshi, except the perf sucked :)19:18
jammkanat: anyway, I don't think there is a strict requirement for simpletal, but there should be a strong reason to switch19:18
jamsince it involves re-building all the dependencies, etc.19:18
mkanatjam: Okay. Yeah.19:18
jammkanat: (so if you find that a page request is 0.1s bzrlib time, and 10s simpletal time, and mako would make that 0.01s mako time, that would be motivating. If it makes it 9s mako time, not so much, or if it is 10s bzrlib time, and 0.1s simpletal vs 0.00001s mako, etc)19:26
mkanatjam: Yeah, for sure.19:26
mkanatjam: I think what I would like about Mako would be the development advantages more than the speed advantages.19:26
jamwell, you are currently the primary dev on it, but you won't always be :)19:30
jamLooking at the differences, I  do find TAL to be a bit strange19:30
jamthe "replace the current <> with this content" is odd to me19:30
* mkanat nods.19:30
jambut then again here: http://www.makotemplates.org/19:30
jamhaving:19:30
jam    % for name in row:         <td>${name}</td>\     % endfor19:30
jamis also really odd19:30
mkanatBut much more readable.19:31
jam(lines with % are python control, but they output the content of lines that aren't %, etc)19:31
jamgoes back to why I didn't like PHP19:31
mkanatYeah, but that quality is pretty much extant in all template languages.19:31
jamI was never quite sure what got put out the pipe and what didn't19:31
mkanatI mean, that's pretty much the definition of a template language.19:31
jamnever quite sure what was wrong with """%(data)s""" % {'data': 'foo'}19:31
mkanatWell, a lot of things.19:32
mkanatOne of the cool things that Mako has that no other template language has (that I know of) is inheritance.19:34
lifelessmkanat: I don't mind if you change the template language but...19:35
lifelessmkanat: it will make it harder for lp devs to debug and fix things.19:35
mkanatlifeless: Yeah.19:35
mkanatlifeless: I have no immediate plans to make any major changes like that.19:35
jammkanat: I do seem to remember that rendering time was pretty long for stuff like the 'changes' page. about 50/50 IIRC19:37
mkanatjam: That wouldn't surprise me, I haven't tested that yet.19:37
mkanatjam: Sometimes rendering times are long because we are sending a generator from bzr though, too.19:37
jammkanat: possible, though the bits I saw tend to list(bzr_stuff) before passing them over.19:42
jamanyway, glad you're working on it rather than me ATM.19:42
mkanatjam: :-)19:42
jamalso, glad to see you working on it, period19:42
jamyou went quiet for a bit, and I wasn't sure what was going on19:42
mkanatjam: I'm really glad you did the history_db stuff, though--I think for the most part that would have been much too high a level of bzr wizardry for me at this point. :-)19:42
mkanatjam: Yeah, some of it was getting contract details worked out, and then some of it was scheduling issues.19:43
jammkanat: thanks, just need to actually get it deployed so it doesn't sit there languishing19:43
mkanatjam: Yeah, I want to deploy it more or less once we're ready for 2.0.19:43
mkanatjam: In any case, now I'm pretty active on loggerhead, and though my actions are somewhat limited, there's still a lot of stuff I'm planning to do.19:44
=== gthorslund_ is now known as gthorslund
achianghello, i'm trying to help a non-technical friend (she is a scientist, not a programmer) use bzr. she's created an LP account, downloaded bzr for windows, managed to pull source from LP, made a change, and committed it locally21:19
achiangnow she is having issues pushing the branch back to LP21:19
achiangthe error is:21:20
achiangRun command: bzr push "bzr push lp:~lindsayvail/streamflow/newheader\n"21:20
achiangbzr: ERROR: Unsupported protocol for url "bzr push lp:~lindsayvail/streamflow/newheader21:20
achiang"21:20
achiangi guess that's coming from the windows gui tool, which i've never used21:20
achiangany hints?21:20
achiangah, she reports that the command line is working for her21:20
achiangstill, i'd like to know what we might be doing wrong in the windows tool.21:21
jamachiang: it at least sounds like she didn't install the lp plugin21:45
achiangjam: hm, didn't realize that was a required step21:45
achiangjam: thanks for the clue21:45
jamachiang: it is part of the installer21:45
jamit can be disabled, defaults to on21:45
jamachiang: if she was able to branch from the begininng from an lp: url, then that probably isn't it21:46
jambecause it would work both ways21:46
achiangjam: interesting. i don't think she would have turned it off21:46
jamthe other option21:46
jamis that she hasn't informed bzr of what account to use on LP21:46
jamI don't remember the gui way to do that21:46
jamthe command line is "bzr launchpad-login <lpusername>"21:46
achiangnod21:48
jamachiang: I would have thought that would give more "unable to push to http://..." but it could be a secondary error21:48
svz90Hi. I had a quick question about bzr's ssh/sftp module. Is it possible to specify a custom ssh identity file (like with ssh -i somefile)?23:47

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