With all the use of "merge" and "rebase" here I wasn't 100% clear what we were advising. After some discussion, I think the consensus is that:
1. Rebase your branch with master (this changes only your branch, so that you apply work on top of most recent master commits) 1b. Rebase your branch with itself with -i to squash commits (to merge work into single atomic commits) 2. merge --ff-only your feature on top of master now 3. push Right? I think saying "I prefer rebase" isn't helping git noobs figure out what to rebase and that you still need a merge at the end, etc. As Andrew said, we already advice to do this on the wiki, lets stick with it. -Michal On Thu, Apr 4, 2013 at 9:03 AM, Lorin Beer <lorin.beer....@gmail.com> wrote: > the only way I know of to check is manually diff. What's weird is that I > received no merge conflict notification when I reverted Max's fix, it just > silently favoured my version of CDVCamera.h. > > > On Wed, Apr 3, 2013 at 8:25 PM, Max Woghiren <m...@google.com> wrote: > > > That crossed my mind, but I didn't know of a way offhand to determine if > > anything else was reverted. My commit's reversion was hidden away in an > > unrelated commit that was merged. > > > > > > On Wed, Apr 3, 2013 at 11:17 PM, Andrew Grieve <agri...@chromium.org> > > wrote: > > > > > Hmm, another question - Max / Lorin, have you checked if any other > > commits > > > were reverted? (is there a way to check?) > > > > > > > > > On Wed, Apr 3, 2013 at 11:08 PM, Andrew Grieve <agri...@chromium.org> > > > wrote: > > > > > > > Note that we mandate pull requests to be rebased on our wiki: > > > > http://wiki.apache.org/cordova/ContributorWorkflow > > > > And we tell committers to rebase as well here: > > > > http://wiki.apache.org/cordova/CommitterWorkflow > > > > > > > > Rebasing is safe in that if you've done it wrong, you'll get an error > > > when > > > > you try to push it. > > > > > > > > In terms of git emails, rebasing does not cause spam unless you > rebase > > a > > > > remote feature branch and then force push it. To solve this, we > should > > > > probably just not use remote feature branches on apache's git servers > > > (just > > > > use your own github for them). > > > > > > > > > > > > On Wed, Apr 3, 2013 at 4:17 PM, James Jong <wjamesj...@gmail.com> > > wrote: > > > > > > > >> I generally prefer rebasing so that I can see / choose the > individual > > > >> commits. > > > >> > > > >> -James Jong > > > >> > > > >> On Apr 3, 2013, at 2:34 PM, Lorin Beer <lorin.beer....@gmail.com> > > > wrote: > > > >> > > > >> > I'm leaning towards rebasing. I felt that rebasing was the more > > > >> dangerous > > > >> > option, due to the potential/power of changing history that is > > already > > > >> > upstream, but I find the merge commits annoying as well. It sounds > > > like > > > >> > whenever this happens, our list is going to get spammed > regardless. > > > >> > > > > >> > > > > >> > On Wed, Apr 3, 2013 at 11:24 AM, Anis KADRI <anis.ka...@gmail.com > > > > > >> wrote: > > > >> > > > > >> >> Things start to suck if everyone does it differently (some do > > merges, > > > >> some > > > >> >> do rebases). I like rebase better because it provides a clear/n > > > >> history. I > > > >> >> usually do merges because I know that most people do that as > well. > > I > > > >> would > > > >> >> like to do rebase instead but everyone else has to do that to > avoid > > > >> >> problems/conflicts. > > > >> >> > > > >> >> > > > >> >> On Wed, Apr 3, 2013 at 10:50 AM, Filip Maj <f...@adobe.com> > wrote: > > > >> >> > > > >> >>> In terms of the git notification emails, merge or rebase, > doesn't > > > >> matter. > > > >> >>> Each commit that is being merged in in the case of a merge, or > > > >> reapplied > > > >> >>> in the case of a rebase, will be sent as a notification. So we > > lose > > > >> >> either > > > >> >>> way. Woot. > > > >> >>> > > > >> >>> In the case of rebase vs merge in terms of workflow, merge drops > > all > > > >> >>> commits that are coming in from a branch as a single diff and > > > applies > > > >> >> them > > > >> >>> in one go to the top of the branch you are merging into. > Handling > > > >> >>> conflicts at this point can be overwhelming if you are dealing > > with > > > >> >>> conflicts from potentially multiple commits. > > > >> >>> > > > >> >>> With rebase, you are essentially "grafting" your branch to the > end > > > of > > > >> the > > > >> >>> branch you are rebasing. Each of your branch's commits are > > reapplied > > > >> one > > > >> >>> at a time to the end of the rebase branch. If a conflict happens > > at > > > >> any > > > >> >>> point during application of your branch's commits, one at a > time, > > > the > > > >> >>> rebase stops, and you have to resolve the conflicts. This can be > > > >> easier > > > >> >> in > > > >> >>> the sense that you have to just deal with one commit's changes > at > > a > > > >> time. > > > >> >>> The downside is if your branch has diverged drastically, you > will > > > >> >> probably > > > >> >>> be dealing with these conflicts on every commit, which can be > time > > > >> >>> consuming and long. > > > >> >>> > > > >> >>> My go-to is usually rebase, as I have a better idea of how my > > > changes > > > >> >>> modify the codebase. That said, there are times to use merge as > > > well. > > > >> >>> > > > >> >>> On 4/3/13 1:40 PM, "Lorin Beer" <lorin.beer....@gmail.com> > wrote: > > > >> >>> > > > >> >>>> hmm, I was under the impression that rebasing was more > dangerous, > > > >> I'll > > > >> >>>> reassess my workflow. > > > >> >>>> > > > >> >>>> Sorry for the trouble Max! > > > >> >>>> > > > >> >>>> > > > >> >>>> > > > >> >>>> On Wed, Apr 3, 2013 at 9:03 AM, Filip Maj <f...@adobe.com> > wrote: > > > >> >>>> > > > >> >>>> Merges are dangerous in that sense. Rebase when you can! > > > >> >>>> > > > >> >>>> On 4/3/13 11:59 AM, "Max Woghiren" <m...@google.com> wrote: > > > >> >>>> > > > >> >>>>> Just wanted to quickly chime in hereā¹Lorin, your sizeable > merge > > > >> >> reverted > > > >> >>>>> one of my bug fixes (CB-2732). Not a huge deal, and a re-fix > is > > > on > > > >> the > > > >> >>>>> way, but try to be extra careful when doing merges like that. > :) > > > >> >>>>> > > > >> >>>>> > > > >> >>>>> On Tue, Apr 2, 2013 at 8:33 PM, Andrew Grieve < > > > agri...@chromium.org > > > >> > > > > >> >>>>> wrote: > > > >> >>>>> > > > >> >>>>>> Sounds good. Cool graph Jesse! > > > >> >>>>>> > > > >> >>>>>> > > > >> >>>>>> > > > >> >>>>>> On Tue, Apr 2, 2013 at 4:49 PM, Lorin Beer < > > > >> lorin.beer....@gmail.com > > > >> >>> > > > >> >>>>>> wrote: > > > >> >>>>>> > > > >> >>>>>>> hmm, likely a merge. A local commit before pulling in > upstream > > > >> >>>>>> changes, > > > >> >>>>>>> then doing a merge seems to be the cause. > > > >> >>>>>>> > > > >> >>>>>>> > > > >> >>>>>>> On Tue, Apr 2, 2013 at 1:07 PM, Jesse < > > purplecabb...@gmail.com> > > > >> >>>>>> wrote: > > > >> >>>>>>> > > > >> >>>>>>>> merging most likely, set up a filter. > > > >> >>>>>>>> I commit to master, checkout 2.6.x, pull master, push 2.6.x > > > >> >> because > > > >> >>>>>> I > > > >> >>>>>>>> want all the work I am doing in 2.6.0 > > > >> >>>>>>>> > > > >> >>>>>>>> https://github.com/purplecabbage/cordova-wp8/network > > > >> >>>>>>>> Looks good to me ... > > > >> >>>>>>>> > > > >> >>>>>>>> @purplecabbage > > > >> >>>>>>>> risingj.com <http://risingj.com> > > > >> >>>>>>>> > > > >> >>>>>>>> > > > >> >>>>>>>> On Tue, Apr 2, 2013 at 12:52 PM, Andrew Grieve < > > > >> >>> agri...@chromium.org > > > >> >>>>>>> wrote: > > > >> >>>>>>>> > > > >> >>>>>>>>> There's quite a bit of email spam from both of you and I > > > wasn't > > > >> >>>>>> sure > > > >> >>>>>>>>> what caused it? Do you know? > > > >> >>>>>>>>> > > > >> >>>>>>>>> rebasing? merging? branching? > > > >> >>>>>>>>> > > > >> >>>>>>>>> Hard to figure out what actually has changed when these > > > happen, > > > >> >> so > > > >> >>>>>> I'd > > > >> >>>>>>>>> like to figure out what causes them. I did one recently > > where > > > I > > > >> >>>>>> rebased a > > > >> >>>>>>>>> remote feature branch. > > > >> >>>>>>>>> > > > >> >>>>>>>> > > > >> >>>>>>>> > > > >> >>>>>>> > > > >> >>>>>> > > > >> >>>> > > > >> >>>> > > > >> >>>> > > > >> >>>> > > > >> >>>> > > > >> >>>> > > > >> >>>> > > > >> >>>> > > > >> >>> > > > >> >>> > > > >> >> > > > >> > > > >> > > > > > > > > > >