I agree merges are better to use than rebasing. Rebasing just makes
development more complicated, and if you want to squash, you can always do
so with merge --squash (as Dawid pointed out on this thread). Especially
having a rule that everyone *must* rebase doesn't seem right.

On Tue, Jan 19, 2016 at 2:09 PM, Robert Muir <rcm...@gmail.com> wrote:

> yeah, rebasing is garbage. That is what merge is for.
>
> If apache adds a merge button like github, even better.
>
> On Tue, Jan 19, 2016 at 4:11 PM, Gus Heck <gus.h...@gmail.com> wrote:
> > I'm not very fond of rebasing every commit. I don't like the destruction
> of
> > merge history, but I'm not a committer here....
> >
> > The following link may help any folks not familiar with git and rebasing
> > from getting themselves (and possibly the project) into a snafu:
> >
> >
> https://www.atlassian.com/git/tutorials/merging-vs-rebasing/the-golden-rule-of-rebasing
> >
> > On Tue, Jan 19, 2016 at 2:55 PM, Ramkumar R. Aiyengar
> > <andyetitmo...@gmail.com> wrote:
> >>
> >> +1. There might be ways to enforce it on the remote side..
> >>
> >>
> >>
> http://stackoverflow.com/questions/2039773/have-remote-git-repository-refuse-merge-commits-on-push
> >>
> >> But I am not a git expert enough to tell you exactly what the solution
> >> there is trying to do..
> >>
> >> On 19 Jan 2016 19:00, "Mark Miller" <markrmil...@gmail.com> wrote:
> >>>
> >>> I think for everyone's sanity we want to mostly ban merge commits and
> >>> insist people use rebase and a linear history. I think we want to keep
> the
> >>> history nice and clean just like it is now.
> >>>
> >>> You can change the pull command so that it does rebase rather than
> merge
> >>> via git config --global pull.rebase true
> >>>
> >>> Even if everyone does not agree with that, we need some discussion and
> >>> guidelines. Everyone going crazy in Git with merge commits makes an
> ungodly
> >>> mess.
> >>>
> >>> - Mark
> >>>
> >>> On Tue, Jan 19, 2016 at 1:49 PM Dawid Weiss <dawid.we...@gmail.com>
> >>> wrote:
> >>>>
> >>>> > So I'm clear, this also means that from Saturday morning (call it
> 6:00
> >>>> > UTC)
> >>>> > until you give the OK (assuming the original schedule) I shouldn't
> >>>> > count
> >>>> > on having access to any of the source code, right?
> >>>>
> >>>> You will have access to the source code -- the SVN remains functional,
> >>>> but it'll be an empty folder on the branches I mentioned.
> >>>>
> >>>> > And when you do give the OK, I should plan on rebasing whatever I'm
> >>>> > working on to the new Git repo. There, did I use at least one Git
> term
> >>>> > correctly?
> >>>>
> >>>> Well, the workflow is up to you. One possible way to work is like this
> >>>> (I assume command line, because that's what I use).
> >>>>
> >>>> 1) git clone <Apache repo/lucene_solr.git>
> >>>>     cd lucene_solr
> >>>>
> >>>> 2) git checkout master -b mybranch
> >>>>
> >>>> 3) while (not done) {
> >>>>   // work on mybranch's files.
> >>>>   git add -A .               # add any changes (and removals) to the
> >>>> commit, recursively.
> >>>>   git diff --cached         # see what would be committed.
> >>>>   git commit -m "interim commit"
> >>>> }
> >>>>
> >>>> 4) When done, fetch any new commits from Apache. Merge them with your
> >>>> feature branch. If there are conflicts, git will guide you. Note there
> >>>> are no rebases here, you just merge stuff with master much like you
> >>>> did with SVN.
> >>>>
> >>>> git fetch origin
> >>>> git merge origin/master
> >>>>
> >>>> 5) Create a patch against master.
> >>>>
> >>>> git diff origin/master > myfeature.patch
> >>>>
> >>>> Done. Place the patch in Jira.
> >>>>
> >>>> If you wish to commit your changes to master, I'd "squash" all your
> >>>> interim changes into one single commit (easier on the eyes and simpler
> >>>> to revert).
> >>>>
> >>>> git checkout master
> >>>> git pull
> >>>> git merge --squash mybranch --nocommit
> >>>> # review what would be changed again, etc.
> >>>> git stat
> >>>> git diff --cached
> >>>> # finally, commit
> >>>> git commit -m "My changes."
> >>>> # and push the commit from your local repository and current branch to
> >>>> remote (Apache) repository.
> >>>> git push origin HEAD
> >>>>
> >>>> I guarantee you these steps are conceptually very simple. I'd run gitk
> >>>> --all after every single one (having read the document I pointed to
> >>>> previously) -- you'd see how the graph of patches and merges unfolds.
> >>>>
> >>>> Dawid
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> >>>> For additional commands, e-mail: dev-h...@lucene.apache.org
> >>>>
> >>> --
> >>> - Mark
> >>> about.me/markrmiller
> >
> >
> >
> >
> > --
> > http://www.the111shift.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

Reply via email to