Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Feb 08, 2007

  1. add -C[NUM] to git-am

    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>
    Michael S. Tsirkin authored Junio C Hamano committed

Jan 31, 2007

  1. David Kågedal

    Improved error message from git-rebase

    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>
    dkagedal authored Junio C Hamano committed

Jan 21, 2007

  1. git-rebase: allow rebasing a detached HEAD.

    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored

Jan 13, 2007

  1. Allow whole-tree operations to be started from a subdirectory

    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>
    Junio C Hamano authored

Jan 10, 2007

  1. Shawn O. Pearce

    Disallow working directory commands in a bare repository.

    If the user tries to run a porcelainish command which requires
    a working directory in a bare repository they may get unexpected
    results which are difficult to predict and may differ from command
    to command.
    
    Instead we should detect that the current repository is a bare
    repository and refuse to run the command there, as there is no
    working directory associated with it.
    
    [jc: updated Shawn's original somewhat -- bugs are mine.]
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    spearce authored Junio C Hamano committed

Dec 28, 2006

  1. Shawn O. Pearce

    Use branch names in 'git-rebase -m' conflict hunks.

    If a three-way merge in git-rebase generates a conflict then we
    should take advantage of git-merge-recursive's ability to include
    the branch name of each side of the conflict hunk by setting the
    GITHEAD_* environment variables.
    
    In the case of rebase there aren't really two clear branches; we
    have the branch we are rebasing onto, and we have the branch we are
    currently rebasing.  Since most conflicts will be arising between
    the user's current branch and the branch they are rebasing onto
    we assume the stuff that isn't in the current commit is the "onto"
    branch and the stuff in the current commit is the "current" branch.
    
    This assumption may however come up wrong if the user resolves one
    conflict in such a way that it conflicts again on a future commit
    also being rebased.  In this case the user's prior resolution will
    appear to be in the "onto" part of the hunk.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    spearce authored Junio C Hamano committed
  2. Shawn O. Pearce

    Use GIT_REFLOG_ACTION environment variable instead.

    Junio rightly pointed out that the --reflog-action parameter
    was starting to get out of control, as most porcelain code
    needed to hand it to other porcelain and plumbing alike to
    ensure the reflog contained the top-level user action and
    not the lower-level actions it invoked.
    
    At Junio's suggestion we are introducing the new set_reflog_action
    function to all shell scripts, allowing them to declare early on
    what their default reflog name should be, but this setting only
    takes effect if the caller has not already set the GIT_REFLOG_ACTION
    environment variable.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    spearce authored Junio C Hamano committed

Dec 22, 2006

  1. merge and reset: adjust for "reset --hard" messages

    An earlier commit made "reset --hard" chattier but leaking its
    message from "git rebase" (which calls it when first rewinding
    the current branch to prepare replaying our own changes) without
    explanation was confusing, so add an extra message to mention
    it.  Inside restorestate in merge (which is rarely exercised
    codepath, where more than one strategies are attempted),
    resetting to the original state uses "reset --hard" -- this can
    be squelched entirely.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored

Dec 09, 2006

  1. rerere: record (or avoid misrecording) resolved, skipped or aborted r…

    …ebase/am
    
    Data in rr-cache isn't valid after a patch application is
    skipped or and aborted, so our next commit could be misrecorded
    as a resolution of that skipped/failed commit, which is wrong.
    
    git-am --skip, git-rebase --skip/--abort will automatically
    invoke git-rerere clear to avoid this.
    
    Also, since git-am --resolved indicates a resolution was
    succesful, remember to run git-rerere to record the resolution
    (and not surprise the user when the next commit is made).
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed

Nov 22, 2006

  1. remove merge-recursive-old

    This frees the Porcelain-ish that comes with the core Python-free.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored

Oct 04, 2006

  1. git-rebase: Add a -v option to show a diffstat of the changes upstrea…

    …m at the start of a rebase.
    
    Signed-off-by: Robert Shearman <rob@codeweavers.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Robert Shearman authored Junio C Hamano committed
  2. git-rebase: Use --ignore-if-in-upstream option when executing git-for…

    …mat-patch.
    
    This reduces the number of conflicts when rebasing after a series of
    patches to the same piece of code is committed upstream.
    
    Signed-off-by: Robert Shearman <rob@codeweavers.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Robert Shearman authored Junio C Hamano committed

Sep 25, 2006

  1. Deprecate merge-recursive.py

    This renames merge-recursive written in Python to merge-recursive-old,
    and makes merge-recur as a synonym to merge-recursive.  We do not remove
    merge-recur yet, but we will remove merge-recur and merge-recursive-old
    in a few releases down the road.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored

Aug 13, 2006

  1. Merge branch 'master' into js/c-merge-recursive

    Adjust to hold_lock_file_for_update() change on the master.
    Junio C Hamano authored

Jul 31, 2006

  1. rebase: Make the fast-fowarding message more user-friendly by using b…

    …ranch names instead of SHA1 IDs.
    
    Signed-off-by: Robert Shearman <rob@codeweavers.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Robert Shearman authored Junio C Hamano committed
  2. rebase: Fix the detection of fast-forwarding of the current branch to…

    … upstream.
    
    Previously, a rebasing operation with on a branch that is just tracking
    an upstream branch would output a confusing "Nothing to do" due to no
    patches being given to git-am.
    
    The test brings the behaviour back into line with that of just before
    e646c9c.
    
    Signed-off-by: Robert Shearman <rob@codeweavers.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Robert Shearman authored Junio C Hamano committed
  3. Merge branch 'js/read-tree' into js/c-merge-recursive

    * js/read-tree: (107 commits)
      read-tree: move merge functions to the library
      read-trees: refactor the unpack_trees() part
      tar-tree: illustrate an obscure feature better
      git.c: allow alias expansion without a git directory
      setup_git_directory_gently: do not barf when GIT_DIR is given.
      Build on Debian GNU/kFreeBSD
      Call setup_git_directory() much earlier
      Call setup_git_directory() early
      Display an error from update-ref if target ref name is invalid.
      Fix http-fetch
      t4103: fix binary patch application test.
      git-apply -R: binary patches are irreversible for now.
      Teach git-apply about '-R'
      Makefile: ssh-pull.o depends on ssh-fetch.c
      log and diff family: honor config even from subdirectories
      git-reset: detect update-ref error and report it.
      lost-found: use fsck-objects --full
      Teach git-http-fetch the --stdin switch
      Teach git-local-fetch the --stdin switch
      Make pull() support fetching multiple targets at once
      ...
    Junio C Hamano authored

Jul 14, 2006

  1. recur vs recursive: help testing without touching too many stuff.

    During git-merge-recur development, you could set an environment
    variable GIT_USE_RECUR_FOR_RECURSIVE to use WIP recur in place
    of the recursive strategy.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored
  2. dscho

    Status update on merge-recursive in C

    This is just an update for people being interested. Alex and me were
    busy with that project for a few days now. While it has progressed nicely,
    there are quite a couple TODOs in merge-recursive.c, just search for "TODO".
    
    For impatient people: yes, it passes all the tests, and yes, according
    to the evil test Alex did, it is faster than the Python script.
    
    But no, it is not yet finished. Biggest points are:
    
    - there are still three external calls
    - in the end, it should not be necessary to write the index more than once
      (just before exiting)
    - a lot of things can be refactored to make the code easier and shorter
    
    BTW we cannot just plug in git-merge-tree yet, because git-merge-tree
    does not handle renames at all.
    
    This patch is meant for testing, and as such,
    
    - it compile the program to git-merge-recur
    - it adjusts the scripts and tests to use git-merge-recur instead of
      git-merge-recursive
    - it provides "TEST", a script to execute the tests regarding -recursive
    - it inlines the changes to read-cache.c (read_cache_from(), discard_cache()
      and refresh_cache_entry())
    
    Brought to you by Alex Riesen and Dscho
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    dscho authored Junio C Hamano committed
  3. Shawn O. Pearce

    Record rebase changes as 'rebase' in the reflog.

    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    spearce authored Junio C Hamano committed

Jul 08, 2006

  1. Using 'perl' in *.sh

    Some GIT's shell script are using bare 'perl' for perl invocation.
    Use @@PERL@@ symbol and replace it with PERL_PATH_SQ everywhere.
    
    Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Michal Rokos authored Junio C Hamano committed

Jun 28, 2006

  1. rebase: check for errors from git-commit

    commit does not always succeed, so we'll have to check for
    it in the absence of set -e.  This fixes a regression
    introduced in 9e4bc7d
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed
  2. rebase: get rid of outdated MRESOLVEMSG

    There was a time when rebase --skip didn't work when used with
    --merge, but that is no more so we don't need that message
    anymore.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed

Jun 27, 2006

  1. dstosberg

    Fix expr usage for FreeBSD

    Some implementations of "expr" (e.g. FreeBSD's) fail, if an
    argument starts with a dash.
    
    Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    dstosberg authored Junio C Hamano committed

Jun 25, 2006

  1. rebase: allow --skip to work with --merge

    Now that we control the merge base selection, we won't be forced
    into rolling things in that we wanted to skip beforehand.
    
    Also, add a test to ensure this all works as intended.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed
  2. rebase: cleanup rebasing with --merge

    We no longer have to recommit each patch to remove the parent
    information we're rebasing since we're using the low-level merge
    strategies directly instead of git-merge.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed
  3. rebase: allow --merge option to handle patches merged upstream

    Enhance t3401-rebase-partial to test with --merge as well as
    the standard am -3 strategy.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed

Jun 22, 2006

  1. rebase --merge: fix for rebasing more than 7 commits.

    Instead of using 4-digit numbers to name commits being rebased,
    just use "cmt.$msgnum" string, with $msgnum as a decimal number
    without leading zero padding.  This makes it possible to rebase
    more than 9999 commits, but of more practical importance is that
    the earlier code used "printf" to format already formatted
    $msgnum and barfed when it counted up to 0008.  In other words,
    the old code was incapable of rebasing more than 7 commits, and
    this fixes that problem.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored

Jun 21, 2006

  1. rebase: error out for NO_PYTHON if they use recursive merge

    recursive merge relies on Python, and we can't perform
    rename-aware merges without the recursive merge.  So bail out
    before trying it.
    
    The test won't work w/o recursive merge, either, so skip that,
    too.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed
  2. rebase: Allow merge strategies to be used when rebasing

    This solves the problem of rebasing local commits against an
    upstream that has renamed files.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Eric Wong authored Junio C Hamano committed

May 21, 2006

  1. git-rebase: use canonical A..B syntax to format-patch

    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored

May 14, 2006

  1. Sean

    Make git rebase interactive help match documentation.

    Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    loops authored Junio C Hamano committed

Apr 27, 2006

  1. Sean

    Add --continue and --abort options to git-rebase.

      git rebase [--onto <newbase>] <upstream> [<branch>]
      git rebase --continue
      git rebase --abort
    
    Add "--continue" to restart the rebase process after
    manually resolving conflicts.  The user is warned if
    there are still differences between the index and the
    working files.
    
    Add "--abort" to restore the original branch, and
    remove the .dotest working files.
    
    Some minor additions to the git-rebase documentation.
    
    [jc: fix that applies to the maintenance track has been dealt
     with separately.]
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    loops authored Junio C Hamano committed

Apr 26, 2006

  1. rebase: typofix.

    Noticed by Sean.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano authored

Apr 13, 2006

  1. Shell utilities: Guard against expr' magic tokens.

    Some words, e.g., `match', are special to expr(1), and cause strange
    parsing effects.  Track down all uses of expr and mangle the arguments
    so that this isn't a problem.
    
    Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Mark Wooding authored Junio C Hamano committed
Something went wrong with that request. Please try again.