I'm fine with option 2, lets get this done.
On Tue, Jun 4, 2013 at 10:51 AM, Filip Maj <f...@adobe.com> wrote: > SGTM > > On 6/4/13 10:44 AM, "Braden Shepherdson" <bra...@chromium.org> wrote: > > >I did some experimenting on my local disk to see what would happen if we > >did go with option 2. It's pretty sane and safe: > > > >- If someone re-clones as requested, all is well. > > > >- If someone doesn't re-clone, then there are two cases: > > - Merging the old local master against the new remote master: Massive > >conflicts; should remind people that there was something about this repo. > > - Pushing the old local master to the new remote master: Fails because > >it's not a fast-forward merge. > > > >So that's pretty okay. It would take real effort to resolve these > >conflicts > >and try to push the result. No one is likely to do that, and they still > >can't cause lasting damage unless it's a committer. All the committers are > >aware of this problem, and getting that huge conflict is likely to remind > >them of this. > > > >Braden > > > > > >On Mon, Jun 3, 2013 at 1:16 PM, Filip Maj <f...@adobe.com> wrote: > > > >> Thanks for taking that on Braden > >> > >> On 6/3/13 10:15 AM, "Braden Shepherdson" <bra...@chromium.org> wrote: > >> > >> >I've bumped the INFRA ticket[1], I'll keep this thread up to date with > >>any > >> >changes there. > >> > > >> >Braden > >> > > >> > > >> >On Sat, Jun 1, 2013 at 6:36 PM, Filip Maj <f...@adobe.com> wrote: > >> > > >> >> Option 2! Let's move forward and get this sorted. > >> >> > >> >> On 5/29/13 1:17 PM, "Jesse MacFadyen" <purplecabb...@gmail.com> > >>wrote: > >> >> > >> >> >I am liking option 2 now. Seems easy enough. > >> >> > > >> >> >Cheers, > >> >> > Jesse > >> >> > > >> >> >Sent from my iPhone5 > >> >> > > >> >> >On 2013-05-29, at 9:06 AM, Michal Mocny <mmo...@chromium.org> > wrote: > >> >> > > >> >> >For the record, I don't mind a reclone, so long as there are no > >> >>negative > >> >> >repercussions, ie, (1) its not called master2 and (2) there is no > >>way > >> >>for > >> >> >anyone to shoot us in the foot if they forget to re-clone properly > >>and > >> >> >start doing merges/pushes/whatever. > >> >> > > >> >> >So, if (2) fails loudly thats my preference. Otherwise, I don't > >>mind > >> >>(4) > >> >> >but others might, and I hate (3) more than (1) :) > >> >> > > >> >> >-Michal > >> >> > > >> >> > > >> >> >On Wed, May 29, 2013 at 11:51 AM, Braden Shepherdson > >> >> ><bra...@chromium.org>wrote: > >> >> > > >> >> >> This would be an example of "continuing to pay the price for not > >> >>being > >> >> >> willing to re-clone 1, 3, 6, 12 months ago." We can avoid all of > >>that > >> >> >> nonsense with three lines. > >> >> >> > >> >> >> Braden > >> >> >> > >> >> >> > >> >> >> On Wed, May 29, 2013 at 11:38 AM, Michal Mocny > >><mmo...@chromium.org> > >> >> >> wrote: > >> >> >> > >> >> >>> 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. > >> >> >> > >> >> > >> >> > >> > >> > >