[00:20] <mkanat> poolie: http://twitter.com/mkanat/status/8520484742
[00:21] <lifeless> mkanat: thanks, I've reweeted :P
[00:21] <mkanat> lifeless: Yay. :-)
[00:22] <mathrick> oh nice
[00:22] <mathrick> how big is the repo?
[00:23] <mkanat> mathrick: Oh, um, about 7000 revisions on trunk.
[00:23] <mkanat> http://bzr.mozilla.org/
[00:23] <mathrick> aha, that's pretty modest
[00:23] <mkanat> Yeah, not enormous.
[00:25] <lifeless> its not how big it is :P
[00:26] <mkanat> lol
[01:36] <igc> morning
[01:54] <bjp> bzr support https?
[01:58] <Kilroo> Can you be more specific?
[02:01] <bjp> i was trying to find a bug report i saw earlier
[02:01] <bjp> it was throwing an error because I am using a self-signed certificate for an internal https server
[02:04] <bjp> https://bugs.launchpad.net/bzr/+bug/82086
[02:04] <bjp> that one
[02:04] <bjp> it's marked as fixed released a long time ago
[02:05] <bjp> oh it was changed
[02:15] <dcoles> G'day
[02:16] <dcoles> I was wondering if anyone could offer some advice for storing file modification times along with file contents in bazaar.
[02:16] <lifeless> dcoles: perhaps some context on why?
[02:17] <lifeless> if it is for e.g. make, then 2.1 will do better for you
[02:18] <dcoles> Sure. I'm trying to use bazaar as a way to track modifications on a website using wget --mirror. I'm mainly interested in the Last-Modified header which gets stored in the mtime of the file.
[02:18] <lifeless> AfC: you pung
[02:19] <lifeless> dcoles: so, the closest you could get would be to script bzr via the python api to do one commit per timestamp you see, of only the modified fiels with that timestamp (using a fuzz factor to group changes)
[02:20] <lifeless> AfC: sms me.
[02:20] <lifeless> -> food
[02:20] <AfC> lifeless: I think I was looking to see if you were coming into Sydney for Beer last Friday. I've subsequently gathered you're out of town
[02:20] <dcoles> Hmm... I guess that's one option. Would I be able to add it as metadata to the file, say, just before commiting the changes?
[02:29] <Kilroo> I never metadata I didn't like.
[02:30] <dcoles> Kilroo: Something similar to `svn propset` would likely suit my purposes, but I don't think I've seen a way to access it via the bzr command.
[02:31] <dcoles> Might just be easier to generate a 'last-modified' file and track the changes in that instead.
[02:32] <Kilroo> If you don't want it any more granular than that, couldn't you just look at when you committed?
[02:36] <dcoles> Well I really wanted to know the server side 'last-modified' of the html files rather than when I mirrored the file. If it turns out to be too hard I guess I'll just run the mirror script each day and have to be satisified with just a 'day' resolution.
[02:39] <Kilroo> What I meant was, if you only get as specific as when that one file was last modified, then you're only going to get one modified time per commit. If you aren't committing shortly after making changes I suppose it could be significant to know when that one file was changed instead of when you committed, but I didn't think of that at first.
[02:41] <dcoles> Oh. I see what you mean.
[02:42] <james_w> ('need at least bzr 2.1.0rc2 (you use %r)', (2, 2, 0, 'dev', 1))
[02:42] <james_w> that seems wrong to me?
[02:42] <dcoles> Kilroo: wget with --mirror sets the file timestamps to what ever the server says for 'last modified', so there could potentially be a few different modification times
[02:43] <Kilroo> But not for the one file you were going by.
[02:43] <Kilroo> Or did you mean make a file and record the last-modified times for everything else IN it as text?
[02:43] <dcoles> Yes.
[02:43] <Kilroo> Gotcha. That makes me wonder two things.
[02:44] <dcoles> `ls -l` or something a little less hackity
[02:44] <Kilroo> First, does wget output the last modified times as it processes the files.
[02:44] <Kilroo> ...and that was my second suggestion.
[02:45] <Kilroo> Heh. I actually have been working on setting up something at work to let me use a combination of rsync and bzr to pretend that the stuff we still have on plain ftp is version controlled. Modified times hadn't even occurred to me.
[02:47] <Kilroo> The experience has, however, convinced me that all our log files should be kept above the web document root to make version control easier, instead of just for all the other reasons I'd already had.
[02:48] <dcoles> Kilroo: Alas no. I'd pondered just dumping stdout, but it only mentions if a file is 'newer' or 'not modified'
[02:50] <dcoles> It'd be really easy if it was on a local machine, but it's a small external website we need to keep tabs on.
[02:52] <dcoles> While the original intent was for me to check by hand, sounds like a great thing to have automated.
[02:53] <dcoles> Anyway. Thanks for the advice. Given me a few more ideas to play with. :)
[02:54] <Kilroo> I'd probably go with putting the modtimes into a text file after every sync and versioning that, if you can't find a convenient way to set custom metadata in bzr. And submit a ticket suggesting that the ability to track that be added, although I think typically in a version controlled environment most people are going to care more about the commits.
[05:18] <RyNy_> what's the best practice for registering a project with Launchpad? I have a Drupal site that I want to user vc with but it is large ~2gb.
[06:15] <lifeless> RyNy_: what do you mean by 'best practice'
[06:16] <RyNy_> I think I figured it out. I was wondering how much of the drupal install I should I send to LaunchPad. I suppose only the files that I change.
[06:17] <lifeless> well if you are making a branch of drupal, surely you'd upload it to the drual namespace :)
[06:19] <mathrick> why does the beta PPA have any versions newer than 2.0.1?
[06:20] <mathrick> *doesn't
[06:39] <RyNy_> no, my changes have to do with personal configuration changes: new modules, or server configurations
[07:02] <RyNy_> does anyone have workflow tips for managing a LAMP server with bazaar
[07:03] <RyNy_> Do I create a branch for the whole server?
[07:04] <bob2> what are you planning to put in bzr?
[07:04] <RyNy_> I've never used a vc before. I like the idea but am wondering how much of the server should go in vc
[07:05] <bob2> depends what you're doing
[07:06] <RyNy_> Do I initialize the whole server?
[07:07] <bob2> you don't put / in bzr
[07:08] <RyNy_> just what I'm working on?
[07:08] <bob2> the source code for your app might be in version control, and etckeeper is great for /etc
[07:08] <bob2> er, the source code for your app should always be in version control, but you might not deploy to servers using version control
[07:09] <RyNy_> I'm changing some of the config files in LAMP and then my cms
[07:09] <bob2> "LAMP"'s pretty vague
[07:10] <bob2> but putting the config files under version control (if they're not in /etc already) is a good idea
[07:29] <vila> hi all
[07:30] <vila> mathrick: lack of man power or automation, take your pick :-/
[07:31] <mathrick> vila: well, possibly, but it goes directly against what the links from the Download page tell you (it explicitly lists 2.1.0bX)
[07:33] <vila> mathrick: I'm pretty sure there is a thread about re-thinking the whole experience there on the mailing list
[07:33] <mathrick> aha
[07:34] <vila> mathrick: '[rfc] focus on Ubuntu updates rather than PPA packaging'
[07:35] <vila> mathrick: the underlying problem is about being able to put a working set of bzr + plugins there without running into broken PPAs where one plugin breaks with a new bzr version
[07:35] <vila> mathrick: your input and use case could only help the debate, so please reply there
[07:36] <mathrick> vila: unfortunately that's not possible today and I don't know if I'll manage to squeeze it into the upcoming days :\
[07:37] <vila> mathrick: then rest assure that the problem is known
[07:37] <vila> s/assured/
[07:39] <mathrick> mhm, thanks
[07:41] <vila> mathrick: just for the record, are you using the beta PPA ?
[07:43] <mathrick> vila: I have it added to sources, but that doesn't do much, because the Karmic debs are newer
[07:44] <vila> mathrick: I see. But what are you interested in exactly: getting newer stable versions or something even newer ?
[07:45] <mathrick> vila: trying out 2.1.0rcs, because I wanted to see how that performs on the Emacs repo, which hits 550MB resident mem in 2.0.3
[07:45] <mathrick> so yes, I want something even newer
[07:46] <vila> mathrick: hmm. But bzr.dev and building the extensions from source is not attractive to you I presume... OS ?
[07:46] <mathrick> Ubuntu
[07:46] <vila> plugins ?
[07:47] <mathrick> vila: it's not because I've done it in the past, and it's a pain to keep track of things yourself. With .debs I can just push a button and go do something else
[07:47] <vila> mathrick: I know what you mean.... I have >10 setups maintained here but most of them can do with stable releases
[07:50] <vila> mathrick: so, there is little for you *today* but as we approach 2.1.0final, there should be a way
[07:50] <mathrick> yeah, that can wait
[07:50] <vila> little == bzr.dev
[07:50] <mathrick> anyway, thanks, I need to go do something else now
[07:50] <vila> mathrick: more precisely lp:bzr/2.1
[07:50] <vila> mathrick: you're welcome, enjoy your day :D
[12:08] <mgedmin> um, I can't seem to figure out how to resurrect a file removed in revision 74
[12:08] <mgedmin> actually just the equivalent of 'svn up -r SOMEOLDREVNO' would suffice
[12:10] <mgedmin> bzr cat -r 73 path > path kinda works
[12:11] <maxb> I'd be tempted to try merge
[12:24] <asabil> mgedmin, bzr revert -r 74 file ?
[12:25] <mgedmin> tried it, got an error (path not versioned or some such)
[12:26] <mgedmin> ended up doing bzr cat ; bzr add
[12:26] <mgedmin> so now it's kinda difficult to test "correct" solutions
[12:28] <henninge> Hi, I may be missing something obvious but I cannot find documentation on bzrlib. Got a clue for me? ;-)
[12:29] <asabil> mgedmin, that's weird, it works here
[12:30] <mgedmin> actually I tried bzr revert -r 74 subdir/file1 subdir/file2
[12:30] <Peng> henninge: The source code is well-documented, and there's probably some starter info in the developer docs. There's also an API site somewhere, but I assume it's just generated docs.
[12:30] <beuno> henninge, http://doc.bazaar.canonical.com/bzr.dev/en/
[12:30] <Peng> D:
[12:30] <Peng> Err, :D *
[12:30] <mgedmin> yeah, it should've worked, according to bzr help revert
[12:30] <asabil> mgedmin, both file1 and file2 are deleted ?
[12:31] <asabil> also is subdir versionned ?
[12:31] <mgedmin> rev 74 deleted a whole bunch of files, two of them by mistake
[12:31] <mgedmin> the subdir still exists and has files
[12:31] <asabil> try to revert each on separately ?
[12:31] <mgedmin> ah, I just realized I could've got a sort of an equivalent of "svn up -r 73" by doing bzr branch -r 73 ...
[12:32] <henninge> beuno: Thanks. I've been there and that's all about using "bzr" from the command line. But in pyhton scripts I want to import from bzrlib. I think I'll just browse the code like Peng suggested. ;)
[12:33] <mgedmin> well, thanks anyway
[12:35] <Peng> henninge: bzrlib/builtins.py is a good place to start, since it's where commands are implemented.
[12:35] <Peng> henninge: So, if you're trying to automate a command or something, you can just steal the code. :D
[13:01] <quotemstr> bzr is crashing with an internal error referencing "Unknown kind 'relocated'"
[13:04] <ronny> quotemstr: what bzr revision, what are you doing
[13:08] <quotemstr> I have a branch at emacs/c++1x and I'm trying to merge from emacs/trunk.
[13:08] <quotemstr> So with CWD in emacs/c++1x, I run 'bzr merge', and get the above error.
[13:08] <quotemstr> It's bzr 2.0.3.
[13:09] <quotemstr> What actually happened was that I ran 'merge' once, got a bunch of conflicts, then ran 'bzr revert .'.
[13:09] <quotemstr> Then when I tried to merge again, I started getting that error.
[13:14] <quotemstr> And now it's just pegging the CPU meter, spinning while checking 'bzr check'.
[13:18] <Peng> Yeah..."bzr check" will not be fast on emacs.
[14:20] <bialix> henninge: http://wiki.bazaar.canonical.com/Integrating_with_Bazaar
[14:20] <bialix> henninge: http://starship.python.net/crew/mwh/bzrlibapi/
[14:20] <bialix> hth
[14:57] <maxb> That's a useful wiki page. I think I might add a mention of enable_default_logging and ui_factory, unless anyone knows they are covered elsewhere?
[15:32] <ovnicraft> hi folks, i get peding merges how i can commit them?
[15:32] <rubbs> ovnicraft: so you've done the merge, and you just want to commit?
[15:33] <ovnicraft> yes
[15:33] <ovnicraft> when i try to commit, tell me bzr: ERROR: Selected-file commit of merges is not supported yet:
[15:33] <ovnicraft> yet: myfile
[15:34] <rubbs> oh, you can't do a commit of just one file after a merge. just do a commit without any files listed. so like this "bzr commit -m "merged in things""
[15:43] <ovnicraft> and i get warning conflict tag: tagfromproject, is posible solve that?
[15:43] <rubbs> mmm... I'm not sure how to resolve a tag conflict.
[15:44] <rubbs> maybe someone else here can help
[15:45] <Peng> bzr pull --overwrite probably will (along with the other, potentially more dangerous things it does).
[16:01] <devmod> morning
[16:02] <devmod> Could anyone clarify what does it mean for a repo to have or not have a working tree?
[16:02] <Peng> Repos don't have or not have working trees. Branches do, though.
[16:02] <Peng> Well, that is, repos never have working trees.
[16:02] <devmod> sorry branches*
[16:03] <Peng> devmod: A working tree is, ehh, uh, when it creates copies for all of your files so you can edit them and commit and whatever/
[16:03] <Peng> devmod: Sometimes you don't need one -- e.g. a central branch on a server
[16:04] <devmod> i guess I understand what they are, just not sure when am I supposed to have them
[16:04] <luks> when you need to 'work' with the branch
[16:04] <luks> as in, edit files and commit changes
[16:05] <luks> you don't need to have a working tree when you are using the branch only as a revision storage
[16:05] <devmod> ohh ok got it
[16:06] <devmod> This is possible because Bazaar supports (and recommends) creating repositories with no working trees (--no-trees).
[16:07] <devmod> that gave me the idea that repo have or not working trees
[16:07] <Peng> That just controls the default setting for branches created in that repo.
[16:07] <devmod> but Peng says they never do
[16:07] <devmod> ok got it
[16:07] <Peng> BTW, you can create or remove a working tree with "bzr co" and "bzr remove-tree".
[16:08] <Peng> There is no command to change the repo's default, but you can touch/rm .bzr/repository/no-working-trees.
[16:08] <devmod> ok thanks its clear now
[16:09] <luks> I think you can do it with bzr reconfigure, but I never know how to use that command
[16:10] <Peng> Maybe.
[16:11] <Peng> I've been using bzr longer than reconfigure has existed, and I haven't learned it well. :P
[16:12] <luks> I think that's not the problem :)
[16:12] <luks> I've managed to learn new commands
[16:12] <luks> but reconfigure is ... "special" :)
[16:12] <Peng> Indeed.
[16:29] <bjp> does bzr use urllib for http and pycurl for https?
[16:29] <bjp> by default
[17:17] <muffinresearch> Given that format 2a doesn't support subtrees what's the most current subtree compatible format? From "bzr help other-formats" it looks like development-subtree is the one, is that correct?
[17:19] <MvG> Hi! bzr push over sftp is causing me trouble: http://dpaste.com/153770/
[17:19] <MvG> First push seems to have hit some kind of timeout somewhere. Now it looks as if things were in some form of inconsistent state. How can I recover from this, short of deleting and reinitializing the repo?
[17:20]  * MvG has to go AFK for a while, but would really love to read some advice when coming back.
[17:22] <lifeless> muffinresearch: there are not any stable subtree formats
[17:23] <lifeless> MvG: check using e.g. lftp whether the pack its trying to rename already exists in the packs directory
[17:24] <lifeless> MvG: if it does, please file a bug - we should handle this case, and if you use bzr dump-btree repo/.bzr/repository/pack-names we can check if the new pack is actually referenced or not
[17:25] <muffinresearch> lifeless: Are there likely to be in the future for nested trees?
[17:26] <lifeless> once its finished, yes.
[17:29] <muffinresearch> lifeless: ok, so if I want to experiment I can use development-subtree assuming I use bzr.dev?
[17:29] <lifeless> sure
[17:29] <lifeless> just understand we aren't making a strong commitment to whatever data you put in it at the moment ;)
[17:31] <muffinresearch> lifeless: ok np!
[17:36] <jelmer> kfogel, do you know if savannah is going to run the bzr smart server at some point?
[17:39] <kfogel> jelmer: I'm sure they will at some point.  How soon that point is is anyone's guess.  They're actively looking for a volunteer to help them maintain bazaar on Savannah.  I have expressed tentative interest, but have not committed until I understand the overhead of working with Savannah admins, which I fear might be high.
[17:39] <kfogel> jelmer: but, you know, if you've got a lot of spare time on your hands...
[17:39]  * kfogel ducks
[17:40] <jelmer> kfogel: :-)
[17:42] <kfogel> jelmer: I'm only half kidding.  You'd be much more competent at it than I would be.  But if it's to be on Canonical time (which IMHO would be appropriate) then should obviously be discussed w/ manager.
[17:42] <poolie> hello kfogel, jelmer
[17:42] <jelmer> 'evening Martin
[17:43] <kfogel> poolie: hey :-).  You know GNU is looking for a volunteer to help maintain Bazaar on savannah?
[17:43] <kfogel> poolie: from backscroll:
 jelmer: I'm sure they will at some point.  How soon that point is is anyone's guess.  They're actively looking for a volunteer to help them maintain bazaar on Savannah.  I have expressed tentative interest, but have not committed until I understand the overhead of working with Savannah admins, which I fear might be high.
