/srv/irclogs.ubuntu.com/2008/02/01/#bzr.txt

rollyVersion: 1.1~rc1-100:00
rollyPython-Version: 2.4, 2.500:00
rollyVersion: 0.11-1.100:00
rollyPython-Version: >= 2.400:00
mtaylorjust do apt-get install bzr00:00
mtaylorthat'll get you the latest and greatest bzr00:00
rollyGotcha. that will use the correct python right?00:00
mtaylorwell, yes00:00
mtaylorbut your _path_ will still use /usr/local/bin/bzr00:00
mtaylorso I'd get rid of that00:00
mtaylorjust delete it00:01
rollywill do00:01
mtayloryou might want to kill your /usr/local/bin/python* too00:01
rollyThat sounds risky00:03
bob2did you specifically want a non-Debian python installed, or were you just trying to get bzr working?00:04
rollyThat old python was installed on the system by a previous BOFH00:04
bob2ah00:04
mtayloroh. well in that case just leave it00:04
mtaylorbut know that whenever you just run python, it's going to pick that one up first00:04
mtaylorwhich is almost never going to be what you want00:05
mtaylorso you might want to alter your path to not use /usr/local or something00:05
mtayloror just be explicit00:05
bob2and it will probably break other Debian python software00:05
rollyjesus chr*st00:06
bob2(e.g. anything else that uses the "bz2" module :)00:06
mtaylorrolly: I'd also send a death gram to the previous BOFH :)00:11
rollyhehe, it's horrible. It's like he encrusted python into this system00:12
rollyI just replaced /usr/local/bin/python with a symbolic link to the right one, and I'll start keeping a tally of broken python programs :p00:12
rollyhooray, svn2bzr works now00:14
mtaylorYAY00:14
rolly\o/00:14
rollySo yesterday I asked a question about creating non-propagating revisions, but I framed it poorly. Now I found a diagram that explains exactly what I'd like to do in bzr ---> http://merge-tracking.open.collab.net/servlets/ProjectProcess?documentContainer=c2__Sample%20repository00:16
rollysee operation 'b' in that diagram? "Marking r7@branches/a to be blocked. From this point on forward, this change set shall not propagate anywhere."00:16
rollyCan that be done in bzr?00:16
LeoNerdI'd like a "telepathy" option to 'bzr blame'.. It's good at telling me what change I made six months ago, but unfortunately it fails to explain the logic of my reasoning on why I thought it was a good idea00:22
rollyhah :)00:23
LeoNerdI wrote about the fact that two methods have to be called in a particular order, only I can't now see why... they look independent...00:24
beunopoolie, lifeless, I'm working on the automatic plugin suggestion bit, and I have a conceptual question I can't seem to resolve on my own00:26
beuno(basically, ping :p)00:28
Odd_BlokeWhen using bzr-svn, how do I authenticate when pushing to an https:// URL (Sourceforge, in this case)?00:29
jelmerOdd_Bloke: See the bzr-svn FAQ00:30
Odd_Blokejelmer: Oh yeah.  I scanned the page but somehow managed to completely miss that entry. /o\00:33
Odd_Blokejelmer: Thanks. :)00:33
cliechtiare hooks executed on the server side when i do a push using ssh+bzr?00:39
lifelessman jetlag kills00:39
lifelesspoolie: want a call ?00:41
lifelessbeuno: pong00:41
beunolifeless, I'm going to have an XML file with all available plugins bundled with bzr so users don't need internet connection to use the command-not-found bit. What I'm not really sure is where to locate it within the bzr directory structure so it's accesible even if you run bzr from source00:43
lifelessbeuno: I don't understand why you need that file00:44
lifelessbeuno: we know what commands the user /has/00:44
lifelessbeuno: everything else is unknown.00:44
jelmercliechti: afaik they're all client side at this point00:45
beunolifeless, not for the new spec. You wouldn't know what commands uninstalled plugins provide, so I'm going bundle an XML file with that information (which will be available to update later on on user request)00:46
lifelessbeuno: in my head there are three states for a command: found locally, not found locally, not found locally and found in a directory service00:46
lifelessbeuno: I don't like the idea of a static file in bzr itself; it _will_ bitrot.00:46
cliechtijelmer: yeah it looked like that. the push+update plugin also does a separate ssh connection. and a rss generator plugin sneaks in the rss file into the .bzr folder of the server, but no code execution there00:47
beunolifeless, so how do you suggest I handle this?   Make bzr download an updated XML file the first time the user hits a not-found command?   doesn't seem sensible to me  :D00:47
cliechtiET software? that phones home? ;-)00:48
beunoI would like to ship with bzr a list of official plugins that can be suggested00:48
beunoso I believe this would be a new state for a command00:48
jelmerbeuno: Couldn't this rather be in a separate plugin, just like is done for the bash/zsh scripts?00:50
jelmerbeuno: E.g. just make core bzr provide a "Command not found" hook00:51
beunojelmer, yes and no. It can if it's not going to be part of the core. If these bits _are_ going to be in the core, then I have to have a DB already available00:51
beunoas lifeless suggests in: https://lists.ubuntu.com/archives/bazaar/2008q1/037066.html00:52
beunoa big part will be in the core00:52
lifelessjelmer: I think the core mechanism of this should in the core, so that it gets loved as much as possible00:54
lifelessbeuno: I'm entirely happy with having the directory services be plugins00:54
jelmerlifeless: I have no problem with the add-plugin, list-plugins, etc commands as part of core00:55
lifelessbeuno: in fact, perhaps the plugin for installing plugins in a particular manner also is the directory service for that manner00:55
lifelessbeuno: e.g. you want to write a 'checkout to install' style plugin - cool. That plugin can use a xml file if you want.00:56
jelmerlifeless: however, I would really like to see the plugin that provides access to the "trusted repository" as a plugin (no objection if it's shippedinthe standard tarball)00:56
lifelessI want to write/see a plugin that installs from debs00:56
mtaylor^^++00:56
lifelessso it needs at minimum a mapping from plugin name to deb00:56
lifelessand adding a mapping of command to plugin at the same spot seems reasonable at first glance00:57
lifelessjelmer: I agree thats what I am saying - the mechanism to install things should be plugins, the UI and core logic should not00:57
jelmerlifeless: Ok, then we're on the same line.00:57
jelmerThanks :-)00:58
* beuno thinks00:58
lifelessI see a plugin for finding and installing to ~/.bazaar/plugins/, a plugin for installing via debs, a plugin for installing via easy_install, a plugin for installing via rpm's, and one for whatever gentoo call their packages00:58
lifelessbeuno: the directory service is a dynamic thing00:59
lifelessbeuno: in fact, one interesting case is 'command not found' -> 'new bzr supplies it'00:59
beunolifeless, ah, yes, that's interesting to provide too00:59
beunowhich would require bzr to download on some sort of regular basis the updated DB01:00
beunoI'm a bit confused on having the code for checking if a plugin is available for a command in the core, but having the actualy db as a plugin01:01
beunoalthough it does make sense in some level01:01
beunoI was thinking of shipping a db file with bzr, and then just update to the users ~/.bazaar dir01:01
beunomake the plugin first check in the ~/.bazaar dir, and if not, fall back into the a default location01:01
beunoone think going around in my head was to serialize the db to a file so it can be accesed faster than parsing XML each time01:02
beunos/think/thing01:03
jelmerlifeless: I wonder if we could do that with tracebacks..01:04
jelmerlifeless: "The bug you just hit has been fixed in a newer version of bzr"01:04
lifelessbeuno: in the core it will be something like: for provider in providers: try: plugin_name = provider.command_name_to_plugin_name(); except LookupError: continue; raise InstallableCommand(provider, plugin_name)01:05
lifelessjelmer: cute01:05
lifelessbeuno: I would expect the debian packaging to make sure that only the install_via_deb provider is present01:06
beunolifeless, so the db of plugins will be provided by each provider (with checkout plugin installed by default in bzr)01:08
lifelessapproximately01:08
lifelesswe'll also want branch/repo/tree formats to be supplied01:08
lifelessand others01:08
lifelesseventually01:08
lifelesswouldn't it be nice if rather than 'unknown format ... needs 1.4' you got 'unknown format ... needs 1.4' Lookup support for this [Y/n]01:09
beunoheh, yes01:09
lifelesshit Y, and get 'upgrade bzr to the current release 1.6 which supports this'01:09
lifelessbut lets stay focused01:10
lifelessmissing commands01:10
beunoI suddenly have 100x times more things in my head than before (which wasn't little)01:10
beunook01:10
beunowell, I just have one concern01:10
beunowhich is more of short-term problem01:10
beunoI'd like to implement this in stages01:10
AfC"This bug has been fixed in a newer version of $software, so go upgrade already" would be awesome :)01:10
beunofirst stage would just tell the user the command is available in a plugin, and the URL where it's located01:11
lifelessbeuno: I think thats a second or third stage01:11
beunosecond stage, installing it with the checkout plugin01:11
beunolifeless, ok. What's the first stage then??01:11
lifelessbeuno: first stage is to my mind the bzrlib core being done, with no providers present01:12
beunolifeless, so it would check for providers, and not find any  (useless to the actual users)01:12
lifelessbeuno: which means UI and appropriate lookup facilities, the add-plugin or whatever its called command being present, remove-plugin likewise01:12
lifelessbeuno: this is important as it is a likely common corner case (some folk will not want this facility)01:13
lifelessthen second stage is write a plugin which can identity other plugins01:13
lifelessit can on add-plugin 'foo' print out 'the home page for foo is XXX, please follow the README/INSTALL instructions there'01:14
lifelessand you can refine the plugin further from there01:14
lifelessbut at the same time jelmer/james/dato can be writing a deb based version of the same thing01:14
lifelessmy point is that bzr itself probably never needs to know 'the url homepage' or anything like that01:15
lifelessall be needs to know is 'plugin X is supplied by provider Y for the problem of 'missing command Z''01:15
beunolifeless, so each provider will have it's own db of available plugins?01:17
SmileyChrisif I "python setup.py install" the newest version of bzr-svn, do I have to go and manually remove the old egg or will bzr find and use the newest one?01:18
lifelessbeuno: surely that has to be the arrangement, not all plugins are available to .debs at the moment, and someone may package an older/newer version of a plugin with different commands than the one in e.g. rpms01:19
lifelessSmileyChris: I really don't understand eggs, they seem to do very strange things.01:19
lifelessSmileyChris: its why I don't use them, and just put plugins in ~/.bazaar/plugins - e.g. ~/.bazaar/plugins/svn01:20
beunolifeless, ok. And we would ship the checkout (native) plugin by default, so we would already have a DB available. And, when another provider is installed as a plugin, it should somehow specify "check me first", so we can fall back to checkouts if it's not provided as a .deb  (which is very likely to happen often)01:21
beunoif that's the case, my only concern would be how each plugin would keep it's DB updated01:21
lifelessbeuno: thats up to the plugin surely01:23
lifelessthe easiest way to make tricky decisions is to get someone else to make them01:23
beunolifeless, ok, you got me  :p01:24
beunoalright, that works for me01:24
lifeless(I'm not entirely sure we would ship any plugin by default). But we certainly could have a 'bundle' release for non-distro users that adds e.g. bzrtools and checkout-plugin and whatnot01:24
beunoI can have all the core bits in there01:24
lifeless(any plugin that does this I mean)01:24
beunolifeless, if we don't ship the plugin by default, most users will miss out on the command-not-found bit01:25
beuno("most users" is a wild un-educated guess)01:25
beunoI'm thinking what gets shipped in the standard bzr tarball01:26
beunowhich is what propagates to the distros and all those weird places01:27
beunoso all the code will be in place, but no db of known plugins will be available01:27
beunolifeless, I'm off to get some dinner, but I'll be back in a short while to keep on working on this01:41
ubotuNew bug: #187916 in bzr "bzr crashed on 'bzr branch'" [Undecided,New] https://launchpad.net/bugs/18791601:55
lifelessbeuno: yet, on a debian system you don't want user-installed plugins, you want deb installed plugins with dependencies01:56
poolielifeless, though, that might be strange if bzr itself was installed from source01:58
pooliei would say it should match the method used for the current bzr process01:59
poolieprobably01:59
abentleyI have to say I'm a bit dismayed by the whole idea.02:09
abentleyHaven't we got enough package tools already?02:10
pooliewell, i think just suggesting the right thing would be a good start02:10
abentleyYeah, that seems okay.02:11
abentleyActually installing the plugins via various package systems seems like it could cause a lot of confusion.02:12
abentleyEspecially if platforms like Ubuntu support 3 install methods.02:13
abentleyAnd while I love using apt or synaptic, there are tons of plugins that aren't packaged.02:14
poolieright02:15
poolieideally, we'd automatically package all of them, but that would take some time02:15
beunoback02:51
beunolifeless, I'm thinking most plugins don't/won't have dependencies, so the per-distro installing will be more of an exception than a rule02:53
beunoI'd actually prefer to focus this as a feature of the core, recommending plugins by default in any type of installation, with checkouts being the default way of installing them02:53
beunoand have the per-distro installations be a "maybe in the future someway" sort of thing02:54
beunothis way we guarantee it works in all platforms02:54
beunoand we have control over the end-result02:54
beunomaking optional plugins necessary to make all this work will end up missing most of the targeted users:  the ones that don't want to install them manually02:56
abentleypoolie: And then there's my hax plugin, which isn't even spelled right ... ;-)02:56
beunoand also depend heavily on per-distro setups02:56
beunoso, I need to solve this before I continue hacking on it. How/where/when to place the available plugins DB02:59
ubotuNew bug: #162368 in bzr-svn "bzr branch fails with foreign filenames" [Medium,Fix committed] https://launchpad.net/bugs/16236803:05
ubotuNew bug: #174947 in bzr-svn "Commands for changing/viewing file properties" [Wishlist,Fix released] https://launchpad.net/bugs/17494703:06
* beuno goes on and works on it as a plugin with minimal code in the core, and prepares himself for future refactoring03:10
ubotuNew bug: #181790 in bzr-svn "NoSuchId traceback when branching a svn repository" [Medium,Fix released] https://launchpad.net/bugs/18179003:16
ubotuNew bug: #183853 in bzr-svn "bzr status crash w/ svn checkout" [Medium,Fix committed] https://launchpad.net/bugs/18385303:16
rollybzr is a delight to work with, after months of fighting svk03:16
ubotuNew bug: #183361 in bzr-svn "bzr-svn on a branches not working" [Medium,Triaged] https://launchpad.net/bugs/18336103:25
jelmerargh, jaj for mass bug changes in the middle of the night03:28
jelmerI just accidently changed 10 bzr-svn bugs to be against bzr03:28
jelmersorry03:28
lifelessjelmer: you know you can just change the product back03:39
lifelessjelmer: you don't have to mark it as invalid in bzr03:39
jelmerlifeless: what's the command for that?03:59
jelmerlifeless: I added a product by accident03:59
lifelessoh04:00
jelmerlifeless: in this case04:00
lifelessI'm not aware of a 'remove this reference' thing; there should be though :)04:00
lifelessBjornT: ^04:00
jelmerI usually just mark as invalid04:01
lifelesswhich is basically noise ;)04:01
jelmeryeah04:01
lifelessI mean, its equally invalid on all products:)04:01
jelmerthat memory bug in python-subversion was at some point reported to exist in 10 products04:01
keithy_beginner seeking help04:02
lifelesshi keithy_04:02
keithy_I started a local repo using cd dev; bzr init04:02
lifelessI'm just cooking lunch, but ask the questions and someone will answer you sortly :)04:02
keithy_then on a remove mc I try04:03
keithy_then on a remote mc I try bzr checkout --lightweight ssh://keith@squeak.warwick.st/dev04:03
jelmerigc: is there some way with usertest to benchmark different bzr storage formats?04:04
keithy_and I get "not a branch"04:04
jelmerkeithy_: try bzr+ssh rather than ssh04:04
keithy_?04:04
jelmerbzr+ssh://keith@squeak.warwick.st/dev04:04
jelmeras a url04:04
keithy_oh oops I did04:05
keithy_then on a remote mc I try bzr checkout --lightweight sftp://keith@squeak.warwick.st/dev04:05
jelmerkeithy_: and /dev is actually a repository on that host??04:05
keithy_its my working dir04:05
igcjelmer: yes ...04:05
keithy_and I did bzr init in it04:05
igcjelmer: let me think how best to do that04:06
jelmerkeithy_: You have to specify the path to your homedir as well04:06
lifelessigc: we were benchmarking packs vs knits in the past04:07
keithy_which home dir?04:07
lifelessigc: that approach worked well04:07
lifelesskeithy_: the path after the hostname is an absolute path04:07
keithy_yes04:07
igclifeless: yes, though that was 2 different branches04:07
lifelesskeithy_: e.g. sftp://keith@squid.warwick.st/home/keith/dev  ?04:07
keithy_ah04:07
jelmerkeithy_: you are versioning the special files in /dev ?04:07
lifelessigc: so create two branches of .dev? :)04:08
igcjelmer: I'd add a user parameter holding options to init-repo in InitialImportTask04:08
keithy_why an absolute path?04:08
lifelesskeithy_: so that you can refer to e.g. /srv/ and /var - where people often have repositories04:08
keithy_ic04:08
lifelesskeithy_: on sftp you can use /~/ to get into your home dir, that is not implemented for bzr+ssh yes.04:08
lifelesss/yes/yet/04:08
jelmerigc: ah, ok04:08
jelmerI'll give that a try some time, thanks!04:09
igcthen I'd pass in the file format using the --config-file options04:09
* jelmer is interested in testing the performance of various bzr-svn versions04:09
igcjelmer: that's how I test various networking protocols04:09
igcand it works well04:09
keithy_great its working04:11
keithy_ok next question04:12
keithy_I have a directory of files04:12
keithy_and I want a commit to always include all of the files in that directory04:12
keithy_without having to manually add them, they may change frequently04:13
igcjelmer: my wrapper script for testing networking scenarios - http://rafb.net/p/prTgqd10.html04:13
lifelesskeithy_: we don't have a facility for that yet; we have an open bug to have a --automatic flag to commit to automatically add and delete files04:14
keithy_a flag on commit will not doit04:14
keithy_I want to version the files of an oodb04:15
keithy_but they change04:15
lifelesskeithy_: well with that flag you could add an alias of commit to commit --automatic ;)04:15
keithy_I dont want to automatic everything04:15
keithy_just that one dir04:15
lifelessok04:15
lifelesswell its doable via a plugin but there is no canned feature for this04:15
keithy_I thought that bzr add blah/04:16
keithy_should do it04:16
lifelessbzr add blah/ adds the current content04:16
lifelessit does not trigger an automatic add on every operations04:16
keithy_as I found out04:16
keithy_k next question04:16
keithy_having checkedout whats the easiest way to push changes back04:16
lifelesswell checkouts work like svn/cvs04:17
lifelessso when you commit they are recorded in the place you checked out04:17
lifelessyou need to push and pull when you've made a new branch (using bzr branch)04:17
keithy_ah so the master is the origina04:17
keithy_I dont understand branch yet04:17
keithy_so...04:18
keithy_I have  dev as the repo on one mc04:18
keithy_and I check out to a second04:18
lifelessyou're in the squeak world obviously :)04:18
lifelessperhaps an analogu will help04:18
keithy_then any commits on the second are sent to the dev mc04:18
keithy_I develop in squeak, and version my images in bzr04:19
lifelessa squeak image is a bit like a branch: you can change it (by journalling your actions)04:19
keithy_then I use the checkout to deploy to the webserver04:19
lifelessyou can take a copy of it to get an identical image04:19
lifelessand that can then change further; or you can take your journalled actions from your first image and apply them to the second to end up with an updated and now identical image04:19
lifelessso if you are using a checkout to deploy, your deploy process will be to run 'bzr update'04:20
keithy_on the server04:20
lifelessyes04:20
lifelessbecause you need the working files update04:20
lifeless*updated*04:20
keithy_and if I fix a bug on the server and want to send the result back upstream04:21
keithy_thats a straight commit?04:21
abentleybeuno: Still around?04:21
lifelesswell, by using a checkout you don't really have upstream/downstream - so yes, just commit04:21
keithy_wow thats great04:21
keithy_better than mercurial04:21
keithy_-)04:21
lifeless:-)04:21
lifelessyou can work the same as you would in mercurial, in fully distributed mode. But we found that there are things where distributed does /not/ make sense.04:22
keithy_a leightweight remote working dir04:22
lifelessso we made it a choice for the user04:22
keithy_right so I can scrap using unison as well04:23
keithy_cool!04:23
beunoabentley, yeap04:27
rollysilly question: there's no authentication possible with the smart server, right?04:27
beunoplaying around with registrys04:28
lifelessrolly: the smart server itself does not do authentication04:28
lifelessrolly: we let apache or ssh do that04:28
abentleybeuno: My best theory is that this branch was recently upgraded to packs, but never reconciled.04:31
lifelessabentley: errors on push/pull ?04:31
abentleyYes.04:31
lifelesssftp/smart server/local  ?04:31
rollylifeless: gotcha, but how do I NOT serve via HTTP?04:31
lifelessrolly: sorry I don't understand your question04:31
beunoabentley, ah, yes, was my guess too. No way of fixing it though, right?04:32
lifelessbeuno: sftp/smart server/local ?04:32
rollyI would like my smart server to be accessible via ssh, but not via http04:32
lifelessrolly: so just don't make the directory visible over http :)04:32
rollyOh, I'm not using apache04:33
lifelessrolly: or don't configure up the smart server on http. it takes explicit actions to make it visible over http04:33
abentleybeuno: Do you have write access to it?04:33
rollyBut "bzr serve" starts a listening port04:33
beunoabentley, no, I don't.  synic, still around?04:33
lifelessrolly: yes, thats on the bzr:// port though. If you want it working over ssh you don't have to do anything special at all04:34
lifelessrolly: just install bzr on the server and you're done04:34
beunolifeless, pushed to launchpad. It really doesn't have much to do with me as I'm just trying to help out someone. Don't really know how/what went on.04:34
abentleyAnyhow, you can run bzr reconcile on it now.04:34
abentleyOr synic can, or whatever.04:35
lifelessbeuno: they should bzr reconcile it remotely04:35
keithy_after I did my checkout, can I rename the directory?04:35
lifelesskeithy_: sure04:35
keithy_and I could move it?04:35
rollylifeless: argh, sorry. All that I was saying about http://, I meant bzr://. I would like to restrict access via bzr:// and only allow bzr+ssh://. Sorry04:35
lifelesskeithy_: yup04:35
abentleyThe http version actually a copy, and in this case, it's a failed copy.04:35
keithy_great!04:35
lifelessrolly: thats trivial; don't run bzr serve :)04:35
rollyOh... duh :D04:36
lifelessrolly: you have to do stuff to make bzr:// work - by default it doesn't run anywhere :)04:36
rollyHad a mental roadblock there, thanks04:36
rollyyeah :p04:36
lifelessnp04:36
lifelessI don't think we explicitly say anywhere that we don't dopen stuff etc04:36
lifelessbeuno: they should also upgrade the branch; its at branch5, not branch604:37
lifelessbeuno: I suggest they do 'bzr upgrade sftp://b.l.n/~....' and 'zr reconcile sftp://b.l.n/~/04:37
beunolifeless, they did reconcile04:38
beunodidn't fix it04:38
beunoabentley, aaah, ok ok, it's been tweaked then04:38
beunowell, synic, ^04:39
lifelessso hang on a second04:40
lifelessits in pack on the public mirror of lp04:40
lifelessthis means a pull from the master repo worked04:40
lifelessusing bzr 1.0 as thats what lp is running04:40
beunolifeless, it didn't work before. abentley, did you fix anything?04:41
abentleybeuno: No, I don't have those kind of super cow powers.04:42
lifeless bzr branch http://bazaar.launchpad.net/~exaile-devel/exaile/main04:42
lifelessBranched 0 revision(s).04:42
beunoah, so it's still borken04:42
beunolifeless, they did run reconcile on it04:42
beunoand it didn't fix it04:42
abentleylifeless: Exactly.04:42
lifelessits got no revision history04:43
abentleyThe http version doesn't.04:43
abentleyI think the quarrantine version probably does.04:43
lifelessabentley: true; hmm, does lp create the branch and then pull; if so blech04:43
* beuno has to go04:43
lifelessbeuno: get them to talk to us04:43
beunolifeless, ok, synic is the man04:43
lifelessbeuno: if they ran reconcile locally it won't fix the remote one04:43
lifelesssynic: ping04:43
beunolifeless, he did run it remotely04:44
lifelessbeuno: so we need to be really quite sure of whats going on04:44
lifelessbeuno: also, there should be an error in the lp web page if it was faulting04:44
syniclifeless: it was remotely04:44
abentleylifeless: does reconcile work over bzr+ssh?04:44
beunolifeless, agreed. synic, lifeless is your man04:44
synick04:44
lifelessabentley: it should I think, but for surety I'd try sftp04:44
lifelesssynic: can I talk you though some python ?04:45
synicyeah - I'm running reconcile remotely again... should I stop it?04:45
* abentley has no idea how the branch puller works.04:45
lifelesssynic: nah, let it finish04:45
synicalright.04:45
lifelesssynic: we can do this in another window04:45
synicok, I've got one open04:45
lifelessthumper: ping; errors on code.* branches - does everyone see them? (please say yes)04:46
lifeless$ python04:46
lifeless>>> from bzrlib.branch import Branch04:46
lifeless>>> b = Branch.open('sftp://<your branch url here')04:46
lifeless>>> b.lock_read()04:46
lifeless>>> print b._format04:47
lifelesspaste the output of the last line04:47
synicBazaar-NG branch format 504:47
thumperlifeless: what's up?04:47
lifeless>>> b.last_revision()04:47
synicsasongko@gmail.com-20080129204555-7h0j46m8wwlpcff204:47
lifelessthumper: https://code.edge.launchpad.net/~exaile-devel/exaile/main shows no error in mirroring, but the mirrored branch has no revision history04:47
abentleylifeless: Essentially yes, it does a branch followed by a pull.04:48
thumperlifeless: right, this is the branch I talked to abentley about this morning04:48
thumperbzr info on the remote branch raises an error04:48
lifelessthumper: so I'm asking if the reason we don't see errors could be UI madness rather than 'no error occuring'04:48
thumperlifeless: I confirm ui madness04:48
thumperwill fix on edge soonish04:49
abentleyWho's saying we don't see errors?  I posted an OOPS to you!04:49
thumperabentley: the UI is not showing the error text04:49
abentleyTrue.04:49
thumperthat madness04:49
lifelessabentley: yes the errors are available for developers; but folk like beuno that want to help don't have access there04:49
lifelessabentley: so we should allow the community to share their expertese04:50
lifelesssynic: ok, thats good.04:50
lifelesssynic: whats the exact reconcile command you ran ?04:50
synicbzr reconcile  bzr+ssh://arolsen@bazaar.launchpad.net/~exaile-devel/exaile/main/04:50
lifelesssynic: ok04:50
synicit's still running04:50
lifelesssynic: back in python04:50
lifeless>>> from bzrlib.repository import Repository04:50
lifeless>>> r = Repository.open('bzr+ssh://arolsen@bazaar.launchpad.net/~exaile-devel/exaile/main/')04:51
lifeless>>> r.lock_read()04:51
lifeless>>> ids = r.all_revision_ids()04:51
lifeless>>> len(ids)04:51
synic162804:51
lifeless>>> print r._format04:51
synic<RemoteRepositoryFormat>04:52
lifelessheh04:52
lifelessr._ensure_real()04:52
lifelessprint r._real_repository._format04:52
synic<RepositoryFormatKnitPack1>04:52
lifelessok04:52
synicreconcile done.04:52
lifelesscool04:52
lifelessexit that python shell04:52
synicalright04:53
lifelessnow04:53
lifelesscd /tmp04:53
lifelessbzr branch sftp://arolsen@bazaar.launchpad.net/~exaile-devel/exaile/main/ tmp-main04:53
lifelessoh, and separately, 'bzr upgrade sftp://arolsen@bazaar.launchpad.net/~exaile-devel/exaile/main/'04:53
lifeless(your branch object is still branch5, not branch604:53
synicbzr: ERROR: Could not install revisions:04:53
synicsasongko@gmail.com-20080129204555-7h0j46m8wwlpcff204:53
lifelesscan you pastebin the full backtrace from your ~/.bzr.log04:54
lifelesssynic: do you have a local copy of this that is working well ?04:54
synicyes04:55
synichttp://rafb.net/p/2UgHVp51.html04:55
abentleylifeless: I thought you were saying there was no indication of errors.  I think everyone agrees that having the error details would be handy.  It's even awkward for me to get those error details, much less community people.04:55
lifelessabentley: thats cool; we're on the same page now04:56
lifelesssynic: oh, what version of bzr are you using ?04:57
synic1.104:57
synicjust upgraded today.04:57
lifelessok, heres what I think is happening04:57
lifelessthe branch history includes a revision id not in the repository04:57
lifelesswe can test this04:57
lifelesspython04:58
lifeless>>> from bzrlib.repository import Repository04:58
lifeless>>> r = Repository.open('sftp://arolsen@bazaar.launchpad.net/~exaile-devel/exaile/main/')04:58
lifeless>>> r.lock_read()04:58
lifeless>>> r.has_revision('sasongko@gmail.com-20080129204555-7h0j46m8wwlpcff2')04:58
abentleylifeless: cat-revision FTW04:58
synicFalse04:58
lifelessabentley: I have the internal api branded on the inside of my skull04:59
lifelesssynic: ok, this hypothesis is proved :)04:59
synicnice04:59
abentleyDo we know the revision's in the history, not just the ancestry?04:59
lifelessabentley: given the error its the branch tip05:00
abentleyThat's curious.05:00
lifelessabentley: its raised from missing_revision_ids(ID)05:00
lifelesssynic: but lets dig a little further05:00
lifeless>>> from bzrlib.branch import Branch05:00
lifeless>>> b = Branch.open('sftp://arolsen@bazaar.launchpad.net/~exaile-devel/exaile/main/')05:00
lifeless>>> b.last_revision_id()05:00
synicAttributeError: 'BzrBranch5' object has no attribute 'last_revision_id'05:01
abentleylifeless: bzr revision-history FTW05:01
lifelessabentley: shrug05:01
lifelesssynic: sorry, drop the _id()05:01
lifelessabentley: I find it easier when passwords etc are involved to be using a stateful instance05:02
synicsasongko@gmail.com-20080129204555-7h0j46m8wwlpcff205:02
lifelessright, the tip revision id is not in the repository05:02
lifelesssynic: can you bzr push your good local copy to the remote repository please05:03
synicwell, it's not completely up to date05:03
lifelesssynic: your local one ?05:03
synicprobably a few revisions behind.  He pushed a couple yesterday and the day before05:04
lifelesssynic: this should fix itself if he pushes now05:04
synichehe, if only he'd sign on.05:04
synicbut ok, I can wait05:04
synic... wait, so I can push now anyway, and at least the repo will be usable, and then if he pushes, it'll be up to date05:05
synic?05:05
lifelessyes05:05
synicok, cool05:05
lifelessas long as you have sasongko@gmail.com-20080129204555-7h0j46m8wwlpcff2 in your branch and repository05:05
lifelessyou can check that the same way ;)05:06
synichrmm, yeah, it says the branches have diverged, and to merge05:07
synicat which point I get the same error05:07
lifelessright05:08
lifelessyou don't have the tip05:08
synicok, so plan is:  just wait for him to push again05:08
lifelessare you sasongko ?05:08
synicno.05:08
lifelessare you are <arolsen@gmail.com> ?05:08
synicyeah05:09
lifelessyou know, you guys probably want heavyweight checkouts for this shared branch05:09
lifelessit will avoid commits like  1518. By  Adam Olsen <arolsen@gmail.com>   on 2008-01-0305:09
lifeless    merging05:09
synicok, that's what we'll do from now on05:09
synicthank you very much for your help05:11
lifelessnp05:12
synicoh, how do we avoid this in the future?05:13
synicwas it an upgrade or something?05:13
abentleysynic: Bazaar is designed not to cause this kind of problem in the first place.  I'd really like to hear what happened.05:20
abentleyYour problem was basically that the branch was updated to point to a revision that wasn't in the repository.05:22
abentleyBut we always put the data in the repository first.05:22
abentleyAnd we update the branch after that.05:22
synichrmm, well I'll talk to Johannes when I can get ahold of him, and if he noticed anything strange happened, I'll let you guys know05:24
syniche's usually on every day, I'm not sure where he is today.05:25
abentleyAsk him if he uses rsync.05:41
abentleyAnd have you guys upgraded recently?05:41
lifelessabentley: can't use rsync against lp :)06:00
abentleyWell, that's good.06:00
abentleyI suppose it's possible he ran a copy locally or something.06:00
abentleyI'm just trying to think of a likely operation that would update the branch before the repo.06:01
lifelessyah06:01
lifelesspoolie: So pulling that 100 mainline revisions06:15
lifelesspoolie: we have a cache hit rate of 22%06:15
poolie(here)06:15
lifelessI'm going to chase a few thoughts down, see if I can increase that06:15
lifelessand 5 round trips06:15
lifelessconceptually, if I get that up to say 70 or 80 %06:16
lifelessand bzip2 the content06:16
lifelessit should get down to 2 rt at most06:16
lifelessneat, my register-branch fix has landed06:22
PengCan you do random sftp stuff to Launchpad?07:43
igchave a good weekend all08:11
lifelessPeng: not really08:18
pooliePeng, it's not supported08:35
ubotuNew bug: #187988 in bzr-webserve "Time is 38 years" [Undecided,New] https://launchpad.net/bugs/18798810:10
awilkinsjelmer?11:31
jelmerawilkins: hi12:09
=== mrevell is now known as mrevell-lunch
awilkinsjelmer: I can't seem to use bzr-svn ; it keeps saying "not a branch", even for bzr svn-branching-scheme --set <url>12:47
jelmerawilkins: What URL are you trying to access and what do you have the branching scheme set to?12:47
awilkinsURL is svn+http://commsg1lds.npfit.nhs.uk/svn/mim/trunk12:48
awilkinsBranching scheme is set to nothing because it produces the error when you try to set it12:49
awilkins(domain isn't accessible outside our intranet I'm afraid)12:49
jelmerWhat error does it produce exactly when you try to set the branching scheme?12:49
awilkinsbzr: ERROR: Not a branch: "svn+http://commsg1lds.npfit.nhs.uk/svn/mim/trunk".12:50
awilkinsThis is bzr-svn 0.47 (pulled from the repo).12:50
jelmerYou can only set the branching scheme on the repository12:50
jelmernot on a branch12:50
awilkinsAh, right, it's a repository level variable?12:50
jelmeryou probably want svn+http://commsg1lds.npfit.nhs.uk/svn/mim12:50
jelmeryou should be able to check out /trunk without messing with the branching scheme though12:51
awilkinsSame again12:51
awilkinsTried the root of the repo, same error12:51
awilkinsClient is win32 bzr 1.1.12:52
awilkinsserver is windows apache 2.0 SVN 1.4.312:53
jelmerawilkins: Does "bzr selftest svn" work ok?12:53
* awilkins sets it off12:53
jelmerThis may be a windows-related problem12:53
awilkinsYeah, I tried mirroring a different SVN repo on my Ubuntu laptop at home and it worked fine12:54
awilkinsThe test is just sitting there not eating CPU time.12:58
jelmerdoesn't give a progress indicator?12:59
jelmerIt can take some time to run12:59
awilkinsIt's only printed the banner to STDOUT (got as far as C:\Python25\lib\site-packages\bzrlib (1.1.0 python2.5.1.final.0)"13:00
awilkinsNot responding to ^C either13:01
awilkinsLooking at the files it was loading, I think it got stuck somewhere in xmloutput, I'll move that folder13:02
awilkinsIt's hitting "Unable to open an ra_local session to URL" errors now13:04
awilkins[42/728 in 209s, 35 errors, 1 failed]13:06
awilkinsI'm guessing something isn't right :-)13:06
awilkinsLots of those 180001 errors13:07
jelmerawilkins: what python-subversion bindings are you using?13:10
jelmerthe latest from the wiki?13:10
=== mrevell-lunch is now known as mrevell
awilkinsjelmer: I'm running the patched ones (installed the official ones and unpacked the patched ones over the top)13:22
jelmerawilkins: It looks like the bindings you have installed didn't link against bdb?13:23
awilkinsTHe bindings from here : http://home.comcast.net/~klight/bzr/13:24
jelmerhmm, those should work ok13:24
awilkinsDO you use bdb repositories for the test, or just hte default>?13:24
jelmerwe use the default13:26
awilkinsThe default has been FSFS for some time13:26
jelmerAny chance you can upload the output of the test run somewhere?13:27
jelmerI also did this with bialix a couple of days ago and thought most of the errors on Windows were fixed..13:27
awilkinsDoes the output get logged because I didn't redirect it anywhere.13:27
jelmerno, it doesn't afaik13:27
jelmeryou'd have to redirect it13:28
awilkinsIt all looks like the same error13:28
awilkinsERROR: bzrlib.plugins.svn.tests.test_repos.TestSubversionRepositoryWorks.test_format ('Unable to open an ra_local session to URL', 180001)13:28
jelmerWithout the full backtrace (printed at the end of the test run) that error isn't very useful13:28
awilkinsAh, well, when it finally finibzr plguins13:29
awilkinsOops13:29
awilkinsWould a single test run from a python interpreter be sufficient?13:30
awilkinsAs you said, it takes some time13:31
awilkinsjelmer: I have that trace if you want it uploaded somewhere13:54
jelmerawilkins: Yeah, that would be useful13:55
awilkinshttp://filebin.ca/sgsgjc/svntest.zip14:01
jelmerawilkins: thanks14:05
awilkinsIt does look like a bindings problem14:06
awilkinsMaybe14:06
jelmerah, it's one of the test functions that's going wrong..14:07
jelmerYeah, this explains why you would get that NotBranchError14:07
jelmerstrangely enough bialix was able to Kevin's bindings without problems14:08
awilkinsIs this to do with the "short" path wrangling that's going on?14:09
jelmerI don't know14:10
=== mvo__ is now known as mvo
awilkinsWeird suggestion ; my user profile is not on the same drive as my PYTHON_HOME14:11
jelmerI don't think that should matter14:13
jelmerI'm afraid you're on your own here though, I don't have windows here atm :-/14:13
awilkinsI'm looking .... IDLE makes a sorry debugger next to Eclipse or Visual Studio :-(14:14
ubotuNew bug: #188042 in bzr "workflow improvement. bzr locked whilst uploading, can't bzr add." [Undecided,New] https://launchpad.net/bugs/18804214:20
=== bigdo1 is now known as bigdog
* awilkins hangs himself from a noose composed of recycled fibres from printouts of the VB6 code he is debugging.16:29
TFKylewho in their right mind would print code out? :P16:38
lixomancemHello. I was taking a look at Bazaar and checking its features and how it worked, but there is something I couldn't find any info on and would like to ask here. Does Bazaar have a feature like SVN's "externals"? I.e., a folder inside a branch that actually represents a branch of another repository, and that is updated from that repository when I run the update command on the whole thing? If...16:45
lixomancem...so, where can I read more about this?16:45
beunolixomancem, AFAIK, that's not available yet. We're still waiting for nested trees feature to get polished for wider use, which would be a requirement for something like that16:48
beunoof course, I'm fairly sure you can do some black magic with plugins16:49
lixomancemAlright, thank you for your answer. I believe I'd rather wait for support for that kind of thing on bzr instead of trying plugins for that.16:49
ubotuNew bug: #188089 in bzr "relies on sha1 for inventories" [Undecided,New] https://launchpad.net/bugs/18808916:50
lixomancemJust out of curiosity: is there any work being done on a Windows GUI? Not that I need one, but I can't get my company to use bzr unless there is one.16:51
beunolixomancem, you _do_ have the eclipse plugin, but I'm not sure if that's what you're looking for16:52
lixomancemHmm I didn't know about that one. Not exactly what I'm looking for, but I'll take a look at it. Thanks.16:52
beunolixomancem, np16:53
=== _arne^ is now known as arne^
LeoNerdbzr log --line >some-file   truncates the lines at 80 columns with "...".. How can I make it not do that?18:23
datoLeoNerd: COLUMNS=3000 bzr log --line >some-file18:24
datoor, for portability, `env COLUMNS=...`18:24
LeoNerdAh :) That got it, thanks18:24
mthaddoncan someone help me out - just trying to get the status of a bzr tree in python using bzrlib - must be missing something simple18:36
mthaddonI've tried bzrlib.show_tree_status(path), but no luck18:37
luksget the status in what form?18:37
mthaddonin the same way that I would from "bzr st" from the command line, for instance18:38
mthaddonbasically I just want to see if there are uncommitted changes18:38
lukstree.changes_from(tree.basis_tree()) will get you lists of changed files18:39
luksor you you want actual text output?18:39
mthaddonwhat's the "tree" object?18:40
luks*do18:40
luksa result of e.g. WorkingTree.open(path)18:40
luksor WorkingTree.open_containing(path)[0]18:40
mthaddonsorry, I'm really basic here - I'm doing "import bzrlib" but don't see WorkingTree as a module of bzrlib18:41
james_wbzrlib.workingtree.WorkingTree18:41
luksfrom bzrlib.workingtree import WorkingTree; tree = WorkingTree.open('.'); print tree.changes_from(tree.basis_tree())18:41
mthaddongreat, thanks!!18:45
noblexhi, is bzr-gtk 0.93 compatible with bazaar 1.1?19:44
rollyworks for me on Windows19:46
n[ate]vwcan bzr set the PYTHONPATH for an ssh connection like it can set the BZR_REMOTE_PATH ?20:40
daton[ate]vw: I don't think so, but you could set remote_path to a local executable wrapper that sets it, and execs bzr, if you really need it20:41
n[ate]vwsounds like a good solution, though I might just install system-wide and be done with it20:42
abentleyn[ate]vw: bzrlib doesn't have to be in your PYTHONPATH if the bzr executable is directly above it.20:51
n[ate]vwabentley: interesting. it complained about bzrlib the first time, but not the second20:55
n[ate]vwmight have to go that route, looks like bzr wants to install in /usr/local/bin, which isn't in the ssh path20:57
n[ate]vwor maybe this is all moot, since I just learned the difference between .bash_profile and .bashrc. I can just amend the PATH/PYTHONPATH to my user install21:03
abentleyn[ate]vw: bzr doesn't have to be installed, btw.  You can just unpack the tarball and run it from there.21:10
n[ate]vwabentley: doesn't installation pre-compile some stuff, though?21:11
n[ate]vwbasically, the deal is that OS X doesn't come with a /usr/local, and so I typically just install things to a custom prefix (since I have to modify path anyway)21:12
abentleyIt does, but that stuff is optional.  And you can compile it in place, too.21:13
n[ate]vwhow would I compile in place?21:15
abentleymake21:16
n[ate]vwheh, easy enough21:16
n[ate]vwprobably better to just keep intalling it in /Users/Shared/dev instead of having my path point to ~/Downloads, though :-)21:17
ubotuNew bug: #188198 in bzr "Network outage results in unrecoverable interruption during svn+http:// branch" [Undecided,New] https://launchpad.net/bugs/18819822:16
* awilkins waves at ubtou22:18
=== asak_ is now known as asak
jelmerawilkins: See the bzr-svn FAQ for a workaround of the bug you just filed22:47
jelmerawilkins: sorry, please look at the bug I just linked your bug report to22:48
awilkinsjelmer: Aha, thanks for that.22:50
awilkinsjelmer: The problems I was having earlier seem to have evaporated ; maybe it's just my weird repo layout at work22:50
awilkinsI'm not trying to branch the same repository here.22:51
jelmerawilkins: not the same repository?22:52
jelmeryou mean the repository that was giving trouble was different?22:52
awilkinsjelmer: Yes, the repo I was having trouble with "not a branch" errors is an internal one.22:53
jelmerawilkins: The testsuite also failed so there's definitely something broken in your setup22:53
awilkinsjelmer: pycurl respets the IE proxy settings (if bzr-svn uses pycurl for HTTP traffic)?22:53
jelmerno idea22:53
awilkinsIt appears to, I had to go into IE options and switch off proxy to branch this repo from home.22:54
awilkinsThe selftest doesn't run, but I've just managed to branch a repo here.22:55
=== BasicMac is now known as BasicOSX
awilkinsjelmer: I think I found the problem with the tests ; file:// urls on windows still have to start with a / (so they end up as file:///d:/stuff23:22
awilkinsWell, one problem23:23
rollyTo move a standalone branch into a --no-trees shared repository, is it sufficient to just copy it over with my OS?23:33
PengIf you just copy it over, you'll copy over the branch's copy of the repo too.23:34
PengIt would be better to "bzr branch" into the repo.23:34
rollyAh, yes. Thanks Peng23:34
PengYou might also be able to manage something with copying it over and using "bzr reconfigure".23:34
Peng"bzr branch" ensures that the shared repo has all of the revisions in the branch and sets it all up correctly, but you'll have to set the branch's parent again.23:35
rollyIt's an empty shared repo, and I'm adding the "top-most" branch parent23:36
rollyhm, I tried bzr reconfigure -v --branch ., and the result was an error ("already a branch"). But branching worked fine. Thanks again Peng23:45
hsn_any work on Netbeans BZR plugin?23:47
jelmerhsn_: No, afaik not23:51
awilkinsjelmer: I fixed up that ra_local problem in the tests, and found a couple of other potential problems23:55
jelmerawilkins: Ah, cool23:56
awilkinsjelmer: Some of the code is using os.name instead of sys.platform == 'win32' (os.name == 'nt). And those links have to start with a slash on win32, not a drive letter.23:56
jelmerawilkins: ahh23:56
awilkinsit;s like there's a magic "root" above the drives23:56
awilkinsStill getting errors, but not the same boring error for every single test.23:57
jelmerthis is 0.4.7 ?23:57
awilkinsRight, I don't have enough battery (laptop or brain) to stay awake.23:57
awilkinsThis is 0.4.7 (pulled to r 877 from the 0.4 branch)23:58
awilkinsLots of "permission denied" on removing test directories.23:58
awilkinsBut that isn't causing failures or errors23:58

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