/srv/irclogs.ubuntu.com/2008/05/05/#bzr.txt

mwhudsonis there a ppa with a newer pqm in it somewhere?00:00
=== thumper_laptop is now known as thumper
mwhudson_hey guys00:52
mwhudson_unlock really shouldn't raise an exception00:53
lifelessdetails details details00:53
mwhudson_also sftp sucks01:02
lifelessmwhudson_: details please01:06
lifelessmwhudson_: unlock should raise some exceptions01:07
mwhudson_lifeless: the problem was that the unlock in a finally block was raising and obscuring the reason we ended up in the finally01:07
lifelessmwhudson_: yes, that combination is annoying; OTOH its probably raising becuse the network is gone and an attempt to unlock failed01:08
spivHmm, ISTR Martin was working on fixing that, based on a hack I did.01:09
mwhudson_lifeless: well actually it's because of much more complicating things than that :)01:09
mwhudson_i'll probably be complaining in here when we've worked out what the details are01:09
spivhttps://bugs.edge.launchpad.net/bzr/+bug/125784 is a bug report about that; I have an untested fix in the associated branch.01:10
ubottuLaunchpad bug 125784 in bzr "TooManyConcurrentRequests when using smart server over ssh" [High,Confirmed]01:10
mwhudson_the problem appears to be that unix hates me01:18
lifelesswhat did you do to unix?01:21
mwhudson__lifeless: fail to understand symlinks01:23
=== abentle1 is now known as abentley
=== mwhudson__ is now known as mwhudson
lifelessmwhudson: oops01:25
mwhudsonaka the famous 'not running the code you thought you were'01:28
MezIs there a way with bzr so that I can make it update revision numbers within the file?01:33
Mezlike svn's keywords things01:33
lifelessits being developed at the moment01:34
VadiMy bzr is hosted on launchpad, and for some reason after I've commited & pushed a new revision, and the launchpad page updated properly, when people do "bzr update" it says they're OK while they're at an older revision. But if they checkout from scratch, they get the latest one fine. What can be wrong?02:12
RAOFVadi: 'bzr update' doesn't do what you think it does.02:13
VadiOops. But I read the help file and thought I was getting it right. What's the proper way to update then?02:14
RAOF'pull' (or possibly merge) is the complement of 'push'.02:14
RAOFbzr update makes sure that the working tree matches the repository.  Since their working trees already match their (local) repository, it doesn't do anything.02:15
VadiOhh02:15
Vadiheh, I see. Thank you02:16
RAOF_Unless_ they're using 'checkout' rather than 'branch'.02:16
VadiIt's whatever launchpad says... moment02:16
RAOFBut checkout gives SVN-like behaviour, and is not what most people do with bzr branches.02:16
VadiRAOF: Got it, thank you!02:19
lifelesshmm, someone broke test reporting.02:48
lifelessspiv: thanks02:56
lifelessspiv: its on its way03:04
=== thumper_laptop is now known as thumper
VadiIs there any way to download a file from a bzr branch without bzr? (like on a web server?)03:24
lifelessif the web server is running loggerhead or bzr-webserve03:24
lifelessthen yes03:24
VadiIt is running loggerhead.03:25
VadiIs it possible to get the file at it's latest revision though? The only links I could find on loggerhead are tied to a specific revision.03:26
spivYou can use HEAD in the URL, IIRC.03:27
VadiCould you please give an example? Newbie here.03:28
lifelessfor instance: http://bazaar.launchpad.net/~bzr-loom-devs/bzr-loom/trunk/annotate/head:/HOWTO03:29
spivOr http://bazaar.launchpad.net/~bzr/bzr/trunk/download/head:/README-20050309040720-8f368abf9f346b9d/README03:31
lifelessspiv: can we not avoid the file-id like I did03:33
lifeless?03:33
VadiIs the README-2005 and whatnot part of the filename?03:33
lifelessno its a nasty url generation03:34
lifelesscoming from the internal database03:34
Vadihrm. So I turned http://bazaar.launchpad.net/~vadi-mapper-dev/vadi-mapper/main/download/vadi%40ubuntu-laptop-20080505020006-hkitvfgtqoqiw2ry/imap-20080225191626-smuh5chmryg7edgm-1/IMap into http://bazaar.launchpad.net/~vadi-mapper-dev/vadi-mapper/main/download/head:/IMap03:35
VadiBut that gives a 500 error03:35
VadiAnd the annonate just takes forever, launchpad doesn't respond03:35
spivlifeless: for annotate URLs, yeah, but apparently not for download URLs.03:36
spivmwhudson: ^03:36
* mwhudson is not surprised03:36
mwhudsonbut also not really paying attention03:37
spivVadi: so you'd need http://bazaar.launchpad.net/~vadi-mapper-dev/vadi-mapper/main/download/head:/imap-20080225191626-smuh5chmryg7edgm-1/IMap I think.03:37
spivVadi: oh, and you can use "bzr cat http://bazaar.launchpad.net/~vadi-mapper-dev/vadi-mapper/main/IMap" as well I think.03:40
=== thumper_laptop is now known as thumper
Vad1Sorry, I got disconnected. Are there logs available for this channel somewhere?03:45
poolieVad1: um, yes, i wonder where?03:46
pooliehttp://irclogs.ubuntu.com/03:47
poolieVad1: ^^03:47
spivVadi: so you'd need http://bazaar.launchpad.net/~vadi-mapper-dev/vadi-mapper/main/download/head:/imap-20080225191626-smuh5chmryg7edgm-1/IMap I think.03:47
spivVadi: oh, and you can use "bzr cat http://bazaar.launchpad.net/~vadi-mapper-dev/vadi-mapper/main/IMap" as well I think.03:47
Vad1Excellent, thank you03:48
=== poolie changed the topic of #bzr to: Bazaar version control system | http://bazaar-vcs.org/ | bzr-1.4 out, May 2 | http://irclogs.ubuntu.com/
=== abentle1 is now known as abentley
=== thumper_laptop is now known as thumper
bignose_What does 'bzr cdiff' emulate?05:27
bignose_I had the impression that it was implementing behaviour from some external diff tool05:28
=== bignose_ is now known as bignose
spivbignose: colordiff, IIRC05:30
bignosespiv: that's the one, thank you05:34
berto-i'm trying to use the fast-import plugin to import a git repository using git-fast-export v1.5.4 and v1.5.5.1  I get a MemoryError at File "/Users/berto/.bazaar/plugins/fastimport/parser.py", line 225, in read_bytes.  Any ideas?06:04
jameshberto-: looks like https://bugs.edge.launchpad.net/bzr-fastimport/+bug/19457206:18
ubottuLaunchpad bug 194572 in bzr-fastimport "MemoryError while importing from git." [High,New]06:19
jameshberto-: the method in the last comment might help you06:20
lifelesstchau, I'm done for the day06:41
berto-jamesh: i tried dumping the info to a .cfg file, but that didn't work.  but, i read it worked on a linux box and just did it that way.07:26
berto-jamesh: thanks!  i now have my git repo migrated.  :)07:27
berto-my repo had two branches which were empty and I ran bzr update on them, now they have the files.  is there a way to empty them again?07:27
jameshberto-: "bzr remove-tree" will remove the working tree files, leaving the branch data behind07:28
berto-jamesh: wonderful!  thanks.07:29
berto-i'm liking this already, bzr makes branches directories and i can see more than one at a time!  :-D07:38
vilalifeless: regarding pqm hanging, I've filled bug #226769 and sent a mail to the bzr ML, feedback welcome08:18
ubottuLaunchpad bug 226769 in bzr "strace test side-effect hangs selftest " [Medium,Confirmed] https://launchpad.net/bugs/22676908:18
berto-i installed paramiko and python-crypto, but keep getting, "ERROR: Not a branch"08:37
berto-any ideas?08:37
berto-uhh, sorry, can't explain my problem tonight.  I'm using an sftp:// url08:38
berto-ah, figured it out.  I had to fully path my repository rather than relative to my home dir.08:40
bob2how sure are you that it is a branch?  ie does 'echo "ls /path/to/branch/.bzr" | sftp hostname' show it contains a 'branch' dir?08:40
spivberto-: you can use "sftp://host/~/path" for an sftp URL relative to your home dir.08:48
berto-spiv: cool, i'll remember that.09:01
berto-my sftp:// connection keeps on failing with a "server connection dropped".  is there anything I need to configure for sftp to work properly?09:04
berto-odd.  i had to fully define user@<full hostname> instead of using the name setup in my .ssh/config file.09:07
Peng(Why doesn't the ~ thing work for bzr+ssh? Would it be difficult to add?)09:08
berto-what's the best way to import an svn repository?09:21
pooliePeng: not sure why technically, it should be straightforward09:25
lifelessPeng: just needs someone to do it09:30
PengAfter the path issues with bzr+http, I was afraid it would be really complicated somehow.09:34
PengNot that this means I'm going to volunteer..09:34
Pengberto-: Probably bzr-svn.09:35
berto-peng: i'm getting a maximum recursion error.  :(09:43
=== RAOF_ is now known as RAOF
Pengberto-: Latest version of bzr-svn? 0.4.9, I think.10:00
berto-Peng: yep, just downloaded it.10:00
berto-actually, it's 0.4.10exp010:01
PengHeh, ok.10:01
PengThat sounds like you're using a bzr branch of it directly. I didn't know that was in working order.10:01
berto-hmm ..10:02
berto-looks like svn2bzr is working.10:06
* mtaylor is away: I'm not here right now10:25
Pengberto-: But bzr-svn is much cooler. And more powerful.10:26
berto-peng: i'm sure it is, but it's broken [for me at least].  so it's not an option.10:26
berto-peng: as long as i get the data migrated, i don't need two-way communication.10:27
Pengberto-: Well, I still think you should see if you can get help from I-don't-want-to-highlight-him-again. Does this absolutely have to be finished right now?10:29
Pengbzr-fastimport also looks nifty.10:29
PengAnyway, whatever.10:29
berto-peng: yep, tried that one too, but svn2bzr actually worked better.10:29
berto-Peng: i really appreciate you helping.10:29
berto-Peng: and, no, it doesn't have to be finished right now.  i'm just researching.10:30
Pengberto-: Ok.10:30
Pengberto-: You should file a bug for the error you got with bzr-svn. https://bugs.launchpad.net/bzr-svn10:30
berto-yeah, i will.  thanks.10:31
berto-nite, all.10:38
berto-peng: thanks again.10:38
PengWhat exactly is he thanking me for?10:42
pooliefor pointing him to the bug tracker i guess10:43
emgentmorning10:56
pooliehello10:57
=== Toksyuryel` is now known as Toksyuryel
jelmerdato, ping13:04
datohaha, pong13:04
dato("haha", because I just arrived home after being from irc many many hours :P)13:04
jelmerwow, that was quick :-)13:04
datobeing away I meant13:04
jelmerheh13:05
* jelmer is psychic13:05
jelmerdato, any chance you can sponsor an upload of bzr-gtk at some point?13:06
datosure13:07
datoI can add D-U-A as well13:07
jelmerdato, thanks, that'd be useful13:07
* dato thought it was already there13:07
jelmerI added it yesterday in the bzr branch13:08
datook13:08
datoso, uhm, is the branch ready for an upload?13:08
jelmerbut nothing has been uploaded with it yet13:08
jelmeryep13:09
datook, noted in TODO13:09
datoI'll need to catch up with other stuff first, though13:10
jelmerno hurry :-) Thansk13:11
datojelmer: btw in debian/control you have to write "XS-DM-Upload-Allowed: yes", not just "DM-Upload-Allowed: yes"13:15
jelmerdato: afaik DM-Upload-Allowed is in the properly defined control fields list now13:16
datoah13:16
datook13:16
jelmer(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453400)13:18
ubottuDebian bug 453400 in dpkg-dev "dpkg-source: please accept DM-Upload-Allowed field in control (and" [Normal,Closed]13:18
jelmerooh, ubottu supports debian bugs as well now?13:19
datofor a long long time I think13:23
pooliehello dato, jelmer13:30
jelmerhey poolie13:31
poolienight13:37
=== bigdo2 is now known as bigdog
=== weigon__ is now known as weigon
ChristopheTIs there somewhere some documentation about the various formats as well as rationale for them?14:16
jamgood morning14:17
cr3if I bzr removed a file and I can't remember the exact path and I don't remember the log message I used, how can I track which revision I need to recover?16:47
andrea-bscr3: do you know the revision number?16:47
andrea-bsargh, no :D16:47
cr3andrea-bs: heh, of course not :)16:48
andrea-bscr3: what do you know of this file?16:48
cr3andrea-bs: the file name, and I can confirm the name is under the .bzr directory16:48
* fullermd shrugs16:49
fullermdbzr log -v | less    [search for filename]16:49
cr3fullermd: that worked! it just so happened I did not the path name of the file but bzr log only returned an error message: Path does not have any revision history:...16:51
cr3fullermd: just in case I typoed, I pasted the path from bzr log -v and I still get the same error message16:52
cr3is bzr log supposed to work with files which have been deleted?16:52
fullermdWell, supposed to or not, it doesn't.  It uses the path to look up the file-id from the current tree, so on deleted files...16:52
fullermdYou may be able to `revert -r<revbeforeremoved> $FILE` and then `log $FILE`, I'm not sure.  You can do a lightweight checkout of the rev before it was removed, then log from that checkout.16:53
fullermdSee https://bugs.launchpad.net/bzr/+bug/175520  (which has nothing other than a "hey, this doesn't work", sadly, but it's filed anyway)16:54
ubottuLaunchpad bug 175520 in bzr "log can't see historic filenames" [Undecided,New]16:54
fullermdI'm of the opinion that you should be able to pass a file-id into `log` so you can unambiguously refer to a specific file, regardless of renames or deletions, from any point.16:54
datojelmer: I uploaded bzrtools, also with d-u-a16:55
cr3hm, I can appreciate the problem where a file may have been removed and then created again, at which point log perhaps should or should not encompass the previous file16:56
jelmerdato, ah, awesome.16:56
jelmerdato, I'm working on bzr-svn atm, I guess that just leaves bzr-builddeb outdated16:56
datojelmer: hm16:56
fullermdcr3: Well, there are 2 distinct cases.  One is where a file exists, is removed, and another file with the same name (but a different file) is added.  The other is when a file exists, is removed, and is resurrected (e.g. by 'revert'), so it's the same file, it just didn't exist in some revs in the middle.16:57
datojelmer: I guess I forgot to add you as a bzrtools uploader16:57
* jelmer wonders where james_w went16:57
fullermdcr3: 's where the file-id is useful to disambiguate.16:57
hsn_its recommended to use bzr pack in production? does it any noticeable good17:45
fullermdHm.18:01
fullermd% time HEAD http://bazaar-vcs.org/18:02
fullermd[...]18:02
fullermd0.212u 0.141s 2:59.30 0.1%      1+583k 11+0io 0pf+0w18:02
fullermdThat's usually a bad sign...18:02
vilaphanatic: ping18:02
phanaticvila: pong18:09
vilaphanatic: what is the status of the po/ directory in gtk ?18:09
vilaI had a look at genpot.sh but it seems rather out of date18:09
phanaticvila: it can be translated via the olive product in rosetta.18:10
phanaticyes, it is outdated :)18:10
phanaticwe should care more about translations18:10
vilaI've update it to include all .py files in all relevant directories18:10
vilas/update/updated it/18:10
phanaticoh, thank you :)18:10
vilaI was wondering if po/olive-gtk.pot was still the base for the translations...18:10
phanaticit is the version that was last uploaded to rosetta18:12
vilaI don't know how this works, but as long as I left the msgid and msgstr untouched I can modify the rest ? The order ? Add new ones ?18:13
vilaI,m searching a way to check that renaming '_' to '_i18n' doesn't blow everything18:13
vilanevermind, I found a way18:14
phanaticvila: the pot file should be generated automatically18:16
vilayes, but it appears that xgettext updates it a bit too smartly to allow me to use it as a check :)18:16
vilai.e. if branch.py uses _("_Branch") and I change it to _i18n("_Branch") I can't know if xgettext updated it or not :)18:17
vilaI'll generate different pot files for that before and after my patch to check18:17
vilaphanatic: do you know the irc nick of daniel ?18:25
fullermdvila: You mean Odd_Bloke?18:26
phanaticvila: schierbeck?18:26
vilalol, Odd_Bloke *is* daniel schierbeck ?18:27
vilaOdd_Bloke: ping18:27
Odd_BlokeI'm Daniel Watkins.18:28
vilahaaa, hi Daniel :)18:29
Odd_Blokevila: o/18:29
vilaSorry for the confusion, sometimes on IRC you receive bad advices :)18:30
vilawell, anyway, I was wondering why the other daniel was using '# -*- coding: encoding -*-' constructs which are obsolete in emacs.... and I realized  that it's still the recommanded way to instruct python about the source file encoding...18:31
vilaThe nice thing about standards.... is when two communities use the same forgetting to inform the other one about the changes :)18:32
fullermdAh, well.  Obviously there are too many Daniels around   :p18:47
beunoanyone know what this might be?  bzr: ERROR: bzrlib.errors.KnitCorrupt: Knit <bzrlib.knit.KnitGraphIndex object at 0x861860c> corrupt: attempt to add line-delta in non-delta knit18:47
vilabeuno: search the nailing list, I'm pretty sure there is a patch for that18:48
vilas/nail/mail/ :-P18:49
beunovila, aaah, cool, thanks  (maybe the bug should be reported?)18:49
fullermdI'm pretty sure it's fixed in .dev.18:50
* beuno tries18:50
beunovila, fullermd, it's fixed in .dev, thanks  :)18:57
vilayv18:57
beunoit's odd that got into 1.418:58
jelmerhmm. fetching from a remote subversion server to rich-root-pack is faster than from local pack-0.92-subtree to rich-root-pack !?19:27
Peng* is faster than fetching from pack-0.92-subtree to rich-root-pack.19:31
PengConverting to git and back, recommitting each revision, ...19:31
sidneianyone can help me debug why bzr commit to a svn master branch (using bzr-svn plugin) seems to hang only with a certain repository?19:52
jelmersidnei: What version are you using?19:53
sidneiof the plugin or bzr?19:53
jelmerboth19:54
sidneiBazaar (bzr) 1.3.119:55
sidnei  Python interpreter: C:\Program Files\Bazaar\python25.dll 2.5.2.final.019:55
sidnei  Python standard library: C:\Program Files\Bazaar\lib\library.zip19:55
sidnei  bzrlib: C:\Program Files\Bazaar\lib\library.zip\bzrlib19:55
sidnei  Bazaar configuration: C:\Documents and Settings\Sidnei\Application Data\bazaar\2.019:55
sidnei  Bazaar log file: \\.PSF\.Home\Documents\.bzr.log19:55
sidneisvn plugin is 0.4.919:56
jelmercan you try running with -Dtransport ?19:59
jelmerIt should tell you what it's doing in ~/.bzr.log20:00
sidneiok20:00
sidneijelmer:  i see lots of 'svn ls -r X <path>'20:02
sidneijelmer: where X is an incrementing number and <path> seems to be each project in that repository + tags/branches/trunk20:03
jelmersidnei, yeah, that's probably correct20:03
sidneijelmer: apparently its going throw revisions, the problem is that this is a large repo with 300 projects 60k+ revisions20:04
sidneis/throw/through20:04
sidneijelmer: why is it doing that? to discover the repo layout?20:04
jelmersidnei: it's going to do this once and will cache the results20:04
jelmer0.4.10 will be better in this regard20:04
sidneioh, ok.20:04
sidneiat this speed its going to take about a day though :)20:04
sidneijelmer: there's no way to make it skip that?20:16
jelmersidnei: not in 0.4.9, no20:16
sidneijelmer: ok, i guess i will just let it finish then20:17
_paneba repository is where i can store many branches right?20:52
MattCampbellYes, if it's a shared repository created with "bzr init-repository".20:54
_panebi am looking at "Choosing a shared repository layout" but i am confused about how to actually create those layouts. it all starts by doing bzr init-repo MyRepo?21:00
_panebsection 5.2 (Publishing a branch) is how to do it, right?21:01
MattCampbellI wonder how easily one could port bzr to IronPython.  I was thinking that might be useful for the Visual Studio integration package, which is currently written in C#.21:20
=== cody-somerville_ is now known as cody-somerville
PengMattCampbell: People have looked into this. Mainly, isn't IronPython startup horribly slow? Also, it's missing several modules from the stdlib that bzr uses.21:25
sidneilook at fepy (ironpython + stdlib)21:26
sidneijelmer: seems like it finished with the svn ls thingie, 89 minutes :)21:33
sidneijelmer: now the process is at 90% and there's lots of io going on, i guess it's writing the cache?21:35
sidnei(90% cpu that is)21:36
MattCampbellPeng: One would need to measure the startup time of IronPython (or FePy) in an already running application that uses in .NET.  Also, consider that in a long-running app with a plug-in, such as Visual Studio, the startup overhead would only be incurred once per session, not once per action as with the command line.21:40
MattCampbellAnyway, it was just a tought; I thought it would be useful to be able to write the Visual Studio integration in Python, with less glue code than the current C# implementation.21:43
wamI'm using bzr all over and want to give my customers access to their bzr repository via www. Is loggerhead the best choice? At least I find it beautiful ;)21:44
jamwam: if you just want them to have access, you only need plain Apache21:45
wamjam: I want them to make diffs and see logs21:46
jamif you want them to be able to browse the repository with a web browser, then yes, loggerhead is probably the best choice21:46
jamIt is the most actively maintained, IIRC21:46
wamjam: is there active development? I see the last log is from 2007...21:46
jamwam: I believe so, I'm not sure where the latest changes are21:46
wamjam: ok, thanks21:47
jamwam: according to: https://edge.launchpad.net/loggerhead/trunk21:47
jamthere was a release of 1.2.1 on 2008-03-0621:47
wamjam: wow - I didn't know that url21:47
jamAnd https://code.edge.launchpad.net/~loggerhead-team/loggerhead/trunk says that there were 3 changes in the last month21:48
jamwam: what url were you using?21:48
wamjam: http://www.lag.net/loggerhead/21:48
jamjust to make sure we update a pointer21:48
jamwam: right, robey has given over development to others21:48
wamjam: i see21:48
jamwam: where did you get the link to lag.net21:48
jamwam:  I believe the latest version is running at: http://bazaar.launchpad.net/~bzr/bzr/trunk/changes21:49
wamjam: search "web" on http://bazaar-vcs.org/ and the 4th hit is http://bazaar-vcs.org/WebInterface?highlight=%28web%2921:50
wamjam: alright, thanks. I'll try that21:50
lifelessmoin jam22:02
jamlifeless: morning22:03
_panebhow would i create the shared repository used for distributed development? like so? 1- on a server: bzr init-repo X; bzr init foo, and 2- on a workstation: bzr branch stfp://server-address/foo?22:06
Peng_paneb: The sftp path is relative to the root of the server, but otherwise, yeah.22:08
Peng_paneb: You'd also probably want/need to specify a user.22:09
_panebright right, i was just wondering about the commands22:09
_panebso when creating the main repository, there is not difference with creating the main repo. for centralized development?22:10
_panebit is just the way you work with the main repo which changes?22:10
Peng_paneb: Yeah.22:11
_panebok22:11
MattCampbellGiven that bzr-cvsps-import claims to only support local CVS repositories so far, is it possible to import the CVS repository of a project for which you're not an administrator?  I'm wondering specifically about SourceForge.net projects that never switched to svn.22:18
=== mwhudson__ is now known as mwhudson
lifelessMattCampbell: sf publish tarballs of the cvs repositories anonymously22:32
lifelessjam: ping22:45
jamlifeless: pong22:45
lifelessjam: how do you feel about removing the C knit parser?22:45
jamlifeless: Seems ok. As knits performance is sort of going down the tubes anyway, it probably won't help much soon.22:47
lifeless(It doesn't feel like _load_data is relevant for packs, and for older code I weight maintenance clarity much more)22:47
jamlifeless: well, ATM I feel like pack index performance is penalized by something other than the time to parse them22:48
jamI don't know if when we fix it we will find we want something there as well22:48
pooliehello jam22:48
jambut certainly loading knit indexes isn't going to be a primary concern going forward22:48
jamhi poolie22:48
pooliehello lifeless22:48
=== mario__ is now known as pygi
poolielifeless: that would further increase my desire to give people a warning to upgrade22:49
lifelesspoolie: I thought we agreed on the list to do such a warning a couple weeks back :)22:49
pooliesomeone should write it hey? :)22:50
lifelessyup22:50
poolievila has a patch that disables some strace tests, is that ok with you in principle?22:51
lifelessmmm22:53
lifelesswhy?22:53
jamlifeless: because it hangs the test suite when you have a thread lying around22:53
lifelessjam: I remember we had issues with that; so why are we leaving a thread lying around?22:54
jamlifeless: it is one of the bugs we have open22:55
jamI think there is even a FIXME about it22:55
jamif you look at vincent's recent posts he talks about it22:55
lifelessI'd really rather not have disabled tests; if a separate bug is the core issue, can we not fix that?22:56
lifelesscan we check that there is only one thread in the process before the strace test, and fail the test in that case?22:57
MattCampbellIs it even possible to count the threads in a process in Python?22:59
lifelessMattCampbell: doesn't matter if it isn't possible22:59
lifelessMattCampbell: we can at worst manually track them22:59
jamI believe there is something in the threading package23:00
jamlifeless: threading.activeCount()23:00
poolielifeless: the thing is that the strace functions are not even used at present23:00
lifelesspoolie: I use them from time to time23:04
lifelesspoolie: its like saying lsprof isn't even used. Its not used except when it is used.23:04
lifelessIts really quite useful being able to strace a single function call23:05
MattCampbellGiven that bzr itself doesn't use the strace functions, and they're probably only intended as instrumentation for performance tuning anyway, I don't think it makes sense to run the strace tests by default.  But of course, I'm new here and just a bzr user, so what I say probably doesn't have much weight.23:05
lifelessMattCampbell: untested code is broken code23:05
lifelessMattCampbell: most code isn't run by most users most of the time, so by the same style of argument we shouldn't run tests for most of our code23:06
lifelessvila: please don't merge it for a little bit23:09
lifelessvila: I'm not going to veto, but I want time to suade people23:10
jamlifeless: you should probably reply to the thread, since poolie has bb:tweak ed it23:10
lifelessjam: I have replied23:10
jamlifeless: just got it :)23:10
lifelessanyhow, I think all tests should check for the activeCount at the start of the test, and assert its unchanged at the end23:11
lifelessthis will catch faulty tests and avoid the error condition breaking the strace test23:11
MattCampbellOf course, this assumes that all threads in the process except the main thread are started via the threading module.23:13
jamMattCampbell: sure, but I believe for the threads we care about, that is true23:13
lifelessMattCampbell: given that we have complete control over the environment23:14
lifelessMattCampbell: I think this is a fair assessment23:14
jami feel like there might be extra threads, but they should have been spawned by one of our own threads23:17
lifelessthe most likely one I can think of is sftp access threads23:18
lifelessbut AFAICT paramiko is pretty darn good at housekeeping23:18
poolielifeless: maybe we should change the strace function itself to assert there are no threads?23:26
pooliewell, no more than 1 thread23:26
poolie:)23:26
MattCampbellI think it would be better to check the count before and after each test; that should make it easier to find the culprit.23:29
poolieMattCampbell: well, yes but very little code runs _between_ one test and the next23:34
MattCampbellBut how far away in the sequence of tests is the strace test from the test that's leaving a thread lying around?  Do we know?23:36
lifelesspoolie: between is not needed, just the last things done in tearDown()/cleanUp()23:40
lifelesspoolie: the first cleanup added can be a lambda to check the count23:40
poolielifeless: exactly23:59
poolieok, that sounds nice23:59

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