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

jelmerNoldorin: if you run "bzr serve --directory=/" in cygwin, can you use bzr:// using root-based URLs?00:07
Noldorinhmm let's see :-)00:08
Noldorinjelmer, what port does normal smart serv run on?00:15
Noldorinjelmer, apparently it's a read-only transport?00:36
jelmerNoldorin: yes, unless you specify --allow-writes00:36
Noldorinah00:36
Noldorinon the server end eh?00:36
jelmerit doesn't do authentication, so you probably want to do this on a world-facing machine00:37
Noldorinyes indeed00:37
Noldorinjelmer, not working any more01:06
Noldorinreally weird01:06
jelmerNoldorin: what isn't?01:06
Noldorinbzr serve01:07
Noldorinvery weird01:07
Noldorinhmm one min01:07
Noldorinjelmer, ok tested. interestingly, that inits the branch in the wrong dir too01:08
Noldorinunder the home dir01:08
Noldorininstead of root cygwin dir01:08
Noldorinso nothing to do with ssh it seems01:08
jelmerNoldorin: are you specifying --directory=/ ?01:08
Noldorinyep01:08
Noldorinabsolutely01:08
Noldorinhm01:10
Noldorinjelmer, any thoughts?01:14
jelmerNoldorin: what's the URL you're specifying to connect?01:15
Noldorinbzr://alex-serverb/test101:16
Noldorin bzr serve --directory=/ --allow-writes01:16
Noldorinon server01:16
jelmerNoldorin: and "bzr ls /test1" on the server works?01:19
Noldorinjelmer, correct01:20
jelmerNoldorin: hmm, no idea in that case. Perhaps a cygwin-specific issue?01:33
Noldorinmaybe01:34
Noldorinhm01:34
Noldorineither way, quite annoying01:34
Noldorinlet's see...01:34
Noldorinjelmer, maybe you could ocnfirm somehow?01:38
Noldorinconfirm*01:38
jelmerNoldorin: sure01:52
=== jordan__ is now known as jordan
Noldorinjelmer, cheers. let me know when you get any more info :-)02:33
jelmerNoldorin: ?02:43
jelmerNoldorin: what do you need me to confirm?02:43
jelmerI don't have cygwin (or Windows) here, I thought you were going to ask me for something else to confirm.02:44
jelmersorry02:44
Noldorinwhy did you say sure then lol?02:56
Noldorini meant that it *does* work without cygwin02:56
Noldorinall else the same02:56
Noldorinbrb02:56
jelmerNoldorin: Yes, I'm sure it works without cygwin.02:57
jelmer(and just confirmed)02:57
ggherdovhi all. I'm looking for some docs on criss-cross merges (basically, what is the definition of criss-cross graph of branches?). bzr help criss-cross gave me a rough idea, in bzrlib/tests/test_merge.py there are some examples, but i'd like to get the general idea before digging into specific examples. Maybe a paper on three-way merge? any hint?09:36
jelmerhi ggherdov11:34
ggherdovhello jelmer11:34
jelmerggherdov: see also 'bzr help criss-cross'11:35
ggherdovsure I did. Actually I came over this line in bzrlib/merger.py , class Merger :11:36
ggherdovlcas = self.revision_graph.find_lca(revisions[0], revisions[1])11:36
ggherdovif the list "lcas" have more than 1 elem,11:36
ggherdovi.e. more least common ancestors,11:36
ggherdovyou get a criss cross (ie. a _is_criss_cross variable is set to True :-)11:37
ggherdovI was now looking into the find_lca method, to get a grasp on the algorithm.11:37
jelmerggherdov: criss-cross isn't an algorithm but rather a situation that can occur during merge, are you asking about the lca merge algorithm?11:43
ggherdovjelmer: my question was: "what is the definition of criss-cross?". From the code, apparently, is: when you have more than one LCA. Now my question is: what is the definition of LCA? and for that, I am reading the algo that finds them.11:45
jelmerggherdov: lowest common ancestor11:46
ggherdovhow is an ancestor "lower" or "higher"?11:47
ggherdovI mean, it isn't just path's length,11:48
ggherdovsince you have two paths to consider: A is a (common) ancestor of X and Y, so there is a path A-->X and A-->Y. How do you measure the distance pf ancestor A to the couple (X,Y), to compare with another ancestor, say B?11:50
ggherdovs/pf/of11:50
jelmerggherdov: distance would be the number of edges between X and A and X and B12:04
ggherdovgot it! it's in the file bzrlib.graph . Say that you have a bunch of ancestors. lowest common ancestor of two nodes are those ancestors such that none of their descendant is a common ancestor. pastebin of the comment in graph.py: http://pastebin.com/ijyzmSQs12:05
jelmerright12:05
ggherdovjelmer: isn't about distance, I was completely off road.12:05
jelmerggherdov: right, it's about the relationship - the number of commits in between is irrelevant12:06
ggherdovYeah. I am going to make a wikipedia entry right away :-D (joking)12:07
jelmerheh12:09
jelmerggherdov: what are you trying to do?12:09
ggherdovbah, nothing specific. Last week at work I got this warning about "hey - you are trying to merge but there is a criss-cross", which looked voodoo to me, and I wanted to see things clearer12:10
jelmerah, I see12:10
jelmerggherdov: Do you think there's anything specific in the help text "bzr help criss-cross" that could be improved?12:11
jelmer*help text of12:11
ggherdovI had the impression that it didn't tell me what was happening, i.e. what the hell is criss-cross. Let me read it again.12:12
ggherdovno, I guess it was my inexperience. The help is good, it provides a practical explaination without a boring math definition:12:18
ggherdovCriss-crosses occur in a branch's history if two branches merge the same thing12:18
ggherdovand then merge one another, or if two branches merge one another at the same12:18
ggherdovtime12:18
ggherdovthe first is a "diamond" (clear criss cross), the second is a |X| (again clear criss cross).12:20
ggherdovthen the help continues:12:20
ggherdov"Criss-crosses mean there is no good choice for a base"12:20
ggherdovwhich is just right into the problem.12:20
ggherdovmaybe the point is that we're all a bit paranoid when merging (you are afraid of losing stuff silently), and anywhere you aren't 100 % in control you panic.12:23
jelmerggherdov: yeah, I know that feeling :-)12:24
ggherdov:-)12:24
jelmerI don't think I've actually had merge lose stuff. Perhaps that message should be just a note rather than a warning.12:26
ggherdovWell, if there is even *just one* thoretically possible criss-cross situation where a bad thing can happen, i think that the warning is appropriate.12:28
jelmerggherdov: with the default merge algorithm, the worst that can happen is that you get more conflicts than you would with --lca12:29
ggherdovI see. --lca triggers a different merge algorithm?12:30
jelmerggherdov: yep12:31
ggherdovabout the help: if anything, I would add a reference to some more specific documentation, like a technical paper or the code itself (like: to know more, read this paper / look into file XY)12:33
ggherdovjelmer: do you know if algorithms in bazaar are developed by the canonical folks, or rather the implementation of some standard stuff you can find in google scholar? if the latter, a tiny link somewhere would be nice I think.12:37
jelmerggherdov: I'm not too familiar with the merge algorithm internals personally. I think it's a combination of both.12:38
ggherdovok I see.12:38
Noldorinhey jelmer15:58
jelmerhi Noldorin16:04
Noldorinjelmer, found out the solution16:04
Noldorinjelmer, bzr+ssh is always relative to home directory it seems16:04
Noldorinat least in cygwin16:04
Noldorinit's designed this way16:05
Noldorinbut i can get around with it by a) creatign a cygwin symolic link16:05
Noldorinb) creating a cygwin mount entry16:05
Noldorin:-)16:05
jelmerNoldorin: I'm pretty sure that's not design in bzr+ssh16:05
Noldorinjelmer, well either way, bzr+ssh doesn't work hwo it should with bzr+ssh urls in cygwin16:05
Noldorinbut there is a solution16:05
Noldorinas i said ;-)16:05
Noldorinthis works at least16:05
jelmerNoldorin: well, good to hear you found a solution at least16:06
Noldorinyeah :-)16:06
Noldorinjelmer, it's not a bug in bzr itself, i agree. either an explicit feature, or just the result of how cygwin operates16:06
wgzNoldorin: now you have it working, will you give in to my request to post about what you did on the bazaar list? :)16:29
Noldorinwgz, i was going to write a blog post, but okay...16:29
Noldorinwhat's the email?16:29
wgzblog post and link to it is fine also.16:29
Noldorinok cool16:29
Noldorinjelmer, wgz any idea whether bzr+ssh urls on windows servers run bzr within cygwin or not?16:50
jelmerNoldorin: that depends on your ssh server16:51
Noldorinjelmer, openssh as i said before ;-)16:51
Noldorinbut on windows of course16:52
Noldorinit is the cygwin sshd server16:52
Noldorinbut16:52
Noldorinnot sure whether it's actually run in the cygwin context16:52
jelmerNoldorin: natively compiled, or in cygwin?16:52
jelmerNoldorin: bzr simply connects to the ssh port - whatever happens behind there is up to you16:52
Noldorinjelmer, nothing is native in cygwin16:52
Noldorinyou're thinking of msys16:52
Noldorin(mingw)16:52
jelmerNoldorin: openssh can be compiled natively perhaps?16:52
Noldorinnope16:52
Noldorindefinitely not on windows16:53
Noldorinat least, no-one has tried it/released any source16:53
Noldorinjelmer, bah, i just figured it out16:55
Noldorinthe problem is that the sshd uses cygwin fs16:56
Noldorinbut not bzr exe itself16:56
Noldorinthis explaisn everything :-(16:56
Noldorinhmm16:56
jelmerahh16:58
wgzyeah, it's within the cygwin shell so it sees those paths17:00
Noldorinwgz, no, that's the thing. bzr *does not* run with the cygwin shell17:00
Noldorinit runs natively on windows17:00
wgzah, if you call out to a native windows bzr, sure17:01
Noldorinnative windows bzr is by far the easiest solution on windows17:01
wgzbut the `bzr serve` command works from the cygwin shell17:01
Noldorinit doesn't like python on windows, esp. regarding plugins and whatnot17:01
Noldorinwgz, it works, but it uses the native win32 environment :-P17:02
Noldorinok, so with a normal windows hard link:17:02
Noldorinit kind of works...but gives a remote lock error17:02
Noldorinhttp://pastebin.com/NmH0CU2j17:02
Noldorinany ideas? :-)17:02
wgzneed to see the server side log17:04
Noldorinok17:04
Noldorinone sec17:04
wgzlikely you want a different BZR_REMOTE_PATH17:04
Noldorinwgz, http://pastebin.com/2ixVJHVh17:05
Noldorinno error there hmm17:07
wgzneed some debug flags thrown in as well17:09
Noldorinwgz, tell me what to do :-)17:10
wgzneed fullermd really, he has more cunning tricks than me17:13
wgzthe basic issue is the chroot is in totally the wrong place apparently17:14
Noldorinheh17:15
Noldorini see17:15
wgzNoldorin: <http://doc.bazaar.canonical.com/beta/en/user-reference/debug-flags-help.html>17:15
Noldorinwgz, well i'm happy to do some testing now, just give me orders.17:15
Noldorinotherwise we'll wait until fullermd is around17:15
Noldorinhmm17:15
Noldorinwgz, which ones, and on client or server?17:15
wgzin your config, set debug_flags to hpss and hpssdetail17:15
Noldorinok17:16
wgzfor the server, but but both wouldn't hurt17:16
wgzand hpssvfs too I guess17:16
Noldorinwhere is bzr.conf?17:16
Noldorinbazaar.conf*17:16
wgzrun `bzr version` it will tell you what dir it's in17:17
Noldorinwgz, no file in the config dir. create one called bazaar.conf?17:18
wgzyeah, you want [DEFAULT] at the top too.17:20
Noldorinkk17:20
wgzif you run `bzr config debug_flags=hpss,hpssdetail,hpssvfs it's do it for you think17:20
Noldorinyep just did that, ta17:20
wgzthen try the init again and paste the client and server logs again17:21
Noldorinhttp://pastebin.com/uWrLUtsx17:23
Noldorin(server)17:23
Noldorinerr wait17:23
Noldorinthat's someone else's paste17:23
Noldorinweird17:23
Noldorinhttp://pastie.org/303666417:23
wgztry again with /testreallyuniquenamethistime ?17:24
wgz...really I want to see what the underlying fs path is getting mapped to...17:25
wgzwait, no, misread, that does create the dir17:25
Noldorincleint is same17:25
Noldorinyeah17:25
Noldorinit does17:25
Noldorinthe actual dir/repo/branch looks like it's created fine17:25
Noldorinjust the stupid remotelock error17:26
wgzin what location?17:26
NoldorinC:\projects17:26
wgzneed some way of getting the actual error/traceback on the server side...17:26
Noldorinwgz, -Derror maybe?17:27
Noldorinsee the page you linked me to17:27
wgzthrow in "lock" and "strict_locks" and yeah, why not "error" as well.17:27
Noldorinhttp://pastie.org/303669817:29
Noldorinwgz, there17:29
wgzokay, that's helpfuly.17:31
wgz-y17:31
wgzlooks like a lockdir bug.17:32
wgzI wonder what cwd is from the perspective of bzr17:32
Noldorinyeah17:35
Noldorinhmm17:35
wgzokay, it feels like something is holding open the '8fuv1clmc4.tmp' file preventing it from being renamed into place17:42
wgzbut it's a directory, so I'm not even sure if that can happen17:43
jelmerhah, bzr run time is finally creeping towards 0.1s again17:55
wgzyeah, we regressed that pretty badly.17:55
* jelmer has a nasty patch that copies urllib.quote and urllib.unquote into bzrlib.urlutils17:57
jelmerit avoids import socket and ssl during normal operation though17:57
wgzokay, I think I understand the lockdir issue18:01
wgzjelmer: the other option would be something like the inspect_for_copy hack :)18:03
wgzI don't think you should feel too bad about reimplementing bits of urllib though18:03
wgzeveryone else does.18:03
wgzNoldorin: is there any antivirus/other filsystem scanning software on your server?18:04
wgzLocalTransport.put_bytes_non_atomic etc are pretty bad18:06
wgznot safe in face of signals, way too much platform workaround code18:07
wgzha, I wonder.18:13
Noldorinwgz, not on the server i don't believe...18:15
Noldorinno antivirus18:15
Noldorinwgz, what do you think it is then?18:15
Noldorinwb wgz18:29
Noldorindid you get my messages?18:29
wgznope, sorry, paste me in pm?18:31
wgzthanks.18:35
wgzokay, so lockdir works like so18:35
wgzcreate a folder with a temp name18:36
wgzcreate a file inside the folder with info in it18:36
wgztry to rename the folder to "held" to take the lock18:36
wgzif that fails, assume someone else already has the lock18:37
Noldorinright18:37
Noldorintrying that now18:37
Noldorinhmm18:37
wgzhowever, it can fail for reasons other than "held" already existing18:37
Noldorinwgz, i'm the only user using this btw18:37
Noldorinoh wait, you're just explaining how it works18:37
Noldorinokay...18:37
wgzone way to get the error you had is just by another process having the info file open when the rename happens18:37
wgzthis is incorrectly reported as LockContention18:38
Noldorinright18:38
wgzactually debugging this without changing code is hard.18:38
Noldorinyeah, so i thought18:39
wgzcan you run the bzr serve from a source tree?18:39
Noldorinsure18:39
wgzthe problem is a lot of our code here is... not great18:39
Noldorinhah18:39
Noldorinwgz, you trying to say some bzr is the composite work of monkeys on typewriters? ;-)18:40
wgzno, but the layering and platform specific hacks work against sanity in many respects18:40
Noldorinokay18:40
Noldorinwgz, so not all the codebase is bad huh? :-P18:41
Noldorinwgz, running it from a specific branch...just on the bzr:// protocol eh?18:41
wgzright, I should probably see if I can repo anything here, but I suspect not18:42
Noldorinwgz, ooh, this is kind-of-good news18:43
Noldorina local bzr init in that directory fails18:43
Noldorinwith LockContention18:43
Noldorinwith a traceback18:43
wgzpastebin?18:43
Noldorinhttp://pastie.org/303704018:43
wgzit may also be a geniune permission error, given you're on a newer windows18:44
Noldorinjust check i have full control on that dir18:44
Noldorinso unlikely18:44
wgzwhat exists inside Shared-Projects\foo\.bzr\branch-lock ?18:46
wgzif there are any files, pastebin me them18:46
wgz(also see if, from Shared-Projects, you can do `bzr init newfoo`)18:47
Noldorinwgz, no files18:47
Noldorinidentical18:49
Noldorinresult18:49
Noldorinwith that command18:49
wgzokay, now18:49
wgzset BZR_PDB=118:49
wgzthen run the command again18:49
wgzwill get you into the debugger at hopefully, line 641 in lockdir18:50
wgzif you then type "self._attempt_lock()" you should get the same exception as before18:52
wgzwe can then try stepping into that18:52
Noldorin*** LockContention: Could not acquire lock "LockDir(file:///Z:/Alex/Shared-Projects/foo/.bzr/branch-18:55
Noldorinlock)":18:55
Noldorinwgz, i end up with that18:56
Noldorinon self._attempt_lock18:56
wgzace.18:56
Noldorinso what next? :-)18:57
teusjelooks like the bzr documentation for windows is very out of date18:58
teusjeisn't it Noldorin :)18:58
wgzNoldorin: "debug self._attempt_lock()", then start hitting 's'18:59
wgztill you get inside _attempt_lock19:00
wgzthen use 'n' till you get to the 'self.transport.rename' line19:00
Noldorinteusje, most of the docs are platform-agnostic ;-)19:02
Noldorinbut some of it is old yes19:02
Noldorinheh19:02
Noldorinwgz okies19:02
teusje:p19:03
teusjewindows default paths that don't exist anymore in windows vista/win 7 :p19:04
wgzso, "n" is forwards, and "s" is forwards-and-in19:04
wgzwe want to go in to the rename19:04
Noldoringot it19:04
Noldorinwgz, step over and step into as we say on windows :-)19:04
wgzget to the except clause, where we have the real error from os.rename19:04
Noldorinwgz, just one s i think?19:05
Noldorinnot sure i'm inside it yet19:05
wgzthis should be in transport/local.py19:05
wgzhit 's' if unsure19:05
Noldorink19:05
wgzbut can always redo if you accidentally jump over19:05
Noldorincool, how?19:05
NoldorinPermissionDenied: Permissi...s denied)19:06
Noldorin> z:\alex\shared-projects\bzrlib\lockdir.pyo(243)_attempt_lock()19:06
Noldorinwgz, get that before i get to self.transport.rename19:06
wgzthat looks like the error from that line19:06
wgzwe need to get into the call, so more 's' and less 'n'19:07
Noldorinwgz, do you fancy just teamviewer-ing in? might go a lot quicker this way19:07
Noldorinhow do i back up then?19:08
Noldorin*awaits command*19:09
vilaNoldorin: format c:19:09
* vila ducks19:09
teusjevila tries to be funny19:09
Noldorin*anticipates vila's duck and clobbers him with a Windows 7 install DVD*19:09
vila. o O (Only way to be is to try ;)19:10
wgzNoldorin: j 24119:10
Noldorinwgz, then just 's' until... ?19:10
wgzright19:10
wgzNoldorin: could do some desktop sharing thing if you want, I'd need to install things19:10
Noldorinwgz, actually teamviewer can run locally without install, that's what nice about it :-)19:11
Noldorinwgz firstly though, http://pastie.org/303718019:12
wgzace.19:13
teusjeNoldorin that it is not supported on their windows xp that they use for writing documentation :p19:13
wgzdo "p path_from" and "p path_to"19:13
Noldorinu'Z:/Alex/Shared-Projects/foo2/.bzr/branch-lock/j2robxgreu.tmp'19:13
Noldorinand u'Z:/Alex/Shared-Projects/foo2/.bzr/branch-lock/held'19:14
Noldorinrespectively19:14
wgzthen you can do "os.exists(path_from)" and "os.exists(path_to)"19:14
Noldorinteusje, heh19:14
wgzI expect path_from to exist, and path_to not to.19:14
Noldorinwgz, module has no attribute exists19:14
wgz*os.path.exists, sorry19:15
Noldorinwgz, you expectations were correct.19:15
Noldorinyour*19:15
wgzok, now "p os.listdir(path_from)"19:16
Noldorinwgz, just u'info'19:16
wgzthen "f = open(os.path.join(path_from, 'info'))19:16
wgz"p f.read()"19:17
wgz"f.close()"19:17
Noldorin'hostname: Alex-ServerB\nnonce: 2a540tvz6rmuz5p97tvz\npid: 3900\nstart_time: 1324235155\nuser: Alex\19:17
Noldorinn'19:17
wgz"os.remove(os.path.join(path_from, 'info'))"19:18
Noldorindone19:18
wgzand it worked, heh.19:18
wgzso, discounts the handle issue19:18
wgznow, "os.rename(path_from, path_to)"19:18
Noldorin*** WindowsError: [Error 5] Access is denied19:19
wgz"os.stat(path_from)"19:20
wgz"os.remove(path_from)"19:20
Noldorinnt.stat_result(st_mode=16895, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=0L, st_at19:20
Noldorinime=1324235908L, st_mtime=1324235908L, st_ctime=1324235155L)19:20
Noldorin*** WindowsError: [Error 5] Access is denied: u'Z:/Alex/Shared-Projects/foo2/.bzr/branch-lock/j2robx19:20
Noldoringreu.tmp'19:20
wgzcute.19:20
Noldorinis that informative at least?19:20
Noldorinheh19:20
wgz"os.getcwd()"19:21
Noldorin'Z:\\Alex\\Shared-Projects'19:22
wgzokay, so, everything is sane.19:22
Noldorinheh19:22
Noldorinwhat's going on then?19:22
wgzexcept we have created a directory, that we can't rename or remove.19:23
Noldorinhah19:23
Noldorinnice19:23
wgzhave you got process explorer installed?19:24
Noldorinwgz, i *literally* just started up procexp 2 seconds before you said that :-)19:24
Noldorinto check for locks19:24
Noldorinby other procs19:24
Noldorinheh19:24
wgzright, find handles with substring "Z:\Alex\Shared-Projects"19:25
Noldorinwgz, no open handles on it19:25
Noldorinnone at all19:25
wgzokay, so that discounts the theory.19:25
Noldorinpermissions look fine on it to :-S19:25
Noldorinhrmm19:25
Noldorinwgz, interestingly i have no prob deleting it from winexplorer19:26
Noldorinwhat credentials is bzr.exe running with?...19:27
wgzthe code doesn't seem to be suprising either...19:27
wgzpotentally not the right ones, but letting you make a dir you can't remove doesn't sound like a standard persm issue ither19:28
wgzha, I mistyped an instruction earlier, than may have confused things19:28
wgzwant to try the screen sharing thing? what do I need to see your desktop rather than visa versa?19:29
Noldorinwgz, sure, we can do that. teamviewer is already set up here19:30
Noldorinwgz, actually, mind waiting 20 minsm as i need to eat?19:30
wgzgo for it.19:31
wgzI shall ponder in the mean time.19:31
Noldorinwgz, something tells me though that because Windows Explorer can delete the dir fine but Python can't, the Samba share on the directory is confusing it. maybe the Windows shell sends a notification to the Samba server to release it before deleting19:31
Noldorin*shrug*19:31
Noldorinbe back soon!19:31
roryyshould directory names in entries in dirstate (in dirstate field _dirblocks) be unicode or bytes?19:33
wgzthey're utf-8 bytes.19:34
roryyi'm looking at bug https://bugs.launchpad.net/bzr/+bug/18521119:35
ubot5Ubuntu bug 185211 in Bazaar "renaming out of directory with unicode name fails with InconsistentDelta" [High,Confirmed]19:35
roryyand i've run robert collins demo script with pdb19:35
roryythey look like bytes to me19:35
roryybut my python-fu is not super-strong, so I may be missing something19:35
wgzoh, oh man19:37
wgznice bug rorry, that repo script is hilarious19:38
roryyyeah, i dunno why all those weird characters19:39
wgzlooks a lot like a 'safe' unicode bug19:39
roryywhat does that mean?19:39
wgzI bet you can double-decode as utf-819:40
wgzyep, win.19:40
wgz>>> b = "\xc3\x83\xe2\x80\x9e\xc3\x83\xe2\x80\x93\xc3\x83\xc5\x93"19:41
wgz>>> u = b.decode("utf-8")19:41
wgz>>> b2 = u.encode("CP1252")19:41
wgz>>> u2 = b.decode("utf-8")19:41
wgzbasically, a bug due to bad handling of which encoding is used for what19:42
wgzthe tricky part is the failure comes after the bug has already happened19:45
wgzhave you tried running the script with -Ddirstate added?19:45
roryyno19:46
roryyah, track dirstate activity19:46
roryyinteresting that u2==u in this case19:47
roryyoh, hang on19:47
roryydid you mean u2=b2.decode() there?19:47
wgzah yes, my error19:47
wgz>>> u2 = b2.decode("utf-8")19:47
roryyok, that is saner19:48
wgz>>> u19:48
wgzu'\xc3\u201e\xc3\u2013\xc3\u0153'19:48
wgz>>> u219:48
wgzu'\xc4\xd6\xdc'19:48
roryyi thought somehow cp1252 and utf-8 had a weird equivalence19:48
roryyhmm, -Ddirstate doesn't obviously output anything19:52
wgzit goes in .bzr.log19:55
roryyah-ha, thank you19:55
wgzI suggest cutting down the filename to the shortest thing you need to reproduce the bug, then seeing if you can track when it turns into something that doesn't match what's on disk20:00
roryythe error is triggered with just one non-ASCII character in the filename20:13
roryyand in the entry, i see only 'abc' for the directory name, where I expected to see u'abcÃ'20:14
roryythe -Ddirstate and trace.mutter look useful; might be easier than working with pdb20:15
Noldorinhi wgz20:23
Noldorinback20:23
wgzhey Noldorin20:26
Noldorinhi20:27
Noldorinany more thoughts? :-)20:27
wgzonly for a different bug with a similar symptom I'm afraid20:28
wgzwant to try some more debugging?20:28
Noldorinyes please20:28
wgzokay, if you pm me the id thingy let's try teamviewer20:29
roryywgz: thanks for the help.  i'm off to sleep.20:34
wgznight roryy20:38
=== _thumper_ is now known as thumper
=== NiFkE- is now known as teusje-
wgzbug 716507 ...not completely relevent21:41
ubot5Launchpad bug 716507 in Bazaar "Error when attempting to add directory containing a "junction" on Windows" [Wishlist,Confirmed] https://launchpad.net/bugs/71650721:41
jelmerwgz: btw, what are your thoughts on using __future__.unicode_literals?21:41
wgzit's a bad idea.21:42
jelmerwgz: because string handling in python3 isn't quite right either?21:46
wgzjust breaks too many basic things21:48
jelmerwgz: well, we'll have to deal with that at some point, if we ever want to support python321:48
wgzthe number of things that need to be str/unicode are fewer than those that need to be str/str21:49
wgzthat's 3/2 confusingly...21:50
jelmerah, hmm21:50
thumpermorning22:36
thumperdoes anyone remember a simple way to use meld to see the diff between two branches?22:36
thumperor am I going to have to look it up again :)22:36
pooliehi all23:51
wgzhey poolie23:51
pooliehi wgz23:51
pooliei'm riding a pangolin23:52
poolieit's bit bumpy23:52
pooliebut good23:52
wgzyeah, the guys on thursday were talking about that too23:53

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