Can we go with (1) and still keep master2 around (perhaps rename it to
something sensible) so that we can still get full history but with one
level of indirection:
- The mega commit could have a commit message such as "THIS WAS A HACKY
MERGE, FOR REAL HISTORY LOOK IN THE OLD_FUTURE BRANCH"
- When you bit blame and see that as the commit responsible, you know you
have to git blame again in the other branch

-Michal


On Wed, May 29, 2013 at 11:22 AM, Ian Clelland <iclell...@google.com> wrote:

> SInce 2 and 3 both require re-cloning the repository, I'd much rather go
> with 2, and rename the branches appropriately.
>
>
> On Wed, May 29, 2013 at 11:11 AM, Brian LeRoux <b...@brian.io> wrote:
>
> > ya the rename easiest
> >
> > On Wed, May 29, 2013 at 8:00 AM, Braden Shepherdson <bra...@chromium.org
> >
> > wrote:
> > > I'll keep this thread up to date with INFRA's responses.
> > >
> > > I asked INFRA about options and their implications. These are the four
> > > options I described, after I was informed that our original request
> would
> > > actually require everyone to re-clone the repo.
> > >
> > >  1. Check out master, delete all the files, copy in all the files from
> > > master2, check them all in. This keep the branching the same, and no
> one
> > > would need to re-clone. But it also makes the history nearly useless
> > before
> > > that point. I dislike this option, but it's there.
> > >
> > > 2. Rename master to old_master or similar, and rename master2 to
> master.
> > > Since everyone is re-cloning anyway, this is possible. Keeps the name
> > > consistent. This might be nasty if someone tries to merge between an
> old
> > > master and the new master. Unless git can notice that things are wrong
> > and
> > > they should re-clone.
> > >
> > > 3. My original request to move HEAD. Exposes the master2 name and
> > requires
> > > everyone to use it. Still requires a re-clone.
> > >
> > > 4. Abandon the repository and recreate it under a new name, pushing
> only
> > > master2 as the new master. Requires a re-clone and changing the name.
> > > Probably not, but it's an option.
> > >
> > > What do people think? I'm most partial to 2, since it preserves the
> > master
> > > name and it's hard to avoid recloning.
> > >
> > > Braden
> > >
> > >
> > > On Tue, May 28, 2013 at 8:07 PM, Jesse <purplecabb...@gmail.com>
> wrote:
> > >
> > >> What is the resolution on this?
> > >>
> > >> My opinion: History is in the past, move on.
> > >> I think it's okay if it is history is messy, or even if has a few
> > duplicate
> > >> commits.  Tangles and all.
> > >>
> > >>
> > >> @purplecabbage
> > >> risingj.com
> > >>
> > >>
> > >> On Fri, May 24, 2013 at 7:05 AM, Braden Shepherdson <
> > bra...@chromium.org
> > >> >wrote:
> > >>
> > >> > I think so, but only if we're prepared to keep the tangled history
> and
> > >> > duplicate about 30 commits. Several mistakes were made with the
> > branching
> > >> > and rebasing of things on master, and there's a lot of duplication
> and
> > >> > confusion in the history.
> > >> >
> > >> > When you get in this morning, I can show you the whiteboard diagram
> of
> > >> the
> > >> > long version above, and then you can look at the histories of master
> > and
> > >> > master2 on GitX. I think you'll agree it's worth moving forward with
> > >> > master2.
> > >> >
> > >> > Braden
> > >> >
> > >> >
> > >> > On Thu, May 23, 2013 at 11:16 PM, Andrew Grieve <
> agri...@chromium.org
> > >> > >wrote:
> > >> >
> > >> > > Could we merge master2 into master with:
> > >> > >
> > >> > > git merge --strategy-option=theirs master2
> > >> > >
> > >> > >
> > >> > > On Thu, May 23, 2013 at 6:19 PM, Braden Shepherdson <
> > >> bra...@chromium.org
> > >> > > >wrote:
> > >> > >
> > >> > > > tl;dr version: cordova-cli now has a master2 branch that should
> be
> > >> > > treated
> > >> > > > as master going forward. DO NOT use master or future anymore.
> > >> > > >
> > >> > > > Short version:
> > >> > > >
> > >> > > > - I tried to merge future and master.
> > >> > > > - I couldn't because the history is a train wreck. The morbidly
> > >> curious
> > >> > > > should see [2].
> > >> > > > - Ian and I dug through the history, and played CSI until we
> > figured
> > >> > out
> > >> > > > what had happened, and found a sensible way to reconstruct a
> sane
> > >> > master
> > >> > > > branch.
> > >> > > > - This branch merged fairly neatly with future.
> > >> > > > - It is now committed as the new branch master2.
> > >> > > > - The original master branch is deprecated.
> > >> > > > - I have filed an INFRA ticket[1] to get them to point HEAD at
> > >> master2,
> > >> > > and
> > >> > > > delete the old master branch.
> > >> > > > - Use master2 from now on. DO NOT touch the old master or future
> > >> > branches
> > >> > > > anymore.
> > >> > > >
> > >> > > > I'll keep the list updated on the state of the INFRA ticket.
> > >> > > >
> > >> > > > Braden
> > >> > > >
> > >> > > > [1] https://issues.apache.org/jira/browse/INFRA-6302
> > >> > > >
> > >> > > > [2] Long version:
> > >> > > >
> > >> > > > A long time ago, I forked cli's master to create future. I
> > committed
> > >> a
> > >> > > > half-dozen changes or so. Sometime later, a 2.7.x branch was
> > forked
> > >> > /from
> > >> > > > future/. Several changes were made here. Later it was merged
> back
> > in,
> > >> > /to
> > >> > > > master/. The same changes were later rebased onto master and
> > >> committed
> > >> > > > again, duplicating them. Then this branch was merged with master
> > >> again,
> > >> > > > creating a /third/ copy of the changes originally from this
> 2.7.x
> > >> > branch.
> > >> > > >
> > >> > > > Meanwhile, some of the changes from future were reverted by hand
> > (as
> > >> > > > opposed to with git revert) in master.
> > >> > > >
> > >> > > > Finally some new changes were made to future and master. It
> looks,
> > >> > > > according to git, like there are only these changes on the
> future
> > >> > branch,
> > >> > > > since the earlier ones were merged by accident some time ago.
> > >> > > >
> > >> > > > When I came along and tried to merge master and future in either
> > >> > > direction,
> > >> > > > or rebase in either direction, those older future changes stayed
> > >> > deleted,
> > >> > > > because according to git they were made on the same branch.
> > >> > > >
> > >> > > > Moral of the story: Don't take a branch off master (like
> future),
> > >> fork
> > >> > > it,
> > >> > > > commit to it, and then merge it back to master. That's what
> > started
> > >> > most
> > >> > > of
> > >> > > > the insanity, because now future is partially merged into master
> > even
> > >> > > > though it's not being treated that way.
> > >> > > >
> > >> > > > I need a drink.
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
>

Reply via email to