[15:52] <throstur> if I check out a bzr repository inside a folder which is in a bzr repository, how do I say "bzr update the repository I just checked out, not the `big one`" ?
[15:53] <LeoNerd> Uhhm... "inside" ?
[15:53] <throstur> imagine /foo/ is a bzr repo and CWD is /foo/bar/baz
[15:53] <throstur> and I check out a different bzr repository there
[15:53] <LeoNerd> Do you mean repository? I suspect you don't.
[15:53] <LeoNerd> You probably mean branch
[15:54] <throstur> I mean repository
[15:54] <LeoNerd> A "repository" is not a thing that one checks out.
[15:54] <LeoNerd> Branches are checked out
[15:55] <throstur> ok, whatever, it's something I 'bzr export'ed
[15:55] <LeoNerd> Uhm.
[15:55] <throstur> but now I want to bzr commit it
[15:55] <throstur> the changes I made
[15:55] <LeoNerd> OK well if it's exported, the exported copy lacks all of the metadata
[15:55] <LeoNerd> That being the point of an export :)
[15:55] <throstur> Ah, okay, I see
[15:55] <LeoNerd> 'bzr export' creates a snapshot of the controlled files at some moment in time, minus all the control information.
[15:55] <throstur> ahh, okay
[15:55] <LeoNerd> Useful for making release tarballs and such
[15:56] <throstur> okay, then I'm thinking about this the wrong way
[15:59] <LeoNerd> If you have some edited files, you could copy them into place over a new checkout, and then you'll see the differences by 'bzr diff', and you can commit as usual
[16:01] <throstur> yeah but then I have to actually check out the whole thing with metadata
[16:02] <throstur> I'm kind of afraid of doing that, last time I repacked I think I truncated some 30 GB away
[16:11] <throstur> or maybe that was with removing obsolete packs, I'll see what the boss wants
[17:39] <throstur> ok, so what if I want to check out the repository and update a single file?
[17:40] <LeoNerd> Surely: checkout, update, commit...?
[17:41] <LeoNerd> But again: it's "branches" that one checks out, not repositories
[17:41] <throstur> but how do I make sure I'm working on the right branch or whatever?
[17:41] <LeoNerd> By the URL you check out
[17:42] <LeoNerd> URLs specify a branch
[17:42] <throstur> ok, so normally I do "bzr export foo -r revno:-1 bzr://url.goes.here/path/to/repo"
[17:43] <throstur> instead I would replace export with checkout?
[17:43] <LeoNerd> bzr checkout bzr://....
[17:43] <throstur> (and leave out -r revno)
[17:43] <LeoNerd> Again, that's not a "repo". that's a branch
[17:43] <LeoNerd> You gave it a path to a *branch*
[17:43] <throstur> right
[17:43] <LeoNerd> If you happen to have named it using the word "repo" then that's just a bit confusing. ;) It is a branch.
[17:43] <throstur> roger that
[17:46] <LeoNerd> (the distinction lies in that normally, when you create a new branch somewhere, bzr will create a repository at the same location to store it in. So *normally* it's correct to say that both the branch and the repository live there)
[17:46] <LeoNerd> But nonetheless, it is the branch that almost all operations act on
[17:47] <throstur> so how do I specify that I'm working on THIS repository and branch and not the one that starts in ../../..
[17:49] <LeoNerd> Hrm?
[17:49] <LeoNerd> Branches don't nest
[17:49] <LeoNerd> If there's a branch at that location, then that's the branch. Period.
[17:50] <LeoNerd> It's not like e.g. in SVN, wherein you can check out any subtree of the (SVN) repository
[17:50] <LeoNerd> In bzr, if you've checked out the branch, then the branch arrives as one big atomic lump, with subdirectory structure of files. But that's still one atomic *thing* as far as bzr is concerned
[17:55] <throstur> does checkout always take much longer than export?
[17:56] <LeoNerd> It has to create the entire local copy of the branch in *addition* to a local snapshot of the files, so yes. that's expected
[17:56] <throstur> but LeoNerd, I've already checked out a branch. If I type bzr update, I start updating something. Now I type bzr checkout bzr://... and it starts checking something else out. Now if I type bzr update, what am I updating?
[17:57] <LeoNerd> Uhm..
[17:57] <throstur> is it not possible to push a single file to be merged remotely?
[17:57] <LeoNerd> bzr checkout   creates a branch new set of things locally on your disk
[17:57] <LeoNerd> You'd usually do that into a brand new empty directory
[17:57] <LeoNerd> *brand new
[17:57] <throstur> like I'm literally on the 4th GB fetching revisions and I'm trying to add a 4kb file
[17:58] <LeoNerd> If you already had it checked out, why are you checking it out a second time? :)
[17:58] <throstur> it was only exported
 but LeoNerd, I've already checked out a branch. If I type bzr update, I start updating something. Now I type bzr checkout bzr://...  <==  I see "checked out" at the beginning
[17:58] <LeoNerd> An export is not a checkout
[17:58] <throstur> yes, that's not the same branch
[17:58] <throstur> or repo
[17:59] <LeoNerd> Again: an export is a snapshot of the current content, minus all of the control information and any history and any metadata sufficient to create and commit new revisions
[17:59] <LeoNerd> If you want to create new revisions (which from "and I'm trying to add a 4kb file" it sounds like you do), then you will need a checkout. Not an export
[18:00] <throstur> I'm on server A that has repository A checked out in folder A. I'm actually in folder A/foo/bar/baz and if I bzr update I update *something* (in this case, definitely repo A). NOW I check out repository B (whatever branch I don't know there is only one branch afaiac) and I want to work with B, but if I type bzr update, *something* will get updated, but I have no idea what
[18:00] <LeoNerd> OK.. so if  bzr update  can do something,. then you do have a local checkout
[18:00] <LeoNerd> Just typ   bzr info   to see what you have
[18:01] <throstur> ah okay
[18:01] <throstur> so if I'm writing this as a part of a library (don't ask why) I can just parse bzr info for "branch root: ." to ensure I'm in the *right* bracnh
[18:02] <throstur> or rather, that i'm working in the bzr repository that I want to be working in, and not the one that I shouldn't be touching
[18:02] <throstur> or I could check the bound to branch thing... that might be smarter
[18:02] <LeoNerd> You could. (though also be aware of bzrlib, if you're writing this in python, as using the lib is nicer than trying to parse command output intended for humans)
[18:02] <throstur> gosh though... a full checkout... I'm only up to 6 GB :(
[18:03] <LeoNerd> You might be able to get away with a lightweight checkout. I forget quite what those involve and what they lack
[18:03] <throstur> does bzr lib work for python 2.6.6?
[18:03] <LeoNerd> I'd hope so
[18:04] <throstur> oh yeah
[18:04] <throstur> I remember that, no history
[18:04] <throstur> it's like 20Gb smaller
[18:04] <throstur> thanks for reminding me :D
[18:06] <throstur> wow that took so much less time, 1.6 GB and almost done
[18:06] <LeoNerd> History isn't cheap ;)
[18:29] <throstur> looks like when I commit from python it doesn't work but when I commit from bash it works
[18:30] <throstur> from python it tries to commit to "the other" repo
[18:30] <throstur> actually I'm wrong, it just things the file isn't versioned
[18:30] <throstur> but it is
[18:31] <throstur> oh lol
[18:31] <throstur> it's because I chdir one dir up
[18:31] <throstur> to be in the right repo
[18:32] <throstur> how do I bzr commit to ./this_thing instead of cd this_thing bzr commit ../path/to/file
[18:53] <throstur> thx4the help I g2g got a workaround going, will see if it breaks something overnight