Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Sep 18, 2012
  1. @gitster

    Merge branch 'jc/make-static'

    gitster authored
    Turn many file-scope private symbols to static to reduce the
    global namespace contamination.
    
    * jc/make-static:
      sequencer.c: mark a private file-scope symbol as static
      ident.c: mark private file-scope symbols as static
      trace.c: mark a private file-scope symbol as static
      wt-status.c: mark a private file-scope symbol as static
      read-cache.c: mark a private file-scope symbol as static
      strbuf.c: mark a private file-scope symbol as static
      sha1-array.c: mark a private file-scope symbol as static
      symlinks.c: mark private file-scope symbols as static
      notes.c: mark a private file-scope symbol as static
      rerere.c: mark private file-scope symbols as static
      graph.c: mark private file-scope symbols as static
      diff.c: mark a private file-scope symbol as static
      commit.c: mark a file-scope private symbol as static
      builtin/notes.c: mark file-scope private symbols as static
Commits on Sep 16, 2012
  1. @gitster

    sequencer.c: mark a private file-scope symbol as static

    gitster authored
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 14, 2012
  1. @vmiklos @gitster

    cherry-pick: don't forget -s on failure

    vmiklos authored gitster committed
    In case 'git cherry-pick -s <commit>' failed, the user had to use 'git
    commit -s' (i.e. state the -s option again), which is easy to forget
    about.  Instead, write the signed-off-by line early, so plain 'git
    commit' will have the same result.
    
    Also update 'git commit -s', so that in case there is already a relevant
    Signed-off-by line before the Conflicts: line, it won't add one more at
    the end of the message. If there is no such line, then add it before the
    the Conflicts: line.
    
    Signed-off-by: Miklos Vajna <vmiklos@suse.cz>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Aug 6, 2012
  1. @arachsys @gitster

    cherry-pick: add --allow-empty-message option

    arachsys authored gitster committed
    Scripts such as "git rebase -i" cannot currently cherry-pick commits
    which have an empty commit message, as git cherry-pick calls git
    commit without the --allow-empty-message option.
    
    Add an --allow-empty-message option to git cherry-pick which is passed
    through to git commit, so this behaviour can be overridden.
    
    Signed-off-by: Chris Webb <chris@arachsys.com>
    Reviewed-by: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Apr 24, 2012
  1. @gitster

    git-cherry-pick: Add keep-redundant-commits option

    Neil Horman authored gitster committed
    The git-cherry-pick --allow-empty command by default only preserves empty
    commits that were originally empty, i.e only those commits for which
    <commit>^{tree} and <commit>^^{tree} are equal.  By default commits which are
    non-empty, but were made empty by the inclusion of a prior commit on the current
    history are filtered out.  This option allows us to override that behavior and
    include redundant commits as empty commits in the change history.
    
    Note that this patch changes the default behavior of git cherry-pick slightly.
    Prior to this patch all commits in a cherry-pick sequence were applied and git
    commit was run.  The implication here was that, if a commit was redundant, and
    the commit did not trigger the fast forward logic, the git commit operation, and
    therefore the git cherry-pick operation would fail, displaying the cherry pick
    advice (i.e. run git commit --allow-empty).  With this patch however, such
    redundant commits are automatically skipped without stopping, unless
    --keep-redundant-commits is specified, in which case, they are automatically
    applied as empty commits.
    
    Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Apr 11, 2012
  1. @gitster

    git-cherry-pick: add allow-empty option

    Neil Horman authored gitster committed
    git cherry-pick fails when picking a non-ff commit that is empty.  The advice
    given with the failure is that a git-commit --allow-empty should be issued to
    explicitly add the empty commit during the cherry pick.  This option allows a
    user to specify before hand that they want to keep the empty commit.  This
    eliminates the need to issue both a cherry pick and a commit operation.
    
    Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 12, 2012
  1. @artagnon @gitster

    sequencer: factor code out of revert builtin

    artagnon authored gitster committed
    Expose the cherry-picking machinery through a public
    sequencer_pick_revisions() (renamed from pick_revisions() in
    builtin/revert.c), so that cherry-picking and reverting are special
    cases of a general sequencer operation.  The cherry-pick builtin is
    now a thin wrapper that does command-line argument parsing before
    calling into sequencer_pick_revisions().  In the future, we can write
    a new "foo" builtin that calls into the sequencer like:
    
      memset(&opts, 0, sizeof(opts));
      opts.action = REPLAY_FOO;
      opts.revisions = xmalloc(sizeof(*opts.revs));
      parse_args_populate_opts(argc, argv, &opts);
      init_revisions(opts.revs);
      sequencer_pick_revisions(&opts);
    
    This patch does not intend to make any functional changes.  Check
    with:
    
      $ git blame -s -C HEAD^..HEAD -- sequencer.c | grep -C3 '^[^^]'
    
    Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
    Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 12, 2011
  1. @jrn @gitster

    revert: stop creating and removing sequencer-old directory

    jrn authored gitster committed
    Now that "git reset" no longer implicitly removes .git/sequencer that
    the operator may or may not have wanted to keep, the logic to write a
    backup copy of .git/sequencer and remove it when stale is not needed
    any more.  Simplify the sequencer API and repository layout by
    dropping it.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 22, 2011
  1. @jrn @gitster

    revert: rename --reset option to --quit

    jrn authored gitster committed
    The option to "git cherry-pick" and "git revert" to discard the
    sequencer state introduced by v1.7.8-rc0~141^2~6 (revert: Introduce
    --reset to remove sequencer state, 2011-08-04) has a confusing name.
    Change it now, while we still have the time.
    
    The new name for "cherry-pick, please get out of my way, since I've
    long forgotten about the sequence of commits I was cherry-picking when
    you wrote that old .git/sequencer directory" is --quit.  Mnemonic:
    this is analagous to quiting a program the user is no longer using ---
    we just want to get out of the multiple-command cherry-pick procedure
    and not to reset HEAD or rewind any other old state.
    
    The "--reset" option is kept as a synonym to minimize the impact.  We
    might consider dropping it for simplicity in a separate patch, though.
    
    Adjust documentation and tests to use the newly preferred name (--quit)
    instead of --reset.  While at it, let's clarify the short descriptions
    of these operations in "-h" output.
    
    Before:
    
    	--reset		forget the current operation
    	--continue	continue the current operation
    
    After:
    
    	--quit		end revert or cherry-pick sequence
    	--continue	resume revert or cherry-pick sequence
    
    Noticed-by: Phil Hord <phil.hord@gmail.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Aug 4, 2011
  1. @artagnon @gitster

    revert: Introduce --reset to remove sequencer state

    artagnon authored gitster committed
    To explicitly remove the sequencer state for a fresh cherry-pick or
    revert invocation, introduce a new subcommand called "--reset" to
    remove the sequencer state.
    
    Take the opportunity to publicly expose the sequencer paths, and a
    generic function called "remove_sequencer_state" that various git
    programs can use to remove the sequencer state in a uniform manner;
    "git reset" uses it later in this series.  Introducing this public API
    is also in line with our long-term goal of eventually factoring out
    functions from revert.c into a generic commit sequencer.
    
    Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Something went wrong with that request. Please try again.