Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Sep 15, 2010
  1. @gitster

    Merge branch 'os/fix-rebase-diff-no-prefix'

    gitster authored
    * os/fix-rebase-diff-no-prefix:
      Add --src/dst-prefix to git-formt-patch in git-rebase.sh
Commits on Sep 10, 2010
  1. @gitster

    Add --src/dst-prefix to git-formt-patch in git-rebase.sh

    Oded Shimon authored gitster committed
    For the case of "diff.noprefix" in git-config, git-format-patch should
    still output diff with standard prefixes for git-am
    
    Signed-off-by: Oded Shimon <ods15@ods15.dyndns.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Aug 20, 2010
  1. @gitster

    Merge branch 'jn/rebase-rename-am' into maint

    gitster authored
    * jn/rebase-rename-am:
      rebase: protect against diff.renames configuration
      t3400 (rebase): whitespace cleanup
      Teach "apply --index-info" to handle rename patches
      t4150 (am): futureproof against failing tests
      t4150 (am): style fix
Commits on Aug 18, 2010
  1. @gitster

    Merge branch 'ml/rebase-x-strategy'

    gitster authored
    * ml/rebase-x-strategy:
      rebase: support -X to pass through strategy options
  2. @gitster

    Merge branch 'jn/rebase-rename-am'

    gitster authored
    * jn/rebase-rename-am:
      rebase: protect against diff.renames configuration
      t3400 (rebase): whitespace cleanup
      Teach "apply --index-info" to handle rename patches
      t4150 (am): futureproof against failing tests
      t4150 (am): style fix
Commits on Aug 9, 2010
  1. @gitster

    git-rebase: fix typo when parsing --force-rebase

    Willy Tarreau authored gitster committed
    Due to two missing hyphens, The "force" keyword on the command line
    would be taken as an alias for the --force-rebase option.
    
    Signed-off-by: Willy Tarreau <w@1wt.eu>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Aug 3, 2010
  1. @novas0x2a @gitster

    rebase: support -X to pass through strategy options

    novas0x2a authored gitster committed
    git-rebase calls out to merge strategies, but did not support merge
    strategy options so far.  Add this, in the same style used in
    git-merge.
    
    Sadly we have to do the full quoting/eval dance here, since
    merge-recursive supports the --subtree=<path> option which potentially
    contains whitespace.
    
    This patch does not cover git rebase -i, which does not call any merge
    strategy directly except in --preserve-merges, and even then only for
    merges.
    
    [jc: with a trivial fix-up for 'expr']
    
    Signed-off-by: Mike Lundy <mike@fluffypenguin.org>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 28, 2010
  1. @ddkilzer @gitster

    Fix git rebase --continue to work with touched files

    ddkilzer authored gitster committed
    When performing a non-interactive rebase, sometimes
    "git rebase --continue" will fail if an unmodified file is
    touched in the working directory:
    
        You must edit all merge conflicts and then
        mark them as resolved using git add
    
    This is caused by "git diff-files" reporting a difference
    between the index and the filesystem:
    
        :100644 100644 d00491...... 000000...... M	file
    
    The fix is to run "git update-index --refresh" before
    "git diff-files" as is done in git-rebase--interactive.
    
    Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
    Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 23, 2010
  1. @gitster

    rebase: protect against diff.renames configuration

    gitster authored
    We currently do not disable diff.renames configuration while rebase
    internally runs "format-patch" to feed "am -3".
    
    The end user configuration for "diff" should not affect the result
    produced by the higher level command that is related to "diff" only
    because internally it is implemented in terms of it.
    
    For that matter, I have a feeling that format-patch should not even look
    at diff.renames, but we seem to have been doing this for a long time so
    there is no easy way to fix this thinko.
    
    In any case, here is a much straightforward fix for "rebase".
    
    [jn: with test case from David]
    
    Reported-by: David D. Kilzer <ddkilzer@kilzer.net>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 1, 2010
  1. @jrn @gitster

    rebase: improve error message when upstream argument is missing

    jrn authored gitster committed
    Strip out options before checking for a missing upstream argument.
    Before:
    
     $ git rebase -m
     shift: 426: can't shift that many
    
    After:
    
     $ git rebase -m
     Usage: git rebase ...
    
    While at it, fix the usage message to explain that the upstream
    argument is mandatory.
    
    Reported-by: Jon Dowland <jmtd@debian.org>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Apr 3, 2010
  1. @gitster

    Merge branch 'mb/rebase-i-no-ff'

    gitster authored
    * mb/rebase-i-no-ff:
      Teach rebase the --no-ff option.
    
    Conflicts:
    	git-rebase--interactive.sh
    	t/t3404-rebase-interactive.sh
