/srv/irclogs.ubuntu.com/2010/02/17/#bzr.txt

spivmwhudson: regarding python backtraces from gdb, have you seen https://fedoraproject.org/wiki/Features/EasierPythonDebugging ?00:09
RenatoSilvaok never mind I'm writing a script and I'm cd'ing to the dir anyway00:09
RenatoSilvathanks all00:09
mwhudsonspiv: no i haven't00:10
mwhudsonspiv: rather a long way away from being supported in the gdb in hardy, i'd expect...00:11
spivmwhudson: probably00:12
pooliespiv, did you see https://code.launchpad.net/~gz/bzr/test_ssh_client_medium_eintr__read_bytes/+merge/1943900:14
spivpoolie: not yet, will look tomorrow00:22
pooliecool00:22
pooliehow is V?00:22
spivSleeping at the moment, thankfully.  He was up late last night!00:23
pooliehe looks just like you :-P00:30
Noldorincan i force a push to a bzr branch on launchpad that has diverged from the local one?00:47
lifelessyes00:48
bob2bzr help push -> overwrite, beware the consequences00:48
=== jamesh_ is now known as jamesh
Noldorinbob2, yup. i just managed to clobber the launchpad branch, so no worries. thanks00:49
AfCNoldorin: I think bob2 more means "consequences" more means "if anyone has grabbed the [revisions on the] previous version of the branch, then you'll never be able to get rid of them (should that person subsequently submit a patch to you and/or merge from your new history)"00:54
NoldorinAfC, oh, fair enough. fortunately i'm the only dev on the project at the moment, and no-one else is submitting patches00:55
Noldorinbut i see the point00:55
fullermdIn those situations I like to use profanity.00:55
Noldorinfullermd, hehe00:55
* fullermd watches openoffice build all his disk space away.00:57
AfCI gotta say, I don't miss rebuilding all of oo for a single line patch00:59
poolielifeless: does https://bugs.launchpad.net/bugs/522637 ring any bells?00:59
ubottuUbuntu bug 522637 in bzr "BzrCheckError: Cannot add revision(s) to repository: missing referenced chk root keys" [High,Confirmed]00:59
fullermdPfft, the warning says it eats 11 gig of space for the build.  But it's barely 10.5; getting me all worried about nothing...01:00
fullermdAnd to think, earlier I actually had a momentary thought of "Gee, 6.5 megs...  that seems a big tarball for a VCS"01:01
spivpoolie: oh hey, that's some of that paranoia I added just before 2.0, I think?  Nice (relatively speaking) to see it catch something :)01:01
lifelesspoolie: yes, isn't there anothe rbug open like that? be great to help the user, figure it out and fix it.01:02
* igc lunch01:50
parthmHello, I am trying to understand bzr test infrastructure better in the context of http://old.nabble.com/Re%3A-help-needed-in-fixing-test-failure-%28-138600%29-p27617476.html04:09
parthmafter doing self.make_branch('foobar') I drop into pdb04:09
parthmdoing a system('ls04:09
parthmdoesnt show any directories. I am in test_home_dir. Should I be seeing a foobar dir? how does that work?04:10
mwhudsonparthm: which testcase class did you inherit from?04:13
parthmTestCaseInTempDir04:14
parthmI am trying to add the test case to blackbox/test_versioning.py: TestVersioning04:14
mwhudsonparthm: make_branch in that class only writes to a memory-backed transport, not the filesystem04:15
parthmAh. OK. Basically what I need to do is create a directory thats not a part of any repo/branch. I need to run 'bzr mkdir abc' there and ensure that dir abc is not created.04:17
parthmWhat would be a good way to do that considering that test_home_dir is already a branch04:17
mwhudsonnot sure tbh04:19
mwhudsonpoolie: can you help parthm >04:19
mwhudson?04:19
pooliehi there04:19
poolieyes probably04:19
poolieon the phone, will just be a minute04:20
mwhudsonparthm: if you inherit from TestCaseWithTransport, then self.make_branch _will_ create a directory, which might make things easier to understand04:20
parthmhi poolie04:20
mwhudsonmight not be the right thing to do though04:20
parthmThat seems fine (with my limited understanding). I am looking at blackbox.test_status.BranchStatus.test_tree_status_ignores. Maybe I can do a make_repository('foo', shared=True).04:27
poolie(back)04:27
poolieso istm that you have to use a real directory04:27
parthmIf this creates a dir. the mkdir should fail in this case also.04:27
poolieat the moment wt must go to disk04:27
parthmYes.04:28
parthmThe 'init-repo' failcase http://pastebin.com/m6e5397c904:29
* poolie looks04:31
poolieok04:31
poolieand you're having trouble reproducing that inside a test?04:31
poolierebooting, biab04:32
parthmYes. The same failure can also be seen on the command line with a simple directory thats not a branch. I am trying to create the test case for https://bugs.launchpad.net/bzr/+bug/13860004:33
poolieyep04:33
pooliei saw your mail earlier04:33
poolieso what happens?04:33
ubottuUbuntu bug 138600 in bzr "`bzr mkdir` create new dir before it checks is branch/checkout exists" [Low,In progress]04:33
poolieit still sees the directory even with your fix in place?04:33
parthmReally? Are you trying this branch https://code.launchpad.net/~parthm/bzr/138600 are are you referring to the pastebin04:34
parthmThe pastebin is bzr 2.0.404:35
poolieno, i'm asking where you're getting stuck now04:35
parthmWhen I run bzr from the command line the fix seems to work. I am trying to add the test case right now.04:36
poolieok04:36
poolieso i think the approach you described should work04:36
pooliemake a bzr repository, then try bzr mkdir inside that04:37
parthmOK. The TestCaseWithTransport approach worked. Thanks mwhudson, poolie.04:47
parthmOne more question. Unlike other commands, mkdir doesn't seem to be having blackbox.test_mkdir. All tests are in blackbox.test_versioning.TestVersioning, so should I just add blackbox.test_versioning.TestMkdir or should it be blackbox.test_mkdir.TestMkdir?04:49
parthmHi poolie. I was just mentioning that the TestCaseWithTransport approach worked.04:49
poolieoh ok04:49
poolieso you're all good now?04:49
parthmYes. Just one more question. Unlike other commands, mkdir doesn't seem to be having blackbox.test_mkdir. All tests are in blackbox.test_versioning.TestVersioning, so should I just add blackbox.test_versioning.TestMkdir or should it be blackbox.test_mkdir.TestMkdir?04:50
poolieprobably add a new module for consistency04:50
pooliebut either is fine04:50
parthmOK.04:50
parthmI will add the tests and send a merge request for bug 138600.04:51
ubottuLaunchpad bug 138600 in bzr "`bzr mkdir` create new dir before it checks is branch/checkout exists" [Low,In progress] https://launchpad.net/bugs/13860004:51
parthmDoes the NEWS update need to be a part of the merge request or is that a part of the landing process?04:51
poolieit's a bit better to put it in your proposal so that we can review that too04:54
pooliealso it acts as a good summary of what you think you've changed04:55
parthmOK. Will do. Thanks.04:55
pooliewow the review queue is so long04:56
spivYeah wow, lots of reviews.  I guess I know what I'm doing tomorrow then :)05:02
* spiv wanders off again05:03
parthmIs there a good way to check (and exit) if the current dir is a workingtree? currently I am doing "wt, dd = WorkingTree.open_containing(d)"05:06
pooliethat's probably good05:08
poolieif you want to know about the specific directory, not just a containing directory, just use WT.open()05:08
pooliebzrdir may have a method to tell you?05:08
parthmThe problem I am seeing with the current fix is that if we have abc/xyz where abc is versioned and xyz is unknown, if user does 'bzr mkdir ./xyz/foo', 'foo' is created before bzr exists. So I suppose I need to know if the first part of the path is versioned.05:10
poolieoh i see05:12
poolieright, that seems like a separate bug05:12
pooliecan you see how to reproduce this?05:13
parthmYes. I added a test case where I do os.mkdir('./abc') and chdir('./abc'). run_bzr('mkdir xyz') would create xyz.05:14
pooliek05:15
pooliebiab05:15
igcbbiab05:25
pooliecheerio05:25
parthmfor some reason "print" in builtins.cmd_xxx cause a UnicodeEncodeError while running selftest. If I run bzr from the command like this works ok. I tried this with cmd_status and cmd_mkdir while debugging mkdir. Is this expected?05:49
bob2printing unicode strings works differently when stdout is not a terminal05:49
bob2maybe that's what you're encountering05:49
poolieparthm: yes, the difference is that it's probably going into a stringio05:50
poolieare you printing something nonascii?05:50
parthmNo. Even "print 'hello'" fails.05:51
poolie!!05:51
parthmhttp://pastebin.com/m51e779bc05:52
parthmWhats the suggested way to put a debug print?05:52
parthmNever mind. I will explore some more. Seems to be some issue in my setup. Even modifying an existing outf.write seems to be failing05:58
pooliehi05:59
pooliethat's strange05:59
poolieparthm: if you want to get arountd it05:59
poolieat least for now05:59
pooliechange the note() code to do05:59
pooliemsg.encode(self.stdout.encoding, errors=replace)06:00
pooliebut this is a bit strange06:00
parthmSo I need to put the msg.encode(..) in my run?06:00
pooliein trace.note06:14
pooliei'm just testing your permissions patch06:14
pooliethanks for doing that06:14
pooliemuch karma for fixing elmo's bugs :)06:15
poolieparthm: stuck?06:21
parthmThanks :).  I am trying to figure out what might be a good fix for http://pastebin.com/m56f77879 case.  Switching mkdir with open_containing (http://pastebin.com/m2648b1fb) works for the repo case or when user just does a 'mkdir xxx' but this case still fails.06:27
poolieparthm: i think run_bzr has a parameter to set the cwd so you don't need to manage it yourself06:29
poolieor use a scriptrunner06:30
parthmYes. Will do that.06:30
pooliethis is the thing about making sure it fails if the parent is not versioned?06:31
pooliecan you add it to the inventory before it exists?06:31
poolieit seems like that would be cleanest06:31
parthmI don't think I understand. So if user does a mkdir xxx/yyy and xxx is not versioned (unknown) whats a good way to check and fail?06:33
poolieparthm: what i'm suggesting is that we try to add yyy to the inventory06:34
poolieie to the metadata06:34
pooliebefore making the directory06:34
pooliethat will fail if xxx is not already in there06:34
pooliethen if that succeeds, mkdir06:34
pooliethe only catch will be if the add-to-inventory code checks it exists on disk06:35
pooliewhich would be a bug imo, but maybe a slightly harder one06:35
parthmAh. I get it. What API should I look at?06:35
pooliebasically i'm just suggesting moving the mkdir after wt.add06:37
poolieit may fail horribly06:37
pooliebut it's worth a go06:37
parthmSo this is what my current cmd_mkdir looks like http://pastebin.com/m57cffad5 . unfortunately I hit this painful unicode error http://pastebin.com/m3b815639 . I am using vim which I think handles unicode fine. Wow.06:45
poolieouch06:47
pooliedid you try changing note() to print the message with errors='replace' rather than spazzing out?06:47
pooliei think you need to get unblocked from that to make other changes easer06:49
pooliei don't know why it's failing there06:49
parthmYes. I just did the note change. That worked, thanks.06:49
poolieit is annoying certainly06:49
parthmhttp://pastebin.com/m57cffad5 doesn't seem to work. I may be doing something wrong.06:50
pooliewhat happens?07:17
poolieit's unfortunate you have to add the root07:17
pooliethough that is a bit of a separate issue07:18
parthmLooks like the msg.encode change didn't work. msg is undefined. http://pastebin.com/m579486a7 Sorry I seem to have more questions than answers :( So is note called by self.outf.write?07:21
parthmCan wt.has_filename be used for a conditional check on os.path.abspath(base)? We need to use abspath as the user may either do 'bzr mkdir foo/abc' or 'cd foo; bzr mkdir abc07:24
parthmwhere foo is unversioned07:24
poolieno, note should not be called by self.outf.write07:24
poolieparthm: when you open the wt with open_containing, it gives you back the relative path07:25
poolieyou can then chop off all but the last component of that and check that it's versioned07:25
parthmOh OK. That makes sense.07:25
parthmWhat do you suggest I do about the prints for now?07:26
pooliewhich prints are these?07:32
pooliejust ones you're adding for debugging?07:32
parthmYes.07:34
parthmThis is the final version of cmd_mkdir.run http://pastebin.com/m3893f263 All tests are passing, yay!07:35
parthmThese are the three test cases07:36
parthmhttp://pastebin.com/m2e37b53607:36
=== radoe_ is now known as radoe
pooliei think you need better docstrings07:53
poolierather than 'invalid' say 'unversioned'07:54
parthmI agree. Will do that.07:54
parthmOK.07:54
poolieand rather than joining the strings, use ['mkdir', newdir]07:54
pooliethanks for all the patches07:54
parthmWelcome :)07:54
parthmI am trying the winepython usage you suggested.07:55
parthmAfter installing testtools and paramiko I get "bzr: ERROR: No module named Crypto.Util.randpool"07:55
parthmAny ideas?07:55
parthmparamiko installed without any errors.07:56
poolieblah08:10
poolieit's some kind of known bug about paramiko08:10
pooliejust run particular tests and avoid paramiko08:11
poolieit's not very relevant to your bugs08:11
pooliewell, it's time for me to go08:13
pooliepush your branch and we'll rereview it08:13
parthmOK. Bye.08:14
lvhwhere can I see the branch format of a branch on launchpad?08:20
lvhI just branched something using 2.0.4 and it was hella slow, AFAIK the main cause for that is typically branch format mismatch08:20
lvhAck. Why do I always spend 20 minutes looking for something, ask for help, and then find it immediately after? :|08:20
lvhSorry, I'm having to deal with a really bad wifi connection08:37
lvhI've got a format 7 branch off of a format 7 trunk08:38
lvhthe format 7 trunk is synced from svn, it's not actually pushed to08:38
lvhwhat are my options for upgrading the local format ?08:38
jderoselvh: `bzr upgrade` should upgrade to local repo to the 2.0 format09:23
GaryvdMHi igc10:19
GaryvdMigc: I'm trying to find the page that you had the OOo branch on.10:20
igchi garyvdm10:20
igcgaryvdm: if you want some large test repos, try http://people.canonical.com/~ianc/benchmarks/repos/bzr/10:21
GaryvdMThanks10:23
GaryvdMHmm 1.3 gB. That will cost me about R 260 to download :-(10:23
GaryvdMok - bye10:25
AntoineLafI have a very beginner level question and hopefully someone would be kind enough to point to where I could find some answers: here it goes. I'm trying to make sense of the "markers (not sure if it's the properword)" inserted in a conflicting merged file. I would like to know where I could find an explanation for <<<< TREE and >>>>>> MERGE SOURCE. Thank you.10:40
KinnisonIIRC what you get is:10:40
Kinnison<<<< TREE10:40
Kinnisonwhat you had in your tree10:41
Kinnisonso this is your change10:41
Kinnison=======10:41
Kinnisonwhat the merge source had which conflicted10:41
Kinnisonthis is what you're trying to merge in from the remote branch10:41
Kinnison>>>>>> MERGE SOURCE10:41
Kinnisontype thing10:41
Kinnisondoes that help?10:41
AntoineLafso what is before the ====== part is the changed part10:42
AntoineLafand under the ====== is the part I try to merge and is conflicting...10:43
AntoineLafI think it helps, let me have a better look at it again10:43
* Kinnison nods10:43
AntoineLaf<<<<<<< TREE10:45
AntoineLafsomething10:45
AntoineLaf=======10:45
AntoineLaf>>>>>>> MERGE-SOURCE10:45
AntoineLafsomething like that means that the merge tries to remove something?10:45
=== salgado-afk is now known as salgado
KinnisonIt means that where the local branch changed <foo> to "something", the merge branch removed it10:48
Kinnisonyes10:48
AntoineLafthis is starting to make sense...10:48
AntoineLafI guess I'll get more scout badges this month...10:49
AntoineLaf:) thx10:49
Kinnison:-)10:49
KinnisonScouts have a DVCS badge?10:49
AntoineLafyes, with 20 levels with different colors...10:50
AntoineLafsorry, this is my fantasy world...10:50
AntoineLafhave to say that bazaar is the first versioning system that I finally had the guts to stick with and learn... I'm from a designer's background... not all that familiar with the thinking behind the tool. anyways.10:51
=== AnMaster_ is now known as AnMaster
bialixwhat is the new feature in bzr? cmd_foo.run_direct?11:14
igcnight all11:39
radoeHm, will there be full releasenotes for 2.1 put online? By now it seems one has to check all 2.1.0bX and 2.1.0.rY together with 2.1.0 to get all incremental changes.12:17
adiroibanhi. I'm using bzr break-lock , but it tell me that the lock is in used and I can not break it12:25
adiroibanis there a bzr command to show who is using t he lock?12:25
bialixadiroiban: break-lock actually show you info about lock holder, do you have different experience?12:35
bialixthis command is interactive: it show you info about lock and then asking for y/n answer12:36
adiroibanhttp://paste.ubuntu.com/378311/12:36
adiroibanthis is all I see12:36
adiroibanno prompt for breaking the lock12:36
adiroibanor hint about how can I solve this issue :)12:37
bialixadiroiban: please run again as `bzr -Derror break-lock` and pastebin12:40
bialixI suspect some application holds OS lock on dirstate file12:41
adiroibanhttp://paste.ubuntu.com/378312/12:41
adiroiban..maybe, I'm not greping lsof12:42
bialixmost likely some application still has OS lock over file .bzr/checkout/dirstate12:43
bialixusually you will see different message12:43
bialixor there is bug12:44
adiroibanyep. lsof, shows that gedit is using it (I'm using the gedit bzr integration)12:47
adiroibanI still think it is a bug as bzr should inform me that gedit is messing the repository12:47
bialixadiroiban: I don't know is there any API for this12:50
bialixbut I think you need to file a bug report12:50
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
=== beuno_ is now known as beuno
=== salgado is now known as salgado-lunch
=== salgado-lunch is now known as salgado
=== salgado is now known as salgado-brb
Takhmm, should bzr-svn be able to auto-authenticate me over svn+https?15:18
jelmerTak: what do you mean by auto-authenticate?15:20
TakI mean, use my credentials from authentication.conf15:21
jelmerTak: it should be able to use a username/password if one is set in ~/.subversion or ~/.bazaar/authentication.conf15:21
jelmerbut you need a recent version for ~/.bazaar/authentication.conf to work15:21
Takok15:21
TakI have bzr 2.0.4 and bzr-svn 1.0.215:21
jelmerthat should be recent enough15:22
Takoh, what should the scheme be?15:22
jelmeroh actually, authentication.conf perhaps doesn't work for svn+https, only https15:22
TakI have svn+https15:22
jelmerfor any particular reason? just https should work..15:24
Takit wasn't working for me at some point, with this server15:24
Takbut that was several versions ago; let me try again15:24
Takok - it looks like it tried to authenticate me that time - are there character restrictions on the passwords in authentication.conf?15:28
jelmerTak: it should be a utf8 string15:32
Takok, but it can contain *&^#$^$# ?15:32
PengThe config parser _might_ get a bit confused. E.g., # denotes comments. Try putting it in quotes?15:34
PengIt's mostly standard ConfigObj, FYI.15:34
PengIf you like using the Python prompt, import bzrlib.util.configobj.configobj and check how it parses it.15:35
Takhmm, quotes don't help15:35
* Tak do that15:35
Takyeah, it's truncating the password at the comment char15:40
Takif I single-quote it, it looks ok in the ConfigObj, but the authentication still fails15:42
Takis it maybe getting parsed again someplace else?15:43
=== salgado-brb is now known as salgado
bialixhttp://martinfowler.com/bliki/VersionControlTools.html16:00
bialixbzr is not mentioned at all16:00
bialixmaybe somebody know why?16:00
ronnybialix: he write why in the text16:03
ronny-i+o16:03
bialixhmm, I've missed it16:04
bialixok, found16:04
=== beuno is now known as beuno-lunch
=== beuno-lunch is now known as beuno
bjpi'm seeing this bug: https://bugs.launchpad.net/loggerhead/+bug/51867918:06
ubottuUbuntu bug 518679 in loggerhead "Unable to see diffs" [Undecided,Incomplete]18:06
bjpwith bzr version 2.1.0dev518:06
bjpand loggerhead from bzr reversion 40018:06
bjpthough the second to last comment implies this is already fixed?18:07
=== IslandUsurper is now known as IslandUsurperAFK
=== deryck is now known as deryck[lunch]
RenatoSilvaverterok: http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#timeline18:44
=== deryck[lunch] is now known as deryck
=== radoe_ is now known as radoe
=== salgado is now known as salgado-afk
jamjames_w: /wave20:59
james_whi jam21:00
jamjames_w: I'm happy to add an enable/disable flag for the lp cache, what would you like the default behavior to be21:00
jam?21:00
james_wI'm happy for it to be disable the cache21:00
james_wmy one concern is that other people may try two in parallel and have it fall over21:01
james_wwith a confusing error21:01
james_wbut I don't see a way to avoid that really21:01
lifelessjames_w: why would it fall over?21:02
james_wstupid stupid cache implementation21:03
jamlifeless: https://bugs.edge.launchpad.net/launchpadlib/+bug/45941821:03
ubottuUbuntu bug 459418 in launchpadlib "Cache is broken with multiple processes" [Undecided,New]21:03
jamthe cache is not multi-writer safe, aiui21:03
lifelessah21:03
lifelessclosely related to 'stupidly needing a cache'21:03
* lifeless tries for bitter21:04
james_wlifeless: how would you avoid one?21:04
lifelessjames_w: for lp apis?21:05
james_wyeah21:05
lifelessdesign it differently21:05
lifelessthe amazon EC2 -style- of API's don't need a cache21:05
lifelessand operate hugely more efficiently21:06
james_wah21:06
james_wok21:06
lifelessspecific changes are - out of band definition of APIs; a-priori defined calling method; message signing rather than cookie-auth21:06
james_wis it possible with bzr's Options to have no -- form?21:08
james_wI only need the short form21:08
lifelessyes21:08
lifelessits optparse21:08
lifeless(not that oauth is strictly cookie based)21:09
james_wwell, it's not possible with Option directly as far as I can see21:11
james_wI can subclass21:12
lifelessjames_w: oh interesting, its less optparse than I remember21:16
lifelessjames_w: so no, it doesn't look like you can21:16
jamjames_w: yeah, you'd have to override Option.add_option so that it doesn't always add '--%s' % self.name21:16
jamcall it ShortOption, I guess :)21:16
jamthough I'm curious why it would be a problem to have a long option, even if you don't strictly need it21:17
james_wjust overhead21:17
james_wI'm taking a bunch of arguments that a subprocess takes just so I can pass them through21:17
james_wand it doesn't have long versions for some things21:18
lifelessthis is for -uc and the like ?21:19
james_wyeah21:20
james_wI'm not happy with any alternative I've come with so far21:20
james_wand I have to override -v for verbose somehow21:20
lifelessyou might want to override run_argv instead21:21
james_woh, but I've never actually accepted verbose, so there won't be a behaviour change21:23
jamjames_w: I've pushed an update that adds an '--lp-cache' parameter, which lets you set the lp cache directory (defaulting to None)21:23
jamIt also includes my other small import-scripts tweaks21:23
james_wyour happy that everyone will have to add that option if they want to make use of it in testing?21:25
jamjames_w: well, lp doesn't provide things for you, and I'm not 100% sure where it should go21:26
jamfor example, it could go in ~/.cache/...21:26
jamwhich is what bzr's launchpad plugin does21:26
jamyou may or may not want to share it21:26
jamI think the # of people running it manually is probably low, vs how often it gets run in production :)21:27
jam:(, it takes 300 seconds to list the PackageToImport for gnome-panel21:27
james_wyes, but it's easy for me to change it once in production21:27
james_wjam: first time?21:28
james_wany quicker second time?21:28
jamthis is the second time21:28
jam*with* the cache21:28
james_wok21:28
jamthere are 218 versions21:28
james_wwell, I was thinking about the Debian cache actually21:28
james_wthose files are larger than the LP wadl21:28
jamit seems it can be as fast as 100 s21:29
jambut it still took to 500s to get to "these packages are new"21:29
jam /me wonders if --lp-cache isn't actually causing it to be slower for some crazy reason21:30
james_wwell, it still has all the round trips21:31
jamsure, but I'm wondering if it doubles the round trips21:31
james_wshouldn't do21:31
jamlike "is this new enough: No", ok give it to me then21:31
jamI realize it is supposed to be sending the date in the first check21:31
james_wit's using etags21:32
james_w"Give me this file unless it matches <this one>, in which case just tell me that and I'll re-use what I have."21:33
james_ware you using --no-existing?21:33
jamno21:33
james_wthen it may be opening a bunch of branches on LP too21:34
jamsure, but21:35
jamhttp://paste.ubuntu.com/378636/21:35
jamit seems to be opening the *same* bzrdir over and over and over again21:35
jamand it still took 300s before it got the package listing21:36
james_wnot sure why it seems to be repeating21:37
james_whowever, the delay is just LP taking a while for a getPublishedSources call21:37
james_wwhich is unsurprising21:37
thumperhow does bzr determine if a file is text or binary?21:38
jamseems to be from 'get_branch_parts'21:38
jamthumper: checks for \0 in the first 1024 chars21:38
thumperjam: is there a bzrlib method I can use?21:39
jamjames_w: I think the issue is that: find_unimported_versions tries to open a branch locally21:39
jamand then falls back to remote21:39
jamcopying that branch locally21:39
jambut if the remote branch doesn't exist21:39
jamthen it just spins21:39
jambecause it keeps getting None for the branch21:40
jamthumper: bzrlib.text_something.check_text_lines21:40
thumperjam: ta21:40
jamthumper: bzrlib.textfile.check_text_lines21:40
james_wjam: I don't think it will spin21:42
james_woh, no, I see what you mean21:42
james_wyeah, that could be optimised21:42
jamyeah, for each version it tries again21:42
jamto open a branch that doesn't exist21:42
jamnote that when it *does* exist21:42
mkanatSo, looks like bzr doesn't understand query strings in URLs?21:42
=== IslandUsurperAFK is now known as IslandUsurper
james_wI thought you mean "while target_branch is None:"21:42
jamit still tries to open the same branch over and over again21:42
jammkanat: I would assume that we just ignore them21:43
lifelessmkanat: do you mean loggerhead?21:43
mkanatlifeless: No, I mean bzr.21:43
mkanatbzr merge https://bugzilla.mozilla.org/attachment.cgi?id=427066 -- doesn't work.21:43
lifelesshmm, we should preserve them21:43
mkanat(That's a bundle, at that URL.)21:43
lifelessmkanat: https://bugzilla.mozilla.org/attachment.cgi?id=427066/21:43
lifelessmkanat: see the / - we add that, and moz barfs21:44
lifelessmkanat: there is a bug for this.21:44
mkanatlifeless: Ahh.21:44
james_wmkanat: does it escape them or drop them?21:44
jamjames_w: no, we add a trailing slash21:44
lifelessor we may be dropping them; check a tcpdump to see precisely what happens.21:44
mkanatlifeless: The page that's getting returned seems to indicate that they're not getting through to Bugzilla at all.21:44
lifelessfor opening bundles etc this is bad.21:44
lifelessmkanat: tcpdump time21:44
jamlifeless: get_transport(http+query).base has no query param21:47
lifelessok, thats a bug21:47
lifelesswe've no reason to strip query params *until* we go up a dir21:47
jamlifeless: ConnectedTransport._split_url calls urlutils.parse_url(url)21:49
jamwhich returns a 'path' that does not have query parameters21:49
lifelesssure21:49
lifelessjust saying, that this is a bug IMO21:49
jamsure21:50
jamparse_url gets 'query' and just discards it21:50
jamit also discards "params"21:50
jamwhich may be a problem for colocated branches21:50
IslandUsurperis there a configuration option to control how qbzr highlights syntax? I want it to display files as PHP whose filenames don't end in .php21:52
jamlifeless: it also appears to be falling back to vfs fetch, any idea why that would be?21:55
jamboth are in 2a format21:55
=== eugeneoden_ is now known as eugeneoden
jamcurrently at 100MB downloaded according to progress bar, but only 13MB on disk... :(21:58
lifelessjam: on bzr+ssh ?22:16
lifelessjam: if you do ctrl-\ you should be able to get a backtrace; that would help determine why the fallback22:16
lifelessmorning poolie22:16
pooliehi lifeless22:16
jamlifeless: not when running via import_package rather than bzr22:17
jamsince it doesn't set up the signal handler22:17
lifelessjam: oh; then gdb python PID22:18
lifelessand use the gdb python macros to get a backtrace22:18
jamof course to do it "for real" requires waiting 5min (300s) for launchpad to finish giving me info...22:18
pooliejam, jeez, what are you asking it for?22:19
lifelessjam: you can attach live though :). still - yes, it will be painful22:19
jampoolie: import_package.py gnome-panel22:20
jamw/ ~ 218 getPublishedSources22:20
jamanyway, I need to be off for now22:20
jamI'll let it sit and spin a while22:20
jamgnome-control-center isn't really any faster22:20
jamugh22:26
jamfetching "+files" redirects to "%2Bfiles"22:27
jamso anytime you download stuff from the librarian22:27
jamit involves a redirect22:27
lifelessor not 2b?22:27
lifelessisn't + 2B anyway ?22:27
jamlifeless: right, but "+" gets interpreted as " "I think22:28
jamah wait22:28
jamI'm wrong22:28
jam+files/foo redirects to /NUMBER/foo22:28
jam687.296  > GET /ubuntu/hoary/%2Bsource/gnome-panel/2.10.0-0ubuntu9/%2Bfiles/gnome-panel_2.10.0.orig.tar.gz22:30
jam...22:30
jam< Location: https://launchpadlibrarian.net/1307193/gnome-panel_2.10.0.orig.tar.gz22:30
lifelesson the wire, + is 2B anyway, its in the unsafe set22:30
jamlifeless: yeah, I just read the redirect wrong22:31
fullermdYes, I have to manually resolve those redirects every time I update the port   :|22:32
lifelessfullermd: what, why?22:33
fullermdFor hysterical raisins, the fetch stage of port building doesn't follow HTTP redirects.22:34
fullermdOne reason is various server configs built by geniuses that redirect to an error page rather than returning a 404, and that sort of thing.22:34
lifelessis there a flag to say 'redirects are part of the spec dumbass' ?22:35
fullermd"Not found" is a nicer error to show a user than "hey, I downloaded this file [of HTML rather than a tarball] and the size/checksum don't match"22:35
lifelessfullermd: no easier to resolve when their browser shows the thing fine.22:35
fullermdI didn't say I entirely _agreed_ with it.  It's just how it works, so either I put in the final URL, or we don't have a bzr port   :p22:36
lifelesssure22:36
lifelessjsut asking if there is an override variable22:36
lifelessthere often is in ports IME22:36
fullermdPotentially, by manually overriding the FETCH_CMD or something.  But there's no ACCEPT_REDIRECTS sort of thing; the fetch(1) args are hardcoded.22:37
lifelessfullermd: sounds like a worthwhile bugfix: do it once, save time in future.22:37
fullermdThat's more undercover reaching than I wanna do, so I just run a quick GET every update and copy in the new number on librarian.22:37
fullermdYeah, it wouldn't be a huge patch to implement.  Pushing through an infrastructure change like that would be more work though; I don't want it THAT much.22:39
fullermdAnyway, it saves LP having to service a hit every download  :p22:40
lifelessthink of the kittens22:40
jamjames_w: as far as opening lots of branches, it doesn't help that gnome-panel is opening all of {warty,hoary,dapper,breezy,hardy,...}{,-security,-proposed,-updates,-backports,} none of which seem to exist22:44
james_wcorrect22:44
james_wI wasn't sure I wanted to make too many assumptions about which would exist based on others22:45
jamfortunately it seems to  be a single BzrDir.open() probe, so a single rpc requset22:46
jamat least once I added a "last_branch" cache22:46
poolieigc, hi?23:01
spivGood morning.23:43

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