Commits on Dec 16, 2009
  1. @gitster

    Git 1.6.6-rc3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 16, 2009
  2. @gitster

    Merge branch 'maint' to sync with 1.6.5.7

    * maint:
      Git 1.6.5.7
      worktree: don't segfault with an absolute pathspec without a work tree
      ignore unknown color configuration
      help.autocorrect: do not run a command if the command given is junk
      Illustrate "filter" attribute with an example
    gitster committed Dec 16, 2009
  3. @gitster

    Git 1.6.5.7

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 16, 2009
  4. @gitster

    worktree: don't segfault with an absolute pathspec without a work tree

    If a command is run with an absolute path as a pathspec inside a bare
    repository, e.g. "rev-list HEAD -- /home", the code tried to run strlen()
    on NULL, which is the result of get_git_work_tree(), and segfaulted.  It
    should just fail instead.
    
    Currently the function returns NULL even inside .git/ in a repository
    with a work tree, but that is a separate issue.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 16, 2009
  5. @peff @gitster

    ignore unknown color configuration

    When parsing the config file, if there is a value that is
    syntactically correct but unused, we generally ignore it.
    This lets non-core porcelains store arbitrary information in
    the config file, and it means that configuration files can
    be shared between new and old versions of git (the old
    versions might simply ignore certain configuration).
    
    The one exception to this is color configuration; if we
    encounter a color.{diff,branch,status}.$slot variable, we
    die if it is not one of the recognized slots (presumably as
    a safety valve for user misconfiguration). This behavior
    has existed since 801235c (diff --color: use
    $GIT_DIR/config, 2006-06-24), but hasn't yet caused a
    problem. No porcelain has wanted to store extra colors, and
    we once a color area (like color.diff) has been introduced,
    we've never changed the set of color slots.
    
    However, that changed recently with the addition of
    color.diff.func. Now a user with color.diff.func in their
    config can no longer freely switch between v1.6.6 and older
    versions; the old versions will complain about the existence
    of the variable.
    
    This patch loosens the check to match the rest of
    git-config; unknown color slots are simply ignored. This
    doesn't fix this particular problem, as the older version
    (without this patch) is the problem, but it at least
    prevents it from happening again in the future.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Dec 12, 2009
  6. @j6t @gitster

    help.autocorrect: do not run a command if the command given is junk

    If a given command is not found, then help.c tries to guess which one the
    user could have meant. If help.autocorrect is 0 or unset, then a list of
    suggestions is given as long as the dissimilarity between the given command
    and the candidates is not excessively high. But if help.autocorrect was
    non-zero (i.e., a delay after which the command is run automatically), the
    latter restriction on dissimilarity was not obeyed.
    
    In my case, this happened:
    
     $ git ..daab02
     WARNING: You called a Git command named '..daab02', which does not exist.
     Continuing under the assumption that you meant 'read-tree'
     in 4.0 seconds automatically...
    
    The patch reuses the similarity limit that is also applied when the list of
    suggested commands is printed.
    
    Signed-off-by: Johannes Sixt <j6t@kdbg.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    j6t committed with gitster Dec 15, 2009
Commits on Dec 15, 2009
  1. @gitster

    Illustrate "filter" attribute with an example

    The example was taken from aa4ed40
    (Add 'filter' attribute and external filter driver definition).
    
    Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Nanako Shiraishi committed with gitster Dec 15, 2009
Commits on Dec 12, 2009
  1. @bjorng @gitster

    bash: Support new 'git fetch' options

    Support the new options --all, --prune, and --dry-run for
    'git fetch'.
    
    As the --multiple option was primarily introduced to enable
    'git remote update' to be re-implemented in terms of 'git fetch'
    (16679e3) and is not likely to be used much from the command
    line, it does not seems worthwhile to complicate the code
    (to support completion of multiple remotes) to handle it.
    
    Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
    Acked-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bjorng committed with gitster Dec 12, 2009