Commits on Mar 24, 2010
  1. @gitster

    Merge branch 'tr/notes-display'

    gitster authored
    * tr/notes-display:
      git-notes(1): add a section about the meaning of history
      notes: track whether notes_trees were changed at all
      notes: add shorthand --ref to override GIT_NOTES_REF
      commit --amend: copy notes to the new commit
      rebase: support automatic notes copying
      notes: implement helpers needed for note copying during rewrite
      notes: implement 'git notes copy --stdin'
      rebase -i: invoke post-rewrite hook
      rebase: invoke post-rewrite hook
      commit --amend: invoke post-rewrite hook
      Documentation: document post-rewrite hook
      Support showing notes from more than one notes tree
      test-lib: unset GIT_NOTES_REF to stop it from influencing tests
    
    Conflicts:
    	git-am.sh
    	refs.c
  2. @gitster

    Teach rebase the --no-ff option.

    Marc Branchaud authored gitster committed
    For git-rebase.sh, --no-ff is a synonym for --force-rebase.
    
    For git-rebase--interactive.sh, --no-ff cherry-picks all the commits in
    the rebased branch, instead of fast-forwarding over any unchanged commits.
    
    --no-ff offers an alternative way to deal with reverted merges.  Instead of
    "reverting the revert" you can use "rebase --no-ff" to recreate the branch
    with entirely new commits (they're new because at the very least the
    committer time is different).  This obviates the need to revert the
    reversion, as you can re-merge the new topic branch directly.  Added an
    addendum to revert-a-faulty-merge.txt describing the situation and how to
    use --no-ff to handle it.
    
    Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Mar 13, 2010
  1. @trast @gitster

    rebase: support automatic notes copying

    trast authored gitster committed
    Luckily, all the support already happens to be there.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @trast @gitster

    rebase: invoke post-rewrite hook

    trast authored gitster committed
    We have to deal with two separate code paths: a normal rebase, which
    actually goes through git-am; and rebase {-m|-s}.
    
    The only small issue with both is that they need to remember the
    original sha1 across a possible conflict resolution.  rebase -m
    already puts this information in $dotest/current, and we just
    introduce a similar file for git-am.
    
    Note that in git-am, the hook really only runs when coming from
    git-rebase: the code path that sets the $dotest/original-commit file
    is guarded by a test for $dotest/rebasing.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 30, 2010
  1. @marcows @gitster

    rebase: don't invoke the pager for each commit summary

    marcows authored gitster committed
    This regression was introduced by commit 0aa958d (rebase: replace
    antiquated sed invocation, 2010-01-24), which changed the invocation of
    "git rev-list | sed" to "git log".
    
    It can be reproduced by something like this:
    $ git rebase -s recursive origin/master
    
    Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 25, 2010
  1. @bebarino @gitster

    rebase: replace antiquated sed invocation

    bebarino authored gitster committed
    Use the modern form of printing a commit subject instead of piping
    the output of rev-list to sed.
    
    Signed-off-by: Stephen Boyd <bebarino@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 19, 2010
  1. @gitster

    Merge branch 'jc/rerere'

    gitster authored
    * jc/rerere:
      Teach --[no-]rerere-autoupdate option to merge, revert and friends
Commits on Jan 13, 2010
  1. @gitster

    Merge branch 'jc/checkout-merge-base'

    gitster authored
    * jc/checkout-merge-base:
      rebase -i: teach --onto A...B syntax
      rebase: fix --onto A...B parsing and add tests
      "rebase --onto A...B" replays history on the merge base between A and B
      "checkout A...B" switches to the merge base between A and B
Commits on Jan 7, 2010
  1. @gitster

    rebase: fix --onto A...B parsing and add tests

    Nanako Shiraishi authored gitster committed
    The previous patch didn't parse "rebase --onto A...B" correctly when A
    isn't an empty string. It also tried to be careful to notice a case in
    which there are more than one merge bases, but forgot to give --all option
    to merge-base, making the test pointless.
    
    Fix these problems and add a test script to verify. Improvements to the
    script to parse A...B syntax was taken from review comments by Johannes
    Schindelin.
    
    Signed-off-by: しらいし ななこ <nanako3@lavabit.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 4, 2009
  1. @gitster

    Teach --[no-]rerere-autoupdate option to merge, revert and friends

    gitster authored
    Introduce a command line option to override rerere.autoupdate configuration
    variable to make it more useful.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 25, 2009
  1. @gitster

    Merge branch 'rs/work-around-grep-opt-insanity'

    gitster authored
    * rs/work-around-grep-opt-insanity:
      Protect scripted Porcelains from GREP_OPTIONS insanity
      mergetool--lib: simplify guess_merge_tool()
    
    Conflicts:
    	git-instaweb.sh
