Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Mar 27, 2009
  1. @gitster

    rebase: fix typo (force_rebas -> force-rebas)

    Michele Ballabio authored gitster committed
    Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 19, 2009
  1. @gitster

    rebase: add options passed to git-am

    Michele Ballabio authored gitster committed
    Add the options --committer-date-is-author-date and --ignore-date
    to git-rebase. They were introduced in commit a79ec62 for git-am.
    These options imply --force-rebase.
    
    Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 11, 2009
  1. @gitster

    Merge branch 'tv/rebase-stat'

    gitster authored
    * tv/rebase-stat:
      git-pull: Allow --stat and --no-stat to be used with --rebase
      git-rebase: Add --stat and --no-stat for producing diffstat on rebase
Commits on Mar 5, 2009
  1. @gitster

    Merge branch 'sr/force-rebase'

    gitster authored
    * sr/force-rebase:
      Teach rebase to rebase even if upstream is up to date
Commits on Mar 3, 2009
  1. @torarnv @gitster

    git-rebase: Add --stat and --no-stat for producing diffstat on rebase

    torarnv authored gitster committed
    The behavior of --verbose is unchanged, but uses a different state
    variable internally, so that the meaning of verbose output may be
    expanded without affecting the diffstat. This is also reflected in
    the documentation.
    
    The configuration option rebase.stat works the same was as merg.stat,
    but the default is currently false.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 18, 2009
  1. @jaysoffian @gitster

    disallow providing multiple upstream branches to rebase, pull --rebase

    jaysoffian authored gitster committed
    It does not make sense to provide multiple upstream branches to either
    git pull --rebase, or to git rebase, so disallow both.
    
    Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 14, 2009
  1. @SRabbelier @gitster

    Teach rebase to rebase even if upstream is up to date

    SRabbelier authored gitster committed
    Normally, if the current branch is up to date, the rebase is aborted.
    However, it may be desirable to allow rebasing even if the current
    branch is up to date. When using the '--whitespace=fix' option -f is
    implied.
    
    Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 12, 2009
  1. @trast @gitster

    rebase: learn to rebase root commit

    trast authored gitster committed
    Teach git-rebase a new option --root, which instructs it to rebase the
    entire history leading up to <branch>.  This option must be used with
    --onto <newbase>, and causes commits that already exist in <newbase>
    to be skipped.  (Normal operation skips commits that already exist in
    <upstream> instead.)
    
    One possible use-case is with git-svn: suppose you start hacking
    (perhaps offline) on a new project, but later notice you want to
    commit this work to SVN.  You will have to rebase the entire history,
    including the root commit, on a (possibly empty) commit coming from
    git-svn, to establish a history connection.  This previously had to
    be done by cherry-picking the root commit manually.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 11, 2008
  1. @peff @gitster

    rebase: improve error messages about dirty state

    peff authored gitster committed
    If you have unstaged changes in your working tree and try to
    rebase, you will get the cryptic "foo: needs update"
    message, but nothing else.  If you have staged changes, you
    get "your index is not up-to-date".
    
    Let's improve this situation in two ways:
    
     - for unstaged changes, let's also tell them we are
       canceling the rebase, and why (in addition to the "needs
       update" lines)
    
     - for the staged changes case, let's use language that is a
       little more clear to the user: their index contains
       uncommitted changes
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 3, 2008
  1. @gitster

    rebase: use git rev-parse -q

    Miklos Vajna authored gitster committed
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 19, 2008
  1. @gitster

    Merge branch 'ae/preservemerge'

    gitster authored
    * ae/preservemerge:
      rebase: Support preserving merges in non-interactive mode
Commits on Oct 6, 2008
  1. @spearce

    rebase --no-verify

    Nanako Shiraishi authored spearce committed
    It is sometimes desirable to disable the safety net of pre-rebase hook
    when the user knows what he is doing (for example, when the original
    changes on the branch have not been shown to the public yet).
    
    This teaches --no-verify option to git-rebase, which is similar to the way
    pre-commit hook is bypassed by git-commit.
    
    Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  2. @spearce

    Teach rebase -i to honor pre-rebase hook

    Nanako Shiraishi authored spearce committed
    The original git-rebase honored pre-rebase hook so that public branches
    can be protected from getting rebased, but rebase --interactive ignored
    the hook entirely.  This fixes it.
    
    Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Sep 30, 2008
  1. @ageric @spearce

    rebase: Support preserving merges in non-interactive mode

    ageric authored spearce committed
    As a result of implementation details, 'git rebase' could
    previously only preserve merges in interactive mode. That
    limitation was hard for users to understand and awkward to
    explain.
    
    This patch works around it by running the interactive rebase
    helper git-rebase--interactive with GIT_EDITOR set to ':'
    when the user passes "-p" but not "-i" to the rebase command.
    The effect is that the interactive rebase helper is used but
    the user never sees an editor.
    
    The test-case included in this patch was originally written
    by Stephen Habermann <stephen@exigencecorp.com>, but has
    been extensively modified since its creation.
    
    Signed-off-by: Andreas Ericsson <ae@op5.se>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Aug 17, 2008
  1. @sbeyer @gitster

    Improve error output of git-rebase

    sbeyer authored gitster committed
    "git rebase" without arguments on initial startup showed:
    
    	fatal: Needed a single revision
    	invalid upstream
    
    This patch makes it show the ordinary usage string.
    
    If .git/rebase-merge or .git/rebase-apply/rebasing exists, git-rebase
    will die with a message saying that a rebase is in progress and the user
    should try --skip/--abort/--continue.
    
    If .git/rebase-apply/applying exists, git-rebase will die with a message
    saying that git-am is in progress, regardless how many arguments are
    given.
    
    If no arguments are given and .git/rebase-apply/ exists, but neither a
    rebasing nor applying file is in that directory, git-rebase dies with a
    message saying that rebase-apply exists and no arguments were given.
    
    Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 22, 2008
  1. @dscho @gitster

    Rename .git/rebase to .git/rebase-apply

    dscho authored gitster committed
    With git-am, it sounds awkward to have the patches in ".git/rebase/",
    but for technical reasons, we have to keep the same directory name
    for git-am and git-rebase. ".git/rebase-apply" seems to be a good
    compromise.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 17, 2008
  1. @gitster

    Merge branch 'rs/rebase-checkout-not-so-quiet'

    gitster authored
    * rs/rebase-checkout-not-so-quiet:
      git-rebase: report checkout failure
    
    Conflicts:
    	git-rebase.sh
Commits on Jul 16, 2008
  1. @dscho @gitster

    Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"

    dscho authored gitster committed
    Since the files generated and used during a rebase are never to be
    tracked, they should live in $GIT_DIR.  While at it, avoid the rather
    meaningless term "dotest" to "rebase", and unhide ".dotest-merge".
    
    This was wished for on the mailing list, but so far unimplemented.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 14, 2008
  1. @gitster

    git-rebase: report checkout failure

    gitster authored
    When detaching the HEAD to the base commit, the "git checkout" command
    could fail if, for example, upstream contains a file that would overrwrite
    a local, untracked file.  Unconditionally discarding the standard error
    stream was done to squelch the progress and notices back when checkout
    did not have -q option, but there is no reason to keep doing it anymore.
    
    Noticed by Robert Shearman.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 7, 2008
  1. @gitster

    Teach "am" and "rebase" to mark the original position with ORIG_HEAD

    gitster authored
    "merge" and "reset" leave the original point in history in ORIG_HEAD,
    which makes it easy to go back to where you were before you inflict a
    major damage to your history and realize that you do not like the result
    at all.  These days with reflog, we technically do not need to use
    ORIG_HEAD, but it is a handy way nevertheless.
    
    This teaches "am" and "rebase" (all forms --- the vanilla one that uses
    "am" as its backend, "-m" variant that cherry-picks, and "--interactive")
    to do the same.
    
    The original idea and a partial implementation to do this only for "rebase
    -m" was by Brian Gernhardt; this extends on his idea.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 23, 2008
  1. @sbeyer @gitster

    git-rebase.sh: Add check if rebase is in progress

    sbeyer authored gitster committed
    "git rebase --continue" and friends gave nonsense errors when there is no
    rebase in progress.
    
    Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 15, 2008
  1. @dscho @gitster

    Ignore dirty submodule states during rebase and stash

    dscho authored gitster committed
    When rebasing or stashing, chances are that you do not care about
    dirty submodules, since they are not updated by those actions anyway.
    So ignore the submodules' states.
    
    Note: the submodule states -- as committed in the superproject --
    will still be stashed and rebased, it is _just_ the state of the
    submodule in the working tree which is ignored.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 14, 2008
  1. @gitster

    Merge branch 'bd/tests'

    gitster authored
    * bd/tests:
      Rename the test trash directory to contain spaces.
      Fix tests breaking when checkout path contains shell metacharacters
      Don't use the 'export NAME=value' in the test scripts.
      lib-git-svn.sh: Fix quoting issues with paths containing shell metacharacters
      test-lib.sh: Fix some missing path quoting
      Use test_set_editor in t9001-send-email.sh
      test-lib.sh: Add a test_set_editor function to safely set $VISUAL
      git-send-email.perl: Handle shell metacharacters in $EDITOR properly
      config.c: Escape backslashes in section names properly
      git-rebase.sh: Fix --merge --abort failures when path contains whitespace
    
    Conflicts:
    
    	t/t9115-git-svn-dcommit-funky-renames.sh
  2. @peff @gitster

    fix bsd shell negation

    peff authored gitster committed
    On some shells (notably /bin/sh on FreeBSD 6.1), the
    construct
    
      foo && ! bar | baz
    
    is true if
    
      foo && baz
    
    whereas for most other shells (such as bash) is true if
    
      foo && ! baz
    
    We can work around this by specifying
    
      foo && ! (bar | baz)
    
    which works everywhere.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 5, 2008
  1. @gitster

    git-rebase.sh: Fix --merge --abort failures when path contains whites…

    Bryan Donlan authored gitster committed
    …pace
    
    Also update t/t3407-rebase-abort.sh to expose the bug.
    
    Signed-off-by: Bryan Donlan <bdonlan@fushizen.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 16, 2008
  1. @gitster

    rebase [--onto O] A B: omit needless checkout

    gitster authored
    This teaches "git rebase [--onto O] A B" to omit an unnecessary checkout
    of branch B before it goes on.
    
    "git-rebase" originally was about rebasing the current branch to somewhere
    else, and when the extra parameter to name which branch to rebase was
    added, it defined the semantics to the safest but stupid "first switch to
    the named branch and then operate exactly the same way as if we were
    already on that branch".
    
    But the first thing the real part of "rebase" does is to reset the work
    tree and the index to the "onto" commit.  Which means the "rebase that
    branch" form switched the work tree to the tip of the branch only to
    immediately switch again to another commit.  This was wasteful.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Merge branch 'maint'

    gitster authored
    * maint:
      Start draft ReleaseNotes for 1.5.4.5
      rebase -m: do not trigger pre-commit verification
    
    Conflicts:
    
    	RelNotes
  3. @gitster

    rebase -m: do not trigger pre-commit verification

    gitster authored
    When rebasing changes that contain issues that the pre-commit hook flags
    as problematic, the rebase cannot be continued.  However, rebase is about
    transplanting commits that are already made with as little distortion as
    possible, and pre-commit check should not interfere.
    
    Earlier, c5b09fe (Avoid update hook during git-rebase --interactive,
    2007-12-19) fixed "rebase -i", but "rebase -m" shared the same issue.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 12, 2008
  1. @glandium @gitster

    git rebase --abort: always restore the right commit

    glandium authored gitster committed
    Previously, --abort would end by git resetting to ORIG_HEAD, but some
    commands, such as git reset --hard (which happened in git rebase --skip,
    but could just as well be typed by the user), would have already modified
    ORIG_HEAD.
    
    Just use the orig-head we store in $dotest instead.
    
    [jc: cherry-picked from 48411d and 4947cf9 on 'master']
    
    Signed-off-by: Mike Hommey <mh@glandium.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 11, 2008
  1. @szeder @gitster

    update 'git rebase' documentation

    szeder authored gitster committed
    Being in the project's top directory when starting or continuing a rebase
    is not necessary since 533b703 (Allow whole-tree operations to be started
    from a subdirectory, 2007-01-12).
    
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 5, 2008
  1. @gitster

    am: --rebasing

    gitster authored
    The new option --rebasing is used internally for rebase to tell am that
    it is being used for its purpose.  This would leave .dotest/rebasing to
    help "completion" scripts tell if the ongoing operation is am or rebase.
    
    Also the option at the same time stands for --binary, -3 and -k which
    are always given when rebase drives am as its backend.
    
    Using the information "am" leaves, git-completion.bash tells ongoing
    rebase and am apart.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 2, 2008
  1. @glandium @gitster

    git rebase --abort: always restore the right commit

    glandium authored gitster committed
    Previously, --abort would end by git resetting to ORIG_HEAD, but some
    commands, such as git reset --hard (which happened in git rebase --skip,
    but could just as well be typed by the user), would have already modified
    ORIG_HEAD.
    
    Just use the orig-head we store in $dotest instead.
    
    Signed-off-by: Mike Hommey <mh@glandium.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 29, 2007
  1. @gitster

    Merge branch 'maint'

    gitster authored
    * maint:
      scripts: do not get confused with HEAD in work tree
      Improve description of git-branch -d and -D in man page.
  2. @gitster

    scripts: do not get confused with HEAD in work tree

    gitster authored
    When you have a file called HEAD in your work tree, many commands that
    our scripts feed "HEAD" to would complain about the rev vs path
    ambiguity.  A solution is to form command line more carefully by
    appending -- to them, which makes it clear that we mean HEAD rev not
    HEAD file.
    
    This patch would apply to maint.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 25, 2007
  1. @gitster

    Merge branch 'mh/rebase-skip-hard'

    gitster authored
    * mh/rebase-skip-hard:
      Do git reset --hard HEAD when using git rebase --skip
Something went wrong with that request. Please try again.