Commits on Dec 11, 2009
  1. @gitster

    Update Release Notes for 1.6.6 to remove old bugfixes

    These three have already been backported to 1.6.5.5
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 10, 2009
  2. @gitster

    Sync with 1.6.5.6

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 10, 2009
Commits on Dec 10, 2009
  1. @gitster

    Git 1.6.5.6

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 10, 2009
  2. @gitster

    Fix archive format with -- on the command line

    Giving --format from the command line, or using output file extention to
    DWIM the output format, with a pathspec that is disambiguated with an
    explicit double-dash on the command line, e.g.
    
        git archive -o file --format=zip HEAD -- path
        git archive -o file.zip HEAD -- path
    
    didn't work correctly.
    
    This was because the code reordered (when one was given) or added (when
    the format was inferred) a --format argument at the end, effectively
    making it to "archive HEAD -- path --format=zip", i.e. an extra pathspec
    that is unlikely to match anything.
    
    The command line argument list should always be "options, revs and then
    paths", and we should set a good example by inserting the --format at the
    beginning instead.
    
    Reported-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 10, 2009
  3. @gitster

    Remove post-upload-hook

    This hook runs after "git fetch" in the repository the objects are
    fetched from as the user who fetched, and has security implications.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 10, 2009
  4. @gitster

    Git 1.6.6-rc2

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 9, 2009
Commits on Dec 9, 2009
  1. @gitster

    Merge git://repo.or.cz/git-gui

    * git://repo.or.cz/git-gui:
      git-gui: suppress RenderBadPicture X error caused by Tk bug
      git-gui: Increase blame viewer usability on MacOS.
      git-gui: search 4 directories to improve statistic of gc hint
      git gui: make current branch default in "remote delete branch" merge check
    gitster committed Dec 9, 2009
  2. @gitster

    Merge git://git.kernel.org/pub/scm/gitk/gitk

    * git://git.kernel.org/pub/scm/gitk/gitk:
      gitk: Fix selection of tags
      gitk: Default to the system colours on Windows
      gitk: Update Japanese translation
      gitk: Fix "git gui blame" invocation when called from top-level directory
      gitk: Disable checkout of remote branches
      gitk: Improve appearance of radiobuttons and checkbuttons
      gitk: Skip translation of "wrong Tcl version" message
      gitk: Add Japanese translation
      gitk: Use the --submodule option for displaying diffs when available
      gitk: Fix diffing committed -> staged (typo in diffcmd)
      gitk: Add configuration for UI colour scheme
      gitk: Don't compare fake children when comparing commits
      gitk: Show diff of commits at end of compare-commits output
      gitk: Add a user preference to enable/disable use of themed widgets
      gitk: Fix errors in the theme patch
      gitk: Use themed tk widgets
      gitk: Restore scrolling position of diff pane on back/forward in history
    gitster committed Dec 9, 2009
  3. @gitster

    Update draft release notes to 1.6.6 before -rc2

    Reword the 1.7.0 warnings, and drop deprecation of "merge <msg> HEAD <commit>..."
    syntax.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 9, 2009
  4. @gitster

    Merge branch 'maint'

    * maint:
      add-interactive: fix deletion of non-empty files
      pull: clarify advice for the unconfigured error case
    gitster committed Dec 8, 2009
  5. @gitster

    Merge branch 'mm/maint-merge-ff-error-message-fix' into maint

    * mm/maint-merge-ff-error-message-fix:
      builtin-merge: show user-friendly error messages for fast-forward too.
      merge-recursive: make the error-message generation an extern function
    
    Conflicts:
    	merge-recursive.c
    gitster committed Dec 8, 2009
  6. @gitster

    Merge branch 'jn/maint-pull-rebase-error-message' into maint

    * jn/maint-pull-rebase-error-message:
      pull: clarify advice for the unconfigured error case
    gitster committed Dec 8, 2009
  7. @gitster

    Merge branch 'jk/maint-add-p-delete-fix' into maint

    * jk/maint-add-p-delete-fix:
      add-interactive: fix deletion of non-empty files
    gitster committed Dec 8, 2009
  8. @gitster

    Merge git://git.bogomips.org/git-svn

    * git://git.bogomips.org/git-svn:
      git-svn: set svn.authorsfile earlier when cloning
      git-svn: Set svn.authorsfile to an absolute path when cloning
    gitster committed Dec 8, 2009
  9. @alexmv

    git-svn: set svn.authorsfile earlier when cloning

    If a clone errors out because of a missing author, or user interrupt,
    this allows `git svn fetch` to resume seamlessly, rather than forcing
    the user to re-provide the path to the authors file.
    
    [ew: shortened subject]
    Signed-off-by: Alex Vandiver <alex@chmrr.net>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    alexmv committed with Eric Wong Dec 8, 2009
  10. @alexmv

    git-svn: Set svn.authorsfile to an absolute path when cloning

    If --authors-file is passed a relative path, cloning will work, but
    future `git svn fetch`es will fail to locate the authors file
    correctly.  Thus, use File::Spec->rel2abs to determine an absolute
    path for the authors file before setting it.
    
    Signed-off-by: Alex Vandiver <alex@chmrr.net>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    alexmv committed with Eric Wong Dec 8, 2009
