Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Dec 13, 2010
  1. @gitster

    Merge branch 'mz/rebase-i-verify'

    gitster authored
    * mz/rebase-i-verify:
      rebase: support --verify
  2. @gitster

    Merge branch 'mz/rebase-abort-reflog-fix'

    gitster authored
    * mz/rebase-abort-reflog-fix:
      rebase --abort: do not update branch ref
  3. @gitster

    Merge branch 'mz/maint-rebase-stat-config'

    gitster authored
    * mz/maint-rebase-stat-config:
      rebase: only show stat if configured to true
Commits on Nov 30, 2010
  1. @gitster

    Merge branch 'rr/needs-clean-work-tree'

    gitster authored
    * rr/needs-clean-work-tree:
      Porcelain scripts: Rewrite cryptic "needs update" error message
Commits on Nov 29, 2010
  1. @gitster

    rebase: only show stat if configured to true

    Martin von Zweigbergk authored gitster committed
    If rebase.stat is set to true, a diffstat should be displayed. If it is
    not set, it should default to false. However, if it is explicitly set to
    false (or other value), a diffstat is still displayed, which is probably
    not what most users would expect. Show diffstat only if it is set
    to true.
    
    Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 24, 2010
  1. @gitster

    rebase --abort: do not update branch ref

    Martin von Zweigbergk authored gitster committed
    If a non-interactive rebase of a ref fails at commit X and is aborted by
    the user, the ref will be updated twice. First to point at X (with the
    reflog message "rebase finished: $head_name onto $onto"), and then back
    to $orig_head. It should not be updated at all.
    
    Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 23, 2010
  1. @gitster

    rebase: support --verify

    Martin von Zweigbergk authored gitster committed
    Interactive rebase allows the '--verify' option to be passed, but it will
    be ignored. Implement proper support for the option for both interactive
    and non-interactive rebase by making it override any previous
    '--no-verify'.
    
    Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 10, 2010
  1. @gitster

    rebase -X: do not clobber strategy

    Martin von Zweigbergk authored gitster committed
    If any strategy options are passed to -X, the strategy will always be
    set to 'recursive'. According to the documentation, it should default to
    'recursive' if it is not set, but it should be possible to set it to
    other values.
    
    This fixes a regression introduced in v1.7.3-rc0~67^2 (2010-07-29).
    
    Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 28, 2010
  1. @artagnon @gitster

    Porcelain scripts: Rewrite cryptic "needs update" error message

    artagnon authored gitster committed
    Although Git interally has the facility to differentiate between
    porcelain and plubmbing commands and appropriately print errors,
    several shell scripts invoke plubming commands triggering cryptic
    plumbing errors to be displayed on a porcelain interface. This patch
    replaces the "needs update" message in git-pull and git-rebase, when
    `git update-index` is run, with a more friendly message.
    
    Reported-by: Joshua Jensen <jjensen@workspacewhiz.com>
    Reported-by: Thore Husfeldt <thore.husfeldt@gmail.com>
    Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 13, 2010
  1. @gitster

    shell portability: no "export VAR=VAL"

    gitster authored
    It is more portable to say "VAR=VAL && export VAR" instead.
    
    Noticed by Ævar.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
Something went wrong with that request. Please try again.