Permalink
Commits on Jun 3, 2008
  1. GIT v1.5.6-rc1

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 3, 2008
  2. commit: drop duplicated parents

    The scripted version of git-commit internally used git-commit-tree which
    omitted duplicated parents given from the command line.  This prevented a
    nonsensical octopus merge from getting created even when you said "git
    merge A B" while you are already on branch A.
    
    However, when git-commit was rewritten in C, this sanity check was lost.
    This resurrects it.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 3, 2008
  3. rebase --interactive: Compute upstream SHA1 before switching branches

    If the upstream argument to rebase (the first argument) was relative to
    HEAD and the name of the branch to rebase (the second argument) was given,
    the upstream would have been interpreted relative to the second argument.
    In particular, this command
    
        git rebase -i HEAD topic
    
    would always finish with "Nothing to do". (a1bf91e fixed the same issue
    for non-interactive rebase.)
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Johannes Sixt committed with gitster Jun 2, 2008
  4. Documentation/git-filter-branch.txt: Fix description of --commit-filter

    The old description was misleading and logically impossible. It claimed that
    the ancestors of the original commit would be re-written to have the multiple
    emitted ids as parents. Not only would this modify existing objects, but it
    would create a cycle. What this actually does is pass the multiple emitted ids
    to the newly-created children to use as parents.
    
    Signed-off-by: Kevin Ballard <kevin@sb.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    kballard committed with gitster May 30, 2008
  5. gitweb: Fix "next" link on bottom of page

    Fix search form generation to not modify $cgi->param(...)'s.
    
    In git_header_html() we used to use $cgi->hidden(-name => "a") etc. to
    generate hidden fields; unfortunately to use this form it is required
    to modify $cgi->param("a") etc., which makes href(-replay,...) use
    wrong replay values.  This for example made the "next" link on the
    bottom of the page has a=search instead of a=$action, and thus fails to
    get you to the next page.
    
    Because in CGI the value of a hidden field is "sticky", there is no
    way to modify it short of modifying $cgi->param(...).  Therefore it
    got replaced by generating <input type="hidden" ...> element [semi]
    directly.
    
    Alternate solution would be for href(-replay,...) to use values saved
    in global variables, such as $action etc., instead of (re)reading them
    from $cgi->param($symbol).
    
    The bad link was reported by Kai Blin through
      http://bugs.debian.org/481902
    
    Reported-by: Kai Blin <kai.blin@gmail.com>
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Tested-by: Gerrit Pape <pape@smarden.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jnareb committed with gitster Jun 2, 2008
  6. Revert "git.el: Set process-environment instead of invoking env"

    This reverts commit dbe4825, which
    caused mis-encoding of non-ASCII author/committer names when the
    git-status mode is used to create commits.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    kwiberg committed with gitster Jun 2, 2008
