Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Mar 16, 2008
  1. @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
  2. @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
Commits on Nov 18, 2007
  1. @gitster

    Merge branch 'ph/parseopt-sh'

    gitster authored
    * ph/parseopt-sh:
      git-quiltimport.sh fix --patches handling
      git-am: -i does not take a string parameter.
      sh-setup: don't let eval output to be shell-expanded.
      git-sh-setup: fix parseopt `eval` string underquoting
      Give git-am back the ability to add Signed-off-by lines.
      git-rev-parse --parseopt
      scripts: Add placeholders for OPTIONS_SPEC
      Migrate git-repack.sh to use git-rev-parse --parseopt
      Migrate git-quiltimport.sh to use git-rev-parse --parseopt
      Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash
      Migrate git-instaweb.sh to use git-rev-parse --parseopt
      Migrate git-merge.sh to use git-rev-parse --parseopt
      Migrate git-am.sh to use git-rev-parse --parseopt
      Migrate git-clone to use git-rev-parse --parseopt
      Migrate git-clean.sh to use git-rev-parse --parseopt.
      Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt
      Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.
Commits on Nov 13, 2007
  1. @dscho @gitster

    rebase: fix "rebase --continue" breakage

    dscho authored gitster committed
    The --skip case was handled properly when rebasing without --merge,
    but the --continue case was not.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 12, 2007
  1. @glandium @gitster

    Do git reset --hard HEAD when using git rebase --skip

    glandium authored gitster committed
    When you have a merge conflict and want to bypass the commit causing it,
    you don't want to care about the dirty state of the working tree.
    
    Also, don't git reset --hard HEAD in the rebase-skip test, so that the
    lack of support for this is detected.
    
    Signed-off-by: Mike Hommey <mh@glandium.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 9, 2007
  1. @dscho @gitster

    rebase: operate on a detached HEAD

    dscho authored gitster committed
    The interactive version of rebase does all the operations on a detached
    HEAD, so that after a successful rebase, <branch>@{1} is the pre-rebase
    state.  The reflogs of "HEAD" still show all the actions in detail.
    
    This teaches the non-interactive version to do the same.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 6, 2007
  1. @gitster

    scripts: Add placeholders for OPTIONS_SPEC

    gitster authored
    --text follows this line--
    These commands currently lack OPTIONS_SPEC; allow people to
    easily list with "git grep 'OPTIONS_SPEC=$'" what they can help
    improving.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 2, 2007
  1. @gitster

    Fixing path quoting in git-rebase

    Jonathan del Strother authored gitster committed
    git-rebase used to fail when run from a path containing a space.
    
    Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Oct 18, 2007
  1. @spearce

    Fixing path quoting in git-rebase

    Jonathan del Strother authored spearce committed
    git-rebase used to fail when run from a path containing a space.
    
    Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Sep 24, 2007
  1. @gitster

    Merge branch 'maint'

    gitster authored
    * maint:
      git-svn: don't attempt to spawn pager if we don't want one
      Supplant the "while case ... break ;; esac" idiom
      User Manual: add a chapter for submodules
      user-manual: don't assume refs are stored under .git/refs
      Detect exec bit in more cases.
      Conjugate "search" correctly in the git-prune-packed man page.
      Move the paragraph specifying where the .idx and .pack files should be
      Documentation/git-lost-found.txt: drop unnecessarily duplicated name.
