/srv/irclogs.ubuntu.com/2010/04/22/#bzr.txt

mkanatmwhudson: What version of pygments is installed on codebrowse?00:07
mwhudsonmkanat: whatever's in hardy i guess00:10
mkanatmwhudson: Okay.00:11
mwhudsonmkanat: 0.9-200:11
mkanatmwhudson: Thanks! :-)00:11
* igc building Windows installers for 2.2b2 today00:11
blueyedkrisives-gearbox: well, the old commit would still be there.. you're creating only a new one. I would go with several "uncommits", fix the one in question, then redo the latter ones. edgimar ^^00:38
igcspiv, bug 496813 has landed into 2.1 now right?00:40
ubottuLaunchpad bug 496813 in bzr/2.1 "until_no_eintr used on unrestartable IO, and cannot address all cases of EINTR." [High,In progress] https://launchpad.net/bugs/49681300:40
pooliehi all00:51
spivigc: yes, thanks, bug updated00:59
igcspiv: thanks01:00
poolielifeless (if any), I was thinking last night01:04
poolieperhaps we could test pqm in the real environment but on a different branch01:04
poolieso that it doesn't block development like bug 56810001:04
ubottuLaunchpad bug 568100 in bzr "PQM broken for bzr/2.0" [High,Confirmed] https://launchpad.net/bugs/56810001:04
lifelesspoolie: so thats not pqm itself; thats the subunit version in the chroot01:07
pooliebecause it changed recently and 2.0 is incompatible?01:08
poolieok, but even beyond that specific bug01:08
lifelessthe lack of feedback is hopefully fixed at this point, or at least, one less cause removed01:08
lifelesspoolie: an edge/testing environment would be good01:08
lifelessI'm not dismissing that01:08
poolieneeding to test it in the deployed environment seems not to be quite the same as needing it to be tested within our main workflow01:08
lifelessjust noting the details of that particular problem01:08
poolieso we need to land a change to 2.0 that makes it pass with current subunit?01:09
lifelessyes01:09
pooliei see01:09
lifelessI've commented with a reasonable pointer in the bug01:09
lifelessI think an edge/staging environment for our CI stuff would be great01:10
lifelessthat way when we move to tarmac, or whatever changes we want, we can be more confident before making changes.01:10
poolieso that would be i guess a different mail address and a different destination branch?01:12
lifelessand different test chroot01:12
lifelessand different pqm tree01:12
lifelesspossibly even a different machine [perhaps a UEC vm] as there are dependencies involved like launchpadlib version01:13
igchi poolie. Trip back to the big smoke all go ok?01:33
poolieit was fine01:34
pooliei really liked seeing brisbane again01:34
jbowtieHi, does anyone have any pointers on integrating NTLM support?  I've been using python-ntlm and urllib2 directly in my TFS plugin and would like to switch to using the HTTP transport.01:34
poolieand seeing you01:34
igcpoolie: we even put on some rain for you :-)01:34
igcpoolie: ditto01:35
rephormat1greetings everyone.01:35
rephormat1I was wondering if anyone would have some time to discuss the workflow for a standard bazaar development environment01:36
poolielifeless: is it possible at all that pqm could put the failures on its own webserver and just post a link to the mp?01:36
jbowtieMostly I want to make sure I interact correctly with the credentials support so I can prompt for a password; should I just look at the urllib2 wrapper stuff?01:36
pooliejbowtie: it sounds good; you probably want to come in through the bzr authentication layer01:37
rephormat1I have successfully used bazaar in both a local and bzr+ssh fashion, but when I use the bzr+ssh fashion it always commits to the server rather than locally.01:37
pooliebut ntlm has an intimate connection to http so it may be complex01:37
pooliej: vila knows the most about this but he may be asleep01:37
mkanatlifeless (or whoever): The lru_cache thread fix is in 2.1.0, right?01:38
mkanat(That's what the bug says, I just want to be sure it's right.)01:38
jbowtiepoolie: I was hoping I could just plug in the urllib2 provider that python-ntlm provides, but since all that stuff appears to be wrapped I was unsure how straightforward it was going to be.01:40
jbowtierephormat1: I usually create a branch locally, commit there, then push to the remote server.01:41
jbowtieIf we get NTLM support integrated I can publish my bzr-tfs plugin, that's really the only missing piece.01:43
* igc out for a few hours01:50
igc(2.2b2 builds for windows kicked off)01:51
rephormat1j: does that mean you would do a bzr checkout bzr+ssh://server/project/01:55
rephormat1J: make changes to the code, test, commit01:55
rephormat1j: then do a bzr push?01:55
jbowtierephormat1: Well, I would do a bzr branch; if I did a bzr checkout I wouldn't need to push (bound branches commit to both the server AND the local branch)01:59
rephormat1ahhh02:00
rephormat1jbowtie: so I would do a bzr branch bzr+ssh://server/path/project ~/project02:02
rephormat1jbowtie: make my changes, test, commit, then bzr push?02:02
jbowtierephormat1: Yes - with that workflow everything stays locally until you push to the server.02:04
mwhudsonmkanat: +1 to working on bug 42073802:04
ubottuLaunchpad bug 420738 in loggerhead "LRUCache.cleanup raises KeyError" [Critical,Confirmed] https://launchpad.net/bugs/42073802:04
rephormat1EXCELLENT!02:04
rephormat1jbowtie: What happens if I make changes to the same file as one of my other editors?02:05
rephormat1jbowtie: just tell me if I'm being lazy and I'll try to make sense of the documentation again.02:05
mkanatmwhudson: Thanks. :-)02:05
jbowtierephormat1: Usually that stuff just merges seamlessly. If there was a merge conflict I imagine you'd have to pull down the server changes, resolve the conflicts locally, then push again.02:07
rephormat1jbowtie: Thank you very much for your help, jbowtie. I appreciate it. Trying to get my programming group at our university to switch to bazaar02:08
jbowtierephormat1: I have Subversion habits so I usually pull just before pushing as a safety precaution, but bzr has never bitten me.02:08
rephormat1Now all I have to do is find a bug tracking web gui for bazaar02:09
jbowtierephormat1: No worries, doing the same at work which is why I'm working on a TFS plugin.02:09
mkanatrephormat1: Bug-tracking and version-control are unrelated....02:09
rephormat1I can't do it on launchpad.. at least not right now as all this code is inhouse and can't be public02:09
rephormat1TFS?02:09
jbowtieTFS = Team Foundation Server. Horrible Microsoft proprietary thing.02:10
rephormat1mkanat: my apologies. What I meant was being able to reference a bug ticket like you can when doing a commit with launchpad.02:10
rephormat1jbowtie: DUDE! I feel for you man.02:11
mkanatrephormat1: Ahhh. bzr can do that with Bugzilla out of the box.02:11
rephormat1jbowtie: I finally got my group AWAY from SHAREPOINT!!!!!!02:11
rephormat1mkanat: YOU ARE AWESOME!!!!02:11
rephormat1Now if only I can kill off the microsoft group. LOL!!02:12
mkanatrephormat1: Although I don't currently know of any integration within Bugzilla for bzr.02:12
jbowtierephormat1: That might be my next project after this.02:12
rephormat1mkanat: I don't understand. Your saying it works out of th box, but that there is no integration?02:12
mkanatrephormat1: bzr supports noting that a particular commit is associated with a particular bug in Bugzilla.02:13
jbowtierephormat1: I think Trac is also well supported; there's a bzr plugin IIRC.02:13
mkanatrephormat1: It's a feature in bzr.02:13
rephormat1Can you imagine.. a primarily open-systems group using SHAREPOINT!!!02:13
rephormat1so I showed them the light with Mediawiki02:13
rephormat1LMAO!!02:13
rephormat1jbowtie: yeah I was looking at bzr-trac at launchpad. The only thing I didn't like about it was that it required a directory to be completely empty to create a "trac"d branch02:14
rephormat1mkanat: I'm going to have to research that. Do you know if bugzilla can be downloaded and setup as a local private bug reporting system?02:15
rephormat1just curious..02:15
mkanatrephormat1: Yes, for sure.02:15
rephormat1mkanat: I TRIED to install a local private setup of launchpad... MAN that was a pain in the a$$..02:16
mkanatrephormat1: I can imagine.02:16
rephormat1mkanat: so I gave up... I'm a quitter.. I know... lol02:17
rephormat1but both of you have just peaked my curiousity and made my convincing arguement that much easier02:18
mkanatOkay, I have spent six hours reading this effing log, it's time to take a break.02:18
rephormat1mkanat: What log?02:19
mkanatrephormat1: Unrelated to our conversation.02:19
mkanatrephormat1: Related to loggerhead work I'm doing.02:19
rephormat1mkanat: excellent02:19
zeroseven0183Hi03:07
zeroseven0183I need help03:08
zeroseven0183I was trying to download the Ubuntu Manual project files03:08
zeroseven0183via bzr branch lp:ubuntu-manual last night03:08
zeroseven0183I was able to start it, but in the middle of the download, I decided to cancel (since I'm going to bed already)03:09
zeroseven0183Now, when retrying to download it gives me "bzr: ERROR: Connection closed: Unexpected end of message. Please check connectivity and permissions, and report a bug if problems persist."03:09
zeroseven0183How do I correct this?03:09
zeroseven0183I've tried with different directory/folder (with the same name, and with a different name), but still the same error03:10
jbowtiezeroseven0183: So you're trying to branch it again?03:11
zeroseven0183Yes, correct03:11
zeroseven0183"Permission denied (publickey). bzr: ERROR: Connection closed: Unexpected end of message. Please check connectivity and permissions, and report a bug if problems persist."03:13
jbowtiezeroseven0183: OK, I seem to be branching it without a problem. Can I assume you've checked your connectivity?03:13
zeroseven0183Yes, I did and it's working fine03:13
jbowtiezeroseven0183: Can you branch other projects from launchpad?  For example, lp:quickly?03:15
zeroseven0183On the same directory?03:15
zeroseven0183Ok, wait03:15
zeroseven0183Sadly, now03:16
zeroseven0183Same error "Permission denied (publickey). bzr: ERROR: Connection closed: Unexpected end of message. Please check connectivity and permissions, and report a bug if problems persist."03:16
jbowtieHmmm...does bzr info output anything?03:16
zeroseven0183bzr: ERROR: Not a branch: "/home/tutdek/Quickly/".03:17
jbowtiezeroseven0183: OK - is there a .bzr subdirectory in that directory?03:17
zeroseven0183No, there is no .bzr03:18
zeroseven0183But what I see in my /home folder is .bazaar03:18
jbowtiezeroseven0183: Well if there's no .bzr directory then it's not even getting far enough to start creating the branch. The other possibility is permissions; maybe send off an email to the launchpad admins?03:20
zeroseven0183Alright but how come I was able to do that last night?03:20
zeroseven0183Something to do with my Public Key03:21
zeroseven0183I already generated and reposted my public key twice this morning03:22
jbowtiezeroseven0183: I don't know - at this point I'm speculating (note that the error message does say 'Permission denied' ).03:22
zeroseven0183Yup03:22
jbowtiezeroseven0183: Best bet is to  contact the admins, they can probably tell you what's going on; maybe some spammer got your ISP subnet blacklisted.03:23
fullermdThe error means it's not succeeding at key auth.  Which probably means the key you're using locally and the key on LP are different.03:24
fullermdTry just connecting manually with ssh, and sprinkle on -v's to taste to see what key it's expecting to use.03:24
zeroseven0183I have two SSH keys in my Launchpad account03:25
zeroseven0183Are they both being scanned when branching?03:25
fullermdI'd imagine.03:26
fullermdBut don't guess.  See what ssh says.03:26
zeroseven0183Never thought the efects of cancelling that download would be harder03:28
zeroseven0183Alright, fullermd, how do I do the ssh -v thing?03:36
zeroseven0183Sorry I'm not good in command lines03:36
spivzeroseven0183: "ssh -v bazaar.launchpad.net"03:36
spivzeroseven0183: and see which keys it tries03:37
zeroseven0183The last line still says Permission denied (publickey)03:37
fullermdMay need a couple (-vv or -vvv) to see all the details; I don't know offhand what levels reports everything you need.03:38
spivzeroseven0183: right, but hopefully the other lines will give you some information about which keys ssh is trying to use03:38
zeroseven0183Ok. Here's what I got http://pastebin.com/i17EkVBB03:43
zeroseven0183http://pastebin.com/raw.php?i=i17EkVBB03:43
spivzeroseven0183: oh, I forget03:45
spivzeroseven0183: you should also explicitly use your launchpad username with "ssh -v"03:46
spivzeroseven0183: e.g. "ssh -vv bazaar.launchpad.net -l zeroseven0183" or whatever03:46
spiv(Unless your Launchpad username is tutdek?)03:46
zeroseven0183Nope03:47
spivOtherwise that debug output just tells us that none of your local keys match the public key on launchpad for 'tutdek' :)03:47
zeroseven0183Here's the changes http://pastebin.com/raw.php?i=bEWWMRAd03:47
zeroseven0183Just added -l zeroseven018303:48
spivOk, then none of the keys you have locally in .ssh match any of the ones on your Launchpad account.03:49
spivIt says it is trying 3 different keys in your .ssh directory, but none of them are right.03:50
spivzeroseven0183: take a look at your .ssh/id_rsa.pub file, does it match one of the ones at https://edge.launchpad.net/~zeroseven0183/+sshkeys ?03:52
zeroseven0183Now that's a lot of characters! :-)03:53
zeroseven0183Yes, I think they're match03:54
spivHmm!  Then I'm not sure why it would fail :(03:54
zeroseven0183Wait03:55
zeroseven0183I have two keys in edge.launchpad.net03:55
spivYes.  That's fine.03:55
zeroseven0183The last one matched with what's in the .pub03:55
spivYou can have twenty if you like ;)03:55
zeroseven0183Hmmm... I wish I was more patient last night03:56
zeroseven0183The download was just 50% when I cancelled it03:57
spivI don't know why that key would have stopped working overnight.03:57
mkanatThis is the second time that a loggerhead bug has taken me weeks or months to track down and ended up being a tiny, tiny fix.03:57
spivmkanat: heh03:57
zeroseven0183spiv: I guess I should go and e-mail the Launchpad admins?03:58
spivzeroseven0183: at this point I only have increasingly unlikely theories, e.g. that the permissions on your .ssh directory or the .ssh/id_rsa file are wrong, but I'd expect ssh to warn if that's the case.03:58
spiv("ls -ld ~/.ssh" should show "drwx------", and "ls -l ~/.ssh/id_rsa" should show "-rw-------")03:59
spivHmm: "debug2: we did not send a packet, disable method" is odd04:00
zeroseven0183:-(04:01
spivIt should have lines like "Offering public key: /home/andrew/.ssh/id_rsa", but it doesn't.04:02
zeroseven0183OK wait... I think I'm seeing some light04:03
spivIt definitely shows signs of being a local configuration problem, but I don't know what.04:03
zeroseven0183You mentioned the ls -l ~/.ssh/id_rsa04:03
zeroseven0183being in the ~/.ssh directory04:03
zeroseven0183I don't have that04:03
spivOh!  I see.04:03
zeroseven0183So I moved the id_rsa and id_rsa.pub on that directory04:03
spivI guess that's what the "((nil))" parts mean.04:04
zeroseven0183Actually, the filename was originally idko and idko.pub04:04
zeroseven0183then ran bzr branch lp:ubuntu-manual04:04
* fullermd blinks.04:04
spivYou can set the filename in your .ssh/config.04:04
spivNot that there's much reason to use anything other than the default if you only have one key on that system.04:04
zeroseven0183And now it's trying to fetch the revisions04:04
zeroseven0183Yup04:05
spivAh good.  Glad I could help!04:05
zeroseven0183I think I can breathe now04:05
zeroseven0183Sure04:05
zeroseven0183Everyone who chatted with me here were very helpful04:05
zeroseven0183What a learning experience04:05
zeroseven0183Thank you very much, people04:06
spivWell, you've reminded me of some details of how to interpret ssh -vv output :)04:06
zeroseven0183And now for the most exciting part of the day... LUNCH!04:07
zeroseven0183I'm off now, guys04:07
zeroseven0183Thank you very very much!04:07
zeroseven0183You did very well in helping me04:07
zeroseven0183See you around next time04:07
zeroseven0183:-)04:07
mkanatmwhudson: Okay, MP: https://code.launchpad.net/~mkanat/loggerhead/limit-pygments/+merge/2390004:17
mwhudsonmkanat: if (): looks like C :)04:20
mkanatmwhudson: Oh, right. I'm sleepy. :-)04:20
* spiv -> lunch04:49
* man_in_work waves06:16
man_in_worki'm trying to branch a bzr repo and i'm getting "No repository present"06:18
man_in_workusing command: bzr branch sftp://user@server/path/to/branch/06:19
man_in_work/path/to/branch exists as an absolute path on the server, and includes a .bzr directory06:20
man_in_workinside that, there is a file "branch-format", which reads: Bazaar-NG meta directory, format 106:20
man_in_workmy bzr --version reads: Bazaar (bzr) 2.1.106:21
fullermdThe whole output would be helpful.  Also an 'info' of that URL.06:21
man_in_workbzr: ERROR: No repository present: "sftp://user@server/path/to/branch/"06:22
man_in_work^^ whole output06:22
man_in_workwhat do you mean by info?06:22
fullermdbzr info $URL06:22
man_in_worksame output06:22
fullermdWhat all is in the .bzr?06:23
man_in_workbranch-lock, branch directories, branch-format and README files06:24
man_in_workis bzr-ng a different tool to bzr 2.x?06:26
fullermdbazaar-ng is bzr.  I'm not sure what bzr-ng is.06:26
fullermdWhat about in /path/to and /path?  That doesn't list a repository.06:26
man_in_workthere is a .bzr in the 2nd-level directory in /path/to06:29
fullermdDoes the user have access to it?06:29
man_in_workperms are 755 on directories and 644 on files06:31
man_in_workso, yes06:31
fullermdWell, bzr is telling you that for some reason it can't get its hands on it.06:31
fullermdMaybe .bzr.log says something?  There's some -D flag to get it to tell more about what it's doing...06:31
fullermd-Dsftp maybe?  Though I suspect that talks more about the interaction with sshd itself than the activity happening over it.06:33
fullermdI thought there was a -Dtransport or something, but I don't see it in the docs.06:33
man_in_work  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 684, in find_repository06:33
man_in_work    raise errors.NoRepositoryPresent(self)06:33
man_in_work^^ that's the end of the backtrace in the log06:33
fullermdIf you've got bzr on the server, bzr+ssh has some more options (and is a better all around choice anyway)06:33
fullermdYeah, but that doesn't tell us where it {was looking,had looked}.06:33
man_in_worksome smart fellow decided to use a bzr repo on a server that doesn't have bzr installed06:34
man_in_workdon't ask me why06:34
fullermdWell, you could try pretending to be bzr.  Use sftp(1) yourself to go in as that user and poke around, make sure you can reach into the repo.06:35
fullermdspiv: ^^ am I missing a -D option to tell what files it's trying to look up?06:36
man_in_workdon't see any problems06:36
man_in_workwith direct sftp access06:36
man_in_worki don't see -D on the manpage anywhere06:38
man_in_workis it a flag to bzr or to branch?06:38
fullermdTo bzr.06:38
fullermd`bzr help debug-flags`06:38
poolieigc, source is properly frozen now06:46
pooliehttps://edge.launchpad.net/bzr/2.2/2.2b206:46
fullermdpoolie: Oh, you're around to bug instead of spiv    :)06:47
igcpoolie: thanks. I'll check the installer builds now06:48
fullermdpoolie: Am I misremembering that there used to be a -Dtransport or the like?06:48
poolienot for much longer  :)06:48
pooliefullermd: there is log+sftp:// etc06:48
pooliei would like a debug option that puts this onto all transports but i don't think it exists yet06:48
fullermdOoh, maybe that's what I'm trying to think of.06:48
fullermdman_in_work: Try that  ^^^06:48
man_in_workgot some useful info06:49
man_in_workNo such file: '/path/to/branch/.bzr/checkout/format': [Errno 2] No such file06:51
fullermdProbably irrelevant.  'branch' doesn't really do anything meaningful with that.06:51
man_in_workwhat about repository/format?06:53
fullermdThat's more what we're be looking for.06:55
man_in_workwell, that also doesn't exist06:56
man_in_workthere's no repository directory06:56
man_in_worki see a repository.backup in an ancestor directory's .bzr06:57
man_in_worklooks like someone's been screwing around06:58
man_in_workfullermd: thanks for your help07:07
naokiping: vila07:36
vilanaoki: yeah ! pong07:36
naokivila: https://code.launchpad.net/~songofacandy/bzr/fix-523746-dev/+merge/2053707:36
vilanaoki: yup, can you break it ?07:36
naokivila: bzr uses win32utils.get_unicode_argv. So bzr recieve args by unicode07:37
vilanaoki: meh07:40
bialix_o/07:40
bialix_o|07:40
bialix_o/07:40
naokiPlease wait some minutes. (I'l07:41
naokiI'll test your branch from now.07:42
naokiI'm using Japanese WinXP.07:43
naokiadd new file in Chinese name. commit, and modify it.07:43
naokivila: http://paste.ubuntu.com/420255/07:45
naokiThis is your fix.07:45
vilanaoki: great, can you send me a tarball of the wt/branch/repo07:46
vilawhat is cp932 ?07:47
naokiJapanese codepage. It's Shift_JIS + some extra chars.07:47
vilais the filename valid in this encoding ?07:48
naokiNo. It isn't.07:48
vilathen we have a far larger problem07:48
naokiBut I can add that file name from TortoiseBZR, qbzr, etc.07:48
naokiBecause bzr recieves args by unicode.07:49
bignoseI'm trying to convert a repository stored on a remote server to which I have only SSH and SFTP access; it doesn't have Bazaar installed.07:49
bignose$ bzr check sftp://bzr@fs/~/07:49
bignoseFormat RepositoryFormatKnit3() for sftp://bzr@fs/~/.bzr/ is deprecated - please use 'bzr upgrade' to get better performance07:49
vilanaoki: from the command line ?07:49
bignose$ bzr upgrade sftp://bzr@fs/~/07:49
bignosebzr: ERROR: Cannot convert from format RepositoryFormatKnit3() to format RepositoryFormat2a().    Does not support nested trees07:49
bignoseam I correct in thinking that current Bazaar 2.1 should be able to convert any previous Bazaar repository format to 2a?07:50
bignoseif not, what are the limits? if so, why is this not working?07:50
naokivila: I'ts very difficult. I can't input chinese from keyboard. But I can copy&paste the filename.07:50
naokivila: I can do diff in cmd.exe http://paste.ubuntu.com/420255/07:51
maxbbignose: Knit3 is dirstate-with-subtree, you can only convert it to other formats which also support -subtree. That's what the "Does not support nested trees" is about07:52
vilanaoki: 'bzr diff' alone works right ?07:52
naokivila: filename is broken. But others are all right.07:53
vilanaoki: I smell something wrong about bzr receiving unicode...07:53
vilanaoki: broken how ?07:53
vilanaoki: is GetCommandLineW documented somewhere ? My feeling is that this function handle the conversion from the input encoding to unicode07:54
naokivila: This is how to reproduce http://paste.ubuntu.com/420255/07:55
vilanaoki: well, almost, I don't have winmerge nor your branch :-/07:55
naokivila: No. On Windows, filenames and commandline arguments are unicode internally.07:56
naokivila: So, sys.argv is encoded string. Not original.07:56
vilanaoki: yes, in bzr too, yet there are encoded.edecoded at appropriate times07:56
vilayou mean decoded ?07:56
vilapython use decode to go from one encoding to unicode and encode to go from unicode to one encoding07:57
bignosemaxb: okay. so what current format could I convert this repository to?07:57
naokivila: I means Python's default sys.argv. It is from main(int argc, char *argv[]). And argv is encoded.07:57
naoki(Python3's sys.argv is from main(int argc, wchar *argv[]). So it's native unicode)07:58
bignose‘bzr help current-formats’ doesn't mention subtree anywhere in its list.07:59
bignoseis there any currently-supported format that supports subtree?07:59
vilanaoki: AFAIK you can't *type* unicode on the command line, you always use the user encoding *then* python decodes it into unicode07:59
naokivila: Windows command prompt is based on unicode. So I can use unicode on command line.08:01
* vila scratches head08:01
bignosenaoki: it's important to realise that “encoded string” is *not* Unicode. Those are two different data types.08:01
bignoseeither you have an encoded string, which is not unicode08:02
naokivila: And win32utils.get_unicode_argv() recieves command line by unicode.08:02
bignoseor you have unicode, which is not an encoded string.08:02
bignoseyou need to be clear about which you have at any given moment.08:02
vilanaoki:  win32utils.get_unicode_argv() relies on GetCommandLineW and I suspect the later handles the decoding, where is it documented ?08:03
naokivila: commandline is UTF-16 in Windows. GetCommandLineW gets the commandline without encoding/decoding.08:04
* vila blinks08:04
vilanaoki: there are several places in bzr where we use osutils.get_user_encoding() even on win32 (see win32utils), I'd really like to understand what is happening here08:05
vilabialix: can you help here ?08:05
naokibzr uses that encoding when output to console.08:06
naokiAnd then, console decode it to utf-16 and show.08:07
naokiOn windows API, everything is Unicode based. And encoded string is used for compatibility to ascii based application.08:08
vilanaoki: no, we use different encodings for: use, terminal and file system08:08
vilahttp://stackoverflow.com/questions/846850/how-to-read-unicode-characters-from-command-line-arguments-in-python-on-windows seems to imply that GetCommandLineW is indeed decoding into unicode08:09
vilanaoki: i.e. the command-line itself is not in unicode, it's decoded by GetCommandLineW08:10
naokivila: GetCommandLineW doesn't decode anything. commmandline is unicode and GetCommandLineW pass it.08:11
vilanaoki: why does python needs GetCommandLineW then ?08:13
naokivila: sys.argv is **encoded** arguments. So it may be broken.08:13
naokivila: It is why we should use GetCommandLineW to get unicode arguments.08:14
vilanaoki: ok, so we disagree on that, you say the command line is unicode, I say it's encoded in user encoding, what code can you use to decide on that ?08:15
vilanaoki: 'sys.argv is **encoded**' by who ?08:15
vilanaoki: and how ? That's what we need to find to be able to replicate around subprocess.Popen08:16
naokivila: MSVCRT encode arguments and pass it to main()08:16
vilanaoki: then Popen most probably will do the same08:16
naokivila: Python3's subprocess module uses CreateProcessW. So it can pass unicode arguments to child process.08:16
naokivila: But Python2's subprocess can't handle unicode.08:17
vilahaaaaa, but we are stuck with python2 so far08:17
vilanaoki: can we trick it into accepting utf8 encoding ?08:17
naokivila: So, there are 2 ways: 1. Use CreateProcessW manually like GetCommandLineW.08:17
bialixvila: on Windows command line is unicode08:18
naokivila: 2. replace chars that doesn't represent in user_encoding.08:18
vilabialix: meh, when is the user encoding used then ?08:19
vilanaoki: 1) sounds better,08:19
bialixvila: internal Windows API is unicode (functions end with W), but there is also ANSI API (functions end with A), under the hood A functions do encoding on the fly, IIUC08:20
vilanaoki: about 2) replacing chars means losing some info, what are we trynig to preserve here and can't we switch to a purely arbitrary name with ascii only chars ?08:20
bialixpython uses A08:20
bialixI guess for Windows 98 compatibility08:21
MvGHi guys! I've just offered the bzr-bash-completion plugin for merging into bzr.dev, as distro packagers as well as users mostly prefer this over an independent plugin. https://code.launchpad.net/~gagern/bzr/bug560030-include-bash-completion-plugin/+merge/23912 open for comments. I'll be around.08:22
vilabialix, naoki: Sorry to sound dense, but how to you guys can be sure that the command line is unicode ? The fact windows *internally* uses a unicode API doesn't guarantee that the command line itself doesn't respect the user encoding08:24
vilaotherwise what's the point of the user encoding ? Why do we use it in win32utils.get_appdata_location() for example ?08:24
bialixvila: it depends on how program is launched08:24
vilabialix: all right, let's focus to subprocess.Popen then since that's where the bug seems to be actually08:25
bialixuser encoding? what's wrong with user encoding?08:25
bialixvila: subprocess.Popen can't use unicode API08:25
bialixthere is some code in subprocess.py explicitly disabled unicode on Windows.08:26
vilabialix: nothing wrong with user encoding, my question is why do we use it to *decode* some data if it's already unicode ?08:26
bialixvila: lemme look at get_appdata...blah-blah-blah08:26
bialixvila: I don't see there user_encoding08:27
vilanaoki: to be clear, I'm not saying you're wrong, just that I don't understand the logic here :)08:27
vilabialix: wtf08:28
bialixvila: os.environ holds data as plain strings08:28
vilabialix: oh, it's in the docstring08:28
bialixMark Hammond said it's actually should be 'mbcs' encoding08:29
vilabialix: hmm, mbcs is the file system encoding right ?08:29
bialixwell, mbcs it's a ... mbcs!08:30
bialixfile system encoding depends on file system. AFAIK NTFS s unicode08:30
vilabialix: ha, look at _ensure_unicode which call get_user_encoding08:31
bialixI'm not quite understand internals of mbcs, but it's a very strange thing08:31
bialixvila: yep08:31
bialixvila: on my Russian system mbcs == cp125108:32
bialixcp1251 is also russian08:32
bialixmaybe on Japanese/Chinese systems mbcs means something different, I really don't know08:32
naoki'mbcs' is an alias. It is set by site.py08:34
bialixI suspect something like that08:35
naokispawn is easier than CreateProcess: http://paste.ubuntu.com/420255/08:41
vilanaoki: I just pushed a new revision (forcing mbcs for subprocess.Popen), can you re-try08:41
vilanaoki: that's still the same url you've been pasting for the third time, is this intended ?08:42
naokimiss. http://paste.ubuntu.com/420272/08:42
vilanaoki: that one is about spawn08:43
naokispawnw uses unicode.08:44
naokiSo I think we can use it instead of subprocess.call08:44
naokiAFK, sorry.08:44
vilanaoki: you mean _wspanlp uses unicode, ok, but what was 'miss' referring to ?08:45
=== ctrlsoft is now known as jelmer
lifelessits kindof sad shutting down my persistent IRC server09:42
spivHeh.09:42
spivTry to think of it as liberating!09:43
lifelesssure09:43
* lifeless tries09:43
spivJust etch "/win" on your glasses and you won't miss a thing.09:43
lifelessrotfl09:43
* igc dinner09:54
=== james_w`` is now known as james_w
naokiI'm back.10:16
naokihttp://paste.ubuntu.com/420312/10:16
naokiI find that subprocess can use pywin32's CreateProcess.10:16
naokiI confirm that changeing if 0: => if 1: fixes this problem.10:17
naokiSo, win32utils can replace some subprocess attributes with pywin32.10:17
naokiOr, we can just copy subprocess.py into bzrlib and fix that.10:18
cbzWhen i have a branch inside a repository, and i've deleted branches inside that shared repository, is there a way of getting that repository t throw away the stuff it doesn't need any more?10:19
AfCcbz: the bullet-proof way is to make a new repository, branch the branches you like from under the old repository to locations within the new one, then ta-da, remove the old repository & all its branches.10:20
AfCcbz: there is a "garbage collector" floating around somewhere, too10:20
cbzOkay. If I choose the first option, is bazaar able to work out the rlationships between the branches and store things effectively?10:22
spivYes.10:22
cbzI assumed the shared repository only really worked because you were branching within it, and so bazaar kept track of the relationships between versions that way10:23
spivEven if you branch from somewhere outside the shared repo into the shared repo, bazaar will avoid storing duplicate records.10:24
cbzOkay.10:25
spiv(Mostly; the small amount of redundancy that can occur will be continually tidied up by the regular autopacking that occurs as new data is added to a repo.)10:25
MvGI assume that branching everything over into a new repo will still loose non-versioned data like parent branches, push branches, merge branches and so on, right?10:26
AfCMvG: yes10:28
AfC(good point)10:28
cbzso the best thing is probably to get to the point where every project has one branch and then just branch that to the new location and then rebind?10:29
cbz(I'm tracking remote subversion repositories)10:30
MvGCopying .bzr/branch/branch.conf files might work as well.10:30
=== Garen_ is now known as Garen
MvGI'd suggest one repo per project in any case, as there is little point in sharing a repo between branches with no common history.10:31
MvGlifeless: are you around?10:33
vilanaoki: sorry, just noticed you're back10:46
vilanaoki: yeah, I've seen the if 0 in subprocess too, since that's part of python standard lib, it's... a problem to touch it, and I thought you said we needed CreateProcessW not CreateProcess (whatever the correct spelling is)10:48
naokipywin's CreateProcess uses CreateProcessW10:48
vilanaoki: re-reading your patch, I see you also use 'mbcs' encoding so my last patch should work no ? (the tests should fail though)10:49
lifelessMvG: a little; last stages of house packup before moving country10:50
MvGlifeless: You're moving, too? Funny, I'm amidst boxes as well.10:50
MvGlifeless: Anyway, I was wondering whether you could review https://code.launchpad.net/~gagern/bzr/bug513322-authors/+merge/23122 as you reviewed its predecessor.10:51
naokivila: Maybe, getfilesystemencoding() is better on non-win3210:51
lifelessMvG: realistically, not until tuesday/wednesday10:51
naokivila: because _subprocess module uses filesystemencoding.10:51
lifelessMvG: has vila reviewed it ?10:51
vilanaoki: no, getfilesystemencoding should be used only when dealing with file system directly10:52
lifelessnaoki: python trunk using fsencoding for subprocess module on win3210:52
lifelessfwiw10:52
MvGlifeless: Yes, he has, and I'v eadded some buts of documentation and minor style fixes in response.10:52
vilalifeless: I did, but it needs a second review10:52
lifelessvila: can you mention it to John then ?10:52
lifelessMvG: in 12 hours a team of packers arrives to pack - a drop-dead deadline ;)10:53
lifelesswe've still got ~ 3 cubic metres of recycling and landfile to deal with and other similar things10:53
lifelessor I'd be delighted to review it for you10:53
MvGlifeless: I understand. I've got more like 44h before I've got to start loading things.10:55
naokilifeless: I'm wrong. not _subprocess. posixmodule.execv uses Py_FileSystemDefaultEncoding10:55
MvGThere is no real urgent need, but I'd like to get stuff off my head nevertheless, so I'm bugging people to review my requests.10:56
naokiSo, subprocess.call in posix uses filesystem encoding if it is available.10:56
naokiBut I think there are no need to encode by hand on non-win32 platform10:56
lifelessvila: alternatively you could make a call that its small enough vs the predecessor and just land it10:58
lifelessif the predecessor had 2 conditional +1s10:58
naokiThis is a monkey patch to force subprocess uses pywin32's CreateProcess http://paste.ubuntu.com/420337/10:59
vilalifeless: it didn't, you're the only one that has reviewed it10:59
lifelessah10:59
lifelesswell if you can point John at it, it would be good to get MvG the feedback he needs10:59
lifelessMvG: if I can, I will, but I'd like to make other primary arrangemetns for you11:00
MvGlifeless: Thanks!11:00
vilalifeless: what is the status of pqm at this hour ?11:00
lifelessvila: it should be working11:01
lifelessvila: its generally landing things that should land, and we ahven't had it blow up for bzr today, at all11:01
a`DCC SEND "XXXXXXXXXXXXXXXXXXXXXXXXXX" 0 0 011:08
LeoNerd*slow handclap*11:08
vilanaoki: brr, monkey-patching such a large part without any tests is scary11:10
vilanaoki: :-(11:11
vilanaoki: I feel I'm not helping as I should here, maybe I should just decline to review this patch, I miss some windows knowledge to be really effective I'm afraid :-(11:12
cbzwhats the equivalent of hg incoming on bazaar?11:49
spivbzr missing11:50
spivHmm, "bzr missing --theirs-only" is probably a more exact equivalent.11:51
lifelessvila: its generally landing things that should land, and we ahven't had it blow up for bzr today, at all11:58
vilalifeless: I did a pqm-submit ~30 minutes ago and it doesn't seem to be processed so far :-/12:03
maxbCan I suppress bzr's default ignore patterns on a per-branch basis?12:14
lifelessmaxb: you can use negative matches, or edit your ~/.bazaar/ignores12:25
lifelessmaxb: bzr doesn't have any hard coded defaults at all12:25
lifelessmaxb: instead it writes to ~/.bazar/ignores, IFF it does not exist12:27
lifelessoh yay, firefox fail just lost one windows worth of tabs ><12:27
vilalifeless: look into history -> Recently closed {tabs|windows}12:38
vilalifeless: should I ping a losa for pqm, it seems stucked to me12:39
vilalifeless: what did change from yesterday ?12:39
lifelessvila: untangled stdout, stderr12:40
lifelessvila: it looks like it thinkgs it just finished aaron's merge12:41
lifelessPQM is not currently processing additional requests12:41
lifelessit has a stop.patch present12:41
vilalifeless: ha yes, the patch you mentioned, so how was that last submission ... yeah, but that was long ago no ?12:41
lifelesslosa ping: please remove stop.patch from bzr's pqm queue12:41
vila>-/12:41
MvGSome bzr selftests related to pycurl seem to fail when curl is built against GnuTLS.12:43
MvGIs this known, or should I report a bug?12:44
james_wI've not seen a bug on it12:44
MvGOK, then I'll report once my selftest is through and I can actually scroll around and mark the whole message without the progress bar update interfering.12:45
vilaMvG: that rings a bell, any more info ?12:52
vilaI seem to remember some certificate issues around that but that's from some years ago12:53
MvGvila: got pycurl error: 56, GnuTLS recv error (-9): A TLS packet with unexpected length was received., (56, 'GnuTLS recv error (-9): A TLS packet with unexpected length was received.')12:53
vilaMvG: hmm, so that's a CURLE_RECV_ERROR that we are supposed to trap and raise errors.ConnectionReset12:54
vilaMvG: does that help ?12:55
MvGNot immediately.12:55
vilaMvG: and what is your context (why GnuTLS) ?12:55
MvGBecause I can.12:55
vilaLOL12:55
MvGUsing Gentoo Linux, and been using GnuTLS for a while for most apps that support it.12:56
MvGIt's caused problems before, but usually it's because apps depend on things they shouldn't.12:56
vilaha, gentoo, that's the keyword I wanted :)12:56
vilaAny LOSA around ?12:57
vilaLOSa LOsa Losa losa one of them should match ;)12:58
MvGvila: http://paste.ubuntu.com/420380/ has the selftest output.12:59
vilaMvG: So, at first glance, I'd say GnuTLS is lying or reporting things in a strange way, the test is about an unknown file, so we expect a 40413:00
MvGWho is implementing the https server? Where is the certificate private key? Maybe I can snoop on the traffic to shed some light.13:01
vilaMvG: look at bzrlib/tests/https_server.py and...13:02
vilaMvG: into bzrlib/tests/ssl_certs13:02
vilaMvG: now, that's a self-signed certificate and maybe GnuTLS barfs on that13:04
MvGvila: Shouldn't, but I'll have a look.13:04
MvGAfter lunch...13:04
vilaoooh, lunch, 14:00 good idea !13:05
Chexvila: good morning there14:00
vilaChex: Yeah ! Hi !14:00
vilaChex: previously on this channel: <lifeless> losa ping: please remove stop.patch from bzr's pqm queue14:01
vilaChex: don't ask me what it means, except that it seems to be involved in pqm being currently stucked14:01
Chexvila: i understand, fixing now14:02
Chexvila: removed, should be able to process now14:02
vilaChex: thanks14:03
Chexvila: no worries14:06
SamB_webhmm, there's something wrong with the wiki ... see http://wiki.bazaar.canonical.com/HelpOnMoinWikiSyntax#Smileys%20and%20Icons14:47
siks7away gone14:48
sikswhoops14:48
vilaSamB_web: it's a wiki, just update it... err wait14:57
vilaSamB_web: It's a serious wiki who needs simleys ???14:57
vilaSamB_web: seriously, just file a bug :)14:57
[1]reggiehey gang15:21
[1]reggieany idea what would be keeping bzr 2.0.4 qcomit from sending commit emails when used inside virtualbox on windows 7 x64?15:22
[1]reggieworks fine on host machine15:23
javeI'm trying to clone a branch from launchpad, but nothing seems to happen15:23
michaelforrestwhat's the quickest way to get the last revision any particular file changed?15:58
vilamichaelforrest: bzr qblame file15:58
michaelforrestvila: is there any way to get more of a concise output do you know? I just want the number16:09
michaelforrestbzr [?] file.png16:10
michaelforrest> 1416:10
vilano16:10
vilawell, not that concise16:11
michaelforrestI'm trying to see where the source browsing bit of launchpad gets it16:11
james_wbzr log file.png?16:11
james_wbzr log file.png --limit 116:11
michaelforrestlimit 1 isn't too bad16:11
michaelforrestor if I could get a list of all the files in a repo / folder with their last-updated revnos16:12
vilamichaelforrest: what's the use case ?16:13
michaelforrestvila: quite complicated :S16:27
michaelforrestI am making a website that pulls files from a repository and I want it to show the last revision number of each file16:28
=== salgado is now known as salgado-lunch
vilamichaelforrest: nothing available from the command-line for that, but if you cmd_inventory in bzrlib.builtins.py should be a good starting point16:52
vilas/you/& look at/16:54
=== deryck is now known as deryck[lunch]
krisives-gearboxmichaelforrest: I just made an update system with Bazaar that keeps 90 client sites in sync17:23
krisives-gearboxbzr revno file would work, right?17:24
krisives-gearboxI do: `bzr revno `bzr ls -VR`` kinda (but for TAR)17:24
michaelforrestkrisives-gearbox: that's what I thought it would be yeah17:24
michaelforrestbut it doesn't seem to work for me17:24
krisives-gearboxWhat are you executing / getting in response?17:25
michaelforrestwell - yeah - it doesn't give a file-specific revno17:25
krisives-gearboxAh indeed `bzr revno` only gives the branch version, my bad17:26
jamkrisives-gearbox: 'bzr revision-info --tree' might be what you want17:28
krisives-gearboxjam, that's for michaelforrest17:29
=== salgado-lunch is now known as salgado
=== radoe_ is now known as radoe
=== deryck[lunch] is now known as deryck
=== verterok_ is now known as verterok
mkanatigc: I actually need somebody to do my merges; I'm not in the appropriate group, I'm pretty sure.18:42
mkanatigc: (This is in relation to the loggerhead pygments fix.)18:42
jammkanat: can you link me to the merge proposal, I can do it19:29
mkanatjam: Sure.19:30
mkanatjam: https://code.edge.launchpad.net/~mkanat/loggerhead/limit-pygments/+merge/2390019:30
mkanatjam: It probably also needs a status update.19:30
jammkanat: just a thought, why map(cgi.escape) rather than cgi.escape(text).split() ?19:31
jamso it doesn't escape the '\n' ?19:31
jamand doesn't text.split('\n') strip the final \n ?19:31
mkanatjam: That's how loggerhead does it currently.19:31
mkanatjam: Outside of this code. I don't think it would matter, though.19:31
mkanatjam: I could do it the other way--it'd probably be slightly faster.19:31
jammkanat: I don't know the details of cgi.escape19:32
jamso either way19:32
mkanatjam: Nor do I, I was cargo-culting because I wanted to maintain exact behavior.19:32
jamif you've tested this way, then I think it is worth just landing, can be tweaked later19:32
mkanatjam: Okay.19:32
jamah, you know what... I *don't* have access rights19:34
jamI thought I did, but the commit failed19:34
mkanatjam: Ah, okay. I'll wait for mwhudson or igc.19:34
jamoh well, we'll poke igc for it tonight :)19:34
chxgiven the state of the bundle buggy I am not exactly sure i want to use it. is there another merge tool for the human gatekeeper workflow?19:36
mkanatI imagine spm will want to update codebrowse after we commit it, too.19:55
MFenhello20:09
MFensomeone gave me this page/branch to look at .. https://code.launchpad.net/~washort/pymeta/matched-sequences20:09
MFendash gave it to me actually. maybe he can answer :)20:09
MFenwhat's an easy way to diff that against the branch it's derived from20:10
dashMFen: hi again :)20:11
MFenhowdy20:12
dashthe general answer is that you can use "ancestor:somebranchurl" as a revision specifier20:12
dashto indicate the revision where the current branch diverged from the ancestor20:13
dashso in this case:20:13
MFenso hg diff -rancestor:lp:pymeta20:13
dashbzr diff -rancestor:lp:pymeta lp:~washort/pymeta/matched-sequences20:13
MFenerr bzr20:13
dashright. you can leave the second url off if you're doing it froma working copy. :)20:14
MFenaha. that worked. thanks :)20:15
=== salgado is now known as salgado-afk
cbzanyone else using bzr-svn to use bazaar with a subversion repository?22:31
dashcbz: every day22:37
=== mwhudson_ is now known as mwhudson
jamigc: are you around?23:15
igcmorning23:31
igchi jam23:31
jammorning igc23:31
jamjust wanted to discuss some of the loggerhead changes I want to do23:32
jamigc: I don't have a lot of time, but if you have 5-10 minutes could we chat?23:33
igcjam: that would be great23:33
igcjam: irc or skype?23:34
jamskype might be the fastest23:35
igcjam: cool. I'm on23:36
jamnot according to my skype23:37

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