[01:47] <dust_o> i'm in a pickle. i did a commit, for the sake of example, to a revision 2. then did a push. then discovered i would like to revert to previous revision 1. so did a 'bzr uncommit' and a 'bzr revert'. however, launchpad still shows revision 2 for the project. if i try to then add a new revision 2, bzr complains about divergent branch. cannot figure out how to unpickle myself.
[01:49] <mwhudson> dust_o: push --overwrite
[01:50] <dust_o> thank you so much!
[01:51] <dust_o> oh man. can i buy you a pizza or something?
[01:52] <mwhudson> heh, i can cope :)
[01:53] <dust_o> well, thank you. was a'feared for my job 8) hehe
[06:56] <maxb> Is there anyone who actually understands builddeb's DistributionBranch?
[06:56] <maxb> I'm currently annoyed with it because its comments apparently lie
[07:01] <jelmer> maxb: hi
[07:01] <maxb> hi
[07:02] <jelmer> maxb: sure, I have a vague idea of what it does
[07:02] <maxb> So, DB claims :
[07:02] <maxb>         You can only import packages on to the DistributionBranch
[07:02] <maxb>         if both tree and pristine_upstream_tree are provided.
[07:02] <maxb> But the main UDD codepath doesn't do that, and I'd venture to say it generally imports packages :-)
[07:04] <jelmer> yeah, the pristine tree is no longer strictly necessary IIRC
[07:06] <maxb> The other thing I'm having problems with is understanding why various callsites pass 1 branch / 2 branches / 2 branches + 1 tree / 2 branches + 2 trees
[07:06] <maxb> "Tree or not" makes sense - am I going to be importing things
[07:07] <maxb> Also, the only non-test callsite which passes 2 branches which aren't the same branch object appears to be UDD's check_same
[07:08] <jelmer> maxb: the two branches are the packaging brnach and the pristine source branch
[07:08] <jelmer> which often aren't the same thing
[07:08] <maxb> They appear to be the same thing in every callsite I've found apart from check_same
[07:10] <maxb> And in that callsite they're merely a scratch empty branch in both cases
[07:14] <jelmer> the tip of the pristine tar branch can matter in some cases
[07:15] <maxb> *ah* pristine_upstream_tree sometimes gets assigned via extract_upstream_tree not via the DB __init__
[07:16] <maxb> although when that happens, pristine_upstream_source doesn't get updated equivalently
[07:20] <maxb> Oh, except PristineTarSource genuinely doesn't use its self.tree at all
[07:21] <maxb> I wonder if we could remove that, or if it's immutable API at this point
[07:22] <jelmer> maxb: we can't, not without a lot of refactoring
[07:22] <jelmer> maxb: I've tried in the past
[07:23] <maxb> Refactoring in which projects?
[07:23] <jelmer> bzr-builddeb
[07:24] <maxb> Oh, you mean because its needed as part of the contract of an UpstreamSource, but not otherwise?
[07:25] <maxb> no, that doesn't make sense
[07:26] <jelmer> hmm, actually - it looks like my changes actually landed
[07:26] <jelmer> so I think it can indeed go
[07:29]  * maxb asks the tests what they think :-)
[07:31] <maxb> I wonder if DistributionBranch is used anywhere but builddeb and udd - i.e. what leeway we have in API changes
[07:31] <maxb> builddeb's tests pass with PristineTarSource's tree removed
[07:33] <maxb> To double back to an earlier point: "the two branches are the packaging brnach and the pristine source branch which often aren't the same thing" - do you know of an example?
[07:40] <maxb> oh this is getting horrit
[07:40] <maxb> After an extract_upstream_tree, DB.pristine_upstream_branch has changed into the result of sprouting from itself
[07:42] <maxb> I wonder if I could make it so that DistributionBranch __init__ took a single mandatory branch and a single optional tree ONLY
[07:58] <maxb> Hmm. It almost looks as if a tree.lock_write() and a branch.lock_write() are conflicting
[07:58] <maxb> But for that to happen, the tree would have to be pointing at the same on-disk branch via a different Branch object, wouldn't it?
[08:00] <maxb> Time to set up a staging importer with some extra logging, I guess
[08:02] <maxb>         # Should we just dump the upstream part on whatever is currently
[08:02] <maxb>         # there, or try and pull all of the other upstream versions
[08:02] <maxb>         # from lesser branches first? For now we'll just dump it on.
[08:02] <maxb>         # TODO: this method needs a lot of work for when we will make
[08:02] <maxb>         # the branches writeable by others.
[08:02] <maxb> lovely
[08:04] <mgz> morning
[08:15] <jam> mgz: /wave
[15:57] <mgz> who's handling contributor agreements for bzr atm?
[17:16] <fullermd> NFC.  I'd guess it would be either jam or jam would know, so...
[17:18] <mgz> I shall squish the jam tomorrow.
[21:25] <david0rk> Hi all
[21:26] <jelmer> hi david0rk
[21:26] <david0rk> Hi Jelmer
[21:27] <david0rk> are you familiar with bazaar?
[21:42] <jelmer> david0rk: sure
[21:48] <david0rk> I've got launchpad setup (account, rsa_pubkey, ssh key)  and i've set a folder on my pc as a bazaar tree.
[21:48] <david0rk> Now I just need to figure out how to get my sourcecode in bazaar, and push to launchpad.
[22:22] <david0rk> nevermind.  I figured out using a bit of common sense and tinkering.   BAZAAR IS AWESOME!