[00:07] I was just talking to a git user who indicated he was turned off by bzr's branches-as-directories model. I'm curious -- has an alternate approach been introduced since I was last current, or is that still the only branching model from a UI perspective? [00:07] i think its the same === thumper_laptop is now known as thumper === rockstar` is now known as rockstar === rockstar` is now known as rockstar [07:03] nDuff: you can work differently, if you prefer [07:03] you can have a shared repo which has all the revisions for all of your branches [07:04] and "treeless" branches inside that. those are subdirectories, but just include the branch info, so they are basically invisible [07:04] then, you can have a single checkout of one of the branches somewhere, which is where you work [07:04] and you can "switch" that checkout from branch to branch [07:04] when you switch, the working directory gets changed to reflect the tip of the branch you just switched to [07:05] and then when you commit, the new revision goes into the shared repository, and metadata for it is added to the branch you are working on [07:05] does that make sense? shout if i have not explained it well [07:06] but this is one of the beauties of bzr - the pieces are orthogonal, so you can have a workflow that suits you [07:06] much more easily than any of the other dvcs' [07:06] Umm, sabdfl, nDuff posted that abut eight hours ago. It's a pretty good explanation though, and I found it quite useful! [07:07] cammoblammo: thank you! he's still logged in as nDuff so perhaps he'll spot the response later [07:07] ;-) [08:31] hello world [08:32] can someone help me get lost in bzr documentation? [08:34] alternatively, can i edit the bzr wiki w/o some magical bits? [08:37] timely: you can easily do both, i think [08:37] are you wanting to contribute to the docs or the wiki? [08:39] i don't really want to do either. but there are grammatical errors on http://bazaar-vcs.org/Integrating_with_Bazaar so i figure if it doesn't require lots of effort, i'm willing to make a wiki account to make some changes [08:39] i'm trying to write some perl based integration to 'dead bzr trees' [08:39] i.e. a file system copy of a bzr repository (where there may or may not be a valid or useful instance of bzr installed) [08:40] mostly, i need to be able to figure out how to generate links to what i guess is bzr web [08:40] although i have no idea what its formal name is [08:41] probably loggerhead actually, i guess [08:43] nice (503) http://www.lag.net/branches/loggerhead/loggerhead_dev/ [08:43] (empty) http://www.lag.net/robey/code/loggerhead/ [08:43] * timely sighs [08:43] timely: might want to look at the branches on launchpad [08:45] i [08:45] 'm there [08:45] i'm quite lost [08:45] all i want to know is [08:46] given (.bzr/*, path/filename) how to calculate a url for a "log view" pinned to path/filename for the version controlled by .bzr/* and an annotation view for the same [08:46] i do not intend to read 1000 branches of a project just to figure out there's no useful documentation :) [08:49] https://bugs.edge.launchpad.net/launchpad-bazaar/+bug/98826 seems to be what i want [08:49] although i can't figure out if the loggerhead i have available supports it [08:51] certainly the one i'm talking to is generating the other url format... which is amazingly unhelpful :( [08:52] anyway... do i need to do more than simply create a wiki account to edit that first url? [08:53] if not, i'll create an account and change it. otherwise, i'll stop considering [08:53] https://code.launchpad.net/loggerhead it says You can _browse the source code _for ... [08:54] is that part of loggerhead's content or is that launchpad itself being clever? [08:56] timely: the link from code.launchpad.net is generated by Launchpad. [08:56] timely: but maybe I'm misunderstanding the question? [08:57] the space after 'code' is underlined as part of the link [08:57] one doesn't typically do that. it's an error in the html [08:57] timely: right. that's a bug. [08:58] either because someone left a space in raw html, an input field, or in the generator [08:58] but i need to know which :) [08:58] timely: I'm not sure why you need to know. [08:58] i only want to send one report to the right team :), but i will report it :) [08:59] timely: oh I can file the bug. [08:59] ok :) [08:59] timely: I'm on the relevant team :) [09:00] timely: https://bugs.launchpad.net/launchpad-bazaar/+bug/236452 [09:01] :) [09:02] ok, so http://bazaar-vcs.org/Integrating_with_Bazaar Committing Changes [09:02] To commit only certain files, we need to provide a list of filenames which we want committing, eg: [09:03] should be "we want committed" or "we want to commit" [09:04] fwiw, "e.g." should be spelled w/ s (always) [09:04] timely: you should just be able to edit the wiki page. [09:04] timely: and yes I agree with both of your points. [09:05] * timely tries to create an account [09:05] gah [09:07] oh brother [09:07] if i error in changing the wiki page, it clears all my changes and says "please specify a password" [09:07] how helpful... [09:12] * timely tries to figure out what to make of "spread over itself" [09:12] it sounds like a harlot [09:12] distributed between itself (?) [09:15] Removing Files [09:16] You can remove multiple files at once. [09:16] what does "at once" mean? [09:16] does it mean "together" or "immediately"? [09:16] together. [09:16] originally i assumed the latter, but.. thanks [09:16] "at the same time" [09:16] should i take a lock on this url so that i don't collide with anyone else? :) [09:16] keep hitting preview. [09:17] i'm using TextEdit.app because my browser sucks :) [09:17] "This gives us a WorkingTree object, which has various methods spread over itself, and its parent classes MutableTree and Tree" could be rephrased to: [09:17] note that there's an instance of "its" that should be "it's" somewhere nearby (already fixed locally) [09:18] (this page clearly wasn't written by someone who cares about English :) [09:18] "This gives us a WorkingTree object, which has methods provided by itself and by its parent classes: MutableTree and Tree." [09:18] sold [09:19] You can rename one file to a different name [09:20] ... can i rename one file to the same name ? :~( [09:20] "You can change the name of a single file" [09:20] thanks [09:20] sorry, it's a lot easier for me to spot bugs than come up w/ proper fixes :( [09:21] timely: btw, looking at the changelog for the page, lots of changes are made by people who don't speak English as their first language. [09:21] fwiw, the document isn't sure if it's speaking in second or first person plural [09:21] (you can, we) [09:21] if you have a preference ... [09:22] timely: I'd default to "you", but just pick whatever you think is best. [09:22] you sounds fine, i'll do that later [09:22] active voice i presume? [09:22] actually, [09:23] * timely goes back and start attacking we's [09:23] timely: standardizing on voice doesn't bother me so much. who cares as long as it sounds good. [09:23] but sure, active works. [09:24] gah.. note to self, watch out for misuse of a(n) [09:33] will preview tell me if i hit a conflict? :) [09:33] IMPORTANT: This should be avoided wherever possible, as it scales with the [09:33] length of history:: [09:34] "scales" ... alternative suggestion? typically people think of "scales" as a positive thing [09:38] http://bazaar-vcs.org/Integrating_with_Bazaar?action=diff&rev2=34&rev1=33 [09:38] i hope that's not too bad [09:38] sadly it doesn't really help me w/ my original problem... but :) [09:40] eww, loggerhead actually requires its own webserver? [09:43] timely: re 'scales': there's not enough info to suggest a replacement. [09:44] timely: "the time/memory/bandwidth this takes increases proportionally to the length of history." [09:44] timely: I don't know which one. [09:44] timely: re loggerhead: it runs it's own webserver but you don't have to present it to the wold [09:44] world, rather. [09:44] you can use Apache's ProxyPass features. [09:45] context was the performance behavior of "branch.revision_history()" [09:46] can it actually be bandwidth? i.e. could i be talking to a remote bzr? [09:46] increases proportionally is indeed better [09:47] timely: you definitely could be talking to a remote repository. [09:47] timely: branch = Branch.open('http://example.com/some/branch') works just fine. [09:49] so i guess i should copy your entire string... ok, when i'm done figuring out which bzrs i actually have locally, i'll worry about that [09:49] timely: oh that reminds me. [09:50] timely: using Python to interact with Bazaar will be faster, easier and more flexible than using Perl. [09:50] that's nice [09:50] sadly, this is just support for an existing tool [09:50] timely: I just thought I'd mention it :) [09:50] and i'm not going to teach myself python just to integrate with one vcs [09:50] which i will use almost never [09:51] * timely nods [09:51] timely: fwiw, you can use Bzr with most VCS's, if that makes it worth learning more Python [09:51] no [09:51] :) [09:51] for my day job, i use c++/js [09:52] and which vcs there? [09:52] in my free time, i work on a fairly old and relatively stable tool (mxr.mozilla.org) [09:52] well, at times it's using hg, or git, or cvs, or svn, or bzr, or non vcs'd stuff [09:52] i think i have trees from p4 [09:53] and typically the integration hooks aren't things that are really known or usefully knowable from most tools [09:53] since it's "where's your web ui" "how do i ask for blame" "how do i ask for log" [09:53] those are rarely usefully standardized (if ever) [09:53] true [09:53] heck, in a lot of cases there's no link between the vcs and the web ui at all :0 [09:54] as for pull commands, my standard cases don't use simple pulls [09:54] they use complicated (or very complicated) checkout scripts [09:54] sorry... i'm the edge case... i know most people do benefit from such hints... [09:55] ok, quick question folks [09:55] bzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/%7Elibburnia-team/libisofs/mainline/.bzr/repository/lock): Transport operation not possible: http does not support mkdir() [09:55] when I try to push to lp:libisofs [09:55] I also tried lp:///libisofs [09:56] pygi, you need to run: bzr launchpad-login username [09:56] it's defaulting to http as you haven't set up a username :) [09:56] * timely presumes it needs https [09:56] it will switch to bzr+ssh when you have logged in, assuming you've setup an ssh key [09:58] AFAIK, bzr 1.5 does a better job at explaining this. Are you using 1.3, pygi? [09:58] beuno, on this machine, yes :) [09:58] * sabdfl thinks we should push bzr 2.0 out to stable distros when it's baked [09:58] sabdfl, beuno : thanks ;) [09:59] sabdfl, at this rate, it sould be able to get into Lenny, and, well, I presume you'll be able to get it into Hardy as well :) [09:59] pygi: opet se srećemo ;) [09:59] gour, hehe :) [10:00] can i ask questions about loggerhead here? (again, i don't speak python) [10:00] timely, you can try :) [10:00] timely: yeah, this is the best channel for loggerhead questions. [10:00] i read the README and made a loggerhead.conf [10:00] i did not run make because the README made no mention of it [10:00] pygi: kupih samsunga 204...prži sve u 16. stara pržilica mi izderala par cd/dvd-a [10:00] it did say to run start-loggerhead [10:01] File "./start-loggerhead.py", line 3, in ? ... ImportError: No module named pkg_resources [10:01] sudo apt-get install python-pkg-resources ? :) [10:01] i don't own this computer (i never own computers), i did not configure or install bzr (although some random unknown version is installed), there are many random (unspecified/unknown) versions of python here [10:01] no :) [10:02] timely, loggerhead has a set of dependencies which aren't very clearly layed out. You need turbogears and sqlite to start with [10:02] let me check what else [10:02] keep in mind what i said. i don't own this box. that means i'm not and can not be root :) [10:02] timely, ah, that may be a problem then :) [10:02] timely: then ask your admin to pop in here? [10:02] i'm not specifying the linux distribution (it is linux) [10:03] in general when things are installed by the admin, they make things worse, not better :) [10:03] so, if there are instructions for local install, i'll follow them :) [10:03] it's 2am, i'd hope he's sleeping :) [10:04] timely, well, loggerhead is complicated enough to get working with root access, I suspect that with just local install, it may prove to be a challenge [10:05] ... [10:05] we'de really like to trim down dependencies for it, but it currently has a set of performance issues which are more pressing [10:05] note: if i actually could get the admin here, i could just ask him to upgrade his loggerhead install :) [10:06] in which case... why would i bother setting it up in the first place? :) [10:06] also... something that needs root access doesn't exactly inspire trust :) [10:06] beuno, he could install py and all the deps in his home dir [10:06] [timeless@landfill mxr-test]$ which hg [10:06] timely, there is another web interface for bzr: http://bazaar-vcs.org/WebInterface [10:07] /home/timeless/bin/hg [10:07] http://goffredo-baroncelli.homelinux.net/bazaar [10:07] beuno: ... the point of this is to integrate w/ existing things... [10:07] i suppose i could setup that one just to integrate w/ it [10:07] it's basically a plugin for bzr, so it should work pretty much out of the box [10:08] but my target is integrating http://mxr-test.landfill.bugzilla.org/bugzilla-bzr/source/ with http://bzr.everythingsolved.com/bugzilla/trunk/changes [10:09] interesting [10:09] otoh, there's also bugzillamozilla-bzr which doesn't seem to have any web ui [10:09] so i suppose i can simply run WebInterface for that and integrate w/ it first [10:10] timely, there is some work going on in Loggerhead (I've been doing lots of it these past weeks), so it should be looking better very soon [10:10] maybe i should leave an email address and you can ping me when i should look again.. [10:10] i was getting annoyed w/ hg and decided i'd look to see how hard integrating bzr would be [10:11] it doesn't seem promising :) [10:11] timely, well, bzr does have an xml-output plugin, which is commonly used to integrate into different external tools [10:11] * jml is going offline. [10:11] http://mxr-test.landfill.bugzilla.org/mozilla-central/source/xpcom/Makefile.in [10:11] maybe that is worth looking at [10:12] timely: good luck with the integration. [10:12] the integration for hg is basically the "HG Log" and "HG Blame" links at the top [10:12] jml: thanks [10:12] beuno: how many output flavors does the plugin generate? [10:13] so far i've seen 2 different .bzr formats [10:13] and i have no faith in xml flavors [10:13] (i've also seen and support 2 .svn formats) [10:13] timely, it doesn't relate to bzr's format, it works on a higher level [10:13] yes, but have you *changed* the xml it generates? [10:14] and will you change it *again*? [10:14] the wonderful thing about xml is that no one seems to care about not breaking compatibility [10:14] just like internal repo formats [10:14] timely, it hasn't in at least 8 months, and, it's commonly used, so we're *very* careful not to [10:14] 8months? hah [10:14] the projects i work on are 10+years old :) [10:15] things that only change every 8months.... [10:15] that'd set me back years :) [10:15] I've been using it for over a year in integrating into a PHP aplication, and the Eclipse integration uses it too [10:15] but yeah, i understand... and if every month you say it hasn't changed in 8+n months, then eventually that's a good thing :) [10:15] timely, well, the plugin is barely over a year old, so... [10:15] sorry, i'm jaded... [10:15] heh [10:15] you can always *not* upgrade and keep using the same format [10:16] nope [10:16] i don't control what other people use [10:16] i'm a middle person [10:16] if someone tries to use my tool, they'll use it w/ whichever version of other tools their distro provides [10:16] which on average will be *different* from the one i picked [10:16] and no. i don't want someone forking mxr [10:16] there are already way too many forks of lxr, thank you very much :) [10:17] alright, well, what can we do to help you? [10:17] well... do most of these web uis accept the "global repo version" for any file path? [10:18] (minus the ones that seem to require some private id instead of a file path) [10:18] if so, how do i get that? [10:18] i really suspect all i need is that one identifier [10:18] (and a non sucky version of loggerhead, which seems to be something i'll have to sleep on) [10:18] well, it uses file_ids, but it wouldn't be too hard for it to accept paths as well [10:19] which gets fun with history viewing, the path in _this_ version, or in _that_ version? [10:19] https://bugs.edge.launchpad.net/launchpad-bazaar/+bug/98826 [10:19] LarstiQ: why is it fun? [10:19] i only ever have a single version of the repo in front of me [10:20] if you'd like, you can drop me an email (or, to the public bzr list), with what you need, and I can try and fit it in [10:20] LarstiQ, I think he just wants HEAD [10:20] a user says "" " for it" [10:20] i'm not sure it's necessarily head [10:20] although i don't want to look up your definition of HEAD [10:20] but i can assure you that the repo will be in a state so whichever it is, the repo will know [10:20] timely: I don't know how mxr works, does it not do any navigating in history at all? [10:20] correct [10:21] it merely links to someone else who provides that [10:21] all it works on is a flat checkout of a [10:21] how convoluted foopy may be depends on the checkout scripts [10:22] there might be a mix of .hg,.svn,.git,.bzr,CVS,.p4,nothing w/ random inconsistent versions for CVS and SVN [10:22] ugh [10:22] well, not your problem then. [10:22] right... it's not a problem [10:22] as long as i can get the identifier that defines the .bzr state for the directory containing the file [10:22] i'm perfectly happy [10:23] and i believe *that* shouldn't be so hard [10:23] right [10:24] * timely presumes that bzr pull for an unmodified .bzr is functionally equivalent to cvs update for an unmodified CVS [10:25] timely: ignoring weird cvs update corner cases, yeah [10:25] then why didn't it work? ;-) [10:25] "just give me the same state as they have over there, kxthbye" [10:26] [timeless@landfill bugzilla]$ [ -d .bzr ] && bzr pull [10:26] bzr: ERROR: No pull location known or specified. [10:26] timely: I don't know, what is it not doing you expected it to do? [10:26] timely: right, as the error said [10:26] my cwd is the parent of http://mxr-test.landfill.bugzilla.org/bugzilla-bzr/source/.bzr/ [10:26] timely: it doesn't know where to pull from [10:27] man says: [10:27] bzr pull [LOCATION] [10:27] Turn this branch into a mirror of another branch. [10:27] traditionally [] means optional [10:27] am i misreading man? [10:27] timely: it is optional if the pull location is remembered [10:27] http://mxr-test.landfill.bugzilla.org/bugzilla-bzr/source/.bzr/branch/bound [10:27] exists [10:27] and points to what i think is the right answer [10:27] timely: you're using a checkout? [10:27] timely: try 'bzr update' instead then [10:28] ok, that worked [10:28] if you're always using checkouts, stick with update [10:29] timely: just to have mentioned it, although you don't need it, if you do 'bzr pull ' once, it will remember that as the pull location. [10:30] timely: If you want to then once pull from somewhere else, 'bzr pull ' will get data from location2 but still remember location1 as where it should normally pull from [10:30] timely: bzr pull --remember to override that [10:31] so what did i do wrong the first time such that it didn't remember? [10:31] also, does bzr update understand if it's talking to a tty? [10:32] specifically, i don't mind the output at the end where it says what merged, but i don't want the progress indicator since this is being redirected to a file [10:33] timely, adding --quite should do the trick [10:34] --quiet / -q, i found that [10:34] but i kinda expect that to silence everything [10:34] oops [10:34] * timely kicks self [10:34] * timely has a slightly too greedy regexp [10:34] * timely tries to figure out how to handle it [10:35] or you can use BZR_PROGRESS_BAR=tty,dummy,none,dots [10:35] well, I'm off to bed again [10:36] beuno: sleep well [10:36] timely, if you have any remaining questions/requests on loggerhead, don't hesitate to mail the list, or myself (argentina@gmail.com) [10:36] timely: why pull didn't have a pull location at first, you used a checkout instead of a standalone branch, which is a different model [10:36] LarstiQ, thanks, and good to see you around here :) [10:36] timely: if you were to 'bzr branch ' instead of 'bzr checkout ', it would have it's default pull location set [10:37] timely: if you try do pull in a checkout, it will instead run pull on the branch it is bound to [10:37] * timely boggles [10:38] distributed rcs is too complicated for my tiny little mind [10:38] beuno: thanks, [10:39] timely: well, you're mixing centralized and decentralized workflows :) [10:40] well... i'm a readonly consumer [10:40] i should only ever have one upstream, and i just want the latest and greatest [10:40] oh, and i'm a robot, did i mention that? [10:40] thinking is really way too complicated for me :) [10:41] timely: right, so 'bzr checkout ' once, 'bzr update' always after that, should cover your use case perfectly. [10:41] right, which is probably why i used bzr checkout in the first place [10:41] stupid question. would it hurt bzr to suggest "did you mean bzr update" when i do bzr pull? [10:41] if this tool were an opensolaris tool, i suspect it'd have said that [10:42] note: that's a non interactive error, the user should be forced to type the correct thing at a new prompt [10:43] timely: maybe [10:43] in unrelated bits, can i demote a pull to a checkout? [10:44] since i think the second bzr repo i made was a branch instead of a checkout [10:44] timely: detecting the case where you're in a checkout and have no pull location would be doable. But what if the pull location _is_ set? [10:44] timely: you can convert a standalone branch into a checkout and vice versa with bind/unbind [10:44] i'm not sure what that means :) [10:44] (to the former) [10:45] (which doesn't mean i can't parse your English, just that i don't speak bzr) [10:45] timely: that means I'm not sure if suggesting to use update instead of pull is a good thing to try to do. [10:45] no, that part i understood [10:46] what i don't understand is what it means conceptually to have both a checkout and a pull source [10:46] timely: Ah. [10:47] timely: Are you sure you want to know this? It gets rather decentralized :) [10:47] i'll live, if it means i get a chance to convince you to improve the error reporting :) [10:47] all of the work i'm doing these days is decentralized [10:48] ok [10:48] but... i don't drink, so stop if it sounds like you'll force me to drink :) [10:48] timely: First, remembering a pull location or the bound branch is just storing data, that in itself doesn't change the behaviour. [10:49] "which behavior" :) [10:49] timely: right. The behaviour of it beign a standalone branch or a checkout. [10:50] timely: In a standalone branch, your workflow would be: branch once, pull/push after that, respectively to the remembered pull and push locations. [10:51] timely: in a checkout, your workflow would usually be to checkout once, or otherwise bind a standalone branch, and then use update/commit for sending over revisions. [10:51] timely: (obviously, in a standalone branch you also need to commit, but the act of sending it across the wire is decoupled into pull, whereas with a checkout a commit makes a new revision _and_ pushes it out to the master) [10:52] timely: Now, using pull in a checkout is also possible, but it doesn't do the same thing as in a standalone branch. [10:53] timely: pull in a checkout will update the branch it is bound to, as well as the local version === pbor|out is now known as pbor [10:53] unless I've been gone too long and I'm severely mistaken [10:54] timely: as beuno said, I haven't been around in a while [10:54] * timely missed that last bit by beuno [10:54] but ok :) [10:54] anyway [10:56] timely: I'm going to start my day in a couple of minutes, do you have enough information for now? [10:57] so pull in a checkout is kinda like changing branches (but potentially or likely changing repos which isn't something that i care about) [10:58] i think it's a non issue [10:58] anyone doing pull in a plain checkout will get an error the first time [10:58] with a suggestion to do update [10:58] anyone who actively uses pull w/ a url "knows what they're doing" [10:58] and the next time they do a pull, they'll get what they want [10:59] however, anyone doing pull in a checkout w/o a url doesn't know what they're doing [10:59] I'm not so sure. [10:59] (i.e. me) and just wants an error w/ a suggestion [10:59] timely: it's perfectly legitimate to run pull without any arguments in a checkout. [10:59] but it errors! [11:00] that's what started this conversation :) [11:00] timely: only in this very specific case [11:01] timely: And as I said, that can be detected and warned about. But I fear there are more cases where someone doesn't know what they're doing and we can not detect it. [11:01] personally, my general view is that you should add warnings/errors where possible [11:01] timely: but yeah, I don't know. [11:02] instead of throwing up your hands and saying "we can't be perfect" [11:03] * LarstiQ can't think this through right now. [11:03] bzr pull [LOCATION] [11:03] --remember Remember the specified location as a [11:03] default. [11:03] timely: but feel free to suggest it to someone who has actually been working on bzr lately :P [11:03] English nit: "how many defaults can bzr have for a single repo"? [11:03] "a default" ^ [11:04] timely: unlimited [11:04] but I see what you're getting at. [11:04] good. because i really don't want to hear the explanation for your answer :) [11:05] there is no limited to the amount of branches in a repository ;P [11:05] I do think you meant to say branch, and in that case, it's not unlimited. [11:05] vcs lingo yay [11:05] i didn't say branch [11:06] right [11:06] oh [11:06] timely: and the default is on a per branch basis. [11:06] bah. i was trying to be so careful [11:06] i should have said .bzr/ [11:06] would that have been any more or less ambiguous? [11:07] well, there is {.bzr/repository,foo/.bzr/branch} etc [11:07] timely: more ambiguous [11:07] gah. [11:07] timely: You find a .bzr in 3 locations: repositories, branches, and working trees. [11:07] i'll settle for you understanding what i meant and praying you'll find someone who can fix the docs to be less strange :) [11:08] you find 'a default' strange? [11:08] yes [11:08] I'm not native enough to do so. [11:08] normally you'd write "the default" [11:09] if you don't mean "the default" then you should write "the default for " [11:09] right [11:09] that is possible [11:09] part of the definition or meaning of default is that it is the *one* that would happen [11:09] 'for this branch.' [11:09] it's supposed to be unique [11:09] timely: per thingy [11:09] so it isn't legal to say "a default" [11:09] eh, I disagree :) [11:09] because "a default" implies that there's more than one [11:09] but there is! In the context of stuff to remember for a branch. [11:10] pull in the context as "the default for the branch" [11:10] I can see your viewpoint, sure. [11:11] timely: and I wouldn't mind a patch for it, but I won't be doing it myself. [11:11] i'll write one if i can figure out how [11:12] do i checkout or branch ;-? [11:12] with that, I can help you. [11:12] timely: branch. [11:12] grr [11:12] ok, so much for me not teaching mxr about bzr branching [11:12] timely: you want to commit in this case [11:13] timely: you don't have access to upstream to do that. [11:13] gimme a bit, i need to switch computers to one which will have a different mxr and probably a different bzr [11:13] timely: a checkout is possible, but then you have to commit --local, or unbind [11:13] -bash: bzr: command not found [11:13] this is going to be so much fun [11:13] luckily, bzr works very well from source, no need to install [11:14] someone said the same thing about hg [11:14] they were wrong [11:14] python doesn't work very well from anywhere :) [11:14] hg needs to compile things [11:14] nah [11:14] the problem w/ hg was python include paths [11:14] nothing to do w/ building [11:14] everything to do w/ the fact that once it was built, it wouldn't run [11:14] c.f. loggerhead [11:15] Ok, no clue about that, I only know their diff algorithm is written in C. [11:15] * timely shrugs [11:15] it's pluggable, but let's stick to bzr [11:15] timely: right [11:15] you can eat the runtime bridge when i come to it :) [11:16] https://launchpad.net/bzr/1.5/1.5/+download/bzr-1.5.tar.gz ? [11:16] timely: download source, unpack, possibly symlink or alias 'bzr' to unpacked-source/bzr, and go [11:16] timely: that should work I guess [11:16] 03:16:24 ERROR 303: See Other. [11:16] yeah right [11:16] timely: just to be sure, what python version do you have there? [11:16] Python 2.3.5 (#2, Oct 16 2006, 19:19:48) [11:17] :) [11:17] ugh [11:17] I'm afraid that won't really do. [11:17] i have python2.2 if you prefer ;-) [11:17] No, I prefer 3.0 ;P [11:17] Nah, 2.4 or 2.5 [11:17] python2.4 maybe? [11:17] that i have [11:17] it isn't the default... [11:17] Python 2.4.4 (#2, Apr 29 2008, 08:45:14) [11:18] python3.0 is useful in that it isn't compatible w/ 2.x [11:18] is it in your PATH? [11:18] timely: right, I was joking [11:18] except of course, 2.5/2.4/2.3 aren't really compatible w/ eachother either [11:18] timely: it not being compatible is the exact reason of existance [11:18] each time someone tries to change the default, a half dozen apps break here [11:18] * LarstiQ shrugs [11:18] yeah yeah [11:19] [sanjay]$ which python2.4 => /usr/bin/python2.4 [11:19] I'm assuming /usr/bin is in your PATH :) [11:19] * timely loves how python gave a timestamp but didn't mention a timezone [11:19] heh... for now anyway [11:19] until perl taint makes me take it away ;-) [11:20] so anyway... i got 303 which broke wget [11:20] which is um... cute [11:21] timely: my wget follows 303 [11:21] oh [11:21] * timely wonders if this is a shell problem [11:21] timely: https://launchpadlibrarian.net/14566578/bzr-1.5.tar.gz [11:21] try that [11:22] that works better [11:23] timely: got it unpacked? [11:23] ok, i am here: http://timeless.justdave.net/mxr-test/bzr/source/ [11:25] ok, so... arg [11:25] * timely sighs [11:25] * timely tries to remember the syntax [11:26] doh [11:26] Location isn't specific to pull. [11:27] timely: http://timeless.justdave.net/mxr-test/bzr/source/bzrlib/option.py +538 [11:27] timely: and http://timeless.justdave.net/mxr-test/bzr/source/bzrlib/builtins.py for the actual commands [11:28] fwiw, the search engine should work now :) [11:28] timely: you'll notice the 'remember' option being used in several commands [11:29] "the default for this command" ? [11:29] hmm, the default location for this command maybe [11:30] timely: nice to see LXR isn't actually as dead as a parrot as I thought. [11:30] timely: oh, it seems you could do a pull specific help if you really wanted to. [11:31] timely: ala http://timeless.justdave.net/mxr-test/bzr/source/bzrlib/builtins.py#4268 [11:31] timely: to see that in action, look at 'bzr help send' or 'bzr help bundle' output [11:32] so um... real life calls [11:32] (quite literally actually) [11:32] yeah, here as well [11:33] well, i claim the global option was buggy [11:33] since 'a default' is never right :) [11:33] but we can do two changes [11:33] one "the default for this command" for global and something more specific for pull [11:33] right [11:33] your call :) [11:33] anyway, glad you aren't having trouble using mxr :) [11:34] * LarstiQ used to use lxr [11:34] the name change was just to slightly reduce the confusion about how different we are from the other 2 forks [11:34] which are fairly dead and so far forked from us that well... [11:34] anyway, quickly. how do i build? :) [11:34] build what? [11:35] bzr? I don't :) [11:35] timely: assuming you've made the change, you should be able to immediately see the effect by invoking the bzr there [11:35] so; cd bzr-1.5; vim bzrlib/option.py; ./bzr help pull [11:35] yeah but um [11:35] oh [11:36] perfect [11:36] [sanjay]$ ./bzr status => bzr: ERROR: Not a branch: "/home/timeless/mxr-root/lxr-data/bzr/bzr/". [11:37] is that an unpacked tarball, or an actual bzr branch? [11:37] oh brother [11:37] unpacked [11:37] stupid stupid debian stupid stupid [11:37] tm [11:37] ah yes, that wouldn't be a branch :) [11:37] that would be useless [11:37] timely: well, you can send of a plain diff [11:38] or if you want actually get a copy of bzr in bzr :) [11:38] http://timeless.justdave.net/mxr-test/bzr/source/README?force=1#66 [11:39] bzr get http://bazaar-vcs.org/bzr/bzr.dev for the latter [11:39] has a comma that doesn't belong [11:39] how so? [11:39] X or Y. A, B or C. OR A, B, or C. but NOT X, or Y. [11:40] btw, i had to fix mxr just to give you that link... [11:40] I see it as a bijzin and not a list. [11:40] bijzin?! [11:40] But hey, you're the English native speaker ;) [11:40] timely: no clue what that is called in English. [11:41] timely: read that as: I don't really care, but if you're willing to spend effort on things like that, I'm not stopping you. [11:41] ok :) [11:41] anyway, that's why i grab sources [11:41] if i'm going to make changes, i'll probably make lots [11:41] it costs more energy to argue for an alternative in my eyes correct reading than just accepting your patches :) [11:42] although whether i manage to upstream them is another story [11:42] i think you can find my tt forks on that mxr somewhere [11:42] * timely hits the wiki warning that cloning bzr takes time [11:44] timely: can you manage from here? If so I'll get back to real life again. [11:44] yeah [11:44] k, see you later perhaps [11:45] only other question is how changes should be sent [11:45] some sort of thing showing 1000 commits, one commit per file [11:45] or one commit per style change for the repo [11:45] or one commit for the whole repo [11:46] one branch per topic [11:46] bzr send will roll all the commits up [11:46] do branches mean distinct parents of .bzr's? [11:47] or can i sorta commit into the same repo swapping branches as i go [11:47] timely: I think you're conflating repo and branch [11:47] dh is picky about non web served content that it thinks is "Backup" [11:47] to me, "repo" is something that contains something like .hg/ or .git/ [11:48] my goal is to make sure i don't have to have 5 copies of the thing that holds a "clone" of upstream (because i hit space quotas) [11:48] and also to make sure i don't have to republish (to avoid hitting "not web content" dreamhost hosting rules) [11:48] every branch (.bzr/branch) that lives in a directory tree under a dir that has a .bzr/repository, will use _that_ .bzr/repository to store its revisions [11:49] timely: you'll find `bzr init-repo` helpful then [11:49] timely: but if you're doing documentation style changes, I'd fit all of that in one branch [11:49] ok [11:50] that simplifies matters :) [11:50] that is what I meant per topic, the topic being 'documentation style' in this case, or bug-12345 in another, or nested-trees feature, etc [11:52] timely: but why does dreamhost factor in? [11:52] well, each host i have has rules [11:52] my personal box runs 10.3.9 [11:53] the usual rule is "nothing i want to do works there" [11:53] landfill.bugzilla.org's rule is "must be mozilla related" (bzr isn't) [11:53] dreamhost (timeless.justdave.net) [11:53] 's rule is "must be web content" [11:53] i have other boxes, most of them have rules "no free space available" [11:53] hmm. [11:53] * LarstiQ just works on his laptop. [11:54] my laptop's rule is "for work purposes" [11:54] bzr doesn't fit there either ;-) [11:54] it also falls into "no free space available" [11:54] well, if that makes you happy. [11:54] (and probably doesn't have python) [11:54] oh, dunno about happy. but it is life :) [11:54] happy is going to the beach, which is what i'll do now :) [11:54] timely: ok, ciao [11:55] oh, how do i set my committer name? [11:56] bzr whoami 'Wouter van Heyst ~/.bazaar/bazaar.conf [DEFAULT] email=... ? [11:56] or that [11:57] timeless.justdave.net FTP [11:57] is not what i want to be :) [11:57] timely: you can set your committer id per branch, ~/.bazaar/bazaar.conf will have the default [11:58] So, run 'bzr whoami ' from outside a branch, and it will set the default [11:58] oh well [11:58] * timely manually created the file [11:58] and it turns out also from inside, ah well [11:59] --branch to set it locally instead of globally [11:59] aaaanyway [11:59] timely: you can check what it is with `bzr whoami` [12:00] ok. first commit done [12:00] beach! [12:00] mind fuck festival! [12:01] http://mindfuckmondays.com/ for other people in the area of Den Haag [12:01] * LarstiQ is gone [13:42] Hey all. I did some repository size benchmarks on repos with full history (http://vcscompare.blogspot.com/2008/06/git-mercurial-bazaar-repository-size.html) instead of just a tarball import as done on the benchmark page. [13:42] I think this is a lot more realistic benchmark than done at http://bazaar-vcs.org/Benchmarks/SpaceEfficiency. Perhaps you should update the website? [13:46] might want to post that to the list [13:46] interesting results... [13:47] there is some room for improvement in bzr, it seems [13:48] did increasing the window size help git much? [13:52] I did some benches on that.. when you go from 10 to 50 you can get a 2x improvements [13:52] 50 to 100 perhaps another 2x [13:52] but after that not much improvement [13:53] Pieter: which repo format you use for bzr? [13:55] repository: Packs containing knits without subtree support [15:05] poolie, around perhaps in any change? :) [15:06] chance* [16:20] hey everyone [16:21] is there any document that someone can point me to that explains the "philosophy" (not ideology) behind bazaar? [16:21] all i can find at the moment are howtos, tutorials and other stuff =/ === abadger19991 is now known as abadger1999 [18:14] Does this error make any sense to anyone? http://pastebin.com/m483b7ade [18:19] rockstar, try breaking the lock manually? [18:25] what do people usually use for the portion of their branch name? trunk? main? [18:28] jumpkick: you mean the main development branch? we use dev for our open source project, for my personal projects I haven't settled on one yet === yacc_ is now known as yacc [19:34] cody-somerville, break lock doesn't fix it. Tried that already [19:37] rockstar, it's a bug between bzr versions (you're probably using 1.5, and LP has 1.3) [19:37] rockstar, https://bugs.edge.launchpad.net/bzr/+bug/236380 [19:40] beuno, wierd. So why can I branch from some projects, and no others? [19:41] rockstar, I'm not sure yet, it has something to do with the way the smart server handles it [19:41] you can, as a workaround, branch using http, and then push with bzr+ssh [19:43] beuno, ah, alright, that makes sense. [19:57] Hi! [19:57] I have a few questions about Bazaar. [19:57] First of all, what's the best way to get the current revision of a repository? [19:58] the revision number? [19:58] bzr revno [19:58] yeah [19:58] though you can only get the revision of a branch, not a repository [19:59] Pilky: yeah, `bzr revno` seems to be the thing [19:59] (that's what I want, really :) [19:59] btw, is there a nice way of doing this from Python? [19:59] (just curious) [19:59] that I wouldn't know [20:00] b.last_revision()[0] [20:00] or [1], not sure [20:00] (where b is a Branch instance) [20:00] * xif nods [20:01] er, or maybe b.last_revision_info() [20:01] thanks. another question: there were significant changes in the format of the actual files storing the bzr data over the last several version, right? [20:01] but it's definitely one of those :) [20:01] xif, http://bazaar-vcs.org/Integrating_with_Bazaar may be fun to loot at [20:01] xif, there hasn't been any changes since 0.92 [20:01] so it's been very stable for some time now [20:02] yeah, unfortunately, the latest for Gutsy is still 0.90 [20:02] xif, PPA's are your friend [20:02] https://launchpad.net/~bzr/+archive [20:02] so there might be some chance of some members of the team needing to interact with 0.90 branches [20:03] what would happen if someone tries to negotiate a 0.90-created branch with 1.5? [20:03] well, they wouldn't be able to, I guess [20:03] OK, is there a chance of a silent failure? [20:03] i.e. corrupting a branch? [20:03] but, the improvements since 0.90 justify the upgrade [20:03] what? current bzr supports all older formats [20:03] no, it should be explicit about the bzr not understanding the format [20:04] beuno: ehm, 1.5 reading 0.90 should be fine? [20:04] luks_, but not the other way around [20:04] right, right [20:04] ah, right [20:04] sorry [20:04] xif, listen to the more-awake people ^ [20:04] hehe [20:04] * Pilky hands beuno some coffee [20:04] OK, so if 1.5 pulls data from 0.90, it would in fact convert it to the new format? [20:04] no, it would use the old format === luks_ is now known as luks [20:07] xif: it can pull from an old branch into a new one, or if you freshly branch, it should use the old format iirc [20:07] yeah, I still use a few branches on LP that haven't been upgraded, and it's transparent [20:10] LarstiQ, luks: OK, but it seems even in that case, there shouldn't be any problems. [20:11] of course, it would be best if everyone made sure to use 1.5 [20:11] but corruptions or fatal errors trying to pull/push data shouldn't occur, according to you. [20:11] definitely not [20:11] thanks a lot :) [20:11] either it will tell you it doesn't support that format, or it will work well [20:12] what were the changes 0.90 => 0.92 btw? [20:12] @localtime gour [20:20] igc: hi, i just updated 'darcs-support' bug with some new & interesting info [20:23] hello world [20:24] in bzr rel notes there's a reference to "Tortise" i'm assuming it means Tortoise am i wrong? [20:32] Howdy, I have a question regarding how to do what the abandoned 'bzr graft' plugin did... Anyone who might be able to help? [20:32] URL for graft: http://spacepants.org/src/bzrgraft [20:36] indeed, it's a typo :) [20:40] fperez: have you tried the bzr-rebase plugin? [20:40] Pieter: yup, unsuccessfully so far... [20:41] The problem is that the two branches are chronologically contiguous, but one was started 'from scratch' with no history. [20:41] Rebase won't let me do it because it detects no common parents. [20:41] I'll give a bit more detail now: I'm the lead of the ipython project, and we recently switched from svn to bzr. [20:42] When testing the switch, our SVN server was having memory problems and launchpad could never complete a full download of the svn history to start working from. [20:42] So one of the ipython devs just made an initial bzr import with zero svn history and uploaded that to launchpad, so we could see if we liked the workflow. [20:43] Now we're happy and we want to fully abandon the svn support, but we'd like to bring the old history in (years) and merge it with the recent work done in bzr (3 months). [20:43] So bzr-graft sounds exactly made for this, but unfortunately it doesn't load in current bzr. [20:44] I don't have the time to basically rewrite graft, so I was wondering if an alternative solution exists. If I'm mis-using rebase (I'm no expert) I'll be happy to try again. I can give details of the problems I'm seeing. [20:46] fperez: oef [20:46] fperez: I'd write to the list about this. [20:47] OK, that was my next move to try just now. I was just wondering if I was missing something obvious that a guru could quickly spot. Thanks. [20:50] it's not something that I'd immediately know how to approach [20:51] No problem, I appreciate the feedback. bzr-graft is intended to do *precisely* this, so it's a shame it has bitrotted. But I just don't have the time to resurrect it for a one-off effort. It would be great if that plugin was maintained in the core: the code looked actually pretty small, so I'm sure for someone who knows the bzr API it would be easy work. [21:02] * timelyx frowns [21:02] is there a difference between ``a``, 'a', and "a" in the README files of bzr? [21:04] The files are ReST, or however it's capitalized. I think ``a`` means , and the others are meaningless. [21:06] thanks [21:06] did bzr pick en-gb for all content? and is en-us content considered buggy? [21:06] * timelyx frowns [21:06] robert collins /looked/ like an en-gb er [21:06] generalises the ``exclude_suite_by_re`` function. (Robert Collins) [21:06] randomized copy of the input suite. (Robert Collins) [21:07] * timelyx will need to get an en-gb dict [21:10] Canonical is in the U.K., and I think many of the developers are Australian. [21:19] ok [21:23] hi guys [22:19] does bzr have a concept of a 'teste'? [22:31] I'm just trying to get the diffstat plugin working. It's using diff_cmd_helper, which was removed in r3410 (apparently deprecated before 1.1) [22:31] Anyone know what I might use in place of it? [22:39] pickscrape: DiffTree? Have a look at the call chain for cmd_diff from bzrlib/builtins.py [22:41] LarstiQ: thanks. (my first foray into bzrlib, this) [22:49] pickscrape: you're welcome [22:50] pickscrape: alternatively, use gannotate to find out what replaced diff_cmd_helper around the same time it got removed [22:50] or at deprecation time probably [22:55] Hmm, would I be right in thinking that if a function name starts with an underscore it's considered 'private' and shouldn't be called from within plugins? [22:57] It was deprecated in 3072.1.1, and all functions added in that revision are underscored. I'm going to look at the code that was calling it for clues... [23:00] pickscrape: yes, you are right [23:11] Aha! I've got it working! (I think) [23:12] Any idea if this is sensible? show_diff_trees(bzrdir.open_branch().basis_tree(), bzrdir.open_workingtree(), out, file_list) [23:12] It's the bzrdir.open_branch().basis_tree() part that I dug up myself, and may be completely incorrect [23:54] hello [23:54] morning poolie