Commits on Dec 8, 2009
  1. @gitster

    Revert recent "git merge <msg> HEAD <commit>..." deprecation

    This reverts commit c0ecb07 "git-pull.sh:
    Fix call to git-merge for new command format" and
    
    commit b81e00a "git-merge: a deprecation
    notice of the ancient command line syntax".
    
    They caused a "git pull" (without any arguments, and without any local
    commits---only to update to the other side) to warn that commit log
    message is ignored because the merge resulted in a fast-forward.
    
    Another possible solution is to add an extra option to "git merge" so that
    "git pull" can tell it that the message given is not coming from the end
    user (the canned message is passed just in case the merge resulted in a
    non-ff and caused commit), but I think it is easier _not_ to deprecate the
    old syntax.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 8, 2009
  2. @peff @gitster

    add-interactive: fix deletion of non-empty files

    Commit 24ab81a fixed the deletion of empty files, but broke
    deletion of non-empty files. The approach it took was to
    factor out the "deleted" line from the patch header into its
    own hunk, the same way we do for mode changes. However,
    unlike mode changes, we only showed the special "delete this
    file" hunk if there were no other hunks. Otherwise, the user
    would annoyingly be presented with _two_ hunks: one for
    deleting the file and one for deleting the content.
    
    This meant that in the non-empty case, we forgot about the
    deleted line entirely, and we submitted a bogus patch to
    git-apply (with "/dev/null" as the destination file, but not
    marked as a deletion).
    
    Instead, this patch combines the file deletion hunk and the
    content deletion hunk (if there is one) into a single
    deletion hunk which is either staged or not.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Dec 8, 2009
  3. git svn: log removals of empty directories

    This also adds a test case for:
      "git svn: Don't create empty directories whose parents were deleted"
    which was the reason we found this bug in the first place.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Eric Wong committed Dec 7, 2009
  4. git svn: Don't create empty directories whose parents were deleted

    Commit 6111b93 "git svn: attempt to create empty dirs on clone+rebase"
    will create empty directories 'a/b' and 'a/c' if they were previously
    created in SVN, even if their parent directory 'a' was deleted.
    
    For example, unhandled.log may contain lines like this:
    
    r32
      +empty_dir: packages/sipb-xen-remctl-auto/sipb-xen-remctl-auto/files/etc/remctl/sipb-xen-auto/acl
      +empty_dir: packages/sipb-xen-remctl-auto/sipb-xen-remctl-auto/files/etc/remctl/sipb-xen-auto/machine.d
      +empty_dir: packages/sipb-xen-remctl-auto/sipb-xen-remctl-auto/files/etc/remctl/sipb-xen-auto/moira-acl
    [...]
    r314
      -empty_dir: packages/sipb-xen-remctl-auto
    
    [ew: rewrote to be line-wrapped at <= 80-columns]
    
    Reported-by: Evan Broder <broder@mit.edu>
    Signed-off-by: Greg Price <price@ksplice.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Greg Price committed with Eric Wong Dec 7, 2009
  5. @alexmv

    git-svn: sort svk merge tickets to account for minimal parents

    When merging branches based on svk:merge properties, a single merge
    can have updated or added multiple svk:merge lines.  Attempt to
    include the minimal set of parents by sorting the merge properties in
    order of revision, highest to lowest.
    
    Signed-off-by: Alex Vandiver <alex@chmrr.net>
    Acked-by: Sam Vilain <sam@vilain.net>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    alexmv committed with Eric Wong Nov 29, 2009
