Permalink
Commits on Sep 13, 2009
  1. GIT 1.6.5-rc1

    gitster committed Sep 13, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Improve --patch option documentation in git-add

    jaalto committed with gitster Sep 13, 2009
    Signed-off-by: Jari Aalto <jari.aalto@cante.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Merge branch 'pk/fast-import-tars'

    gitster committed Sep 13, 2009
    * pk/fast-import-tars:
      import-tars: Allow per-tar author and commit message.
  4. Merge branch 'pk/fast-import-dirs'

    gitster committed Sep 13, 2009
    * pk/fast-import-dirs:
      Add script for importing bits-and-pieces to Git.
  5. Merge branch 'jt/pushinsteadof'

    gitster committed Sep 13, 2009
    * jt/pushinsteadof:
      Add url.<base>.pushInsteadOf: URL rewriting for push only
      Wrap rewrite globals in a struct in preparation for adding another set
  6. Merge branch 'jk/unwanted-advices'

    gitster committed Sep 13, 2009
    * jk/unwanted-advices:
      status: make "how to stage" messages optional
      push: make non-fast-forward help message configurable
  7. Merge branch 'jc/merge-saner-messages'

    gitster committed Sep 13, 2009
    * jc/merge-saner-messages:
      merge-recursive: give less scary messages when merge did not start
  8. quiltimport documentation: --dry-run and -n are synonyms

    gitster committed Sep 13, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  9. preserve mtime of local clone

    Clemens Buchacher committed with gitster Sep 12, 2009
    A local clone without hardlinks copies all objects, including dangling
    ones, to the new repository. Since the mtimes are renewed, those
    dangling objects cannot be pruned by "git gc --prune", even if they
    would have been old enough for pruning in the original repository.
    
    Instead, preserve mtime during copy. "git gc --prune" will then work
    in the clone just like it did in the original.
    
    Signed-off-by: Clemens Buchacher <drizzd@aon.at>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  10. don't dereference NULL upon fdopen failure

    Jim Meyering committed with gitster Sep 12, 2009
    There were several unchecked use of fdopen(); replace them with xfdopen()
    that checks and dies.
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  11. use write_str_in_full helper to avoid literal string lengths

    meyering committed with gitster Sep 12, 2009
    This is the same fix to use write_str_in_full() helper to write a constant
    string out without counting the length of it ourselves.
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  12. Merge branch 'db/vcs-helper'

    gitster committed Sep 13, 2009
    * db/vcs-helper:
      Makefile: remove remnant of separate http/https/ftp helpers
      Use a clearer style to issue commands to remote helpers
      Make the "traditionally-supported" URLs a special case
      Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
      Makefile: do not link three copies of git-remote-* programs
      Makefile: git-http-fetch does not need expat
      http-fetch: Fix Makefile dependancies
      Add transport native helper executables to .gitignore
      git-http-fetch: not a builtin
      Use an external program to implement fetching with curl
      Add support for external programs for handling native fetches
  13. use write_str_in_full helper to avoid literal string lengths

    meyering committed with gitster Sep 12, 2009
    In 2d14d65 (Use a clearer style to issue commands to remote helpers,
    2009-09-03) I happened to notice two changes like this:
    
    -	write_in_full(helper->in, "list\n", 5);
    +
    +	strbuf_addstr(&buf, "list\n");
    +	write_in_full(helper->in, buf.buf, buf.len);
    +	strbuf_reset(&buf);
    
    IMHO, it would be better to define a new function,
    
        static inline ssize_t write_str_in_full(int fd, const char *str)
        {
               return write_in_full(fd, str, strlen(str));
        }
    
    and then use it like this:
    
    -       strbuf_addstr(&buf, "list\n");
    -       write_in_full(helper->in, buf.buf, buf.len);
    -       strbuf_reset(&buf);
    +       write_str_in_full(helper->in, "list\n");
    
    Thus not requiring the added allocation, and still avoiding
    the maintenance risk of literal string lengths.
    These days, compilers are good enough that strlen("literal")
    imposes no run-time cost.
    
    Transformed via this:
    
        perl -pi -e \
            's/write_in_full\((.*?), (".*?"), \d+\)/write_str_in_full($1, $2)/'\
          $(git grep -l 'write_in_full.*"')
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  14. wrap git's main usage string.

    moy committed with gitster Sep 12, 2009
    It's now similar wrapped the same way as in Documentation/git.txt, and
    fits in a 67 characters wide terminal.
    
    Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  15. Merge branch 'maint'

    gitster committed Sep 13, 2009
    * maint:
      GIT 1.6.4.3
      svn: properly escape arguments for authors-prog
      http.c: remove verification of remote packs
      grep: accept relative paths outside current working directory
      grep: fix exit status if external_grep() punts
    
    Conflicts:
    	GIT-VERSION-GEN
    	RelNotes
  16. GIT 1.6.4.3

    gitster committed Sep 13, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  17. svn: properly escape arguments for authors-prog

    MarkLodato committed with gitster Sep 13, 2009
    Previously, the call to authors-prog was not properly escaped, so any
    special characters in the Subversion username, such as spaces and
    semi-colons, would be interpreted by the shell rather than being passed
    in as the first argument.  Now all unsafe characters are escaped using
    "git rev-parse --sq-quote"
    
    [ew: switched from "\Q..\E" to "rev-parse --sq-quote"]
    
    Signed-off-by: Mark Lodato <lodatom@gmail.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  18. Merge branch 'cb/maint-1.6.3-grep-relative-up' into maint

    gitster committed Sep 13, 2009
    * cb/maint-1.6.3-grep-relative-up:
      grep: accept relative paths outside current working directory
      grep: fix exit status if external_grep() punts
    
    Conflicts:
    	t/t7002-grep.sh