Commits on Sep 23, 2007
  1. @gitster

    Supplant the "while case ... break ;; esac" idiom

    David Kastrup authored gitster committed
    A lot of shell scripts contained stuff starting with
    
    	while case "$#" in 0) break ;; esac
    
    and similar.  I consider breaking out of the condition instead of the
    body od the loop ugly, and the implied "true" value of the
    non-matching case is not really obvious to humans at first glance.  It
    happens not to be obvious to some BSD shells, either, but that's
    because they are not POSIX-compliant.  In most cases, this has been
    replaced by a straight condition using "test".  "case" has the
    advantage of being faster than "test" on vintage shells where "test"
    is not a builtin.  Since none of them is likely to run the git
    scripts, anyway, the added readability should be worth the change.
    
    A few loops have had their termination condition expressed
    differently.
    
    Signed-off-by: David Kastrup <dak@gnu.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 8, 2007
  1. @gitster

    git-rebase: fix -C option

    J. Bruce Fields authored gitster committed
    The extra shift here causes failure to parse any commandline including
    the -C option.
    
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    git-rebase: support --whitespace=<option>

    J. Bruce Fields authored gitster committed
    Pass --whitespace=<option> to git-apply.  Since git-apply and git-am
    expect this, I'm always surprised when I try to give it to git-rebase
    and it doesn't work.
    
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 1, 2007
  1. @gitster

    Avoid one-or-more (\+) non BRE in sed scripts.

    gitster authored
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    rebase -m: Fix incorrect short-logs of already applied commits.

    Johannes Sixt authored gitster committed
    When a topic branch is rebased, some of whose commits are already
    cherry-picked upstream:
    
        o--X--A--B--Y    <- master
         \
          A--B--Z        <- topic
    
    then 'git rebase -m master' would report:
    
        Already applied: 0001 Y
        Already applied: 0002 Y
    
    With this fix it reports the expected:
    
        Already applied: 0001 A
        Already applied: 0002 B
    
    As an added bonus, this change also avoids 'echo' of a commit message,
    which might contain escapements.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 7, 2007
  1. @dscho @gitster

    Enable "git rerere" by the config variable rerere.enabled

    dscho authored gitster committed
    Earlier, "git rerere" was enabled by creating the directory
    .git/rr-cache.  That is definitely not in line with most other
    features, which are enabled by a config variable.
    
    So, check the config variable "rerere.enabled". If it is set
    to "false" explicitely, do not activate rerere, even if
    .git/rr-cache exists. This should help when you want to disable
    rerere temporarily.
    
    If "rerere.enabled" is not set at all, fall back to detection
    of the directory .git/rr-cache.
    
    [jc: with minimum tweaks]
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 5, 2007
  1. @gitster

    Allow rebase to run if upstream is completely merged

    Johannes Sixt authored gitster committed
    Consider this history:
    
      o--o-...-B          <- origin
          \     \
           x--x--M--x--x  <- master
    
    In this situation, rebase considers master fully up-to-date and would
    not do anything. However, if there were additional commits on origin,
    the rebase would run and move the commits x on top of origin.
    
    Here we change rebase to short-circuit out only if the history since origin
    is strictly linear. Consequently, the above as well as a history like this
    would be linearized:
    
      o--o               <- origin
          \
           x--x
            \  \
             x--M--x--x  <- master
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 3, 2007
  1. @gitster

    Rewrite "git-frotz" to "git frotz"

    gitster authored
    This uses the remove-dashes target to replace "git-frotz" to "git frotz".
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 25, 2007
  1. @dscho @gitster

    Teach rebase an interactive mode

    dscho authored gitster committed
    Don't you just hate the fact sometimes, that git-rebase just applies
    the patches, without any possibility to edit them, or rearrange them?
    With "--interactive", git-rebase now lets you edit the list of patches,
    so that you can reorder, edit and delete patches.
    
    Such a list will typically look like this:
    
    	pick deadbee The oneline of this commit
    	pick fa1afe1 The oneline of the next commit
    	...
    
    By replacing the command "pick" with the command "edit", you can amend
    that patch and/or its commit message, and by replacing it with "squash"
    you can tell rebase to fold that patch into the patch before that.
    
    It is derived from the script sent to the list in
    <Pine.LNX.4.63.0702252156190.22628@wbgn013.biozentrum.uni-wuerzburg.de>
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 2, 2007
  1. @jonas

    git-rebase: suggest to use git-add instead of git-update-index

    jonas authored Junio C Hamano committed
    The command is part of the main porcelain making git-add more
    appropriate.
    
    Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on May 10, 2007
  1. Add colour support in rebase and merge tree diff stats output.

    James Bowes authored Junio C Hamano committed
    The rebase and merge commands used diff-tree to display the summary stats of
    what files had changed from the operation. diff-tree does not read the
    diff ui configuration options, so the diff.color setting was not used.
    
    Have rebase and merge call diff rather than diff-tree, which does read the
    diff ui options.
    
    Signed-off-by: James Bowes <jbowes@dangerouslyinc.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Apr 14, 2007
  1. @raalkml

    Use rev-list --reverse in git-rebase.sh

    raalkml authored Junio C Hamano committed
    ...and drop the last perl dependency in the script.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Mar 25, 2007
  1. @raalkml

    Use diff* with --exit-code in git-am, git-rebase and git-merge-ours

    raalkml authored Junio C Hamano committed
    This simplifies the shell code, reduces its memory footprint, and
    speeds things up. The performance improvements should be noticable
    when git-rebase works on big commits.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Mar 22, 2007
  1. git-rebase: make 'rebase HEAD branch' work as expected.

    Junio C Hamano authored
    When you want to amend the commit message of 3 commits before
    the tip of the current branch, say 'master',
    
    	A--B--C--D--E(master)
    
    it is sometimes handy to make your head detached at that commit
    with:
    
    	$ git checkout HEAD~3 ;# check out B
    	$ git commit --amend ;# without modifying contents...
    
    to create:
    
              .B'(HEAD)
             /
    	A--B--C--D--E(master)
    
    and then rebase 'master' branch onto HEAD with this:
    
    	$ git rebase HEAD master
    
    to result in:
    
              .B'-C'-D'-E(master=HEAD)
             /
    	A--B--C--D--E
    
    However, the current code interprets HEAD after it switches to
    the branch 'master', which means the rebase will not do
    anything.  You have to say something unwieldly like this
    instead:
    
    	$ git rebase $(git rev-parse HEAD) master
    
    This fixes it by expanding the $onto commit name before
    switching to the target branch.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Feb 8, 2007
  1. add -C[NUM] to git-am

    Michael S. Tsirkin authored Junio C Hamano committed
    Add -C[NUM] to git-am and git-rebase so that patches can be applied even
    if context has changed a bit.
    
    Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jan 31, 2007
  1. @dkagedal

    Improved error message from git-rebase

    dkagedal authored Junio C Hamano committed
    If the index wasn't clean, git-rebase would simply show the output from
    git-diff-index with no further comment to the user.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jan 21, 2007
  1. git-rebase: allow rebasing a detached HEAD.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jan 13, 2007
  1. Allow whole-tree operations to be started from a subdirectory

    Junio C Hamano authored
    This updates five commands (merge, pull, rebase, revert and cherry-pick)
    so that they can be started from a subdirectory.
    
    This may not actually be what we want to do.  These commands are
    inherently whole-tree operations, and an inexperienced user may
    mistakenly expect a "git pull" from a subdirectory would merge
    only the subdirectory the command started from.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Something went wrong with that request. Please try again.