[00:00] thumper: I'm not sure why it isn't there for the working tree, it's strange indeed. I could imagine it being None for files that have changed (since their current state is not in any revision yet) but not for unchanged files. [00:03] I guess I could file a bug, it can always be marked invalid :) [00:13] thumper: it's not a bug [00:13] files in the wt don't have a revision [00:13] poolie: even when they are versioned? [00:13] poolie: it has a parent_id [00:14] poolie: hence my confusion [00:15] thumper: a working tree is a revision-under-construction, conceptually. [00:16] spiv: it'd make sense to me then to not have a parent_id for the InventoryFile from a working tree [00:16] Well, it knows the parent. [00:16] at least then it would be internally consistent from my point of view [00:16] thumper: nb the parent is the parent directory [00:16] spiv: so why doesn't it know the revision? [00:16] thumper: what revision do you want it to be? [00:16] the one where it was last modified? [00:16] poolie: that is what I would expect, yes [00:16] but then what if it's been modified on disk? [00:16] Or the one it is about to be when you type "bzr ci" ;) [00:17] if we leave it the same, there is a big risk of bugs [00:17] if we perhaps set it to None in that case, that requires reading the whole file to determine this property [00:17] which would tend to make things slow [00:17] I'm not sure, I'm just starting to play with bzrlib internals [00:18] so [00:18] if you want to find out "for the unmodified files, tell me which revision they came from" [00:18] this necessitates doing a diff type operation [00:18] so you have to do iter_changes [00:18] poolie: so what is the parent_id of an InventoryFile? [00:18] poolie: all I want to find out is the last revision a particular file was modified in [00:18] thumper: the file_id of its containing directory [00:19] poolie: which I get from wt.basis_tree().inventory[file_id].revision [00:19] poolie: which is what jelmer said [00:19] or something equivalent to that [00:19] we should document that more [00:19] thumper: yes that's the best way to get it [00:19] cool [00:19] assuming you don't care about uncommitted changes [00:20] poolie: for what I'm doing, there aren't any uncommitted changes [00:20] k [00:20] you don't even have to use a wt if you don't need one [00:20] poolie: it makes for fast file access [00:20] poolie: for the tip revision [00:21] that is my current reasoning [00:21] I may change later to just using in memory trees [00:21] but getting something working first [00:22] please file bugs tagged 'doc api' if something is not sufficiently explained, or perhaps just send one email describing everything [00:22] and i will try to make it better [00:22] poolie: where are the existing docs on the api? [00:22] poolie: I'm just working from mwhudson's pydoctor files right now [00:22] poolie: if there are some conceptual overviews that'd probably help [00:23] thumper: In addition to the pydoctor docs there is http://doc.bazaar.canonical.com/bzr.dev/developers/ [00:23] spiv: thanks, I'll take a look [00:24] Primarily the "Developing using bzrlib" section, I guess. [00:24] But there might be some relevant info in the other sections, e.g. if you want to use bzrlib's testing facilities in your test suite. [00:25] yeah, I'm using TestCaseWithTransport [00:25] I'm actually quite keen to learn more of the bzr internals [00:25] I may even submit some patches :) [00:26] cool [00:26] one day... [00:26] this really is a good chance to improve the api docs [00:26] I'll try to make notes of my pain points [00:26] lucid needs to reboot now, biab [00:26] i guess i could try to put my editable version of the apidocs online again [00:27] mm [00:27] you're welcome too, but i think it will become a dead end [00:28] i think what we need is not a gloss written onto the api docs, but rather people asking questions that actually drive improvements in the docs instead [00:28] probably [00:28] like a footer on all of them saying "if this is unclear ask in #bzr and we will improve it" [00:31] hi poolie. about the contributor agreement. I forwarded your reply to me with the agreement and my text, but maybe that's what killed the process?!? [00:31] :P [00:31] In that case, I could send a clean version again [00:32] ... and I didn't CC you, only sent it to contributor-agreement@canonical.com [00:33] would you please forward that mail to me? [00:33] ah, whoops, I missed the second part of that sentence saying I should CC you :P [00:33] forwarding ... [00:34] dvheumen: ah good, I'm looking forward to your patch landing :) [00:35] spiv, well, it's not that spectacular :), but thanks for saying that ;) [00:35] poolie, mail should arrive shortly === BasicPRO is now known as BasicOSX [00:41] k thanks [00:42] okay, since you've got the Agreement, everything should be alright. I'm gonna call it a night. [00:51] morning [00:58] hi [00:59] can i easily merge a single directory of another branch into my branch while keeping history? [01:00] no [01:00] hm, ok :-/ [01:00] bob2: how would you approach this? [01:02] moldy: the two basic options are "lose the history" and "merge the whole other branch in but then undo the changes from outside the directory you want." [01:02] spiv: hm, ok, thanks. [01:11] if i deleted a directory, how can i view the log for that directory? "Path unknown at end or start of revision range" [01:14] moldy: If you can remember when you deleted it, 'bzr log -r ' [01:15] Peng: hm, ok, thx [01:23] hi igc === gnomefreak76 is now known as gnomefreak [02:19] poolie: any way to tag an individual file? [02:19] thumper: i just answered the question about it [02:19] no [02:20] poolie: thanks [07:19] hi all [07:20] hello [07:20] jelmer is the author of bzr-svn? [07:20] gour: yes he is [07:21] vila: i had some crash in bzr explorer while fetching from svn repo, but would like to send paste before opening ticket (http://dpaste.com/173190/) - maybe it's just network problem [07:23] gour: well, 'could not connect' indicates either a network problem or an authentication problem [07:24] gour: try connecting with the svn client itself and, except if the problem is transient) file a bug [07:24] vila: thanks. it may be network problem then...it fetched quite a lot from the repo before crashing [07:24] ok [07:28] vila: svn did the job [07:29] gour: bug filing time it is then [07:29] vila: ok [08:06] bbiab [08:11] spiv: ping [09:03] bzr has per-file changeset comments (implemented for MySQL I think). They can be added with `bzr gcommit`. But is there any way to view them? I couldn't find any ... [09:08] oh boy, how I hate linux when it starts thrashing... [09:13] knielsen: I believe with bzr glog [09:14] knielsen: bzr viz (GaryvdM you insensitive clod !) [09:15] ok, thanks! (glog is a plugin I guess?) [09:15] GaryvdM: may be we should just add glog as an alias for viz in bzr-gtk ;-) [09:15] knielsen: it's part of bzr-gtk [09:16] vila: Oh. I thought that was allready the case. [09:16] vila: hm, strange, I have bzr-gtk but don't seem to have glog ... anyway, I'll check it out [09:17] knielsen: I thought it was glog, but it is bzr viz [09:17] knielsen: GaryvdM thought about qlog in qbzr plugin but it's called viz in the bzr-gtk plugin [09:17] hehe, ok :) [09:17] knielsen: sorry for the confusion [09:18] echo-area: pong [09:18] echo-area: I'm only half around... [09:21] knielsen, GaryvdM, jelmer : I've just pushed to lp:bzr-gtk the alias addition, so there [09:21] :-) [09:22] ok, I see, that works, thanks! I guess there is no command-line way to see the comments? [09:22] GaryvdM: Wow, just tried 'bzr qlog' in a directory (below a shared repo) without branchs in it (but still branches in sub dirs) [09:23] GaryvdM: I got a message on the console but a blank (well grey) screen.... [09:23] (probably `bzr log --verbose` should show them, if anyone cared enough to add that) [09:25] I guess MySQL is probably the only project to use per-file comments anyway ... [09:28] knielsen: it's implemented as a revision property, which are quite arbitrary (and in that case encoded in a non-trivial way), so bzr itself can't just display it properly [09:28] knielsen: a specific log formatter can, you may want to file a bug asking for one [09:28] vila: ok, I see, thanks for info [09:29] spiv: Okay, so let's talk tomorrow. I just checked our last dialogue, and you are off the day by now :) [09:30] vila: my 3g went wonkey, so I may have missed messages. The last thing I saw was: "GaryvdM: I got a message on the console but a blank (well grey) screen..." [09:30] GaryvdM: that was it [09:31] vila: what was the message? [09:31] GaryvdM: not a branch [09:32] Vila: ok. I'll log a bug. It should be able to handel that. [09:33] GaryvdM: sure, that's the first time I encounter it and I was a bit surprised that I needed to *kill* the window, clicking the close button seemed unresponsive [09:34] vila: Can you reproduce the hang? [09:34] just a sec [09:35] WOW [09:35] I can't [09:36] I just get the error message and the qlog just quit [09:36] So I've merged something onto my mainline. I've now got a BASE OTHER and THIS file for one file. What's the best way to merge all this? Do I meld OTHER and THIS onto BASE or some other permutation? [09:36] amazing, ok, forget it, I can't reproduce [09:38] balor: 'file' itself already contains all the merged stuff and the conflicted regions enclosed with markers [09:38] vila: I can see that. But is there a tool that lets me choose between chunks, rather than simply editing the file in emacs? [09:39] balor: man, if you use emacs try smerge ! [09:39] * vila checks how smerge is configured here [09:40] balor: hmm, just opending a conflicted file is enough to trigger smerge here [09:40] And if I wasn't an emacs user, is there another tool? [09:40] Ha, that maybe because I use dvc [09:40] yes meld certainly, but I don't use it (I've just installed it, gimme a sec) [09:42] * vila thought meld could be triggered automatically frombzr [09:42] ah! bzr-gconflicts [09:42] It'll set up meld correctly to do the merge [09:42] balor: starts meld automatically ? [09:42] good [09:43] balor: try pinging GaryvdM when he come back, I'm pretty sure qconflicts (from qbzr) can do that too [09:51] Hmm....I still have to copy foo.c.BASE over foo.c after the merge [10:49] balor: you still need to to 'bzr resolve file' [10:54] s/to to/to do/ [11:45] Hi all, I have been using bzr explorer to read the history/logs of specific files and directories. [11:46] Due to the depth of the history (>40000) this takes a while. Is there a way to speed things up? Would indexing using "bzr index" help here? [11:50] alf_: Hi [11:50] alf_: No, bzr index is just used by "bzr search" - it won't speed anything up [11:50] alf_: Do you have the Bazaar C extensions compiled? [11:51] alf_: And are you using a recent version of Bazaar? [11:51] jelmer: I am using bzr 2.1.0 from debian testing [11:55] jelmer: The good thing is that bzr explorer incrementally displays the matching commits as it finds them. It still takes a lot of time to process them all, however. [11:57] I am guessing it is just searching all commits and just displays ones that match? [12:03] alf_: You're just browsing aren't you? [12:04] alf_: Or are you doing something more complex than that? [12:05] night all [12:05] jelmer: in the file browser I am selecting a file/directory and clicking show log in the context menu [12:07] g'night Ian! [12:35] jelmer: Would you believe I'm having trouble with bazaar and urlsplit again... [12:36] This time with bzr-git... [12:36] dcoles: You're running Lucid I bet? [12:37] Yes. Someone changed the behaviour of urlsplit? [12:37] dcoles, Yep, upstream python did [12:37] there's a fix for it in bzr-git trunk [12:37] (Since I can no longer reproduce the behavour that was breaking bzr-svn) [12:38] the behaviour in bzr-svn was unrelated to Python [12:39] Ah. Cool. I had just started to monkey-patch and then noticed that bzr-git already "did the right thing" [12:56] jelmer: hi [12:57] jelmer: can we chat about Bug 540363 [12:57] Launchpad bug 540363 in qbzr "SVN Commit throws 'SvnBranch' object has no attribute 'control_files'" [High,Fix released] https://launchpad.net/bugs/540363 [12:58] bialix, hi [12:58] bialix, sure [12:58] in qcommit we're trying to store some data in branch.conf [12:58] IIUC SvnBranch has no branch.conf? [12:59] so my fix to use Branch.get_physical_status instead of bzranch.control_files might be incorrect at all? [12:59] bialix: To access branch.conf you should use Branch.get_config() [13:00] jelmer: maybe I should skip work with branch.conf at all for SvnBranch? Or even for all non-BzrBranches? [13:01] jelmer: we're using Branch.get_config() [13:01] bialix: bzr-svn will return a config object if you call get_config() on a SvnBranch [13:02] bialix: but will store/retrieve in branch.conf but elsewhere [13:02] jelmer: here is the code: http://pastebin.com/kTCkCkic [13:03] self._get_branch_config() == Branch.get_branch_config() [13:03] Branch.get_config() you mean? [13:03] Anyway, that should work [13:03] yes, get_config, sorry [13:04] * jelmer gets dragged to lunch [13:04] bon appetit [13:04] thanks, jelmer [14:35] Hey all, I know this isn't bzr specific, but expect someone would know an answer here. [14:36] I'm looking at http://bazaar.launchpad.net/%7Esmoser/%2Bjunk/ec2-test/files/head%3A/user-data/ , and want to include a download link to the 'head' version of one of the files there [14:36] include-compressed-script-01.txt.gz specifically [14:37] the 'download file' link seems to be a premenant link to the head at the time i grab it. [14:39] smoser: you can probably mangle the link [14:40] i would have thought so. but it seems to have some data in it. [14:40] http://bazaar.launchpad.net/%7Esmoser/%2Bjunk/ec2-test/download/head%3A/includecompressedscr-20100318141221-ewki6l3sasp5rmny-1/include-compressed-script-01.txt.gz [14:40] and its missing the path (user-data/), so i wasn't sure [14:40] interesting [14:41] beuno: around? ^ [14:41] smoser: it still seems to be pointing to head: though, so should work [14:42] it will break if you bzr rm and then bzr add that file [14:42] well, it doesn't. i upated the file and the old link didn't work. [14:42] well, it worked, but got the old version [14:46] very odd [14:49] yeah, i suspect user error. [14:49] maybe i checked before new version had updated [14:52] ah, there is probably a lag of a minute or two after you push [14:53] james_w, hi [14:53] yeah [14:53] so loggerhead is on the public area [14:53] hi beuno [14:53] which has to wait for the puller to bring it in [14:53] so there is a delay === salgado is now known as salgado-lunch === IslandUsurper is now known as IslandUsurperAFK [16:25] Hrmm. I'm helping a coworker learn/use bzr and bzr-svn. He's used git before, and I think he's familiar with hg as well. But he seems to be having a hard time with some of the concepts. I may not be the best teacher. :/ [16:26] Like, it's confusing to him that each branch is a separate directory since in bzr & hg that's handled in SCM metadata w/o the need for another directory. [16:28] and he's not quite understanding the difference between a "parent" branch and a "bound" branch. [16:28] OTOH, the problem could just be that he hasn't read any bzr docs and is relying on me to tell him everything. heh. [16:28] I'm of the belief the former is easier to grasp by thinking strictly about the 3 components, and which are present in a given location. [16:29] For the latter, _I_ like solving it by killing "bound". With fire. :) [16:29] hehe. [16:29] But that's more like a troll than a solution... [16:29] Well, we have a rather large tree, so it's handy to bind it to branches, do some work, bind to a different branch, do some other work... [16:30] instead of creating N working copies, or doing 'bzr checkout .' 'bzr remove-tree' all the time. [16:30] but yeah, he tried to rebase in a bound branch and... things did not go well. :p [16:30] What's the advantage of bounding, rather than using a light checkout and switch? [16:33] eh, it's in a shared repo, bind and switch, light checkout and switch. Not much difference in that case, right? [16:33] Clarity about what's going on. [16:34] It would be better modelling it as a heavy checkout and switch, than as a bound branch. But with it all being local, light checkout is conceptually a step closer. [16:35] does the behavior differ? [16:35] * fullermd covertly looks around for anybody who'll call him on trolling like this... [16:35] I thought the only difference is that a lightweight checkout doesn't have local history. [16:36] but otherwise all operations between a light/heavy checkout should be the same? [16:36] (and a bound branch == a heavy checkout.) [16:36] Well, see, that's the thing... [16:36] In implementation, they are, which is the root of confusions. In concept, they're not. [16:37] And in concept, what you're using here is a checkout, because what you want is just a working tree on a branch (in a serial-monogamy sort of sense). [16:38] And (IMAO) that's a lot easier to explain and grasp if explained as a checkout (working tree) moved among branches via 'switch', than as another branch with a special bound property that causes certain automatic interations with this other branch. [16:39] Oh. Yeah. [16:39] Only at this point, changing his workflow more would be counterproductive. [16:39] Oh, just reboot 'im. The POST will wipe out the old habits. [16:39] heh. [16:40] I think he'd be a lot less confused if he'd started with the bzr tutorial and learned the concepts first. [16:40] instead, he looked at a wiki page I wrote about the workflow I use to interact with our SVN repo. [16:40] thought "Git's close enough" and started using my workflow. [16:40] * fullermd really should write up his model docs sometime :| [16:40] without quite understanding it. [16:42] Well, look at the bright side; if the version control usage doesn't pan out, he's still got a good future in politics 8-} === salgado-lunch is now known as salgado === IslandUsurperAFK is now known as IslandUsurper === radoe_ is now known as radoe === salgado is now known as salgado-brb [20:50] What would cause this? bzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/~ubuntu-drupal-devs/ubuntu-drupal-theme/6.x-orange/.bzr/branch/lock): Transport operation not possible: http does not support mkdir() [20:52] Trying to write across http. [20:54] fullermd: that happened when I just rant bzr commit -m "..." [20:54] Which suggest that somewhere prior to that you did "bzr checkout http://...." [20:54] I grabbed it with bzr branch lp:.. [20:55] I even tried on a fresh branch [20:55] If you're not logged in (bzr lp-login), lp: resolves to a read-only http:// URL. [20:55] oh.. === salgado-brb is now known as salgado [20:56] If you lp-login, it'll resolve to a writable (assuming you're in the right group anyway) bzr+ssh:// url, so you could lp-login, and then "bzr switch lp:..." to swap over to the writable protocol. [20:56] why does it need to use the web if I'm only doing a commit on a branch grabbed using bzr branch? I thought that usually meant everything happens local until a push [20:57] It doesn't, if you made a _branch_ with "bzr branch". But in this case, you made a _checkout_ with "bzr co" (or possibly altered the branch later with 'reconfig' or 'bind') [20:58] Check "info". [20:58] oh.... i get it now [20:58] (if you expect and _want_ a separate branch, definitely check before you switch and commit and maybe push it upstream before you intend to) [20:59] I ran bzr branch lp:.. but because I didn't do lp-login, that's why it did http [21:00] I thought you meant that had to do with the commit [21:00] fullermd: thanks [21:00] Well, commit wouldn't try to write to the upstream if it were just an indepdendent branch. [21:01] It would only do that if you somehow ended up with a checkout/bound branch. === salgado is now known as salgado-afk [21:58] hi igc, lifeless, spiv, jelmer, [22:12] poolie: the robert has landed [22:17] ah, you're in the other Commonwealth? [22:27] poolie: yup [22:27] about to go to the pre conf dinner I think [22:29] enjoy [22:31] I got some good stuff done on the plane; I took lynnes new eeepc - huge battery life [22:34] Wait... if there's an "other", they're no longer common wealths anymore. [23:06] morning [23:06] hi poolie === Meths_ is now known as Meths