Commits on Jun 2, 2008
  1. Merge branch 'sb/am-tests'

    * sb/am-tests:
      Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh
      Add test cases for git-am
    gitster committed Jun 2, 2008
  2. Merge branch 'lw/test-fix'

    * lw/test-fix:
      t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons
    gitster committed Jun 2, 2008
  3. Merge branch 'sp/remote'

    * sp/remote:
      Make "git-remote rm" delete refs acccording to fetch specs
      Make "git-remote prune" delete refs according to fetch specs
      Remove unused remote_prefix member in builtin-remote
    gitster committed Jun 2, 2008
  4. Merge branch 'lt/pack-sync'

    * lt/pack-sync:
      Remove now unnecessary 'sync()' calls
      Make pack creation always fsync() the result
    gitster committed Jun 2, 2008
  5. Merge branch 'np/pack-check'

    * np/pack-check:
      make verify-pack a bit more useful with bad packs
    gitster committed Jun 2, 2008
  6. make verify-pack a bit more useful with bad packs

    When a pack gets corrupted, its SHA1 checksum will fail.  However, this
    is more useful to let the test go on in order to find the actual
    problem location than only complain about the SHA1 mismatch and
    bail out.
    
    Also, it is more useful to compare the stored pack SHA1 with the one in
    the index file instead of the computed SHA1 since the computed SHA1
    from a corrupted pack won't match the one stored in the index either.
    
    Finally a few code and message cleanups were thrown in as a bonus.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Nicolas Pitre committed with gitster May 29, 2008
  7. Merge branch 'jb/reset-q'

    * jb/reset-q:
      git-reset: honor -q and do not show progress message
    gitster committed Jun 2, 2008
  8. Merge branch 'jc/checkout'

    * 'jc/checkout':
      checkout: "best effort" checkout
      unpack_trees(): allow callers to differentiate worktree errors from merge errors
      checkout: consolidate reset_{to_new,clean_to_new}()
      checkout: make reset_clean_to_new() not die by itself
    gitster committed Jun 2, 2008
  9. Merge branch 'lr/init-bare'

    * lr/init-bare:
      git-init: accept --bare option
    gitster committed Jun 2, 2008
  10. Git.pm: fix return value of config method

    If config is called in array context, it is supposed to return all
    values set for the given option key.  This works for all cases except
    if there is no value set at all.  In that case, it wrongly returns
    (undef) instead of ().  This fixes the return statement so that it
    returns undef in scalar context but an empty array in array context.
    
    Signed-off-by: Lea Wiemann <LeWiemann@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Lea Wiemann committed with gitster Jun 1, 2008
  11. glossary: improve a few links

    They now point to more specific/appropriate targets.
    
    Signed-off-by: Lea Wiemann <LeWiemann@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Lea Wiemann committed with gitster Jun 1, 2008
  12. Documentation: convert "glossary" and "core-tutorial" to man pages

    This patch renames the following documents and at the same time converts
    them to the man format:
    
    core-tutorial.txt -> gitcore-tutorial.txt
    glossary.txt      -> gitglossary.txt
    
    But as the glossary is included in the user manual and as the new
    gitglossary man page cannot be included as a whole in the user manual,
    the actual glossary content is now in its own "glossary-content.txt"
    new file. And this file is included by both the user manual and the
    gitglossary man page.
    
    Other documents that reference the above ones are changed accordingly
    and sometimes improved a little too.
    
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    chriscool committed with gitster May 29, 2008
  13. Git.pm: fix documentation of hash_object

    The documentation of hash_object incorrectly states that it accepts a
    file handle -- in fact it doesn't, and there is even a TODO comment
    for this.  This fixes the documentation.
    
    Signed-off-by: Lea Wiemann <LeWiemann@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Lea Wiemann committed with gitster Jun 1, 2008
  14. graph API: avoid printing unnecessary padding before some octopus merges

    When an octopus merge is printed, several lines are printed before it to
    move over existing branch lines to its right.  This is needed to make
    room for the children of the octopus merge.  For example:
    
    | | | |
    | |  \ \
    | |   \ \
    | |    \ \
    | M---. \ \
    | |\ \ \ \ \
    
    However, this step isn't necessary if there are no branch lines to the
    right of the octopus merge.  Therefore, skip this step when it is not
    needed, to avoid printing extra lines that don't really serve any
    purpose.
    
    Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    simpkins committed with gitster Jun 1, 2008
