/srv/irclogs.ubuntu.com/2008/03/21/#bzr.txt

jdongjames_w: yeah, certainly the tricky part will be coordinating all plugins to be compatible with bzr 1.3 and I will have to look into that the most.00:07
james_wwell bzrtools and bzr-builddeb have just had releases, so should be fine.00:11
james_wbzr-svn just had an upload that jelmer acked as being compatible, so it's only bzr-gtk that I am unsure about.00:11
thekornhi, I try to integrate bzr in some of my scripts, is there an easy way to find out wheather a file/dir is in a bzr-branch or not?00:15
thekornand return the related branch object?00:15
nekohayohmm, any reason why bzr-gtk in ubuntu hardy only seems to provide olive, no nautilus integration?00:16
james_wthekorn: 'from bzrlib import branch; b = branch.Branch.open(dir)' Does that do what you want?00:27
james_wthekorn: something like "errors.NotBranchError" is thrown if it's not a branch.00:27
james_wthere's also open_containing if you may be given a path below a branch, this returns a tuple (branch, relpath).00:28
james_wthekorn: or do you have a branch and want to know if the given path is versioned in that branch?00:28
yaccabentley: still there? It seems to be dependant on the svn repo too, a push to a local file:// url worked fine.00:29
abentleyyacc: kinda here.00:29
thekornjames_w, yes, lets say I'm somewhere, and I want to now if this location is in a branch, and if so, get the branch root00:29
abentleyI would expect it even works with more permissive SVN repos.00:30
yaccabentley: well, I'll be checking that now, gonna switch back first to bzr 1.3/bzr-svn stable for the experimenting.00:34
abentleythekorn: The branch root is Branch.base00:35
james_wthekorn: so you don't care what branch it's in, just that it is in one?00:35
thekornjames_w, I would like to have a similar behaviour than 'bzr info' - if i call this somewhere in a branch i get the branch root, if I call this command outside a branch I get "Not a branch Error ...."00:36
james_wthekorn: do branch.Branch.open_containing(path)[0] then00:36
james_wthat gets you the branch, if any, that contains path. You can then get the base.00:37
james_wIf you want you can catch the NotBranchError.00:37
james_wdo you also want to ensure that the path you were given is versioned by the branch that you get returned?00:37
thekornjames_w, abentley , thanks alot this works00:37
thekornno i only need the branch root00:38
james_wthekorn: cool, you should be all set then.00:38
james_wthekorn: how are you finding it transitioning to use the API?00:38
thekornjames_w, well I just started using bzrlib,00:40
thekornto be honest: it's hard without a real public API reference00:40
thekornbut ipython does a good job00:41
james_wyeah, that's understandable.00:41
james_w#bzr is the API reference that I tend to reach for.00:41
yaccAhhhh, how do I make bzr not check SSL certificates?00:42
james_wyacc: use urllib+ as a prefix for the URL.00:43
james_wyacc: although is this connecting to svn?00:43
thekornjames_w, http://bazaar-vcs.org/Integrating_with_Bazaar is a good starting point to understand the general workflow, but needs some improvements00:43
yaccOh, don't you curl is the solution :)00:43
yaccjames_w: yeah, but I guess bzr checks the url first for a bzr target?00:44
james_wthekorn: yeah, I think it's quite new. It would be great to improve it.00:44
james_wyacc: yes I think so.00:44
james_wyacc: if you prefix the URL with svn+ then bzr doesn't probe it first.00:44
thekornfor example the last part is switsching between 'branch' as a modul and 'branch' as a Branch-object00:44
james_wah, that should be avoided.00:45
yaccOk, it fails with my private https host too :(00:46
james_wthekorn: thanks, fixed.00:47
yaccjames_w: what's the prefix for svn over ssh?00:48
thekornjames_w, thanks, but same in "Getting a Revision object from a revision id"00:49
james_wyacc: svn+ssh:// I think00:50
yaccjames_w: found it already ;)00:51
yaccabentley: svn+ssh:// does work against the same host where https:// does not work :(00:51
james_wthekorn: thanks again.00:51
abentleyyacc: so you've actually got a solution, then?00:52
yaccNo.00:52
yaccThe svn repo I need to push to is hosted by a provider, so no ssh access ;(00:53
yaccBut it might help figuring out why it does not work.00:53
abentley"the same host" as what?00:53
yaccabentley: I've tried it against a repo hosted on my private colo server, and it fails as usual against the https url, but works fine when doing the access over ssh.00:54
yaccWhich suggests all kind of interesting things.00:54
abentleySeems quite strange.  Maybe the security settings are different on ssh?00:55
yaccabentley: probably not. I have fine grained access controls on https, OTOH, svn+ssh has no access controls at all.00:58
yaccabentley: well, unix permissions, but if you don't have full write access to the whole repo, well, then usually even read-only operations break against that repo.00:58
jelmerabentley: pong01:04
jelmeryacc: hi01:04
abentleyjelmer: yacc is running into some problems with bzr-svn and properties.01:05
yaccjelmer: I'm trying to track down the svn push problem.01:05
yaccI'm just pasting the apache logs from my server for the failing svn-push01:05
yaccjelmer: #19056801:07
yaccThe funny thing is that it's depending upon the transport layer.01:07
yaccPushing to exactly the same repository via svn+ssh works fine.01:07
yaccPushing via https breaks.01:07
jelmerbug 19056801:08
ubotuLaunchpad bug 190568 in bzr-svn "bzr-svn exception plugin error in commit" [Undecided,Incomplete] https://launchpad.net/bugs/19056801:08
jelmeryacc: interesting01:08
jelmeryacc: do you have wireshark handy?01:08
yaccethereal?01:08
yaccbut it's https.01:08
jelmerah, ouch01:09
yaccI can install the repo on http too.01:09
yaccNo sure, you are in the same timezone, how fresh are you.01:09
yaccbtw, I've done the last tests with 1.3rc1 + tip of bzr-svn stable01:10
yaccbut bzr 1.1rc1 + bzr-svn 0.4.7 has basically shown exactly the same behaviour through the day.01:10
asabilyacc: on windows ?01:12
asabilif so, you could use oSpy (and API level sniffer) to sniff https traffic01:13
jelmeryacc: please update your bzr-svn checkout01:13
jelmeryacc: and add -Dcommit during push01:13
yaccIt's 2 hours or so old.01:13
yaccI've already done the -Dcommit.01:13
yaccIt just produces the files + 3 properties.01:14
yaccjelmer: email address?01:14
jelmeryacc: I just added the -Dcommit bit 5 seconds ago :-)01:14
yaccWell, def mutter checked for commit already in the old code?01:14
jelmeryeah, but I just added some extra output for it01:15
yaccOk, pulling the stuff.01:15
yaccI've changed the repo to http, so I can also run ethereal. :)01:16
yaccasabil: Technically, I've written an API level sniffer for Linux myself, but I don't like to use it, as I've written it for a customer so I cannot really distribute it, nor should I officially use it ;)01:16
asabiloh oki01:17
yaccasabil: well, at least the code generator for the intercepting stubs was written in Python ;)01:18
yaccjelmer: paste is ok for you?01:18
jelmeryacc: yeah01:19
yacchttp://rafb.net/p/Yy0yfm50.html01:19
yaccasabil: and guess what, the main usage was intercepting OpenSSL calls ;)01:19
yaccSSL can make debugging webstuff quite a PITA.01:20
jelmeryacc: Ah, think I figured it out01:20
yaccjelmer: really? :))))))01:20
jelmer/ is invalid in a file property01:20
yaccproperty name?01:20
jelmeryeah01:20
jelmerbzr-svn is using it01:20
yaccWhy did it work via svn+ssh then?01:20
yacc*wonder*01:21
jelmersubversion doesn't do validation01:21
yaccOh, apache does ;)01:21
yaccprobably because the name gets embedded somewhere in the URL ;)01:21
yaccAnd one / to much can break stuff.01:21
jelmerbut a / in a xml tag name messes with the subversion apache module01:21
yaccAnyway, any chance for a quick fix?01:22
yaccJust throwing a .encode("base64") would solve it in a completely incompatible way I guess ;(01:22
jelmerI'm looking at it01:26
jelmeryacc: it's not as simple as that01:26
jelmeryacc: that will break older bzr-svn implementations01:26
yaccYeah, I said incompatible.01:26
yaccbut there is basically no way you can keep it compatible, because you cannot address these properties via http. So that calls probably for an config.ini option?01:27
jelmerhmm, actually01:30
jelmerthis should be fixable without any changes01:30
yaccHow so?01:30
yaccentity encoding in the XML? *wonder*01:31
* yacc burns to test it out, I have four branches to deliver today ;)01:31
yaccjelmer?01:36
yaccJust curious what's your solution idea is.01:37
jelmeryacc: trying to debug this, give me a few minutes01:41
yaccno problem :)01:42
yaccAnyway I can help?01:42
asabiljelmer: is there any bzr-svn to be used with 1.2 ?01:45
jelmeryacc: not really atm01:59
jelmerasabil: 0.4.701:59
asabil0.4.8 you mean ?01:59
asabiljelmer: shall I also update the wiki page to add a link to 0.4.8 ?02:00
jelmerasabil: 0.4.8 isn't out yet02:00
jelmerasabil: I really mean 0.4.702:01
asabilhttp://samba.org/~jelmer/bzr/bzr-svn-0.4.8.tar.gz ?02:01
yaccDespite the fact that the wiki claims it's for 1.1 only?02:01
jelmerasabil: Ah, crap02:01
jelmerasabil: that should be gone now02:02
jelmerasabil: It shouldn't be up there because it doesn't pass a few tests02:02
jelmeryacc: yes, 0.4.7 works with 1.2 although it will warn you it may be out of date02:02
asabil:/02:02
jelmerasabil: you should be able to just use 0.4.7 though02:02
asabiljelmer: then the ppa package should be installable02:02
jelmerasabil: I haven't had time for that, instead focussing on releasing a bzr-svn compatible with bzr 1.302:04
asabilokidoki02:04
yaccjelmer: as you are the source of all bzr-svn knowledge, is it useable for the daily usage as svn replacement?02:07
yaccWhen working against svn repos?02:07
yaccI think I've seen even support for svk:merge properties in the code :)02:07
jelmeryacc: yeah, I use it for that02:12
yaccjelmer :)02:13
yaccjelmer: just wondering, on what time zone are you?02:17
jelmeryacc: CET02:41
jelmerI'll look into this further tomorrow03:11
=== bigdo1 is now known as bigdot
=== bigdot is now known as bigdog
=== bigdog is now known as bigdogwithfourpa
=== bigdogwithfourpa is now known as bigdog
=== bitmonk is now known as nicbour
rindolfHi all.09:53
rindolfI'm trying to do bzr export planet http://www.gnome.org/~jdub/bzr/planet/2.0/09:53
rindolfBut it dies with {{{ bzr: ERROR: Connection error: Couldn't resolve host 'www.gnome.org' (-2, 'Name or service not known') }}} after downloading a few files.09:54
rindolfWhy does it do another hostname lookup?09:54
rindolfAnd it's very slow.09:54
nubbunin bzr.dev lightweight checkout, I did "bzr --version" and it output "Bazaar (bzr) 1.4dev" then stalled and did much network access and then continued output.  Can someone explain that?  Is that unexpected?10:47
nubbunwhich only has patches approved by the PQM:  bzr.dev or lp:bzr?11:09
=== kiko-afk is now known as kiko
nubbuni386: in bzr.dev lightweight checkout, I did "bzr --version" and it output "Bazaar (bzr) 1.4dev" then stalled and did much network access and then continued output.  Can someone explain that?  Is that unexpected?11:40
nubbuni386: which only has patches approved by the PQM: bzr.dev or lp:bzr?11:40
i386huh?11:41
i386I dont know11:41
nubbuni386: "huh?"  did you not understand the first question?11:45
i386dude, I dont know who you were talking to before11:45
i386but it was not me11:45
i386and I have jack idea about what your saying11:46
nubbunI wasn't talking to anyone before.  You're the first person to write anything to this channel since I 've been here.11:46
i386right11:46
i386I joined the room11:46
datonubbun: PQM is bzr.dev11:46
i386And im not necessarily qualified11:47
nubbunthanks dato11:47
i386Perhaps ask your question of the mailing list?11:47
nubbundato: and lp:bzr is?11:47
datonubbun: and lightweight checkouts are not designed to be useful over network; mostly, to save space locally11:47
datonubbun: a mirror, I guess11:47
nubbunI did a lightweight checkout of bzr.dev .   When I do any operation using it, it accesses the network.11:49
luksnubbun: dev versions of bzr always print some debugging info about the branch it's from11:49
nubbunbzr version          does a lot of network activity.11:49
luksand to get that info from a lighweight checkout, it needs to ask the remote branch11:49
luksit shouldn't do that much traffic, though11:49
nubbunluks: do you know how I shut off network access from the dev branch?  I'm usually offline.11:50
luksdon't use a lighweight checkout11:50
luksor don't use bzr --version :)11:50
datoor don't use the .dev branch :)11:50
nubbunother operations also do network access, but not so much.  bzr info also does network.11:50
nubbunI think   bzr version takes over a minute over dialup11:51
luksonly if you use a checkout of _your_ branch11:51
luksbzr version is the same as bzr --version, which is about the bzr branch11:51
nubbunI'm anticipating  bzr branch lp:bzr  will take forever.11:52
luksreally, if you are mostly offline, don't use checkouts11:52
nubbunSo I guess I just can't do it.  I'll archive the .bzr directory, remove it and put it back when I wish to update.11:53
luksnubbun: the dev branch talks to it's remote branch only on bzr --version11:53
luksI guess you don't really need bzr --version for your work, do you?11:54
nubbunbzr info also does net access.11:54
luksfor other comm11:54
lukser11:54
nubbunbut that's expected11:54
luksbut that's not bzr.dev net access11:54
nubbunwell not really expected, but not surprizing.11:54
luksthat's network access for your branch11:54
nubbunyes.11:54
luksif you use lightweight checkouts, basically all commands will require network access11:55
luks(not talking about bzr.dev and bzr --version here)11:55
nubbunThanks for your help, luks, nato!  I'm going for now.11:55
awilkinsjelmer: Which version of pyrex are you using?12:04
awilkinsHmph, obviously not 0.9.3, 0.9.6 works much better12:08
jelmerawilkins: probably the most recent one12:10
awilkinsYes, the most recent one actually manages to get to the hug elist of compiler errors12:10
awilkinsstrings are immutable in python, so you can't adjust an array of them by doins for thing in array: sthing = sthing + 'stuff' no?12:21
datoyou can't modify an existing string (value)12:21
datobut you can assign to a name a new value12:22
datoso sthing = sthing + 'stuff'  is legal12:22
awilkinsFOudn what I want, enumerate()12:22
Lo-lan-doHi all12:34
Lo-lan-doI'm stuck with bzr 1.1~rc1-1...12:35
ubotuNew bug: #204607 in bzr "crash in 'bzr pull' when the network connection breaks" [Undecided,New] https://launchpad.net/bugs/20460712:36
Lo-lan-do(Due to more recent versions being incompatible with bzr-svn)12:38
datoLo-lan-do: guess who you have to prod :-P12:39
Lo-lan-doI know, but I figure he's tired of being prodded.12:41
=== doko_ is now known as doko
* yacc wonders if jelmer is a nightowl.12:49
* grutte_pier has been wondering the same for some time12:50
clarbyhmm, I'm experiencing some trouble with push, is there any way to increase the level of verbosity?13:02
luks~/.bzr.log might have more info13:03
clarbyOnly thing I'm seeing in the log is "45.348  not updating child fraction", but that's probably not what's causing my problems.13:14
clarbyIt's always like this: I push, have to ssh to my repository, break-lock and then push again and it works.13:14
clarbyAnd I'm not getting any feedback that something's awry.13:14
chadmillerclarby: Those "-Dxxxx" parameters may be of use.13:24
chadmillerclarby: -Dlock -Devil -Dfetch13:29
chadmillerclarby: They're all listed in bzrlib/debug.py .13:29
clarbyAh, great13:30
clarbyThank you chad13:30
=== kiko is now known as kiko-afk
=== bigdo1 is now known as bigdog
james_w(and bzr help global-options)14:13
jelmerabentley: ping14:44
mib_v2v62hncUnable to load plugin 'multiparent' from 'bzrlib/plugins'14:58
=== mib_v2v62hnc is now known as ashyg
ashyganyone ever see that? the bytecode file is in there14:58
datoashyg: the multiparent plugin was dropped a while ago14:59
ashygthen why is it trying to load it/why did it pull it when i rsynces15:00
ashygrsynced15:00
ashygrsync -av --delete bazaar-vcs.org::bazaar-ng/bzr/bzr.dev bzr.dev15:01
ashygls bzr.dev/bzrlib/plugins shows__init__.py  __init__.pyc  launchpad  multiparent.pyc15:02
ashygrunning bzr whoami "myname <my@email.com>" results in multiparent error15:03
ashygalso can't bzr merge, says unable to load plugin multiparent15:06
nubbunIf I have a15:06
nubbunbzr checkout http://bazaar-vcs.org/bzr/bzr.dev15:06
nubbunwhy can't I do a15:06
nubbunbzr pull lp:bzr15:06
nubbunI get the error message15:06
nubbunbzr: ERROR: Not a branch: "/path/bzr.dev/lp:/bzr/"15:06
nubbunashyg: are you specifically trying to use the multiparent plugin?15:07
ashygno15:07
ashygi just rsynced the latest version15:07
nubbundo you have that plugin in the plugins directory?15:07
ashygyeah it came when i rsynced15:07
ashygshould i rm it15:07
nubbunthe bzr.dev or 1.3?15:07
ashygi'm seeing usage of it other places though build/lib.linux-i686-2.5/bzrlib/versionedfile.py:        mpvf = multiparent.MultiMemoryVersionedFile()15:08
ashygbzr.dev15:08
ashygi'll try 1.315:09
nubbunashyg: I think all the plugins have corresponding code in bzr even if they aren't shipped together.15:09
nubbunas much as that is not what one would expect.15:09
ashyghey cool 1.3 works15:10
ashygalright thanks15:10
nubbunashyg: are you new to bzr?15:10
fullermdThe multiparent plugin has been gone for a long time.15:10
fullermd(well, FSVO; a couple months, I think)15:10
nubbunperhaps someone ( ashyg ) should file a bug?15:11
ashygyes i am new to bzr as of this morning, and yes perhaps a bug should be filed to have that pyc removed15:12
fullermdI dunno.  The bug might equally be that we still publish rsync instructions for it (if we do).15:12
fullermdIt's not standalone anymore.15:12
ashygah. yes there are rsync instructions on the install wiki page15:13
fullermdThat's probably historical.  Pull should be faster than rsync (at least, if the tree were still standalone, which is the main case where rsync made sense to begin with)15:14
nubbunhttp://bazaar-vcs.org/Download15:14
nubbunhas instructions for rsync. Seems to be current use.15:14
nubbunfullermd: pull not faster, but checkout --lightweight faster, right?15:15
nubbunpull would get history info.15:15
fullermdNo, pull is faster than rsync on pack trees, because rsync ends up retransferring huge chunks of the history on a regular basis.15:16
nubbunI guess it could still be faster if rsync also gets history inf.15:16
fullermdbzr.dev used to be a standalone tree precisely SO that rsync would get the history down.15:16
ashygi don't have bzr on my system yet :)15:16
nubbunoh, you mean for updates.15:16
ashygso i wget'd the tarball15:16
fullermdUrf.  Those rsync instructions SHOULD be dumped.  The WT there is really, really, really old.15:17
nubbunfullermd: do you know the answer to my question about pulling for a checkout?15:18
fullermdWell, lightweight checkouts via a dumb server conceptually still require significant data transfer.  Less than a full branch, but still a fair hunk.15:19
nubbunIf I have a15:19
nubbunbzr checkout http://bazaar-vcs.org/bzr/bzr.dev15:19
nubbunwhy can't I do a15:19
nubbunbzr pull lp:bzr15:19
nubbun?  I get the error message15:19
nubbunbzr: ERROR: Not a branch: "/path/bzr.dev/lp:/bzr/"15:19
fullermdA smart server can conceptually do it straight, but that cap isn't in place.15:19
nubbunI wish to update my checkout from lp:bzr15:19
luksbecause you hit a bug, that has been fixed in 1.315:20
fullermdWell, pulling into a checkout is the wrong answer anyway.  Even if it worked, it would fail.15:20
luksbut you really don't want pull in a checkout15:20
luksjust run "bzr update"15:20
fullermdWhy would you want to pull from the LP mirror in this case anyway?15:20
nubbunluks: I just got the checkout of bzr.dev .  Shouldn't it have the bugfix?15:20
luksare you running bzr.dev?15:21
nubbunyes.15:21
lukshm, then yes15:21
luksweird15:21
luksI though the directory service stuff was added specifically to fix this15:22
luksthought15:22
nubbunin a checkout of bzr.dev, what _should_ a pull of lp:dev do?15:24
nubbunI mean pull of lp:bzr15:24
datoyou shouldn't be pulling on a checkout15:24
fullermdIt would try to pull into the bzr.dev branch, which you can't write to, and so blow up.15:24
datobut alas, you shouldn't have a checkout over a read-only transport in the first place15:25
nubbuncan't pull into because there is no working tree?15:25
fullermdOh, there are lots of good reasont to pull on a checkout; just none of them apply in this case   :)15:25
datofullermd: yes15:25
nubbunno, there is a working tree, but no history data15:25
nubbunWhy should one not do a checkout from a readonly transport?15:26
nubbun(like https?)15:27
fullermdOne could.  There's just rarely a particularly compelling case for it; the main use of checkouts implies writing.15:27
nubbunI think the compelling case is that when you update, you don't need to re-download all files15:28
* fullermd blinks.15:28
fullermdThat's like saying "We need pickles so that you don't die when falling out of an airplane"15:29
nubbunThere is a relation.  To describe update from ro transport:  read checksums or version identifiers or changesets or whatever.  Compare with local archive to see what needs updating.  Download what changed.15:31
fullermdEr.  pull doesn't "re-download" anything (well, nearly); it DOES grab just the updates since your last sync.15:31
nubbunyes.  That's what I said.15:32
fullermd'update' != 'pull'15:32
nubbunpull affects versioning info & working tree, update only working tree, right?15:33
fullermdRoughly, yah.15:33
nubbunso a bzr update over http reduces data transfer compared to downloading a new version as an archive via http.  That's the compelling reason to do a checkout over a readonly transport rather than other download via the readonly transport.15:35
fullermdIn that sense, maybe.  But the usual question isn't "checkout vs. wget", it's "checkout vs. branch".15:36
fullermdI'd lay odds the majority of published repos don't have WT's (or have wildly out of date WT's, like bzr.dev) in the first place.15:36
nubbunto quote dato: but alas, you shouldn't have a checkout over a read-only transport in the first place15:36
nubbunand I don't know why he would say that.15:37
fullermdBecause there's little point in using a checkout in that case; you'd just use branch.15:37
nubbunthe branch requires more downloading.15:37
fullermdOh, you're talking about a _lightweight_ checkout?15:37
nubbunyes.15:37
nubbunsorry15:38
fullermdDoing that across the internet over a dumb server is suicide.  You'll probably end up with MORE downloading over the long term.15:38
nubbunWhy?  Wouldn't it mainly just retransfer changed files?15:39
fullermdIt has to read a potentially huge amoung of history information to find the changes.15:39
fullermd(and even a huge amount, if ere khan tipe)15:39
nubbununfortunate.  Not what I'd expect.15:40
nubbunand there's no RO smart server?  None is listed on the download page.15:40
fullermdThe smart server exists, but I don't know that any of the extant verbs help all that much in the lightweight checkout case.15:41
fullermdWhere they do, it's probably more fallout than intent; I don't think anybody's bothered trying to add to it for that use-case.15:41
abentleynubbun: The smart server is part of bzr and can be run in read-only mode15:52
nubbunabentley: will updating a lightweight checkout via smart server reduce data transfer compared to downloading the next tar.gz?15:53
nubbunFor that matter will updating via HTTP?15:54
jelmerabentley: hi15:54
jelmerabentley: is there anything blocking Repository.get_revision_graph() from being deprecated in favor of Repository.get_graph() ?15:54
abentleynubbun: No one's run any tests on that.15:54
abentleyjelmer: I don't know.15:56
abentleyIt get_revision_graph doesn't seem to be used in very many places.15:57
nubbunIf I have a lightweight checkout (say from bzr.dev) and I wish to update from another source, which may be another branch, is rebasing the right and only way to do that?15:58
fullermdnubbun: Rebasing has nothing to do with checkouts or working trees.  You want more like 'switch'.16:00
nubbunfullermd: thank you.16:00
abentleynubbun: lightweight checkouts are intended to be used when you have local (LAN or hard disk) access to the source branch.  Using them over the internet is going to be a world of pain.16:04
yaccjelmer: :)16:13
yaccjelmer: any hints how you plan to solve the / property problem?16:14
yaccAh, something got commited to bzr-svn :)16:17
yaccThe suspense is unbearable, ...16:17
yacc:( still an assert error :(16:18
ubotuNew bug: #183824 in bzr-svn "Use only one connection simultaneously to a Subversion repository" [Wishlist,Triaged] https://launchpad.net/bugs/18382416:26
thekornhi all, I try to write sme scripts using bzrlib and i've got one question:16:27
thekornwhen should I /do i have to lock_read() a tree?16:27
thekornwhat's the reason behind this locks?16:28
yaccjelmer: could you please explain your ideas how to solve the bug in a compatible manner? This way I'd be able to quick&dirty code up something.16:36
james_wthekorn: I think they are to make sure that no-one messes the tree while you are reading it.16:52
james_wthekorn: I can't remember the current state of the lock infrastructure, but certainly at one point some of the lock_read() calls were no-ops.16:52
thekornjames_w, whenever I do 'tree.get_file_text()' without the lock I get an Exception, so i added it there,16:57
james_wthekorn: it's probably a good idea to just grab the tree, and then lock it and try: finally: the rest of the code with the unlock in the finally block.16:58
james_wthat should avoid you any problems.16:58
thekornright16:59
Qhestionehm, i am reading bazaars sourcecode, and in msgeditor.py line 70 (in _run_editor), there is a check for an exit code of 127 (results in a continue statement, so that the next editor is tried). what does that code mean? as far as i know exit codes are not standardized, so --?16:59
james_w$ does-not-exist17:00
james_w$ echo $?17:00
james_w12717:00
Qhestionah17:00
james_wI don't know if it's part of POSIX or something.17:00
Qhestionanyway, now it makes sense17:01
Qhestionbazaars source code is better than any book :)17:01
Qhestionoh and why does it else:break? shouldnt that be else:continue?17:02
Qhestionno it should not17:03
Qhestionnevermind17:03
james_wno, that's for the case when your editor runs but dies for some reason.17:03
Qhestionyeah, i had the weird idea of just trying another editor in that case. not a good idea...17:04
james_wnope17:05
waltershi, can someone point me to the bits of the bzrlib API I'd need to extract metadata from a working directory?  In particular, say to parse the log stream17:08
lukshttp://bazaar-vcs.org/Integrating_with_Bazaar17:09
james_wwalters: sorry, can you clarify what you mean by the log stream?17:09
waltersluks: that looks really useful, thanks!17:09
waltersjames_w: output of "bzr log"17:09
luksbut if you have any specific questions, just ask17:09
luksbzr log has fairly complex code behind it17:10
datojames_w, Qhestion: I don't think "x == 127" is going to happen, call() would raise ENOENT instead17:10
james_wwalters: so you can follow the revision pointers to get each individual revision and then read the message etc, or you can use show_log if you just want a formatted output like "bzr log".17:11
james_wwalters: I'd be happy to give you pointers to help with either17:11
james_whi dato17:11
james_wdato: it seems to check for ENOENT as well, so that's a little odd.17:12
dato(well, it could happen if your editor is (as script that is) then exec'ing something which does not exist)17:12
datos/as/a/17:13
james_wah, thanks.17:13
waltershm, how do i get the revision number from a Revision object?17:22
james_wwalters: ah, that's harder, as a revision number is only defined relative to a particular mainline.17:23
james_ware you walking the mainline?17:23
waltersi have a working directory17:23
james_wanyway, give me one second and I should have a more helpful answer.17:23
luksbranch.revision_id_to_revno(r.revision_id)17:23
waltersi need to operate in terms of that, because my code is trying to generate statistics over the working tree for each revision17:23
waltersconceptually:  for revision in reversed(revisions): bzr_revert(revision); generate_statistics()17:24
waltersluks: cool, thanks17:24
lukswhere is "revisions" comming from?17:24
james_wwalters: that's not the best way.17:25
waltersbranch.revision_history()17:25
luksthen you don't need it at all17:25
luksrevision_history is linear17:25
luksfor revno, revision in enumerate(reversed(revisions))17:25
waltersah, that makes sense17:26
fredreichbierhello17:26
luks(or reversed, I'm not sure right now)17:26
james_wthere's also iter_reverse_revision_history17:26
james_wwhich will return the first one to you quicker.17:27
james_wluks: did you see that jam put a version of your patch up for review?17:28
luksyes17:28
james_ware you happy with how it ended up?17:28
luksheh, no I was unhappy for very different reasons17:29
luksthe patch was there since december last year, completely ignored17:29
james_wyeah, I just wondered if you had any opinions on the final version.17:29
luksnow emacs developers complained how slow it is17:29
luksand things happen...17:29
james_wyeah17:29
luksbut yeah, the patch looks much better than mine version17:30
james_wcool, at least we get a good improvement in the end, so it's not all bad.17:31
awilkinsjelmer: I got those pyrex bindings to build17:51
awilkinsNow to test the buggers.....17:52
james_wawilkins: nice work.17:53
awilkinsjames_w: You have to hold it's hand and feed it all the library includes manually because Win32 doesn't have LOADLIB or whatever it is Linux uses17:58
james_w403 Forbidden - Reading tree failed17:59
james_wthere's still a pristine-tar branch there though, is that just old?18:00
james_woops, sorry, wrong channel.18:00
waltersjames_w, luks: thanks for the help, got my script working18:01
james_wwalters: great.18:02
james_wjdong: bzr 1.3 just got ACCEPTED.18:06
datojdong: bzr 1.3-1 in Debian (currently in incoming.d.o). you'll have to check with james_w/jelmer what's up with bzr-svn18:06
james_wthanks dato18:06
datojames_w: gaah, I was typing :-P18:06
james_w:-)18:06
jelmerawilkins: ah, cool18:14
james_wjelmer: hi. Would you be happy for the latest bzr-svn in Debian to go in to Hardy?18:16
awilkinsjelmer: Alas, it doesn't complete the selftest18:17
awilkinsjelmer: It seems to have a deadlock in bzrlib.plugins.svn.tests.test_commit.RevpropTests.test_change_revprops18:17
datojames_w: hardy has sid's18:17
jelmerjames_w: Yeah, that'd be fine18:17
datojames_w: 0.4.8 hasn't been uploaded yet18:17
james_wjelmer: this is with 1.3 btw.18:17
jelmerjames_w: oh, there is nothing compatible with 1.3 out yet18:18
jelmerjames_w: 0.4.7 does not work with 1.318:18
jelmerit breaks in quite a few cases18:18
james_wah, ok, sorry.18:18
jelmer1.2 should be fine though18:18
james_wwe'll wait for you then.18:19
jelmerawilkins: oh, I'm not aware of any deadlocks18:19
jelmerawilkins: it just segfaults here at the moment18:19
james_wI've got a patch waiting to be sponsored that removes the warning when used with 1.2, so either way hardy will end up with a working set.18:19
jelmerjames_w: yeah, I noticed. thanks for taking care of that18:23
james_wjelmer: no problem. It would be good to get this round of updates in, but if it doesn't at least it should all work well together.18:26
jdongdato / james_w: thanks for the update. Let me know how the plugins go :)18:29
jdongI know bzrtools is ready18:29
james_wjdong: yeah, we'll wait a few days to see if a 1.3 compatible bzr-svn arrives in time for it to be reasonable for hardy.18:31
jdongthat sounds like a plan.18:32
awilkinsjelmer: That's odd, if you run just the test on it's own, it breaks into the debugger, but it just locks solid as part of the suite18:39
awilkinsIs it supposed to break into the debugger?18:39
awilkinsOr is that the CPython Win32 equivalent of a SEGFAULT18:39
jelmerI may've left a "import pdb; pdb.set_trace()" statement somewhere18:39
awilkinsAha, yes18:40
awilkinsIs that why the suite locks solid?18:40
* awilkins starts suite again18:41
ubotuNew bug: #204759 in bzr-svn "AssertionError when committing" [Undecided,New] https://launchpad.net/bugs/20475918:47
awilkinsjelmer: Are tests run sequentially from the source?18:52
jelmerawilkins: yes18:54
awilkinsJust hit a segfault (or whatever causes a process to die)18:55
jelmerthat's a known issue18:56
awilkinsBut I can't seem to reproduce it - would something that causes a "WindowsError" exception do that?18:56
jelmerI actually also know what is causing it but I haven't found a way around it yet18:56
jelmerawilkins: Not sure, I don't have too much experience with python on windows18:56
awilkinsAnd do the test names show up before or after they execute? Because the test named on STDERR passes if you run it solo18:56
awilkinsThe one after causes a WindowsError18:57
jelmertest names show up before they execute18:57
awilkinsThat's weird then18:57
jelmerit may not have printed all test names yet though18:58
jelmerare you running with -v ?18:58
awilkinsno18:59
awilkinsI'm just running the whole of TestFetchWorks now19:00
awilkinsOk, it seems to be test_fetch_trunk1 but it passes fine when run on it's own19:04
ubotuNew bug: #160335 in bzr-svn "--prefix could be determined from specified url" [Wishlist,Fix committed] https://launchpad.net/bugs/16033519:06
awilkinsjelmer: It passes on its own but dies when you run it with the others19:08
awilkinstest_fetch_trunk119:09
jelmerre19:36
awilkinsOk, question ; Python2.5 sources have a "VS2005" build folder, if I use that to run python in debug mode, will it work with my extensions built on the 2003 compiler?19:37
awilkins(probably not, eh?)19:37
jelmerNot sure, sorry19:41
jelmerAh, I think I finally found the bug that was blocking 0.4.820:09
asabilawilkins: I don't think so, unless you manage to get them to link against the same C Runtime (which is damn hard to do)20:19
=== juliank0 is now known as juliank
yaccjelmer: ping21:33
jelmeryacc: pong21:34
yaccAny progress?21:34
yaccOr a description of your clever idea?21:34
yaccI just pulled stable, and I'm getting still the assert exception.21:35
yaccjelmer: I'd be happy to help, but you claimed last night that you have a cool idea how to fix it in a backwards compatible way, ...21:37
jelmeryacc: not really in a backwards compatible way but in a way that makes older clients not able to retrieve the revision but not corrupt them either21:39
jelmeryacc: this problem only occurs for the single- branching scheme, which not a lot of people appear to be using21:40
yaccHow can I switch the schema?21:40
jelmeryacc: see "bzr help svn-branching-scheme"21:40
yaccSo by switching the schema I could avoid this AssertionError?21:41
jelmeryacc: the idea would be to start base64-ing the path in the single path branching scheme21:41
jelmerand look at for both the base64-encoded name and the non-base64 encoded name to be able to deal with older revisions21:41
yaccyeah, assuming that one does not work through http.21:41
yaccI'd presume that one cannot get at the non-base64 property through http anyway ;(21:42
jelmeryacc: yeah, that's correct21:42
jelmerit seemed possible at some point to set / in properties over http but not possible to retrieve them later21:42
yaccbut to help prioritize my work, switching the schema would make the assert go away?21:42
jelmerSwitching the scheme makes it impossible to push to your current branch in svn21:44
yaccjelmer: well, yeah, checking the "old" property name and converting it to the "new" property name would make sense to me.21:44
yaccWell, I have no current branch in svn ;)21:44
jelmeryacc: in that case, using a different branching scheme should be fine21:44
yaccThat's stuff that has started it's life in bzr, I just need to push it so the rest of the devels working with svn see it.21:45
yaccSo what other branching schema can I switch to?21:46
jelmersee "bzr help svn-branching-scheme" for details21:46
yaccYeah, but I'm not completely grasping what options I do have. (I grasp the basic problem/idea, but I have no idea what over kind of schemes might make sense for me.21:51
yaccnone/dir1/dir2/PackagePathWhereIPush21:52
yacc?21:52
jelmeryacc: not sure I understand what you mean21:53
yaccWell, I've got a path something like that: trunk/logs/LookeryBase <= LookeryBase does not exist yet. Nobody is using branches inside svn (that would not make much sense you know, branches and svn in one sentence evoke pain)21:54
jelmeryacc: so, the branching scheme is basically list of branches inside the repository21:54
yaccNo, actually, there are no branches, just trunk in the repository.21:56
yaccNow the bzr branch that I created locally, is "logically" part of the overall trunk of the svn repo.21:56
jelmeryacc: In that case, just put "trunk" as single line in the branching scheme21:56
yaccthanks.21:57
jelmeryacc: You can only push branches, you can't push into branches21:57
yaccCan I edit subversion.conf directly?21:57
jelmeryeah, sure21:57
yaccWhat do you mean by " You can only push branches, you can't push into branches"?21:57
yaccI fear we have a term-overloading going on here between svn branches and bzr branches.21:58
jelmerwell, you can't push a bzr branch into /trunk/foo if you have /trunk as a branch21:58
jelmeryou can only push it into /trunk21:58
yaccWell, I want to push my local bzr branch that has not yet any representation in the svn world, to /trunk/logs/LookeryBase ?22:00
james_wwhy don't you push to /branches/whatever?22:00
yaccjames_w: because my bzr is logically not a branch, just a new package inside the logical svn trunk.22:01
yaccMy whole bzr branch are basically "files to add to the svn trunk, in some subdirectory".22:01
jelmeryacc: in that case, /trnk/logs/LookeryBase is your branch in svn22:01
yaccYeah, but where do I put that in subversion.conf?22:03
yaccWell, let me try it out.22:03
* yacc was clever and created a complete throwaway https repo just for playing.22:04
yaccjelmer: http://rafb.net/p/ixuk7u60.html22:09
yaccOk, setting the schema to None does not help either.22:12
=== RAOF_ is now known as RAOF
yaccjelmer: list-xxxx does not help either :(22:28
jelmerre22:38
jelmeryacc: please try again with new 0.422:43
yaccI just pulled from stable? Or do you mean something else?22:53
yaccjelmer: http://people.samba.org/bzr/jelmer/bzr-svn/stable/22:54
jelmeryacc: yeah, stable23:00
jelmerstable is a symlink to 0.423:00
jelmerI loosened the assertion a little bit23:00
yaccShould list-XXXX include paths like /test, /test/, test or test/?23:01
yaccBasically do I need slashes at the start/end?23:02
yaccjelmer: still the assert error, with no scheme selected in subversion.conf23:08
yacc:(23:08
jelmeryacc: what version of the 0.4 branch are you using?23:08
jelmeryacc: No scheme selected?23:08
jelmeryacc: that probably means it's going to use the same scheme you were using earlier23:08
jelmerthere is no such thing as no scheme..23:08
yaccjelmer:23:13
yaccTree is up to date at revision 969.23:13
yaccno scheme:23:13
yacc[40f52546-0a3c-0410-aace-d8ec0cfe4f10]23:13
yacclocations = svn+https://andreas:qwertz@heaven.kostyrka.org/krit/repo23:13
yaccI just removed the repo completely from subversion.conf, and bzr-svn did not enter a scheme when it detected the repo.23:14
jelmeryacc: It still uses a branching scheme though23:14
jelmeryacc: try "bzr svn-branching-scheme <repo-url>"23:15
yaccandreas@andi-lap:~/lookery/lookery> bzr svn-branching-scheme svn+https://andreas:qwertz@heaven.kostyrka.org/krit/repo23:18
yaccandreas@andi-lap:~/lookery/lookery>23:18
yaccFunny thing, got lost in the paste.23:18
yaccthe above outputs exactly two empty lines.23:18
jelmeryacc: in that case it will probably refuse to push anywhere23:20
yaccjelmer: yeah, but what should I do?23:21
jelmeryacc: You can change the branching scheme using the svn-branching-scheme subcommand23:23
yaccI've do I need to set the scheme myself?23:23
yaccTo what?23:23
yacctrunk => would make only /krit/repo/ a branch that I can push to, which is wrong.23:24
yacclist-XXXX? I don't think it's meant this way, importing scheme.py and str(ListBranchingScheme(["path1", "path2"]))?23:25
jelmeryacc: Use bzr svn-branching-scheme --set <url>23:26
yaccWhat url should I provide?23:27
yacchttp://host/repopath/pathinrepo?23:27
jelmerno, just the repo url23:27
jelmerin the editor that then opens you can list the paths in the repo bzr-svn should consider branches23:28
PengOh no!23:28
jelmerPeng: ?23:28
PengPython has an official mirror of some of their svn branches in bzr two days after I do it myself.23:28
Penghttp://www.python.org/dev/bazaar23:28
jelmerooh, nice23:29
yaccjelmer: should I also list paths that I plan to use as a branch that do not exist yet?23:30
jelmeryacc: yes23:31
yaccjelmer: ok, new try ;(23:31
yaccstill the assert error.23:31
jelmeryacc: what's the revno of stable you have?23:31
PengHmmm.23:31
PengIf those were done with bzr-svn, they have the same revids as my local conversion, right?23:32
yaccIt updated to 970 now, before it was 96923:32
yaccjelmer: still the same.23:33
yacc:(23:33
jelmerPeng: Yep, should be23:33
yacc7.861  adding branch dir 'testB'23:33
yacc8.898  open dir 'lookery'23:33
yacc8.898  open dir 'lookery/scripts'23:33
yacc8.899  open file 'lookery/scripts/llfp.py'23:33
yacc9.082  Traceback (most recent call last):23:33
jelmeryacc: Please try with 97123:33
jelmerthat should print the property name that failed23:33
yacc:)23:34
yaccjelmer: I'm using a fresh path on each test, ...23:34
yaccyou forgot %s23:35
yaccNow I get a TypeError:23:35
yacc    assert is_valid_property_name(prop), "Invalid property name" % prop23:35
yaccTypeError: not all arguments converted during string formatting23:35
jelmerah, crap23:35
jelmerr972 :-)23:35
yaccAssertionError: Invalid property name 'bzr:revision-id:v3-single-test/lookery'23:37
jelmeryacc: Looks like you're still using a branching scheme with a single branch, i.e. the bit that's failing23:37
yaccWhich is funny, because lookery is not even there in the path I'm trying to push to, guess it's a branch nick or something.23:37
jelmeryacc: please specify more than one path so it uses the list- one23:37
yaccI've specified 5 paths.23:37
yacctest9 .. testD23:38
yaccon seperate lines.23:38
PengYep, they do seem to have the same revids. Yay.23:38
jelmeryacc: and you're pushing to one of those?23:38
yaccbranching-scheme = list-QlpoOTFBWSZTWdCduU8AAAzNgAAQACA8AAIADAAgACEkA0IMmIyavGI5DQ0eLuSKcKEhoTtyng..23:38
yaccyes.23:38
PengI don't have to download the whole repo again then.23:38
jelmeryacc: what url are you pushing to?23:38
jelmeryou're runinng something like "bzr push <repo-url>/test9" ?23:38
yaccI've put in testD and I'm pushing to: 'svn+https://andreas:qwertz@heaven.kostyrka.org/krit/repo/testD/'23:39
yaccsvn-push23:39
yaccbut yes.23:39
yaccleaving off the last slash does not help either.23:39
jelmerright, that shouldn't matter23:39
yaccAssertionError: Invalid property name 'bzr:revision-id:v3-single-test/lookery'23:40
yaccrunning bzr svn-branching-scheme on the URL gives the test9-testD lines, and one empty line at the end.23:40
yaccjelmer: would the Apache log help?23:42
jelmeryacc: no, that's not at all relevant23:42
yaccWell, bzr-svn did set branching-scheme-mandatory = True this time, ...23:43
jelmeryacc: I wonder what is setting that property since it doesn't appear to be related to your branching scheme23:43
yaccIt looks like the nick of my bzr branch?23:43
yaccHow can I check that?23:43
yaccThe branch is in a directory named lookery.23:44
yaccjelmer, let's see what properties get added.23:45
jelmeryacc: it looks like it's thinking you're trying to push to test/lookery inside of the svn repository23:45
yacchttp://rafb.net/p/l3S2si25.html23:46
yaccjelmer no such thing.23:46
jelmeryacc: I mean, in svn23:47
jelmeryacc: There doesn't happen to be a branch in svn with that name?23:47
yaccYes there is.23:48
yaccBut it's not a branch afaik.23:48
yaccandreas@andi-lap:~/lookery/lookery> svn ls https://heaven.kostyrka.org/krit/repo/test/lookery/23:49
yaccsvn: PROPFIND Anfrage fehlgeschlagen auf »/krit/repo/!svn/bc/9/test/lookery«23:49
yaccsvn: PROPFIND von »/krit/repo/!svn/bc/9/test/lookery«: 207 Multi-Status (https://heaven.kostyrka.org)23:49
yaccNow isn't that peachy?23:49
yaccGuess a svnadmin create would be now a good idea?23:49
jelmeryacc: right, that happens if a property is set once with a bad character in it23:49
yaccjelmer: yeah, but I'm not refering to /test/lookery at all.23:50
yaccI'm trying to push to /test?23:50
yaccShould I nuke the repo?23:50
jelmeryacc: it may still remember you had a revision there23:50
yaccWho would remember that?23:50
jelmeryacc: Yeah, I would recommend recreating it23:50
yaccbzr-svn?23:50
jelmeryacc: ~/.bazaar/svn-cache/23:50
yaccWell, I can try to nuke svn-cache first?23:51
jelmersure23:51
yacc<philosophical-rant>svn must be really quite fast. svk has an internal hidden cache too.</rant>23:52
yaccIt pushes, it seems ;)23:53
yaccrevision 2/623:53
yacc3/623:53
yacc4/623:53
PengHaha, bzr missing between two copies of Python's bzr branch took several minutes.23:53
yacc5/623:53
yaccCool it worked :)23:54
jelmerPeng: yeah, I don't think it has been performance tuned yet23:54
yaccjelmer: btw, do I need to specify a password on the push URL, or does bzr-svn use the svn "password caching" mechanisms?23:54
jelmeryacc: it uses the svn password caching23:55
Pengjelmer: Wait, when bzr-svn switches to Pyrex, what will the build dependencies be?23:55
jelmerPeng: A C compiler and libsvn-dev23:56
yaccjelmer: what are you planning to use Pyrex (or probably Cython) for?23:56
jelmeryacc: for bzr-svn own python bindings of subversion23:57
jelmeryacc: rather than using python-subversion23:57
yaccjelmer: :)23:57
yaccjelmer: my experience suggests that you should probably prefer Cython over Pyrex, but beside that sounds like a plausible idea ;)23:58
jelmeryacc: cython generates larger files, which is why I prefer pyrexc as long as I don't need any of the features pyrex lacks23:59
jelmerso far it looks like both should work with the bzr-svn .pyx files though23:59
yaccjelmer: like a nice package support?23:59

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