[17:44] <BasicOSX> I've read the info at Bug#302987 and Bug#437626 and I'm still not sure what is holding up a 2.0.2 backport to hardy. I've got some time to volunteer would that help move 2.0.2 into hardy? :-)
[17:45] <MvG> lifeless: Now have an sftp connection. The 4c52ee0586adc8546ec9d26e89e64abc.pack it mentions does exist. Will now try the dump-btree...
[17:47] <MvG> lifeless: bzr: ERROR: pack-names is not an index of type <class 'bzrlib.btree_index.BTreeGraphIndex'>.
[17:47] <MvG> lifeless: For compatibility reasons that's an 1.6 format repo. Maybe that's responsible in some way?
[17:52] <MvG> lifeless: Got the pack-names by hand, and it seems that the pack in question isn't mentioned in the index.
[17:52] <MvG> lifeless: I'd now go ahead file a bug report...
[17:53] <lifeless> MvG: please do
[17:54] <MvG> lifeless: I guess before I do I'll give current bzr.dev a go...
[17:55] <gerard_> hey
[17:56] <lifeless> MvG: no need, I can tel you its not fixed ;)
[17:56] <MvG> lifeless: thx. bzr.dev is giving me a hard time just now, for reasons unknown...
[17:57] <MvG> "bzr: ERROR: No module named testtools" in response to "bzr push".
[17:57] <gerard_> hey
[17:57] <jelmer> MvG: bzr.dev now depends on the testtools package
[17:57] <jelmer> although I think it shouldn't need it for "bzr push" ...
[17:57] <MvG> yippieh!
[17:57] <jelmer> lifeless: is testtools required for more than just the testsuite ?
[17:57] <lifeless> no
[17:57] <lifeless> but I bet its a buggy plugin
[17:58] <MvG> Want a bug report for that as well?
[17:58] <lifeless> that is loading its tests on normal calls
[17:58] <jelmer> MvG: please, with a backtrace
[17:58] <MvG> bzr --no-plugins push was in fact the first I tried.
[17:58] <lifeless> MvG: try bzr push --no-plugins
[17:58] <lifeless> MvG: oh, ugh. please yes file a bug
[17:58] <MvG> as I know bzr-svn complains about a version mismatch on a regular basis when used with the non-system bzr setup.
[17:58] <MvG> How do I get the backtrace for this?
[17:58] <lifeless> -Derror
[17:59] <gerard_> anyone who exactly knows how WorkingTree.update works?
[17:59] <lifeless> yes
[17:59] <gerard_> I think I fixed the double merge problem now
[17:59] <gerard_> but I don
[17:59] <gerard_> 't exactly know how it works now
[17:59] <gerard_> :p
[18:00] <MvG> lifeless: thx. It's at http://dpaste.com/153798/ but will go into the bug report as well, once I manage to get that far.
[18:00] <gerard_> it passes all selftests but I'm not sure that's enough
[18:01] <jelmer> gerard_: how do you avoid the two merges?
[18:01] <gerard_> jelmer: I don't, just do them in an order that will prevent the commits with itself
[18:01] <gerard_> I just swapped the order the merges are performed around
[18:02] <gerard_> and stop if there are any conflicts after the first merge
[18:02] <gerard_> hmm, lets try that first sentence again
[18:02] <lifeless> gerard_: why not just stop if the first merge conflicts?
[18:02] <jelmer> gerard_: So you update the working tree to the local branch first
[18:03] <gerard_> it stops when the first merge conflicts
[18:03] <gerard_> jelmer: exactly
[18:03] <MvG> What's the suggested way to give large numbers of people access to a smart server? Is there some setup that does so with a single system account, using ssh pubkeys to differentiate users with different permissions, the way some git servers work?
[18:04] <gerard_> now what? do I push it to launchpad and add a merge request?
[18:04] <gerard_> I guess it might be a good starting point for someone who actually knows what is going on
[18:05] <gerard_> any need for cleaning up the commit messages? I guess there may be some in dutch still
[18:07] <gerard_> lifeless: when you don't swap the order of merges around you have trouble rerunning the update command
[18:07] <gerard_> as it is not clear anymore that the branch you wanted to update from was out of date
[18:07] <gerard_> at least, that's what I guess was one of the problems I has
[18:07] <gerard_> had
[18:08] <gerard_> also, it was quite illogical to first see the conflicts with the master
[18:08] <lifeless> hmm, I was sure it did local branch first
[18:08] <lifeless> anyhow, local first, then stop if conflicts sounds fine to me.
[18:08] <gerard_> anyway, I have only a faint idea of what's going on and why, but I added some tests for the double merge, and it passes those and the rest of the selftests
[18:09] <gerard_> if something is still wrong it is also a bug in the tests ;)
[18:09] <gerard_> I'll try to push to launchpad now ;)
[18:12] <gerard_> ok, it's at lp:~gerard-/bzr/update
[18:12] <gerard_> note that this is unrefined ;)
[18:12] <gerard_> not ment for actually merging in
[18:14] <gerard_> whoops, let me check it again... it failed a test
[18:14] <MvG> lifeless: first issue reported as https://bugs.launchpad.net/bzr/+bug/516179
[18:17] <gerard_> ok, fixed
[18:17] <gerard_> lifeless: would be great if you could take a look at it
[18:18] <gerard_> and maybe explain why I sometimes need basis and sometimes the lca for the second merge...
[18:21] <MvG> lifeless: And the other is https://bugs.launchpad.net/bzr/+bug/516183
[18:29] <mkanat> mwhudson: ping. I wanted to talk a bit about removing the revision graph cache whenever you have a sec.
[18:45] <gerard_> brb, fixing a flat tire
[18:49] <jelmer> gerard_: uhm, you are hacking on bazaar while driving a car??
[19:00] <mwhudson> mkanat: hi
[19:00] <mkanat> mwhudson: Hey. :-)
[19:00] <mkanat> mwhudson: Are you around for a bit?
[19:03] <mwhudson> mkanat: i'm just starting work, so yeah :-)
[19:04] <mkanat> mwhudson: Okay, cool.
[19:04] <mkanat> mwhudson: So I've started to look into the possibility of removing the revision graph cache. I checked out bzr-historycache, and so on.
[19:05] <mkanat> mwhudson: So, as I recall, loggerhead used to have a disk cache, but doesn't use it anymore (at least, not with serve-branches). Was there a reason we stopped using the disk cache?
[19:05] <mwhudson> mkanat: no, it does
[19:05] <mwhudson> it doesn't cache the revision objects themselves any more
[19:06] <mwhudson> because bzr got so much faster that stopped making sense
[19:06] <mkanat> Ahh, okay.
[19:06] <mkanat> mwhudson: Right, there's basically no reason for us to cache anything other than the revno -> revid mapping, right?
[19:07] <mkanat> mwhudson: Because if we have that for a whole tree, we theoretically don't even need the actual graph for most of the pages.
[19:07] <mkanat> mwhudson: Because we could just numerically sort the revnos.
[19:07] <mwhudson> it still caches files-changed info and the revno graph to disk
[19:07] <mkanat> Oh, right, files changed.
[19:08] <mwhudson> (quite possibly caching files-changed info with 2a branches isn't needed)
[19:08] <mwhudson> mkanat: well, revno -> revid and revid -> revno
[19:08] <mwhudson> mkanat: and a few other things, tbh
[19:08] <mkanat> Ah, yeah, both ways.
[19:09] <mwhudson> mkanat: look in history.py, the uses aren't hard to find
[19:09]  * mkanat nods.
[19:10] <mwhudson> mkanat: in particular i have no idea what get_merge_point_list is trying to do :-)
[19:11] <lifeless> MvG: thanks
[19:11] <mkanat> It seems like a lot of what we want to do really should be in bzr or in some plugin.
[19:12] <mkanat> Though I can understand some cases where it's more appropriate for it to be in loggerhead.
[19:13] <mkanat> mwhudson: I wonder if some of this is a holdover from hgweb.
[19:14] <mkanat> mwhudson: BTW, have there been any more hangs with codebrowse? And is it actually still leaking memory?
[19:17] <mwhudson> mkanat: it might well be hgweb hangover, yes
[19:18] <mkanat> mwhudson: I think what I'll do is just try to remove the revision cache and then do some profiling, and see which of the slow code paths are actually necessary..
[19:18] <mwhudson> mkanat: seems reasonable
[19:19] <lifeless> mkanat: excellent
[19:19] <lifeless> mkanat: its been on the 'would be nice' for some time
[19:24] <mwhudson> mkanat: it does seem the loggerhead is hanging much less now, so that's good news
[19:24] <mkanat> mwhudson: Cool. I haven't seen another hang reported in the log since the 19th.
[19:24] <mkanat> I mean, in the bug.
[19:25] <mwhudson> nothing in the incident log either
[19:26] <mkanat> mwhudson: Cool.
[19:26] <mkanat> mwhudson: What about the memory usage? I couldn't really reproduce a leak after about 10 hours of trying, the other day.
[19:26] <mwhudson> it's using 1.2 gigs, which is a lot i guess but not crazy
[19:26] <mkanat> Hmm. That does seem like a lot, though.
[19:26] <mkanat> On my system it only uses about 300m.
[19:27] <mkanat> I could make it grow to 1.5GB briefly (annotate a huge file) but it would shrink again.
[19:27] <mkanat> mwhudson: That's 1.2B RSS?
[19:27] <mkanat> *GB
[19:27] <mwhudson> mkanat: yeah, 1.5 gig VIRT
[19:28] <mkanat> Okay.
[19:28] <mkanat> I'd be interested to know if that's growing or if it's just huge on launchpad for some reason.
[19:28] <mwhudson> mkanat: i bet your loggerhead doesn't have 200k potential branches to look at :-)
[19:28] <mkanat> mwhudson: Yeah, that's probably a lot of it.
[19:28] <mkanat> mwhudson: The most I tested with was 50 branches.
[19:30] <mkanat> Okay, I'm off to lunch.
[19:30] <mkanat> BBIAB.
[19:42]  * gerard_ is back
[20:35] <devmod> Peng, coming back to my question if I had a workflow "repo - (trunk , branches - (fix2blah, fix3blah))" Would I want to have trees or not?
[20:36] <rubbs> devmod: on your server, if you don't actaully do the work on it, wouldn't need trees.
[20:36] <rubbs> when you branch from them to your local machine, it would auto matically create the trees for you
[20:36] <rubbs> automatically*
[20:36] <devmod> ohhh i get it now.. i thought it talked about how the repo behaved in general
[20:37] <luks> it does
[20:37] <rubbs> no it doesnt
[20:37] <devmod> i mean it doesnt apply to users
[20:37] <luks> the server repo is different from the local one
[20:37] <rubbs> right, a server repo is usually created with the "--no-trees" option
[20:38] <rubbs> but your local branches are really copies of that repo
[20:38] <rubbs> but with trees
[20:38] <devmod> got it
[20:38] <rubbs> so when I branch from lp:bzr I get a working tree of bzr, but the server doesn't have a working tree. just the repo's history
[20:38] <rubbs> cool
[20:39] <luks> (for some workflows you might want to have non-tree branches also locally, but that's probably too confusing for now :))
[20:40] <devmod> so on this doc, http://doc.bazaar.canonical.com/bzr.2.0/downloads/pdf-en/bzr-en-tutorial-centralized.pdf, when they talk about optimization do they refer to no-trees or trees
[20:40] <devmod> "As an optimization, it is possible for related branches to combine their storage needs so
[20:40] <devmod> that you do not need to copy around all of this history information whenever you create a new branch."
[20:40] <luks> no
[20:40] <devmod> % bzr init-repo --trees ~
[20:40] <luks> it means that they share the same repository
[20:41] <luks> which means that it will be stored only once if the branches have common history
[20:41] <devmod> ok which has nothing to do with trees
[20:41] <luks> correct
[20:41] <luks> as Peng said, you can very easily remove or re-create the tree
[20:41] <devmod> thanks
[20:41] <devmod> yes
[20:41] <luks> with bzr remove-tree and bzr checkout .
[20:42] <luks> so you don't need to worry about that too much
[20:42] <devmod> are there any advantages having a dedicated server vs using ssh?
[20:42] <rubbs> yes
[20:42] <luks> most people are using bzr+ssh
[20:42] <luks> so ssh with bzr remotelly installed (as a command line app)
[20:42] <rubbs> so, it doesn't have to dedicated (in that it's the only thing running) but using bzr+ssh will cause less network round trips
[20:43] <rubbs> it's "smarter" so it will cause faster checkouts/branches
[20:44] <devmod> i see
[20:46] <devmod> i was also reading http://wiki.bazaar.canonical.com/SharedRepositoryLayouts?highlight=%28repo%29|%28shared%29#nested-style-project-branch-sub-branch
[20:46] <devmod> in which they recommended having a separated repo for each project instead of a single repo containing all projects
[20:46] <devmod> can u elaborate on why is that?
[20:47] <rubbs> well, there is a few reasons
[20:48] <rubbs> one, is just organizational, if you have a project, having a separate dir is just easier to "conseptualize" but this is the least important reason...
[20:48] <rubbs> the big reason is that when you create a shared repo, all the history and meta data is stored in the shared repo.
[20:49] <rubbs> this means that if you have two different (unrelated) projects sharing a repo, you get lots of inter-mixed data in the shared repo
[20:49] <rubbs> this makes that repo ineffiecient
[20:50] <rubbs> The more "similar" the contents of that repo is the more efficient (space and speed) it will be
[20:51] <rubbs> so that means you can keep all your task branches and stuff in the same repo, but if you have a project for your web stuff, and you have a project for client stuff with totally different histories and directions of development, its best to keep those seperatied
[20:51] <rubbs> separated*
[20:51] <devmod> ohh i see ok makes sense
[20:52] <rubbs> but if you have a project that as sub projects that share a lot in common, then you can keep them under the same repo (ie. Core web site and sister sites that share a lot of code)
[20:54] <lifeless> it doesn't really make a lot of difference for most things
[20:54] <rubbs> true.
[20:54] <rubbs> just the more divergent your projects get under the same repo, the bigger that repo becomes.
[20:54] <lifeless> same as two repos :P
[20:55] <rubbs> I had a problem when I commited some history of an unrelated project in a shared repo, and then tossed out that project
[20:55] <rubbs> my repo is still that much bigger, but I can't delete it because my other (good) history is still intermixed
[20:55] <lifeless> you could implement the gc command for us ;)
[20:56] <rubbs> gc?
[20:56] <lifeless> garbage collect
[20:56] <rubbs> ah,
[20:56] <devmod> haha
[20:56] <rubbs> I'm not much of a developer
[20:57] <rubbs> I mostly write the docs... although I haven't contributed too much lately
[20:57]  * rubbs looks down in shame
[20:57] <devmod> so as the repo increase in size, the slower it will get u say?
[20:57] <rubbs> well. yes and no
[20:57] <rubbs> most operations would be fine, especially if you still have a local copy.
[20:58] <rubbs> when you have a local copy, a pull would only have to pull the difference rather than the whole ting
[20:58] <rubbs> thin*
[20:58] <rubbs> thing* BAH
[20:58] <rubbs> but things like bzr log will eventually take longer... as your repo grows. This is aproblem with all VCS's though
[21:00] <rubbs> I'm not intimately aware of everything that is affected by large repos in the performance area. But things that have to go through the whole history and meta data will take longer when there are more things to go through.
[21:00] <lifeless> rubbs: things that walk history won't be affected, only things that scan entire indices
[21:01] <rubbs> ah, I stand corrected. Thank you
[21:01] <lifeless> we get about a log200 scaling factor in our indices
[21:03] <devmod> ohh ok great
[21:03] <lifeless> so you need to increase the size by about 200 times to add another IO to index lookps.
[21:05] <devmod> random question.. how do u pronounce bazaar ?
[21:07] <devmod> nevermind
[21:07] <rubbs> http://www.merriam-webster.com/dictionary/BAZAAR
[21:08] <rubbs> oh, damn
[21:19]  * mkanat is back.
[21:20] <mkanat> mwhudson: So it's at 1.2GB, and it's been up for like, weeks now? I'd say that means there's no memory leak.
[21:20] <mwhudson> mkanat: process has been running since the 30th
[21:20] <mkanat> mwhudson: Oh.
[21:20] <mwhudson> mkanat: certainly, i don't think it's a serious problem
[21:20] <mwhudson> mkanat: it gets restarted every so often by logrotate
[21:21] <mkanat> Ahh.
[21:21] <lifeless> it got restarted when it shat itself last week
[21:21] <lifeless> with the race condition in bzrlib
[21:22] <mkanat> lifeless: Oh, is that what's hard-hanging it? Or was it just a crash?
[21:23] <mwhudson> that was a 500 on every page
[21:23] <mwhudson> (ish)
[21:23] <mkanat> Oh, okay.
[21:25] <lifeless> mkanat: https://launchpad.net/bugs/514090
[21:25] <mkanat> lifeless: Ohh, yes, I've seen that.
[21:42] <RenatoSilva> bzr commit --fixes=lp:123 --causes=lp:456, has anyone ever thought about that? :P
[21:46] <Peng> Heh. Does anybody want credit for that? :D
[21:51] <mkanat> And if you know in advance, frequently enough to need the feature, that you're causing a regression, then maybe you should take a different tack on development.... :-D
[22:05] <RenatoSilva> maybe ubuntu would use --causes a lot :D
[22:16] <RAOF> RenatoSilva: Even we tend not to upload things we know are broken :P
[22:30] <Kamping_Kaiser> blink. nested merge conflicts? gnarly.
[22:35] <EdWyse_Office> I don't suppose there's an option to limit the bandwidth usage is there? People are getting annoyed with me for filling the pipe while pulling a humongous repo.
[22:36] <bob2> you could use the 'trickle' command
[22:37] <EdWyse_Office> I'd never run across that one before. Thanks!
[22:38] <EdWyse_Office> The last time I even cared to do this was back on dialup. :D
[22:46] <Kamping_Kaiser> http://paste.debian.net/58496/ can someone suggest a solution to this conflicts situation? (bzr resolve says no conflicts to rsolve, but status lists 3 files)
[22:51] <dvheumen> Hi ... I think I found a bug, but to confirm I'd like an answer to the following question: Are negative revision numbers allowed?
[22:55] <mzz> I think I saw those used somewhere.
[22:55] <mzz> but I'm hoping I was wrong.
[22:55] <Kilroo> If I'm not mistaken, in most of the commands where you can specify revision numbers, a negative number means count backward from the current revision.
[22:56] <dvheumen> yeah, that's right, now that you mention it, I knew that specific use case. I'm now talking about negative revision numbers in the log :P
[22:57] <mwhudson> dvheumen: if that happens, reconcile will fix it
[22:57] <mwhudson> (we don't know why the branch sometimes gets into this state)
[22:57] <Kilroo> That I don't know about. I've been studying dvcs a lot but have had so little chance to use it that I haven't looked at a log yet.
[22:57] <dvheumen> mwhudson, Is there some sort of a bug report about that? because the funny thing is ... I only get negative numbers if I don't expand the merge revisions with -n0
[22:58] <mwhudson> dvheumen: i don't know
[22:58] <mwhudson> dvheumen: yeah, that bit's expected
[22:58] <mwhudson> for boring reasons that users shouldn't have to care about
[22:58] <dvheumen> you said it's something with reconcile, I'll search for that
[22:58] <mwhudson> dvheumen: reconcile will fix the branch
[22:58] <dvheumen> tnx, didn't know that command :)
[22:58] <idnar> you used to be able to cause a negative revision number by committing a merge as the first revision in a branch; but I think that doesn't happen anymore
[22:58] <mwhudson> (it's a very simple corruption of the branch metadata)
[22:58] <mzz> I vaguely recall bzr-builddeb's import-dsc using them.
[22:59]  * mzz wanders off to check
[22:59] <dvheumen> idnar, that's exactly what happened with 2.0.4
[22:59] <mwhudson> idnar: ah yes, that rings a bell
[22:59] <Kilroo> I should study the How Stuff Works more than I have
[22:59] <idnar> I had a branch like that on Launchpad once upon a time, and nothing worked right :P
[22:59] <idnar> dvheumen: I guess it's not fixed, then
[22:59] <mzz> hmm, I don't see it now.
[23:00] <dvheumen> idnar, apparently :P I'm trying to find the corresponding bug report now
[23:01] <Kilroo> I had this kinda screwy idea the other day.
[23:03] <Kilroo> It occurred to me to wonder whether one could write a bzr plugin that would store a content hash similar (but not really exactly analogous) to a git revision ID as metadata, and whether there would be any advantages to doing it.
[23:04] <Kilroo> The answers I came up with for myself at the time were "maybe" and "probably not" respectively.
[23:05] <dvheumen> Kilroo, sounds like some real deep thought :P
[23:07] <Kilroo> Yeah, well, it was 2am and I was falling asleep.
[23:08] <dvheumen> okay, there is a bug report on this issue, I've subscribed to it, so this makes it this tiny little bit more important :)
[23:09] <dvheumen> Kilroo, well, aren't all the best ideas late at night?
[23:09] <Kilroo> Sometimes. Unfortunately it's often difficult to think about them then.'
[23:09] <Kilroo> At least for me.
[23:10] <dvheumen> I'm trying to think of an advantage for your idea ... I haven't found one ... but then again, I'm not at all familiar with git, I just know the basic ideas.
[23:11] <EdWyse_Office> It might be nice for lp or redmine so they could show the whole tree on a --no-trees repo
[23:12] <EdWyse_Office> maybe?
[23:13] <Kilroo> Well, I don't -think- it would help with tracking code moving from one file to another, but I thought it might theoretically be possible to get some of the advantages of some of git's operations that are fast because all they have to do is compare hashes.
[23:13] <Kilroo> I couldn't think of anything that seemed like a convenient way to get that benefit though.
[23:17] <Kilroo> I do think I've determined that the reason bzr can't branch from two of our subversion repos at work has to do with a single file, not the entire revision, though
[23:18] <Kilroo> haven't determined which file, but I kinda got a clue when I couldn't put my local mirror of one of the servers that's still just on ftp into bzr because of a 16GB log file.
[23:19] <Kilroo> Then I spent a few minutes being afraid of the 16GB log file.