Git-using core devs: preference for merge vs. rebase?

2010-11-02 Thread Tom X. Tobin
Do the Git-using core developers have a preference for merge vs.
rebase for updating an upstream-tracking branch?  I prefer to rebase
to keep the changes in question at the branch HEAD, especially if the
branch hasn't been pushed publicly yet, but a rebase for something
that *has* been pushed means a forced overwrite is necessary, which
may trip up anyone who has already added the branch as a remote and
isn't expecting it.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.



Re: Git-using core devs: preference for merge vs. rebase?

2010-11-02 Thread SmileyChris
On Nov 3, 5:58 am, "Tom X. Tobin"  wrote:
> Do the Git-using core developers have a preference for merge vs.
> rebase for updating an upstream-tracking branch?  I prefer to rebase
> to keep the changes in question at the branch HEAD, especially if the
> branch hasn't been pushed publicly yet, but a rebase for something
> that *has* been pushed means a forced overwrite is necessary, which
> may trip up anyone who has already added the branch as a remote and
> isn't expecting it.

For my ticket branches, I rebase.
If I ever have a big feature branch, I'll probably merge.
Unless it's a major feature branch, I'm not sure that'll be a huge
issue.

I also don't bother frequently updating against lastest upstream until
I'm at some stable point where I'm happy, or I know that some features
have changed.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.



Re: Git-using core devs: preference for merge vs. rebase?

2010-11-02 Thread Russell Keith-Magee
On Wed, Nov 3, 2010 at 12:58 AM, Tom X. Tobin  wrote:
> Do the Git-using core developers have a preference for merge vs.
> rebase for updating an upstream-tracking branch?  I prefer to rebase
> to keep the changes in question at the branch HEAD, especially if the
> branch hasn't been pushed publicly yet, but a rebase for something
> that *has* been pushed means a forced overwrite is necessary, which
> may trip up anyone who has already added the branch as a remote and
> isn't expecting it.

First off, I'll preface my comments by saying that I'm a hg user by
habit, so I know the internals there a lot better, and my work
practices reflect that preference.

I would say that merges would be preferred -- but that's got more to
do with forced overwrites being annoying to deal with as a general
principle, rather than any specific issue with integrating with core.

With my core dev hat on, if I'm contemplating a contributed branch for
merge, I usually reviewing code using the github branch comparison
view; when I apply it, I use merge --nocommit --collapse. From a
'contribution to core' perspective, it doesn't really matter whether
you've rebased or merged upstream changes, both will collapse the
same.

The only way I can see this being a functional problem for core is if
I've historically pulled your repo to merge a different feature
branch, and I now revisit your repo to merge a second feature than has
been in development longer than the first, has been rebased, and
therefore requires a forced overwrite. In that case, merging would
have caused less trouble.

Beyond that, it's only an issue for anyone that is tracking your repo
specifically because of the new feature. Back when I was experimenting
with git, I used to rebase regularly; but then I got a few complaints
from people following my branches about what a pain that practice was.
I stopped, started using merge, and didn't really notice any
significant practical change.

Yours,
Russ Magee %-)

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.



Re: Git-using core devs: preference for merge vs. rebase?

2010-11-03 Thread Carl Meyer
Hi Tom,

On Nov 2, 12:58 pm, "Tom X. Tobin"  wrote:
> Do the Git-using core developers have a preference for merge vs.
> rebase for updating an upstream-tracking branch?  I prefer to rebase
> to keep the changes in question at the branch HEAD, especially if the
> branch hasn't been pushed publicly yet, but a rebase for something
> that *has* been pushed means a forced overwrite is necessary, which
> may trip up anyone who has already added the branch as a remote and
> isn't expecting it.

I understand the appeal of keeping the changes nice and linear at the
head, but in practice I find merging pretty easy to deal with. With
github compare view (and command-line equivalents "git diff
master...branchname" and "git log master...branchname") it's still
quite easy to tease out the actual changes in the branch for review.
Merging also keeps commit messages accurate for long-running feature
branches, and avoids the forcing hassles for anyone trying to track
your branch.

For something you haven't pushed in public yet, of course rebasing is
fine.

Carl

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.