Re: help reproduce fast-forward in rebase

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

 



Hi Nguyen,

Nguyen Thai Ngoc Duy wrote:
> Hi,
> 
> I'm rewriting rebase in C

Oh. First two remarks that may or may not affect you:

 1. rebase -i -p is reworked by Dscho:

    http://repo.or.cz/w/git/dscho.git?a=shortlog;h=refs/heads/rebase-i-p

 2. sequencer, a C backend for git am and git rebase -i, actually exists

    http://repo.or.cz/w/git/sbeyer.git?a=shortlog;h=refs/heads/seq-builtin-dev

    although to even more lack of time the missing/non-perfect parts are not
    getting fewer.


Both remarks regard "rebase -i" and not the am-based rebase, which means
you are not getting into some kind of conflict with these other developments
(or IOW: you are not doing already done work a second or third time) when you
keep your rebase rewrite close to the original in sh.

> and do not quite understand this code inside git-rebase.sh
> 
> # If the $onto is a proper descendant of the tip of the branch, then
> # we just fast forwarded.
> if test "$mb" = "$branch"
> then
> 	echo >&2 "Fast-forwarded $branch_name to $onto_name."
> 	move_to_original_branch
> 	exit 0
> fi
> 
> Anyone has an example how to make "git rebase" execute that code?

Yes, "if the $onto is a proper descendant of the tip of the branch",
then there are no commits that have to be rewritten. Rebasing can be
done by simple fast-forwarding, i.e. setting the branch to another,
yet existing commit.

Example:

   * onto                 * onto, mybranch
   |                      |
   *                      *
   |                      |
   * mybranch    =>       *
   |                      |
   *                      *
   |                      |


Regards,
  Stephan
--
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]