Commits on Nov 24, 2009
  1. @gitster

    Protect scripted Porcelains from GREP_OPTIONS insanity

    gitster authored
    If the user has exported the GREP_OPTIONS environment variable, the output
    from "grep" and "egrep" in scripted Porcelains may be different from what
    they expect.  For example, we may want to count number of matching lines,
    by "grep" piped to "wc -l", and GREP_OPTIONS=-C3 will break such use.
    
    The approach taken by this change to address this issue is to protect only
    our own use of grep/egrep.  Because we do not unset it at the beginning of
    our scripts, hook scripts run from the scripted Porcelains are exposed to
    the same insanity this environment variable causes when grep/egrep is used
    to implement logic (e.g. "grep | wc -l"), and it is entirely up to the
    hook scripts to protect themselves.
    
    On the other hand, applypatch-msg hook may want to show offending words in
    the proposed commit log message using grep to the end user, and the user
    might want to set GREP_OPTIONS=--color to paint the match more visibly.
    The approach to protect only our own use without unsetting the environment
    variable globally will allow this use case.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 21, 2009
  1. @gitster

    "rebase --onto A...B" replays history on the merge base between A and B

    gitster authored
    This is in spirit similar to "checkout A...B".  To re-queue a new set of
    patches for a series that the original author prepared to apply on 'next'
    on the same base as before, you would do something like this:
    
        $ git checkout next^0
        $ git am -s rerolled-series.mbox
        $ git rebase --onto next...jh/notes next
    
    The first two commands recreates commits to be rebased as the original
    author intended (i.e. applies directly on top of 'next'), and the rebase
    command replays that history on top of the same commit the series being
    replaced was built on (which is typically much older than the tip of
    'next').
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 25, 2009
  1. @felipec @gitster

    Use 'fast-forward' all over the place

    felipec authored gitster committed
    It's a compound word.
    
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 12, 2009
  1. @peff @gitster

    rebase: use plumbing to show dirty state

    peff authored gitster committed
    Commit 4cfbe06 introduced the use of "git diff" to show
    dirty state in a format more familiar to users. However, it
    should have used the plumbing "git diff-files" instead.
    
    Not only is it good practice in general to use plumbing in
    scripts, but in this case we really don't want the automatic
    pager to kick in for an error message.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Aug 22, 2009
  1. @gitster

    Merge branch 'gb/apply-ignore-whitespace'

    gitster authored
    * gb/apply-ignore-whitespace:
      git apply: option to ignore whitespace differences
Commits on Aug 6, 2009
  1. @moy @gitster

    rebase: consistent error messages for staged and unstaged changes.

    moy authored gitster committed
    Previous version expose the output of the plumbing update-index to the
    user, which novice users have difficulty to understand.
    
    We still need to run update-index to refresh the cache (if
    diff.autorefreshindex is false, git diff won't do it).
    
    Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Aug 5, 2009
  1. @Oblomov @gitster

    git apply: option to ignore whitespace differences

    Oblomov authored gitster committed
    Introduce --ignore-whitespace option and corresponding config bool to
    ignore whitespace differences while applying patches, akin to the
    'patch' program.
    
    'git am', 'git rebase' and the bash git completion are made aware of
    this option.
    
    Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 2, 2009
  1. @gitster

    Merge branch 'sb/quiet-porcelains'

    gitster authored
    * sb/quiet-porcelains:
      stash: teach quiet option
      am, rebase: teach quiet option
      submodule, repack: migrate to git-sh-setup's say()
      git-sh-setup: introduce say() for quiet options
      am: suppress apply errors when using 3-way
      t4150: test applying with a newline in subject
Commits on Jun 18, 2009
  1. @bebarino @gitster

    am, rebase: teach quiet option

    bebarino authored gitster committed
    git-am and git-rebase are talkative scripts. Teach them to be quiet when
    told, allowing them to speak only when they fail or experience errors.
    
    The quiet option is maintained when git-am or git-rebase fails to apply
    a patch. This means subsequent --resolved, --continue, --skip, --abort
    invocations will be quiet if the original invocation was quiet.
    
    Drop a handful of >&2 redirection; the rest of the program sends all the
    info messages to stdout, not to stderr.
    
    Signed-off-by: Stephen Boyd <bebarino@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 15, 2009
  1. @bebarino @gitster

    pull, rebase: simplify to use die()

    bebarino authored gitster committed
    Signed-off-by: Stephen Boyd <bebarino@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
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
Something went wrong with that request. Please try again.