Re: [PATCH] Documentation/git-rebase.txt: discuss --fork-point assumption of vanilla "git rebase" in DESCRIPTION.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano <gitster@xxxxxxxxx> writes:

> Sergey Organov <sorganov@xxxxxxxxx> writes:
>
>> I think you meant to say that we may find a better source to calculate
>> the exact set of commits to rebase,...
>
> Yes.
>
>>> It is debatable if we should do the same when the user tells us to
>>> rebase with respect to a specific _branch_ by giving the 'upstream'
>>> argument, but that is an entirely separate issue.  We might want to
>>> do a similar command line heuristics to tell between the branch
>>> switching "git checkout master" (which is an operation about a
>>> branch) and head detaching "git checkout refs/heads/master^0" (which
>>> is an operation about a commit) if we want to help the users by
>>> auto-enabling fork-point mode.
>>
>> Well, IMHO "git rebase" and "git rebase @{u}" must do exactly the same
>> thing.
>
> "That is not part of the current discussion" is what I meant by "It
> is debatable... We might want to".  There is no such patch to "git
> rebase" itself in this topic ;-).

Yes, but to suggest better documentation I figure I need to understand
all the related issues, so it is still somewhat relevant.

> With the "We might want to", I mean "git rebase", "git rebase @{u}"
> and "git rebase origin/master" (if your @{u} happens to be that
> branch) may want to do exactly the same thing.  The last one however
> is very questionable, as sometimes you would want the --fork-point
> heuristics, and some other times you would want no digging of the
> reflogs involved (i.e. "I want everything not in this _exact_ commit
> to be rebased").
>
>> On the other hand, I'm afraid different defaults were chosen for
>> backward compatibility?
>
> There is no backward compatibility issue involved with the current
> behaviour.  Changing it _will_ break compatibility, of course.
>
> It is more like the command used not to guess with fork-point at
> all, i.e. we liked its exactness, but "git rebase" (no argument)
> case is so obviously not about an exact commit but is about branch
> that it is safe to use --fork-point guess without being confusing.

Well, that's exactly what ended-up being /extremely/ confusing in my
case.

> Once you start giving the commit/branch with respect to which you
> conduct your rebase, it no longer is so cut-and-dried obvious that
> by "git rebase @{u}" if the user wants us to guess by digging the
> reflog of @{u} to find a better fork point, or if the user wants to
> do an exact rebase with respect to the commit at the tip of that
> branch.

Whatever excuses are, to me it still looks entirely unnatural that 'git
rebase' and 'git rebase @{u}' mean almost the same /except/ the default
value of --fork-point is different, sorry.

P.S. I'll prepare improved patch for the documentation shortly.

-- 
Segey.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]