/srv/irclogs.ubuntu.com/2011/01/12/#bzr.txt

vilafull test suite passing on natty with python2.7 \o/00:40
fullermdMust be time for py2.8 to come out.00:58
vilafullermd: nah, switching to py3.x would be far much fun :)01:01
vilafullermd: by the way, if you're near Dallas in the coming 10 days, come have a beer ;)01:01
fullermdIf I could get that far away from this project, I'd keep running and never come back   :|01:03
vila. o O (Oh... one of *those* days :-/)01:07
fullermdDays?  Ho ho ho.  I stopped counting it in _days_ last summer.01:08
AfCAny idea what the state of the "transparent http pass through to bzr server" mechanism is? I last looked for it a couple years ago, and could make it fly, but is it still around?02:05
lifelessI'm not aware of it plans or actions to remove it.02:18
maxb"transparent http pass through to bzr server"?  bzr+http:// ?02:18
lifelessmaxb: http://02:23
lifelessmaxb: which probes for a bzr server02:23
maxbAh, http://, which decides to be bzr+http:// if possible02:25
lifelessyes02:26
AfCyeah, that02:31
AfCis it in active use anywhere?02:31
AfC(ie, are you guys using it on, say, Launchpad)02:31
AfCI am often is given to feel that he's the only one using bzr:// :(02:32
AfCI'd hate to go down another path which isn't really what the developers want me doing.02:32
poolie"he" meaning AfC?02:32
AfCpoolie: yeah :) changed from /me to I :)02:32
AfCIRC needs history editing!02:33
pooliewe are not using it externally on lp02:33
pooliewe could deploy it publicly02:33
poolieprobably we would only do that if we could get clients switching to it automatically when they are accessing a public readonly branch02:33
fullermdI gave passing thought to setting up bzr+http once, but the inflexibility of paths made me give up before really trying.02:33
pooliei don't think the efficiency win of avoiding ssh would be worth making users manually type different urls02:34
fullermdEvery once in a while you hear somebody here running it I think...02:34
pooliesome people might find it worthwhile, but probably not enough to get to the top of the list02:34
AfCI've actually got it rigged up so that bzr://path/to are our public URLs and bzr+ssh://path/to are what developers push to. Symmetrical, at least02:35
AfCbut I was exploring whether or not [instead] I could host out of eg ~/public_html via Apache mod_userdirs and then realized I'd have to have people use http:// URLs there.02:35
fullermdIs where I gave up.02:35
fullermd(actually, with ~/public_bzr, but...)02:36
AfCheh, nice02:36
AfCyeah, obviously you wouldn't want n instances of python bzr serve running02:36
fullermd(separate vhost, with UserDir so set, so it all Just Works...  except dumbly)02:36
AfCand in any case, there's the port issue02:36
misterbiscuithaving trouble with bzr fast-export-from-svn02:38
misterbiscuitprobably my own fault02:38
maxbdefine trouble02:39
misterbiscuitkeep ending up with svn.core.SubversionException: ("Can't open file '.../format':No such file or directory"02:39
maxbhmm... without obfuscation, please?02:39
misterbiscuit'...' isn't literally printed02:40
misterbiscuitOK02:40
misterbiscuitbackground: in the root of my svn repo, there are several directories, one for each project02:41
misterbiscuitinside each project directory, there is the usual trunk, branches, tags02:41
misterbiscuitthe repo is accessed via HTTPS02:41
misterbiscuitso I tried: bzr fast-export-from-svn https://svn.example.com/svn/myrepo/myproject02:42
misterbiscuitand ended up with a traceback whose last line is02:43
misterbiscuitsvn.core.SubversionException: ("Can't open file 'https:/svn.example.com/svn/myrepo/myproject/format': No such file or directory", 2)02:44
misterbiscuitcorrection, I tried: bzr fast-export-from-svn https://svn.example.com/svn/myrepo/myproject myproject.fi02:45
misterbiscuitsorry, left off the last parameter there02:45
fullermdI'd guess offhand that fast-export-from-svn expects to be pointed at the _repo_, not something inside it.02:45
maxbfast-export-from-svn expects to operate on a repository locally on disk, not an URL02:45
maxbit also assumes a /trunk directly in the root of the repository02:47
maxbYou may be better off using bzr-svn02:47
maxbInstead of bzr-fastimport02:47
maxbbzr svn-import https://svn.example.com/svn/myrepo/myproject myproject.bzr02:48
misterbiscuitso: I scp'ed the entire repo down (myrepo) to my local disk, and tried: bzr svn-import /path/to/myrepo myrepo.fi02:48
misterbiscuitand I ended up with a message like, "Exporting revision 191... skipping." for every revision02:49
misterbiscuitafter it finished, myrepo.fi was just an empty file02:49
maxbuh, I think you mean you ran 'bzr fast-export-from-svn /path/to/myrepo myrepo.fi'02:50
misterbiscuitI'm sorry, you're correct02:50
maxbsee what I said above about using using bzr-svn instead of bzr-fastimport02:51
misterbiscuitI will try it.  I started with fast-export-from-svn because that's the approach strongly recommended by the Bazaar Data Migration Guide02:54
misterbiscuitIn fact, the page I'm looking at doesn't even mention svn-import02:55
misterbiscuitis it deprecated or soon-to-be-deprecated?02:55
misterbiscuitahh, it is mentioned as an alternative tool on the subversion-specific page in the migration guide02:56
misterbiscuitso I click the bzr-svn link and I'm taken to ... the project page?  Where's the documentation?02:57
misterbiscuitthis new user experience needs improvement02:57
misterbiscuitand there's a third tool apparently: svn2bzr03:01
fullermdThat I'm pretty sure IS quite long deprecated.03:01
misterbiscuitbzr svn-import https://svn.example.com/svn/myrepo results in:03:05
misterbiscuitbzr: ERROR: Invalid http response for https://svn.example.com/svn/myrepo/.bzr/branch-format: Unable to handle http code 401: expected 200 or 404 for full response.03:05
misterbiscuitour svn server does require authentication03:05
misterbiscuitbzr help svn-import doesn't mention any way for me to provide my credentials, however03:06
misterbiscuitI assume there is none03:08
fullermdI believe it reads svn's stored credentials.03:08
misterbiscuitHmm, that would make sense, but then I'd argue it isn't working03:09
misterbiscuitI'm running bzr svn-import /media/maxtor/svn/myrepo now03:09
misterbiscuitand its cranking away03:09
misterbiscuit(that's my local copy that I scp'ed down from the svn server)03:10
fullermdNote that it's probing for a bzr branch there, not svn.  So maybe bzr-svn isn't engaged yet at that point.03:10
misterbiscuitYeah, that '.bzr/branch-format' looked strange to me03:11
misterbiscuitAny idea why its doing that?  Did I run the command incorrectly?03:11
fullermdYou may be able to force it using svn+https://.03:11
fullermdWell, when you get a URL, who knows what it is?  It could be svn, it could be bzr smart, it could be bzr dumb, maybe it could (if you have the plugin) be hg or git or SCCS...   so, in some order, it checks until it finds a match.03:12
misterbiscuitShouldn't "svn-import" assume its an svn repo?03:13
fullermdAll else being equal, probably.  But the layer connecting to the URL may have no idea what command was being run.03:13
misterbiscuitI see03:14
fullermd(just a guess of course)03:14
misterbiscuitYeah, fair enough03:14
misterbiscuitbzr svn-import svn+https://svn.example.com/svn/myrepo looks to be working03:16
misterbiscuitDid appear to be working03:17
maxbYou really probably wanted to be running svn-import svn+https://svn.example.com/svn/myrepo/myproject03:17
misterbiscuitI'll try that now03:17
misterbiscuitIt did some work, but then bombed03:18
misterbiscuit'KeyError: 'No such TDB entry'03:19
misterbiscuitNote that the bzr svn-import I kicked off against the repo on my local filesystem is still running03:19
misterbiscuitSo assuming it finishes, I guess that's the way I'll have to go03:20
aromanhey all, sorry to bother you guys with such a n00b question, but I somehow set bzr to push to the wrong launchpad branch. However, when I push to the right one (manually specifying the branch), running "bzr pull" uses the _old_ branch,  not the new one. Is there any way to force bzr to push to a specific lp branch? Thanks!03:20
pooliearoman, use 'push/pull --remember'03:20
poolieor vi .bzr/branch/branch.conf03:20
aromanpoolie: brilliant -- I was just digging around in .bzr now. thanks a ton!03:21
lifelessspiv: btw, you were assigned to the bug's LP bugtask... you might want to search for bugs to which you are assigned in *any* project that you're not actually intending to be assigned to.03:27
misterbiscuitmaxb and fullermd, thanks for your help; I have to go but it looks like running bzr svn-import on a local copy of my svn repo might work out03:30
catphishis there any provision in the network protocols to allow a user to create remote branches?09:55
catphishor does the server admin need to create each branch?09:56
maxbbzr push url works just fine10:02
maxbwhere url doesn't exist before10:02
catphishso the server is expected to create a branch where one doesn't exist?10:05
AfCyes10:50
neaji want to 'bzr branch http://svn.../somemassiverepo/sometinymodule' .. now it's downloading 10s of MB of metadata .. is this the right way?10:53
neajwill that fat metadata cache be reused if i like 'bzr branch  http://svn.../somemassiverepo/sometinymodule10:53
neajsorry10:54
neajwill that fat metadata cache be reused if i later 'bzr branch http://svn.../somemassiverepo/someothermodule' ?10:54
neajhmm, 'bzr branch http://svn.plone.org/svn/collective/dotipython dotipython' worked, but now 'bzr branch http://svn.plone.org/svn/collective/PDBDebugMode PDBDebugMode' fails: bzr: ERROR: Not a branch: "http://svn.plone.org/svn/collective/PDBDebugMode".11:18
neajmaxb: thanks, yes, i see it isn't re-downloading the metadata11:18
maxbbzr-svn has a concept of repository layouts, by which it defines what paths in svn are considered branches11:21
maxbhave a look in your ~/.bazaar/subversion.conf for what it has guessed as the layout for this repository11:22
=== Ursinha-afk is now known as Ursinha
maxbcatphish: Yes, does it not?12:22
catphishit doesn't exist yet12:23
catphishi'm creating a server to host bzr branches12:23
catphishnot sure what protocol it will use yet12:23
catphishhopefully smart over http12:23
fabio_kreuschHi there, I have a repository which is a mix of a bzr repository and a subversion repository. I have this because the project was started on a Bzr server and then the client requested for us to upload it to a subversion server. So what I did was to ignore on .bzrignore the .svn folders, and on Subversion I ignored the .bzr folder12:29
catphishhopefully the backend will automatically create the branches as required12:30
catphishi will just not validate the last part of the url12:30
fabio_kreuschBut now, when I try to commit on bzr to bzr+http://mybzrserver, I receive this msg:  'A subversion remote access command failed: could not resolve hostname thehostname'12:31
fabio_kreuschI think bzr is trying to commit to subversion too12:31
fabio_kreuschis there any way to make bzr totally ignore svn?12:31
maxbfabio_kreusch: It sounds like you have the bzr-svn plugin installed, and bzr is unsure whether it should be operating on the .bzr or .svn part of the working copy12:32
maxbTry bzr --no-plugins commit12:32
fabio_kreuschok, that did it, but my co-workers use tortoise-bzr, and it doesn't seem to support --no-plugins12:36
fabio_kreuschdo you know if there is another way to disable it?12:36
fabio_kreuschmaxb: ?12:37
quicksilvertell them GUIs are for the weak, and if they don't learn the CLI they will be fed to the lions?12:37
fabio_kreuschhaha12:37
quicksilveralternatively, remove the svn plugin from their machines (if they don't need it for some other reason)12:37
fabio_kreuschi whish i could do that =P12:37
maxbI suggest not working in a hybrid working copy with both .bzr and .svn12:37
maxbOr, you could uninstall bzr-svn if you never use12:37
maxbit12:37
Takbeing fed to lions is preferable to using the windows cli12:38
fabio_kreuschmaxb: i did it that way because bzr-svn was acting weird for me12:38
maxbAre you aware of how bzr-svn works? Using it properly would seem to be a far better way of managing this than separately committing to two different vcses12:38
maxbYou could just push the bzr branch straight into svn12:39
fabio_kreuschmy problem was that every time I pushed the bzr branch to svn with bzr-svn, it was recreating old branches which were already merged into trunk on the svn repository12:39
sorenOk, so I've just branched lp:bzr. If I run "./bzr selftest something13:47
soren"13:47
soren... I get some warnings about plugins it can't load. This is probably fine, but I also get this:13:47
sorenbzr: ERROR: The API for "<module 'bzrlib' from '/home/soren/src/bzr/bzr/bzrlib/__init__.pyc'>" is not compatible with "(2, 2, 0)". It supports versions "(2, 3, 0)" to "(2, 3, 0)".13:47
sorenAm I doing something wrong?13:52
maxbPerhaps ~/.bzr.log will provide a traceback which illuminates what is complaining13:55
catphishwhat does "bzr branches" do?13:56
catphishit seems to take almost a second to run13:56
catphishand produces the same output as 'ls' - is there any advantage to using it over ls?13:56
Tak`bzr help commands/branches` will tell you ;-)13:57
sorenmaxb: There's no such thing.13:57
sorenmaxb: Oh, in ~?13:57
catphishTak: the help doesn't tell me13:57
catphishi tried that first13:58
Tak"Purpose: Scan a location for branches"13:58
catphishyes, but my question stands, what is the advantage over 'ls'13:58
maxbcatphish: The problem with "bzr branches", is that it recurses over the entire tree, and if you have bzr-{svn,hg,git} installed, it spends ages probing for those kinds of branches too13:58
Tak... ls doesn't know about branches?13:59
maxbthat's why it's unusably slow13:59
sorenmaxb: Oh, it's due to a plugin in ~/.bazaar/plugins13:59
sorenmaxb: Thanks!13:59
catphishmaxb: thanks, i think i will just use ls then, i don't need recursion or foreign repos13:59
etenilHi there14:28
etenilI'm working on a project on a linux and a windows box, and the windows box is always changing the files mode so that bazaar lists these as changes (which they aren't). How can I make bazaar ignore this?14:30
LeoNerdShared filesystem?14:32
awilkinsTak, On the matter of Windows CLI, Powershell makes it almost bearable.14:33
awilkinsThe terminal is still bobbins, but the shell has some features I wish the *nix shells had.14:33
etenilLeoNerd: No, it's not shared, I just transported the files with me on a memory stick14:33
awilkinsetenil, There's a bug for that14:33
etenilah ok14:33
LeoNerdetenil: Ah.. Try mounting noexec ?14:33
etenilwell then...14:33
awilkinsThe problem is that your thumbstick is FAT3214:33
LeoNerdOr at least, with a sensible mode so it doesn't go shoving +x everywhere14:34
awilkins^^ mount noexec14:34
etenilyes, it is fat3214:34
awilkinsOR do what I used to do and keep the repo on the stick, and take a lightweight checkout from it to the local filesystem14:34
etenilwell the problem isn't with the linux box but with the windows box14:34
awilkinsProblem is that FAT32 has no exec bit - so by default Linux assumes that it's ON for every file, unless you mount noexec14:35
catphishif its fat32 the problem may actually be with linux14:35
catphishas far as i know fat32 has no modes14:35
awilkinsWindows has no concept of exec bit, so it assumes it's OFF14:35
catphishso the linux kernel will make them up14:35
awilkinsActually, it just leaves existing ones along14:35
eteniland there's no rule I could put in .bzrignore to solve this I suppose?14:36
LeoNerdnoexec would break e.g. shell/perl/ypthon14:36
catphishcouldn't you just commit them with the the exec bits set14:36
LeoNerd*gah enter key*  ... scripts that might happen to be on the filesystem, whereas exec generally doesn't break anything.  So exec  is usually the default sa it breaks less14:36
awilkinsBug is : https://bugs.launchpad.net/bzr/+bug/24833314:37
exarkunbzr: ERROR: No such file: u'/var/lib/buildbot/twisted/.bzr/repository/indices/49ef04533e5410f03a9e1f78b25083b0.rix': [Errno 2] No such file or directory: u'/var/lib/buildbot/twisted/.bzr/repository/indices/49ef04533e5410f03a9e1f78b25083b0.rix'14:37
etenilah14:38
etenila bzr revert did it14:38
exarkun'bzr update' started failing with this error14:38
etenil\o/14:38
maxbexarkun: The implication being that an internal file has mysteriously vanished from the bzr repository14:39
ChrisWoollardI have a branch on my computer. I have deleted a file from it. How can I pull the latest version from lp?14:39
ChrisWoollardof that file.14:39
awilkinsChrisWoollard, You can either bzr revert that file (if you've not comitted it's deletion) or you can bzr cat it it from a branch that has it (if you've not committed it's deletion)14:40
maxbChrisWoollard: Deleted... and then committed the deletion? And now you want to undo the deletion and track updates from the parent branch again?14:40
ChrisWoollardit is not commited14:41
awilkinsChrisWoollard, Just revert it's path14:41
awilkinsOr use qrevert to find it14:41
exarkunmaxb: Hrm :/14:42
* awilkins is assuming you have qbzr installed or are on the default Windows distro14:42
ChrisWoollardLovely. Thanks.14:42
maxbexarkun: NFS? ext4? Recent system crashes?14:42
exarkunext3, no recent crashes14:43
maxbexarkun: Does the .pack file with the same hex-id exist? Do the other indices?  (.rix .iix .tix .six .cix)14:43
maxbFormat of this repository?14:43
exarkunThere's an obsolete pack with that hex14:44
maxb!14:44
exarkunShared repository (format: 2a)14:44
maxbare the five indices for that hex also present in the obsolete_packs dir?14:44
exarkunoh.  yes.14:45
maxbIn that case, mv the pack into packs/ and the indices into indices/14:45
maxbThe implication being that something has violated the supposed inviolate ordering of moving packs vs. updating pack-names14:46
exarkunokay, after that the update succeeded14:48
exarkunI doubt I can provide instructions for reproducing the problem.  Is a bug report saying "something can violate the supposed inviolate ordering of moving packs vs. updating pack-names" useful?14:50
maxbWhat is the bzr version?14:50
exarkun2.2.214:50
maxbhmm. I'm not guaranteeing anyone will do anything useful with the bug report, but it might be worth filing it anyway, to register on the developers collective conciousness that this issue occurs14:51
maxbIf you do, be sure to mention ext3, because a lot of this class of issue is easily blamed on ext414:52
exarkunokay, thanks14:52
* exarkun notices something else14:53
exarkunhere's the first time the error became apparent, http://buildbot.twistedmatrix.com/builders/lucid32-py2.7maint/builds/307/steps/bzr/logs/stdio14:54
maxbhrm. I wonder what the other process holding the lock was14:56
exarkunyea, that'd be useful.  but I guess that information is unavailable.14:57
spivexarkun: good morning15:00
spivexarkun: I assume you're using bzr 2.1.0 or newer?15:00
exarkunspiv: yes, 2.2.215:00
spivOk, no known bugs in this stuff since 2.1.0 I think.15:01
exarkunHm15:05
exarkunI guess there is concurrent access to the shared repository in this scenario.15:05
exarkunI forget, does that actually work yet?15:06
maxbyes15:06
exarkunokay.  At least that perhaps explains why something was locked.15:07
exarkunhttps://bugs.launchpad.net/bzr/+bug/70194015:07
maxbThe real question is how the lock managed to go away without the new pack-names being written15:08
spivexarkun: thanks, that bug report looks good (as much it can be with the available info, at least...)15:09
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
ovnicrafthello guys, i am new in bzr i have a problem i bzr merge and i dont apply the changes for specific file , how i can do it?15:55
ovnicrafti found bzr revert --forget-merges but can i aplly just for a file?15:58
ovnicrafti run it with my file as arg but i still see the changes in the diff my question is, when i commit the changes will applied?16:00
ovnicraftany feedback here?16:02
fullermd--forget-merges isn't what you want.  That makes it lose the merge metadata.16:02
fullermdYou'd just want to revert the file.16:02
spivovnicraft: as fullermd says, just "bzr revert FILE"16:04
ovnicraftspiv, thanks and when i push in parent repository what happen? my changes in file will applied?16:15
ovnicraftor give conflicts?16:15
ovnicraftspiv,16:16
ovnicraftso i am trying to push and tell what the branches diverges16:16
spivIt's just a regular commit, there's nothing special about reverting or not that file.16:17
spivovnicraft: use 'bzr missing' or a graphical tool like 'bzr qlog BRANCH1 BRANCH2' to see how their revision history diverges.16:17
ovnicraftspiv, the diverge is in the file what i revert16:18
spivNo, divergence is a property of branches, not files.16:18
ovnicraftbut bzr dont letme push16:19
ovnicraftisee in documentacion push args --overwrite16:19
spivYes, because the branches have diverged.16:19
spivYes, overwrite will let you push - but it will overwrite some changes.16:20
spivYou should look at 'bzr missing' or similar first to see what's going on.16:20
ovnicraftbzr missing show me the diverges ?16:20
spivIt can tell you which revisions are in branch A but not in B, and vice versa.16:21
spivSee 'bzr missing --help' for details.16:21
spivOr just try it :)16:21
ovnicraftspiv yes i see 10 missing revisions now16:25
ovnicraftso i understand with overwrite my revision will overwrite and forget the missing revision , i am ok?16:26
spivYes, that's what overwrite will do.16:27
spivTypically you'd use 'bzr merge' to combine the divergent changes from both branches into one branch (and thus resolve the divergence).16:27
Williamson69[TFDIf anyone knows a lot about Linux and could answer my questions. Please query me. I am a very new user and want to use Linux. Please help me. If you are a Guru on Linux. I would love to talk to you. Please query16:36
=== Williamson69[TFD is now known as Wiliamson69
=== Wiliamson69 is now known as Chiumiento
=== beuno is now known as beuno-lunch
bialixbonsoir vila16:54
vilabialix: hellllo !16:54
bialixheya!16:54
bialixhow it's going?16:54
spivbialix: hi16:54
vilabialix: I'm in Dallas, so it's still early here :)16:54
bialixhi spiv :-)16:55
bialixvila: I've suspected that, in some of your last mails there was -0600 timezone ;-)16:55
vilabialix: how are *you* going ? Seems like I didn't "see" you for quite a long16:55
vilas/long/& while/16:55
vilabialix: happy new year by the way :)16:56
bialixoh, yep16:56
bialixhappy new year to all16:56
bialix:-)16:56
* fullermd picks vila up and waves him at bialix.16:57
* bialix is happy to see fullermd16:57
* bialix waves back and grin16:57
bialixvila: haven't had too muich time for hacking16:58
fullermdI wonder if vila brought this cold snap with him...16:59
bialixwhat's about Gary?16:59
vilabialix: no idea, I miss him :-/17:00
jelmervila!17:00
bialixnobody else made a windows installers :-(17:01
bialixheya jelmer17:01
bialixHNY17:01
vilafullermd: not really, I'm pretty sure it predates my arrival and afaik the wheather was going *better* bach there when I left ;)17:01
jelmerhi bialix17:01
fullermdA likely story.  Sounds like you've spent a lot of time planning your alibi to me...17:02
vilahehe, I never spent actual time on such things, it's all occurring in the background17:03
fullermdThat's just what you'd say if you were a serial killer...17:05
* fullermd blocks up some roads and cowers in his closet.17:05
vila.... you shouldn't have mentioned that you know17:06
* bialix hopefully will back later17:06
fullermdMentioned what?  I didn't mention anyway.  Nope, not a thing...17:10
vila...too late...17:13
vilablack helicopters sent17:13
vila... as a decoy of course17:13
vilamgz: are you around ?17:13
mgzpoink.17:14
fullermdDrat.  There's never a SAM around when I need one.17:14
mgz...you want to shoot me down?17:16
vilamgz: do you remember the bug # about windows env vars encoding ?17:19
mgzbug 26287417:19
ubot5Launchpad bug 262874 in Bazaar "environment may not be in get_user_encoding() on Windows" [Medium,Confirmed] https://launchpad.net/bugs/26287417:19
vilamgz: and can you remind me what your objection was against mbcs there, I thought you commented on the bug but apparently no17:21
mgzIt's Complicated. :)17:21
mgzbasically, the way the 'mbcs' codec is written in python sucks.17:22
mgzdoesn't do *quite* the same thing as BlahBlahA interfaces do over BlahBlahW functions17:22
mgzgetting bytes out should be fine whatever, but putting bytes in is liable to blow things up17:23
vilajam is looking at the bzr_home_in_unicode test failure17:26
mgzdecoding is potentially worse as you can get u'\u0000' back out unexpectedly, but the enironment should always be given to us as something we can use, unless someone else has already broken the process17:26
jam1mgz: right, but regardless cp1252 is never correct for setting into the env, right?17:27
=== jam1 is now known as jam
jamI think there are 2 bugs atm17:27
mgzit is if that's what GetACP gives you.17:27
jam1, config_dir() isn't correctly interpretting BZR_HOME when it is unicode17:27
jammgz: GetACP?17:27
mgzand yeah, that test used to fail in a different way, so it's likely there are two issues17:28
jam2, we aren't *setting* BZR_HOME correctly for it to be interpretted by config_dir()17:28
mgzctypes.windll.kernel32.GetACP()17:28
jamconfig_dir() doesn't do any escaping/etc of the env var17:28
mgzit's what locale.getpreferredencoding boils down to as well, which... is what the user encoding should be on windows17:28
mgzin the general case, we can't put an arbitrary unicode path in the environment17:29
jammgz: atm I can only find a difference vs mbcs in characters that can't be encoded in cp125217:29
mgzso the test needs to pick one that works in the actual system's encoding17:29
jammgz: SetEnvironmentVariableW17:29
jammgz: I think config_dir() should be switching to use GetEnvironmentVariableW(), and the test changed to use SetEnvironmentVaribleW()17:30
jamon window17:30
mgzjam: right, but remember Python is using the ()A interfaces, not W17:30
jamwindows17:30
jammgz: it is for os.environm17:30
jambut we don't have to for our stuffg17:30
jamlots of windows specific stuff already for command line, might as well do it for env vars17:30
mgz...explictly? that's new.17:30
jammgz: we already have             base = win32utils.get_appdata_location_unicode()17:30
jamwhich is find the specific unicode $APPDATA location17:31
jamvia the SHutils stuff17:31
jamwhich uses                 ctypes.windll.shell32.SHGetSpecialFolderPathW17:31
jamif it can17:31
mgzthe difference between cp* and mbcs is the implementation17:31
mgzcp* codecs use tables implemented in python17:32
jammgz: so I think my point is, we shouldn't worry about it at all, we should be using the W apis on Windows wherever we can17:32
jamsince otherwise we're just broken anyway17:32
jamI can set my HOME to an arabic path on Windows, even though I'm in cp125217:32
mgzmbcs calls mbtwc kernel functions without giving you means of setting the parameters17:33
mgzjam: if you set it to an arabic path, and then run python and do os.environ['home'] what do you get?17:33
mgzbecause I'd expect questionmarks.17:33
jammgz: I agree, but my argument is that python's os.environ is broken on Windows and we shouldn't be using it17:34
mgzit's... just the way it's implemented. same problem we have with the subprocess module, and did have with the commandline as you said.17:34
mgzPython 3 is 'the' fix, which then confuses a bunch of nixy things that assume stuff is arbitrary bytes, not text17:35
mgzC:\>set FISH=é17:35
mgzC:\>echo %FISH%17:35
mgzé17:35
mgzC:\>python -c "import os;print os.environ['fish']"17:35
mgze17:35
jammgz: yeah, that doesn't surprise me17:36
jamwhich is why we're working around it17:36
mgzthat's the pain with the mbcs codec, the params it passes to widechartomultibyte does cute lossy downcoding17:36
vilalet's don't do that then :)17:36
jamwe have the functions available, just not conveniently17:36
jamI think we should add osutils.get/set_environ_variable() and try to use them when we have something we want to be unicode compatible17:37
mgzat least with cp* codecs, the "replace" and "strict" params let you control your error handling17:37
mgzI agree somewhat jam, it's just a question of how much broken core python stuff we want to rewrite to make corner cases work rather than just fail sensibly.17:37
mgzthe problem at the moment is a lot of the failures aren't safe or sensible.17:38
jammgz: HOME style env vars don't really fail sensibly17:38
jamthey tend to just prevent people from getting stuff done17:38
mgznot that everyone's trying to set their HOME to strings that aren't in their legacy encoding17:38
mgzwell, treating that as 'HOME is not set' would perhaps be sensible. breaking because it can't find a dir named ????? is not.17:40
jammgz: so we can change the config_dir() code to just decode os.environ and get mostly correct17:41
jamit just seems sad that we're on a platform that can handle any Unicode paths/variables etc17:41
jamand we are restricting it to mbcs because thats what python does17:41
jammgz: http://paste.ubuntu.com/553270/17:44
jamthis makes the test pass17:44
jamand seems ~ correct17:44
jamwithout resorting to unicode environment getters17:44
jamwhat do you think?17:44
jamfrom what I can see, the config_dir() is actually broken on Linux, since it never decodes the string17:45
jamuntil later when it will assume the string is UTF-8 (which it almost always is, but that isn't supposed to be guaranteed)17:45
mgzit is sad, but seems most practical for the moment.17:46
vila+117:46
mgzjust happening to work with utf-8 isn't suprising, I think bzrlib has a few spots like that17:46
vilawith the comment duplicated in both places17:47
jamhttp://paste.ubuntu.com/553272/17:47
jamthis is the other option17:47
jamwhich does the decode always17:47
jamwhich has a bug the way I wrote it, because it double decodes17:47
jambut you get the idea17:47
jammgz: do you know what "os.path.expanduser()" does? Is it unicode sensitive if you pass it u'~' instead of '~' ?17:48
mgzmy general nitpick would be the location of the code, don't really want this kind of involved platform logic in multiple places in the tree17:49
jamI have the feeling very few people have non-ascii home dirs on Linux17:49
mgz^might be, I'll check17:50
jammgz: I sort of agree, but config tends to be one of the few places that we deal with environment stuff17:50
=== Ursinha is now known as Ursinha-lunch
mgzalso I'm not conviced the actual chain of checks is really right17:51
jammgz: well on windows I think it will be very rare to not have APPDATA17:51
mgzlaunchpadlib caught me out the other day by expecting HOME to be set, it's generally not on windows17:51
jambut BZR_HOME > APP_DATA > HOME seems fine to me17:51
jamactually, on new windows, I would bet that GetSHSpecialFolder(APPDATA) has to return something17:52
jamor *lots* of programs would die17:52
mgzyup, that much seems fine. and checking, does seem expanduser has the same ordering (but no clever unicode logic)17:53
dashahoy. i'm encountering #445690 in 2.2.217:54
dashoh. https://bugs.launchpad.net/ubuntu/+source/bzr/+bug/44596017:54
dash(tracekback on bzr unshelve)17:54
jammgz: https://code.launchpad.net/~jameinel/bzr/2.3-unicode-home/+merge/4601517:54
dashi guess i oughta try it in 2.3b4?17:54
jamdash: I thought we touched some fixes against PreviewTree.inventory in the 2.3 series17:55
jamI would recommend trying17:55
jamI think that bug is actually a dupe, but I'm not positive17:56
=== beuno-lunch is now known as beuno
mgzbug 389674?17:57
ubot5Launchpad bug 389674 in Bazaar "NotImplementedError(_PreviewTree.inventory) when unshelving must create the parent directory" [Medium,Confirmed] https://launchpad.net/bugs/38967417:57
jammgz: thanks17:58
mgzimplies it's not fixed on trunk.17:58
jamyeah17:58
jamthere is the patch for it17:58
dashaha. google didn't find that one17:58
jamlet me check17:58
jamyeah, nobody submitted that as a merge request17:59
jamI'll poke it real quick17:59
dashok. so i guess i'll apply that patch to turn my code loose from shelve18:00
dashguess i'll make sure to create a branch instead of shelving next time :)18:00
jamdash: shouldn't generally be a problem18:01
dashsure18:01
pooliehi bialix, dash, mgz18:04
mgzhey poolie.18:04
* dash waves18:05
dashaha, i see how this got triggered.18:06
dashi h ad a shelved change to a file that was deleted in a revision after the shelf entry was created.18:07
mgzdeleted aside about os.path.expanduser from that review, but must remember to file launchpadlib bug at least.18:08
mgzthe bzrlib.config logic doesn't matter much as it really shouldn't reach that check like you said jam, appdata should always work.18:09
jamdash: https://code.launchpad.net/~jameinel/bzr/2.3-unshelve-inventory-bug-389674/+merge/4602118:28
jammgz: I'm doing a small spike on getting the win32 test suite passing19:05
jamI was going to look at test_break_lock_corrupt_info next19:05
jamis there any work you've got that I should be aware of19:05
jam*right* now, I'm going to lunch19:05
jammgz: email me if you have anything, since my machine will be off for food19:05
mgznope, feel free to boink that one19:06
mgzit's just a pain due to how the test is constructed.19:06
=== Williamson69[TFD is now known as Chiumiento
jammgz: test_break_lock_corrupt was actually a genuine windows failure, because we were holding the file open while we tried to delete it.20:34
jamhttps://code.launchpad.net/~jameinel/bzr/2.3-break-lock-corrupt-win32/+merge/4603620:34
mgzyup.20:34
jamit feels good to have a windows test fail because the code is actually wrong, rather than the test being wrong20:34
mgzbut that's only because andrew wrote the test that way, it's not usefully failing20:35
jammgz: no, it really is failing for a good reason20:35
jamcheck the fix20:35
jamforce_break_corrupt was using "f = transport.get(); f.readlines()" which was holding the file open while it went and called transport.delete()20:35
mgzhm!20:35
jamas I said, nice to have a real failure20:36
jamthat leads to a real fix20:36
mgzI'd misdiagnosed when I looked at it first time round then.20:36
jamrather than just a test case update20:36
jammgz: yeah, I thought it was an ld vs ld2 race windows bug20:36
mgzgoodjobjam.20:36
jamhttp://babune.ladeuil.net:24842/job/selftest-windows/lastCompletedBuild/testReport/bzrlib.tests.test_transform/TestTreeTransform/test_rename_fails/20:37
jamis this a problem because of French windows?20:37
jamvila: ^^20:37
mgzI've got that one.20:37
mgzit's bug 27397820:37
ubot5Launchpad bug 273978 in Bazaar "UnicodeDecodeError when strerror is not ascii" [Low,Confirmed] https://launchpad.net/bugs/27397820:37
mgzdon't have a branch on any of the other outstanding bugs though, the random failures in particular I've not dug into.20:38
jamnp20:39
jamout of 6 current failures, i've fixed 2, you've got the third20:39
jamand 2 look transient20:39
jamwhich I'd like to look into anyway20:39
jambut we're getting close20:39
mgzthat one you've just done it bug 65997820:39
jammgz: especially since test_rename_fails passes here, because I don't have French windows20:39
ubot5Launchpad bug 659978 in Bazaar "bt.test_lockdir.TestLockDir.test_break_lock_corrupt_info fails on windows" [Low,Confirmed] https://launchpad.net/bugs/65997820:39
awilkinsZero Windows Bugs ???!?!?!?!?!!? What will we tell stories about at parties20:40
jamawilkins: I'm sure there are still bugs, just not failing tests :)20:40
jammgz: thanks for the bug link20:41
mgznumbers for the remaining are 581311 and randoms 681047 and 68658720:42
mgz581311 I briefly talked to vila about, it may be we just want to catch the winsock errno while still leaving the standard errno to propogate (as the semantics seem to be a little different)20:43
jambug 58131120:44
ubot5Launchpad bug 581311 in Bazaar "bt.test_bundle.TestReadMergeableFromUrl.test_smart_server_connection_reset fails on windows" [Medium,Confirmed] https://launchpad.net/bugs/58131120:44
jammgz: of course, right now, the test passes for me20:46
jambut the first time I ran it, I got 1005320:46
mgzhm, has been reliable for me.20:49
jamI think it depends on a bit of race20:49
jamand whether it fails during connect20:49
jamor during read()20:49
awilkinsIt it another test running in another thread hogging the socket?20:50
mgzthat sounds possible.20:50
mgzha, pile-on review approval.20:50
jamawilkins: no other threads are reading from that one20:50
jambut system load can change some timings20:50
jammgz: I don't see any error trapping in SFTPTransport.get_bytes(), it seems to all be in SFTPTransport.get()20:51
jamwhich may be a reasonable hint20:51
jamif SFTPTransport.get() fails to open the file, then it will catch the exception and raise it20:51
jambut if f.read() fails, there is no special error handling20:51
jambut I guess it shouldn't get that far20:55
jambecause you don't do *any* sftp chatter on the socket20:55
jamjust close it immediately20:55
jammgz: hm.... only HTTP raises errors.ConnectionReset that I can find20:58
=== Meths_ is now known as Meths
jami don't quite see how the stuff ever worked20:58
jamI guess the hpss stuff handles ConnectionReset...20:58
spivYeah, it does, in medium.py IIRC20:59
mgzI think the thought is either osutils.read_bytes_from_socket or smart.medium should maybe be catching that socket.error21:00
mgzwhich presumably is always errno.ECONNRESET on nix, but not always (or ever in this case) errno.WSAECONNRESET on windows21:01
jammgz: yeah, i did finally track into the code you are talking about21:01
dcravenHi. Is it possible to make bzr --remember multiple push branches?21:02
mgz...then how would it know which one to use when you typed `bzr push`?21:03
dcravenBoth :)21:03
dcravenI'm lazy :/21:03
mgzah.21:03
dcravenI do one after the other, but sometimes I forget to update one.21:03
dcravenNo biggie. I just wondered if bzr could remember better than I can :)21:03
jammgz: well, it happened once, but I can't reproduce it now21:04
jambut I have something that I'm fine with as a patch21:04
bob2there's some old plugin...bzr multipush?21:04
dcravenbob2: Hmm.. I'll have a look. Thanks :)21:04
jambob2: I think multipush is more about pushing more than one branch, each to a single destination21:05
jamI could be wrong21:05
bob2yeah, you're right, I misremembered21:05
dcravenYeah. Looks like that instead.21:05
dcravenIt's not likely all that common of a wish I suppose.21:05
jammgz: https://code.launchpad.net/~jameinel/bzr/2.3-connection-reset-581311/+merge/4604321:12
jamI'm fine just treating WSAECONNABORTED as a reset21:12
jamwe don't have any other way to deal with it21:12
jamand nobody needs to see an ugly traceback because they disconnected21:12
jam(I think we get ABORTED if we write too much data on the channel, etc. But really, who cares, something broke on the network)21:12
lifelesssure they do21:12
lifelessits a reward for disconnecting21:12
lifelessa bit like an easter egg21:13
spivExcept less like chocolate and more like a great big error.21:13
jammgz: http://babune.ladeuil.net:24842/job/selftest-windows/lastCompletedBuild/testReport/bzrlib.tests.test_http/SmartClientAgainstNotSmartServer/test_probe_smart_server_urllib_HTTP_1_0_/21:18
jamlooks like the same WSAECONNABORTED failure21:18
mgzyup, it's similar, and the branch may fix that too.21:19
jammgz: I think it needs a different fix21:19
jamline 601 of bzrlib/transport/http/_urllib2_wrappers.py21:20
mgzgot bug 686587 on that.21:20
ubot5Launchpad bug 686587 in Bazaar "Random failure on bt.test_http.SmartClientAgainstNotSmartServer.test_probe_smart_server" [Low,Confirmed] https://launchpad.net/bugs/68658721:20
jamexplicitly checks 10054 but not 1005321:20
jammgz: I'm just going to roll a 10053 into that code, and include it with the earlier fix21:22
mgzit mildly urks me we're getting the same error there, just from the test name21:23
spivjam: there's a NEWS conflict in that patch accord to the lp diff21:23
jamspiv: my favorite21:23
mgz"probe" doesn't imply is should be trying to do messy disconnects unlike the other test.21:23
mgzbut it's probably not a real issue.21:24
jammgz: it is trying to read from .bzr/smart which shouldn't be there, I believe21:24
jammgz: note that the test passes here21:25
mgzwell, it's random on babune.21:25
jamthe other possibility is a timing thing, where the smart server is disconnecting at a particular pace that screws with the test21:25
=== mbarnett changed the topic of #bzr to: **Launchpad down/read-only from 23:00 - 00:30 UTC for a code update** Bazaar version control | try https://answers.launchpad.net/bzr for more help | http://irclogs.ubuntu.com/ | Patch pilot: vila | 2.3b4 is officially out ! (rm vila)
jammgz: some more get().read() stuff vs get_bytes()21:55
jamhttps://code.launchpad.net/~jameinel/bzr/2.3-per-transport-tests/+merge/4604721:55
jamthis in just the test suite21:55
vilathere is a bug for this where I commented exactly that21:56
mgzyou did vila, and I didn't think that was it as the refcount looks like it should do the right thing there, but it's worth changing it anyway and seeing21:58
mgz...did that make sense?21:58
mgzI need to not edit my sentences half way through typing them.21:58
jammgz: I believe that sftp is a bit tricky with refcounting21:58
jamIIRC, if a file handle dies due to refcounting21:58
jamit does an *asynchronous* close21:59
jamcheck paramiko21:59
mgzuu, that sounds nasty. certainly worth landing then.21:59
jammgz: SFTPFile.__del__() => self._close(async=True)21:59
jamdef close() => self._close(async=False)22:00
dashoh no __del__ :(22:00
vilamgz: yup, made sense22:07
vilamgz: I guess the end of your sentence was: '... if we still see this failure or not'22:08
jamvila: do you know the bug # ? I'm on a roll of closing win32 bugs, it would be nice to shoot down another22:08
vilahehe, searching it, unless mgz beats me to it22:08
mgzbug 68104722:08
ubot5Launchpad bug 681047 in Bazaar "Random failures on SFTPTransport tests on windows" [Low,Confirmed] https://launchpad.net/bugs/68104722:08
mgzjust reviewing now22:08
vilahe did :)22:08
jamthanks mgz22:09
vilamgz: what trick are you using to find them this quickly ? A big whiteboard in your room ?22:09
vilamgz: according (and thanks) to jam, it seems you will be the one fixing the *last* windows failure. When should we expect your patch ? :D22:10
mgzI filed the bugs, so they're helpfully linked on my user page by launchpad :)22:10
viladoh !22:11
mgz^ a.... month ago?  ;_;22:11
mgzit's slightly trickier than it looks and I'm being overly perfectionist probably.22:11
jammgz: isn't it just .decode('mbcs') for IOError/OSError? Or are you trying to do something different with setlocale?22:13
mgzin essence, it's just the plumbing and specifics that make it fiddly.22:13
jammgz: we need to get your last fix by midnight in France, so tomorrow babune will be all blue22:13
mgz:)22:13
jammgz: of course, that gives us 45minutes22:14
mgzI will put up something that works well enough for the test even if the big picture needs a little more polishing.22:14
jamand we can't land that quickly in PQM22:14
mgz...so I have minus how many minutes to finish up here? :)22:14
vilamgz: stop counting, act ! :D22:16
mgzokay, I'll (semi) cheat for the deadline, but this is a worthwhile change anyway.22:20
vilamgz: I have no doubt about that :) I don't doubt that you will follow up too anyway :)22:24
=== Ursinha is now known as Ursinha-afk
mgzokay, proposing merge now.22:41
mgzhttps://code.launchpad.net/~gz/bzr/trivial_test_rename_fails_stringification/+merge/4605522:46
spivjam: http://webnumbr.com/bzr-pqm-queue-length22:46
mgz..oo, launchpad going away in 11 minutes22:50
vilamgz: ... exactly and lp isn't showing your diff :-/22:50
spivvila: http://bazaar.launchpad.net/~gz/bzr/trivial_test_rename_fails_stringification/revision/558322:51
spivvila: so technically lp is showing the diff :P22:51
vilamgz: falling back to local review mode22:51
vilaspiv: :)22:51
mgz...I've misspelt 'exception'22:52
awilkinsConverted someone to Bazaar as an SVN client this week. Muhahahaha. Etc.22:52
jammgz: why did you check to_file in one branch, and from_file in the other?22:52
jamto_path/from_path22:53
mgzit's a quirk of the test, if that diff had a bit more context it'd be clear22:53
mgzbasically, where the limbo dance fails is slightly different depending on if we induced a permissions failure from locking the file or setting a bit on the directory22:54
vilaomg, this test is ugly :)22:54
jammgz: gotcha22:54
jamone case it failed to overwrite the target, other case it failed to move the target22:54
jammerge:approve22:55
mgzI've been making it gradually more ugly by making it more reliable... really want some test helper thing for doing 'what if there's a permissions problem' cleanly22:55
vilamgz: or turn it into multiple tests, each one focused on a dedicated aspect or even os specific maybe ?22:55
vilamgz: could wait for another submission22:56
jamsubmitted22:56
vilaindeed :)22:56
mgzyup, I've done per-os tests for a similar thing elsewhere, but it's still a little funky trying to create enironment problems for testing22:56
mgzI remember you had to add something because some tests were failing when run as root... because then you're omnipotent22:57
mgzand unix is of the philosophy that god cannot create a rock so heavy he himself cannot lift it22:58
vilamgz: yup, there is a test feature named not_root or something22:58
vilawell, we can always use more explosive ?22:58
jamvila: the test uses it22:58
vilajam: lol, you're right, I missed it :)22:59
vilain retrospect, it *obviously* uses it22:59
jaminterestingly, setting a directory to readonly doesn't do anything on windows22:59
jamsince it only tracks readonly for files22:59
vilaI still haven't setup a babune job running as root though22:59
mgzright.22:59
jamI could see splitting it up into two tests23:00
jambut it doesn't seem like a big gain23:00
mgzam mostly interested in sharing this stuff between tests. permissions errors are not uncommon as a user stambling block, so would like more tests that check we give good feedback in various circumstances23:02
maxbIf anyone has a spare moment, I'd appreciate second opinions on bug 45563623:24
lifelesspoolie: https://dev.launchpad.net/LEP/WebservicePerformance23:24
ubot5'Error: Could not parse data returned by Launchpad: HTTP Error 503: Service Unavailable\nResponse headers:\n---\nconnection: close\ncontent-length: 7274\ncontent-type: text/html;charset=utf-8\ndate: Wed, 12 Jan 2011 23:24:51 GMT\nserver: zope.server.http (HTTP)\nstatus: 503\nvary: Accept-Encoding\nvia: 1.1 wildcard.edge.launchpad.net\nx-powered-by: Zope (www.zope.org), Python (www.python.org)\n---\nResponse body:\n---\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 123:24
maxbbug 45563623:25
ubot5'Error: Could not parse data returned by Launchpad: HTTP Error 503: Service Unavailable\nResponse headers:\n---\nconnection: close\ncontent-length: 7274\ncontent-type: text/html;charset=utf-8\ndate: Wed, 12 Jan 2011 23:25:09 GMT\nserver: zope.server.http (HTTP)\nstatus: 503\nvary: Accept-Encoding\nvia: 1.1 wildcard.edge.launchpad.net\nx-powered-by: Zope (www.zope.org), Python (www.python.org)\n---\nResponse body:\n---\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 123:25
maxbhrm23:25
lifelessthanks ubot23:28
bob2teehee23:33
maxbbug 45563623:36
ubot5'Error: Could not parse data returned by Launchpad: HTTP Error 503: Service Unavailable\nResponse headers:\n---\nconnection: close\ncontent-length: 5661\ncontent-type: text/html;charset=utf-8\ndate: Wed, 12 Jan 2011 23:36:56 GMT\nserver: zope.server.http (HTTP)\nstatus: 503\nvary: Accept-Encoding\nvia: 1.1 wildcard.edge.launchpad.net\nx-powered-by: Zope (www.zope.org), Python (www.python.org)\n---\nResponse body:\n---\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 123:36
jammaxb: I think we already support anonymous access without using an ssh key. The one thing we could make clearer is something like "bzr launchpad-logout" which would remove the username and have him access only the anonymous side.23:45
jamI suppose the other aspect is that if you are anonymous, we warn you that you should log in23:46
jamso we should have a flag to also suppress that warning23:46

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