Commits on Dec 7, 2009
  1. @jmakovicka @spearce

    git-gui: suppress RenderBadPicture X error caused by Tk bug

    Due to a bug in Tk, git-gui almost always (unless git-gui is closed
    right after starting) produces an X window error message on exit,
    something like:
    
    X Error of failed request:  RenderBadPicture (invalid Picture parameter)
      Major opcode of failed request:  150 (RENDER)
      Minor opcode of failed request:  7 (RenderFreePicture)
      Picture id in failed request: 0x3a000dc
      Serial number of failed request:  1965
      Current serial number in output stream:  1980
    
    Respective Tk bug report is here:
    
    http://sourceforge.net/tracker/?func=detail&atid=112997&aid=1821174&group_id=12997
    
    This bug is triggered only when the send command is blocked via
    rename send {} . The following patch re-enables send just before
    quiting git-gui to suppress the error.
    
    Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    jmakovicka committed with spearce Dec 4, 2009
Commits on Dec 6, 2009
  1. @szeder @gitster

    bash: update 'git commit' completion

    I just wanted to add the recently learnt '--reset-author' option, but
    then noticed that there are many more options missing.  This patch
    adds support for all of 'git commit's options, except '--allow-empty',
    because it is primarily there for foreign scm interfaces.
    
    Furthermore, this patch also adds support for completing the arguments
    of those options that take a non-filename argument: valid modes are
    offered for '--cleanup' and '--untracked-files', while refs for
    '--reuse-message' and '--reedit-message', because these two take a
    commit as argument.
    
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Acked-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    szeder committed with gitster Dec 5, 2009
Commits on Dec 5, 2009
  1. @angavrilov @spearce

    git-gui: Increase blame viewer usability on MacOS.

    On MacOS raising a window causes the focus to be transferred
    to it -- although it may actually be a bug in the Tcl/Tk port.
    When this happens with the blame viewer tooltips, it makes
    the interface less usable, because Entry and Leave handlers
    on the text view cause the tip to disappear once the mouse
    is moved even 1 pixel.
    
    This commit makes the code raise the main window on MacOS
    when Tk 8.5 is used. This version seems to properly support
    wm transient by making the tip stay on top of the master,
    so reraising the master does not cause it to disappear. Thus
    the only remaining sign of problems is slight UI flicker
    when focus is momentarily transferred to the tip and back.
    
    Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    angavrilov committed with spearce Nov 13, 2008
  2. @drizzd @spearce

    git-gui: search 4 directories to improve statistic of gc hint

    On Windows, git-gui suggests running the garbage collector if it finds
    1 or more files in .git/objects/42 (as opposed to 8 files on other
    platforms). The probability of that happening if the repo contains
    about 100 loose objects is 32%. The probability for the same to happen
    when searching 4 directories is only 8%, which is bit more reasonable.
    
    Also remove $objects_limit from the message, because we already know
    that we are above (or close to) that limit. Telling the user about
    that number does not really give him any useful information.
    
    The following octave script shows the probability for at least m*q
    objects to be found in q subdirectories of .git/objects if n is the
    total number of objects.
    
    q = 4;
    m = [1 2 8];
    n = 0:10:2000;
    
    P = zeros(length(n), length(m));
    for k = 1:length(n)
            P(k, :) = 1-binocdf(q*m-1, n(k), q/(256-q));
    end
    plot(n, P);
    
    n \ q   1       4
    50      18%     1%
    100     32%     8%
    200     54%     39%
    500     86%     96%
    
    Signed-off-by: Clemens Buchacher <drizzd@aon.at>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    drizzd committed with spearce Sep 14, 2009
  3. @spearce

    git gui: make current branch default in "remote delete branch" merge …

    …check
    
    We already do the same when locally deleting a branch.
    
    Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Heiko Voigt committed with spearce Dec 4, 2009
  4. @gitster

    Sync with 1.6.5.5

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Dec 5, 2009