Commits on Jun 1, 2008
  1. graph API: improve display of merge commits

    This change improves the way merge commits are displayed, to eliminate a
    few visual artifacts.  Previously, merge commits were displayed as:
    
    | M  \
    | |\  |
    
    As pointed out by Teemu Likonen, this didn't look nice if the rightmost
    branch line was displayed as '\' on the previous line, as it then
    appeared to have an extra space in it:
    
    | |\
    | M  \
    | |\  |
    
    This change updates the code so that branch lines to the right of merge
    commits are printed slightly differently depending on how the previous
    line was displayed:
    
    | |\          | | |        | |  /
    | M \         | M |        | M |
    | |\ \        | |\ \       | |\ \
    
    Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    simpkins committed with gitster Jun 1, 2008
  2. git-svn fails in prop_walk if $self->{path} is not empty

    If url://repo/trunk is the current Git branch, prop_walk strips trunk
    from the path name. That is useful as, for example "git svn show-ignore"
    should not return results like
    
        trunk/foo
    
    but
    
        foo
    
    if svn:ignore for trunk includes foo.
    
    The problem now is that prop_walk strips trunk from the path and then
    calls itself recursively. But now trunk is missing in the path and
    get_dir fails, because it is called for a non existing path.
    
    The attached patch fixed the problem, by adding the previously stipped
    $self->{path} in the recursive call. I tested it with my current
    git-svn repository for the commands show-ignore and show-external.
    
    Patch was submitted through
     http://bugs.debian.org/477393
    
    Signed-off-by: Gerrit Pape <pape@smarden.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Christian Engwer committed with gitster May 27, 2008
  3. Add a --dry-run option to git-svn rebase

    When working with multiple branches in an svn repository, it can be
    useful to verify the svn repository and local tracking branch that will
    be used for the rebase operation.
    
    Signed-off-by: Seth Falcon <seth@userprimary.net>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    seth committed with gitster May 20, 2008
  4. Fix path duplication in git svn commit-diff

    Given an SVN repo file:///tmp/svntest/repo, trying to commit changes
    to a file proj/trunk/foo.txt in that repo with this command line
    
      git svn commit-diff -r2 HEAD^ HEAD file:///tmp/svntest/repo/proj/trunk
    
    gave the error message
    
      Filesystem has no item: File not found: transaction '2-6', path
      '/proj/trunk/proj/trunk/foo.txt'
    
    This fixes the duplication.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    kwiberg committed with gitster May 17, 2008
  5. Make "git-remote rm" delete refs acccording to fetch specs

    A remote may be configured to fetch into tracking branches that
    don't match its name.  A user may have created a remote by hand
    that will fetch to a different tracking branch namespace:
    
      [remote "alt"]
        url = git://repo.or.cz/alt-git.git
        fetch = refs/heads/*:refs/remotes/origin/*
    
    When deleting remote alt we should clean up the refs whose names
    start with "refs/remotes/origin/", even though the remote itself
    was named alt by the user.
    
    To avoid deleting refs used by another remote we only clear refs
    that are unique to this remote.  This prevents `git prune rm alt`
    from removing the refs used by say origin if alt was just using a
    different URL for the same repository.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    spearce committed with gitster Jun 1, 2008
  6. Make "git-remote prune" delete refs according to fetch specs

    A remote may be configured to fetch into tracking branches that
    do not match the remote name.  For example a user may have created
    extra remotes that will fetch to the same tracking branch namespace,
    but from different URLs:
    
      [remote "origin"]
        url = git://git.kernel.org/pub/scm/git/git.git
        fetch = refs/heads/*:refs/remotes/origin/*
    
      [remote "alt"]
        url = git://repo.or.cz/alt-git.git
        fetch = refs/heads/*:refs/remotes/origin/*
    
    When running `git remote prune alt` we expect stale branches to
    be removed from "refs/remotes/origin/*" and not from the unused
    namespace of "refs/remotes/alt/*".
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    spearce committed with gitster Jun 1, 2008
  7. Remove unused remote_prefix member in builtin-remote

    Not sure when this became unused, but no code references it,
    other than to populate the strbuf with an initial value.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    spearce committed with gitster Jun 1, 2008
  8. t/test-lib.sh: resolve symlinks in working directory, for pathname co…

    …mparisons
    
    Without this, some tests will fail because they compare command output
    of subprocesses (such as git) with $PWD -- but subprocesses have the
    physical path as their working directory, whereas $PWD contains the
    symlinked path.  This fixes it.
    
    Signed-off-by: Lea Wiemann <LeWiemann@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Lea Wiemann committed with gitster May 31, 2008
  9. git-reset: honor -q and do not show progress message

    When running git-reset in a non-interactive setting, the -q switch
    works for everything except the progress updates. This squelches it.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jamis committed with gitster Jun 1, 2008
Commits on May 31, 2008
  1. Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh

    This patch moves the am test cases in t4150-am.sh and the
    am subdirectory test cases from t/t4150-am-subdir.sh into
    t/4151-am.sh.
    
    Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    sbeyer committed with gitster May 31, 2008
  2. Add test cases for git-am

    Add t/t4151-am.sh that does basic testing of git-am functionality,
    including:
     * am applies patch correctly
     * am changes committer and keeps author
     * am --signoff adds Signed-off-by: line
     * am stays in branch
     * am --signoff does not add Signed-off-by: line if already there
     * am without --keep removes Re: and [PATCH] stuff
     * am --keep really keeps the subject
     * am -3 falls back to 3-way merge
     * am pauses on conflict
     * am --skip works
     * am --resolved works
     * am takes patches from a Pine mailbox
     * am fails on mail without patch
     * am fails on empty patch
    
    Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    sbeyer committed with gitster May 31, 2008
  3. Remove now unnecessary 'sync()' calls

    Since the pack-files are now always created stably on disk, there is no
    need to sync() before pruning lose objects or old stale pack-files.
    
    [jc: with Nico's clean-up]
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    torvalds committed with gitster May 30, 2008
  4. Make pack creation always fsync() the result

    This means that we can depend on packs always being stable on disk,
    simplifying a lot of the object serialization worries.  And unlike loose
    objects, serializing pack creation IO isn't going to be a performance
    killer.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    torvalds committed with gitster May 30, 2008
  5. Clarify description of <repository> argument to pull/fetch for naming…

    … remotes.
    
    Alter the description of <repository> in OPTIONS section to
    explicitly state that a 'remote name' is accepted.
    Rewrite REMOTES section to more directly identify the
    different kinds of remote-name permitted.
    
    Signed-off-by: John J. Franey <jjfraney@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jjfraney committed with gitster May 29, 2008
  6. rollback lock files on more signals than just SIGINT

    Other signals are also common, for example SIGTERM and SIGHUP.
    This patch modifies the lock file mechanism to catch more signals.
    It also modifies http-push.c which was missing SIGTERM.
    
    Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bonzini committed with gitster May 29, 2008