Permalink
Commits on Jan 31, 2011
  1. Git 1.7.4

    gitster committed Jan 30, 2011
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 27, 2011
  1. Don't pass "--xhtml" to hightlight in gitweb.perl script.

    Adam Tkac committed with gitster Jan 27, 2011
    The "--xhtml" option is supported only in highlight < 3.0. There is no option
    to enforce (X)HTML output format compatible with both highlight < 3.0 and
    highlight >= 3.0. However default output format is HTML so we don't need to
    explicitly specify it.
    
    Signed-off-by: Adam Tkac <atkac@redhat.com>
    Helped-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'maint'

    gitster committed Jan 27, 2011
    * maint:
      rebase -i: clarify in-editor documentation of "exec"
      tests: sanitize more git environment variables
      fast-import: treat filemodify with empty tree as delete
      rebase: give a better error message for bogus branch
      rebase: use explicit "--" with checkout
    
    Conflicts:
    	t/t9300-fast-import.sh
  3. rebase -i: clarify in-editor documentation of "exec"

    jrn committed with gitster Jan 21, 2011
    The hints in the current "instruction sheet" template look like so:
    
     # Rebase 3f14246..a1d7e01 onto 3f14246
     #
     # Commands:
     #  p, pick = use commit
     #  r, reword = use commit, but edit the commit message
     #  e, edit = use commit, but stop for amending
     #  s, squash = use commit, but meld into previous commit
     #  f, fixup = like "squash", but discard this commit's log message
     #  x <cmd>, exec <cmd> = Run a shell command <cmd>, and stop if it fails
     #
     # If you remove a line here THAT COMMIT WILL BE LOST.
     # However, if you remove everything, the rebase will be aborted.
     #
    
    This does not make it clear that the format of each line is
    
    	<insn> <commit id> <explanatory text that will be printed>
    
    but the reader will probably infer that from the automatically
    generated pick examples above it.
    
    What about the "exec" instruction?  By analogy, I might imagine that
    the format of that line is "exec <command> <explanatory text>", and
    the "x <cmd>" hint does not address that question (at first I read it
    as taking an argument <cmd> that is the name of a shell).  Meanwhile,
    the mention of <cmd> makes the hints harder to scan as a table.
    
    So remove the <cmd> and add some words to remind the reader that
    "exec" runs a command named by the rest of the line.  To make room, it
    is left to the manpage to explain that that command is run using
    $SHELL and that nonzero status from that command will pause the
    rebase.
    
    Wording from Junio.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. tests: sanitize more git environment variables

    peff committed with gitster Jan 26, 2011
    These variables should generally not be set in one's
    environment, but they do get set by rebase, which means
    doing an interactive rebase like:
    
      pick abcd1234 foo
      exec make test
    
    will cause false negatives in the test suite.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. Merge branch 'jn/fast-import-empty-tree-removal' into maint

    gitster committed Jan 27, 2011
    * jn/fast-import-empty-tree-removal:
      fast-import: treat filemodify with empty tree as delete
  6. fast-import: treat filemodify with empty tree as delete

    jrn committed with gitster Jan 27, 2011
    Normal git processes do not allow one to build a tree with an empty
    subtree entry without trying hard at it.  This is in keeping with the
    general UI philosophy: git tracks content, not empty directories.
    
    v1.7.3-rc0~75^2 (2010-06-30) changed that by making it easy to include
    an empty subtree in fast-import's active commit:
    
    	M 040000 4b825dc642cb6eb9a060e54bf8d69288fbee4904 subdir
    
    One can trigger this by reading an empty tree (for example, the tree
    corresponding to an empty root commit) and trying to move it to a
    subtree.  It is better and more closely analogous to 'git read-tree
    --prefix' to treat such commands as requests to remove the subtree.
    
    Noticed-by: David Barr <david.barr@cordelta.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. rebase: give a better error message for bogus branch

    peff committed with gitster Jan 27, 2011
    When you give a non-existent branch to git-rebase, it spits
    out the usage. This can be confusing, since you may
    understand the usage just fine, but simply have made a
    mistake in the branch name.
    
    Before:
    
      $ git rebase origin bogus
      Usage: git rebase ...
    
    After:
    
      $ git rebase origin bogus
      fatal: no such branch: bogus
      Usage: git rebase ...
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. rebase: use explicit "--" with checkout

    peff committed with gitster Jan 27, 2011
    In the case of a ref/pathname conflict, checkout will
    already do the right thing and checkout the ref. However,
    for a non-existant ref, this has two advantages:
    
      1. If a file with that pathname exists, rebase will
         refresh the file from the index and then rebase the
         current branch instead of producing an error.
    
      2. If no such file exists, the error message using an
         explicit "--" is better:
    
           # before
           $ git rebase -i origin bogus
           error: pathspec 'bogus' did not match any file(s) known to git.
           Could not checkout bogus
    
           # after
           $ git rebase -i origin bogus
           fatal: invalid reference: bogus
           Could not checkout bogus
    
    The problems seem to be trigger-able only through "git
    rebase -i", as regular git-rebase checks the validity of the
    branch parameter as a ref very early on. However, it doesn't
    hurt to be defensive.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 24, 2011
  1. Git 1.7.4-rc3

    gitster committed Jan 24, 2011
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'as/userdiff-pascal'

    gitster committed Jan 24, 2011
    * as/userdiff-pascal:
      userdiff: match Pascal class methods
  3. Merge branch 'jn/setup-fixes'

    gitster committed Jan 24, 2011
    * jn/setup-fixes:
      t1510: fix typo in the comment of a test
      Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical usecase
      Subject: setup: officially support --work-tree without --git-dir
      tests: compress the setup tests
      tests: cosmetic improvements to the repo-setup test
      t/README: hint about using $(pwd) rather than $PWD in tests
      Fix expected values of setup tests on Windows
  4. t1510: fix typo in the comment of a test

    jrn committed with gitster Jan 22, 2011
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical …

    gitster committed Jan 23, 2011
    …usecase
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 21, 2011
  1. Subject: setup: officially support --work-tree without --git-dir

    jrn committed with gitster Jan 19, 2011
    The original intention of --work-tree was to allow people to work in a
    subdirectory of their working tree that does not have an embedded .git
    directory.  Because their working tree, which their $cwd was in, did not
    have an embedded .git, they needed to use $GIT_DIR to specify where it is,
    and because this meant there was no way to discover where the root level
    of the working tree was, so we needed to add $GIT_WORK_TREE to tell git
    where it was.
    
    However, this facility has long been (mis)used by people's scripts to
    start git from a working tree _with_ an embedded .git directory, let git
    find .git directory, and then pretend as if an unrelated directory were
    the associated working tree of the .git directory found by the discovery
    process.  It happens to work in simple cases, and is not worth causing
    "regression" to these scripts.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Documentation: do not treat reset --keep as a special case

    jrn committed with gitster Jan 21, 2011
    The current treatment of "git reset --keep" emphasizes how it
    differs from --hard (treatment of local changes) and how it breaks
    down into plumbing (git read-tree -m -u HEAD <commit> followed by git
    update-ref HEAD <commit>).  This can discourage people from using
    it, since it might seem to be a complex or niche option.
    
    Better to emphasize what the --keep flag is intended for --- moving
    the index and worktree from one commit to another, like "git checkout"
    would --- so the reader can make a more informed decision about the
    appropriate situations in which to use it.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 20, 2011
  1. Correctly report corrupted objects

    dotdash committed with gitster Jan 20, 2011
    The errno check added in commit 3ba7a06 "A loose object is not corrupt
    if it cannot be read due to EMFILE" only checked for whether errno is
    not ENOENT and thus incorrectly treated "no error" as an error
    condition.
    
    Because of that, it never reached the code path that would report that
    the object is corrupted and instead caused funny errors like:
    
      fatal: failed to read object 333c4768ce595793fdab1ef3a036413e2a883853: Success
    
    So we have to extend the check to cover the case in which the object
    file was successfully read, but its contents are corrupted.
    
    Reported-by: Will Palmer <wmpalmer@gmail.com>
    Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 19, 2011
  1. tests: compress the setup tests

    jrn committed with gitster Jan 19, 2011
    New test helpers:
    
     - setup_repo, to initialize a repository or gitfile pointing to a
       repository, with core.bare and core.worktree set as specified;
    
     - try_case, to run setup from a given directory and validate the
       result, with GIT_DIR and GIT_WORK_TREE set as specified;
    
     - try_repo, to initialize a repository and call "try_case" from the
       toplevel and a subdirectory;
    
     - run_wt_tests, to run a battery of tests that check for sane
       behavior when GIT_WORK_TREE is set to various positions relative to
       the .git dir and cwd.
    
    Use these helpers to make the test shorter, less repetitive, and (one
    hopes) easier to understand and modify.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. tests: cosmetic improvements to the repo-setup test

    jrn committed with gitster Jan 19, 2011
    Give an overview in "sh t1510-repo-setup.sh --help" output.
    Waste some vertical and horizontal space for clearer code.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Merge branch 'maint'

    gitster committed Jan 19, 2011
    * maint:
      exec_cmd: remove unused extern
  4. exec_cmd: remove unused extern

    kusma committed with gitster Jan 10, 2011
    This definition was added by commit 77cb17e, but it's left unused since
    commit 511707d. Remove the left-over definition.
    
    Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. Merge branch 'jn/gitweb-no-logo' into maint

    gitster committed Jan 19, 2011
    * jn/gitweb-no-logo:
      gitweb: make logo optional
  6. Merge branch 'jk/diff-driver-binary-doc' into maint

    gitster committed Jan 19, 2011
    * jk/diff-driver-binary-doc:
      docs: explain diff.*.binary option
  7. Merge branch 'tr/submodule-relative-scp-url' into maint

    gitster committed Jan 19, 2011
    * tr/submodule-relative-scp-url:
      submodule: fix relative url parsing for scp-style origin
  8. Merge branch 'rj/maint-difftool-cygwin-workaround' into maint

    gitster committed Jan 19, 2011
    * rj/maint-difftool-cygwin-workaround:
      difftool: Fix failure on Cygwin
  9. Merge branch 'rj/maint-test-fixes' into maint

    gitster committed Jan 19, 2011
    * rj/maint-test-fixes:
      t9501-*.sh: Fix a test failure on Cygwin
      lib-git-svn.sh: Add check for mis-configured web server variables
      lib-git-svn.sh: Avoid setting web server variables unnecessarily
      t9142: Move call to start_httpd into the setup test
      t3600-rm.sh: Don't pass a non-existent prereq to test #15
  10. Merge branch 'jn/maint-gitweb-pathinfo-fix' into maint

    gitster committed Jan 19, 2011
    * jn/maint-gitweb-pathinfo-fix:
      gitweb: Fix handling of whitespace in generated links
  11. Merge branch 'ak/describe-exact' into maint

    gitster committed Jan 19, 2011
    * ak/describe-exact:
      describe: Delay looking up commits until searching for an inexact match
      describe: Store commit_names in a hash table by commit SHA1
      describe: Do not use a flex array in struct commit_name
      describe: Use for_each_rawref
  12. Merge branch 'jn/maint-fast-import-object-reuse' into maint

    gitster committed Jan 19, 2011
    * jn/maint-fast-import-object-reuse:
      fast-import: insert new object entries at start of hash bucket
  13. Merge branch 'jn/submodule-b-current' into maint

    gitster committed Jan 19, 2011
    * jn/submodule-b-current:
      git submodule: Remove now obsolete tests before cloning a repo
      git submodule -b ... of current HEAD fails
  14. Merge branch 'jc/maint-svn-info-test-fix' into maint

    gitster committed Jan 19, 2011
    * jc/maint-svn-info-test-fix:
      t9119: do not compare "Text Last Updated" line from "svn info"
  15. Merge branch 'nd/maint-relative' into maint

    gitster committed Jan 19, 2011
    * nd/maint-relative:
      get_cwd_relative(): do not misinterpret root path
  16. Documentation/fast-import: put explanation of M 040000 <dataref> "" i…

    jrn committed with gitster Jan 16, 2011
    …n context
    
    Omit needless words ("Additionally ... <path> may also" is redundant).
    While at it, place the explanation of this special case after the
    general rules for paths to provide the reader with some context.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  17. svndump.c: Fix a printf format compiler warning

    Ramsay Jones committed with gitster Jan 11, 2011
    In particular, on systems that define uint32_t as an unsigned long,
    gcc complains as follows:
    
            CC vcs-svn/svndump.o
        vcs-svn/svndump.c: In function `svndump_read':
        vcs-svn/svndump.c:215: warning: int format, uint32_t arg (arg 2)
    
    In order to suppress the warning we use the C99 format specifier
    macro PRIu32 from <inttypes.h>.
    
    Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
    Acked-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 18, 2011
  1. remote-ext: do not segfault for blank lines

    jrn committed with gitster Jan 16, 2011
    Instead of stripping space characters past the beginning of the
    line and overflowing a buffer, stop at the beginning of the line
    (mimicking the corresponding fix in remote-fd).
    
    The argument to isspace does not need to be cast explicitly because
    git isspace takes care of that already.
    
    Noticed-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>