← Back to team overview

launchpad-users team mailing list archive

Re: Request from Leo's owner to fix the leo-editor trunk (or trunk2) branch

 

> On 12/22/2011 11:22 AM, Edward K. Ream wrote:
> > Hello all,
> > 
> > I am Edward Ream, the owner of the Leo project. Launchpad has been great for
> > the Leo project, but recently we have run into problems due to a
> > mistaken commit of a huge file.  Deleting that file (bzr delete) has
> > not helped.
> > 
> > Recently (yesterday?) Terry Brown (tbnorth) had an exchange (given in
> > the Post Script) regarding this problem on #bzr irc.
> > 
> > The upshot seems to be that the launchpad folk need a formal request from a
> > Leo admin in order for bzr to fix the problem.  This is the formal
> > request :-)  BTW, Terry is now also an admin of the leo-editor-team.
> > 
> > Terry understands the details far better than I.  Please let me know
> > if there is anything Terry or I can do.

>     To: "Edward K. Ream" <edreamleo@xxxxxxxxx>
>     From: Gary Poster <gary.poster@xxxxxxxxxxxxx>
>     Date: Thu, 22 Dec 2011 13:10:15 -0500
>     Cc: launchpad-users@xxxxxxxxxxxxxxxxxxx

>   bzr uncommit
>   (this will uncommit a single revision.  If it is a revision you will
> want later, note the message that bzr gives you: you should be able to
> use this information to easily recommit that revision later.)
>   bzr revert
>   (after the uncommit, the tree will still have the changes from the
> revision.  Doing a revert will remove them.)
> 
> Keep on doing those two commands, noting the output of bzr uncommit,
> until you have reverted the change that added the big file.
> 
> Now you can optionally add back in the desired revisions, using the
> information you got from the "bzr uncommit" commands.
> 
> Now you have a branch without the bad file.  Usr "bzr push --overwrite"
> to push the branch to Launchpad.
> 
> After these steps, the main branch will be in good shape.
> 
> Stacked branches that have the removed revisions will show there is an
> issue using
>   bzr missing

Thanks for these instructions.

I just want to double check that we understand what's going on here.

 - the bad commit was nearly 1000 commits ago, so the uncommit/revert
   process would have to be run that many times.  (the bad commit is
   only a problem for http based branching on low memory machines, so
   it hadn't caused trouble until users wanted to do that)

 - putting the 999 good commits back in the repo using info. from the
   uncommit process sounds like a huge task, maybe it can be
   automated with diffs

 - it seems that push --overwrite will work because after that is done
   the bad commit and all following commits will no longer be in the
   repo (their ID will be gone), but for the same reason other branches
   will be broken

It seems that another branch created from the damaged one does not
include the damage, specifically I created
lp:~terry-n-brown/+junk/leo_test from the original damaged branch but
leo_test can be branched over http on low mem. machines.

So it seems that if there were some way to completely purge all bzr
data from the leo-editor LP account and push fresh from a branch
elsewhere the damage might be removed without the need to reconstruct
the good commits or even change the commit IDs and break existing
branches.

Does this sound reasonable?  If so, is there a LP function to do that
purging, or would bzr push overwrite of an empty repo achieve the
desired effect?

Thanks, Terry


Follow ups