Commits on Sep 12, 2009
  1. Makefile: remove remnant of separate http/https/ftp helpers

    gitster committed Sep 12, 2009
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. rebase: use plumbing to show dirty state

    peff committed with gitster Sep 9, 2009
    Commit 4cfbe06 introduced the use of "git diff" to show
    dirty state in a format more familiar to users. However, it
    should have used the plumbing "git diff-files" instead.
    
    Not only is it good practice in general to use plumbing in
    scripts, but in this case we really don't want the automatic
    pager to kick in for an error message.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. status: make "how to stage" messages optional

    peff committed with gitster Sep 9, 2009
    These messages are nice for new users, but experienced git
    users know how to manipulate the index, and these messages
    waste a lot of screen real estate.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. push: make non-fast-forward help message configurable

    peff committed with gitster Sep 9, 2009
    This message is designed to help new users understand what
    has happened when refs fail to push. However, it does not
    help experienced users at all, and significantly clutters
    the output, frequently dwarfing the regular status table and
    making it harder to see.
    
    This patch introduces a general configuration mechanism for
    optional messages, with this push message as the first
    example.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 11, 2009
  1. pager: set LESS=FRSX also on Windows

    j6t committed with gitster Sep 11, 2009
    Previously, this environment variable was set in the pager_preexec
    callback, which is conditionally-compiled only on Unix, because it is not,
    and cannot be, called on Windows.
    
    With this patch the env member of struct child_process is used to set
    the environment variable, which also works on Windows.
    
    Noticed by Alexey Borzenkov.
    
    Signed-off-by: Johannes Sixt <j6t@kdbg.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. start_command: do not clobber cmd->env on Windows code path

    j6t committed with gitster Sep 11, 2009
    Previously, it would not be possible to call start_command twice for the
    same struct child_process that has env set.
    
    The fix is achieved by moving the loop that modifies the environment block
    into a helper function. This also allows us to make two other helper
    functions static.
    
    Signed-off-by: Johannes Sixt <j6t@kdbg.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. http.c: remove verification of remote packs

    rctay committed with gitster Sep 9, 2009
    Make http.c::fetch_pack_index() no longer check for the remote pack
    with a HEAD request before fetching the corresponding pack index file.
    
    Not only does sending a HEAD request before we do a GET incur a
    performance penalty, it does not offer any significant error-
    prevention advantages (pack fetching in the *_http_pack_request()
    methods is capable of handling any errors on its own).
    
    This addresses an issue raised elsewhere:
    
      http://code.google.com/p/msysgit/issues/detail?id=323
      http://support.github.com/discussions/repos/957-cant-clone-over-http-or-git
    
    Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. add documentation for mailinfo.scissors and '--no-scissors'

    Nicolas Sebrecht committed with gitster Sep 11, 2009
    Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. mailinfo: add '--scissors' to usage message

    Nicolas Sebrecht committed with gitster Sep 11, 2009
    Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. INSTALL: Describe dependency knobs from Makefile

    Benabik committed with gitster Sep 10, 2009
    We said that some of our dependencies were optional, but didn't say
    how to turn them off.  Add information for that and mention where to
    save the options close to the top of the file.
    
    Also, standardize on both using quotes for the names of the dependencies
    and tabs for indentation of the list.
    
    Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. INSTALL: Reorder dependencies, split shell and Perl

    Benabik committed with gitster Sep 9, 2009
    The most important and non-optional dependencies should go first, so put
    them there.  While we're moving them, the descriptions for shell and perl
    were archaic, referring to "bare-bones Porcelainish scripts" that have
    become powerful and essential.
    
    Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 10, 2009
  1. git-p4: Avoid modules deprecated in Python 2.6.

    reillyeon committed with gitster Sep 10, 2009
    The popen2, sha and sets modules are deprecated in Python 2.6 (sha in
    Python 2.5).  Both popen2 and sha are not actually used in git-p4.
    Replace usage of sets.Set with the builtin set object.
    
    The built-in set object was added in Python 2.4 and is already used in
    other parts of this script, so this dependency is nothing new.
    
    Signed-off-by: Reilly Grant <reillyeon@qotw.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Makefile: Add NEEDS_CRYPTO_WITH_SSL

    Benabik committed with gitster Sep 8, 2009
    The Makefile comment for NEEDS_SSL_WITH_CRYPTO says to define it "if
    you need -lcrypto with -lssl (Darwin)."  However, what it actually
    does is add -lssl when you use -lcrypto and not the other way around.
    However, libcrypto contains a majority of the ERR_* functions from
    OpenSSL (at least on OS X) so we need it both ways.
    
    So, add NEEDS_CRYPTO_WITH_SSL which adds -lcrypto to the OpenSSL link
    flags and clarify the difference between it and NEEDS_SSL_WITH_CRYPTO.
    
    Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 9, 2009
  1. git.el: Use git-add-file for unmerged files, remove git-resolve-file

    Enselic committed with gitster Sep 3, 2009
    Use `git-add-file' to mark unmerged files as resolved in the
    *git-status* buffer to be consistent with git's CLI instructions. Also
    remove `git-resolve-file' to make it clear that that "R" is a now a
    free keybinding.
    
    Signed-off-by: Martin Nordholts <martinn@src.gnome.org>
    Acked-by: Alexandre Julliard <julliard@winehq.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. INSTALL: Update description of our SHA-1 code

    Benabik committed with gitster Sep 9, 2009
    We haven't had Mozilla's code or an ARM optimized algorithm since
    30ae47b.  Reword the paragraph to give credit but not authorship to
    Mozilla.
    
    Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Sep 8, 2009
  1. merge-recursive: give less scary messages when merge did not start

    gitster committed Sep 8, 2009
    When unpack_trees() three-way merge logic is called from merge-recursive
    and finds that local changes are going to be clobbered, its plumbing level
    messages were given as errors first, and then the merge driver added even
    more scary message "fatal: merging of trees <a long object name> and
    <another long object name> failed".
    
    This is most often encountered by new CVS/SVN migrants who are used to
    start a merge from a dirty work tree.  The saddest part is that the merge
    refused to run to prevent _any_ damage from being done to your work tree
    when these messages are given, but the messages look a lot more scarier
    than the conflicted case where the user needs to resolve them.
    
    Replace the plumbing level messages so that they talk about what it is
    protecting the user from, and end the messages with "Aborting." so that it
    becomes clear that the command did not do any harm.
    
    The final "merging of trees failed" message is superfluous, unless you are
    interested in debugging the merge-recursive itself.  Squelch the current
    die() message by default, but allow it to help people who debug git with
    verbosity level 4 or greater.
    
    Unless there is some bug, an inner merge that does not touch working tree
    should not trigger any such error, so emit the current die() message when
    we see an error return from it while running the inner merge, too.  It
    would also help people who debug git.
    
    We could later add instructions on how to recover (i.e. "stash changes
    away or commit on a side branch and retry") instead of the silent
    exit(128) I have in this patch, and then use Peff's advice.* mechanism to
    squelch it (e.g. "advice.mergeindirtytree"), but they are separate topics.
    
    Tested-by: Nanako Shiraishi <nanako3@lavabit.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Add url.<base>.pushInsteadOf: URL rewriting for push only

    joshtriplett committed with gitster Sep 7, 2009
    This configuration option allows systematically rewriting fetch-only URLs
    to push-capable URLs when used with push.  For instance:
    
    [url "ssh://example.org/"]
        pushInsteadOf = "git://example.org/"
    
    This will allow clones of "git://example.org/path/to/repo" to subsequently
    push to "ssh://example.org/path/to/repo", without manually configuring
    pushurl for that remote.
    
    Includes documentation for the new option, bash completion updates, and
    test cases (both that pushInsteadOf applies to push, that it does not
    apply to fetch, and that it is ignored when pushURL is already defined).
    
    Signed-off-by: Josh Triplett <josh@joshtriplett.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>