Skip to content
Commits on Jul 15, 2009
  1. @gitster

    Revert "mailinfo: Remove only one set of square brackets"

    gitster committed Jul 15, 2009
    This reverts commit 650d30d.
    
    Some mailing lists are configured add prefix "[listname] " to all their
    messages, and also people hand-edit subject lines, be it an output from
    format-patch or a patch generated by some other means.
    
    We cannot stop people from mucking with the subject line, and with the
    change, there always will be need for hand editing the subject when that
    happens.  People have depended on the leading [bracketed string] removal.
Commits on Jul 14, 2009
  1. @torvalds @gitster

    Fix extraneous lstat's in 'git checkout -f'

    torvalds committed with gitster Jul 14, 2009
    In our 'oneway_merge()' we always do an 'lstat()' to see if we might
    need to mark the entry for updating.
    
    But we really shouldn't need to do that when the cache entry is already
    marked as being ce_uptodate(), and this makes us do unnecessary lstat()
    calls if we have index preloading enabled.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @torvalds @gitster

    Improve on the 'invalid object' error message at commit time

    torvalds committed with gitster Jul 14, 2009
    Not that anybody should ever get it, but somebody did (probably because
    of a flaky filesystem, but whatever).  And each time I see an error
    message that I haven't seen before, I decide that next time it will look
    better.
    
    So this makes us write more relevant information about exactly which
    file ended up having issues with a missing object.  Which will tell
    whether it was a tree object, for example, or just a regular file in the
    index (and which one).
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @torvalds @gitster

    Make 'git show' more useful

    torvalds committed with gitster Jul 13, 2009
    For some reason, I ended up doing
    
    	git show HEAD~5..
    
    as an odd way of asking for a log. I realize I should just have used "git
    log", but at the same time it does make perfect conceptual sense. After
    all, you _could_ have done
    
    	git show HEAD HEAD~1 HEAD~2 HEAD~3 HEAD~4
    
    and saying "git show HEAD~5.." is pretty natural. It's not like "git show"
    only ever showed a single commit (or other object) before either! So
    conceptually, giving a commit range is a very sensible operation, even
    though you'd traditionally have used "git log" for that.
    
    However, doing that currently results in an error
    
    	fatal: object ranges do not make sense when not walking revisions
    
    which admittedly _also_ makes perfect sense - from an internal git
    implementation standpoint in 'revision.c'.
    
    However, I think that asking to show a range makes sense to a user, while
    saying "object ranges no not make sense when not walking revisions" only
    makes sense to a git developer.
    
    So on the whole, of the two different "makes perfect sense" behaviors, I
    think I originally picked the wrong one. And quite frankly, I don't really
    see anybody actually _depending_ on that error case. So why not change it?
    
    So rather than error out, just turn that non-walking error case into a
    "silently turn on walking" instead.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 13, 2009
  1. @szeder @gitster

    bash: add '--merges' to common 'git log' options

    szeder committed with gitster Jul 13, 2009
    ... so it's available for git log, shortlog and gitk.
    
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @szeder @gitster

    Document 'git (rev-list|log) --merges'

    szeder committed with gitster Jul 13, 2009
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @wincent @gitster

    gitweb: update Git homepage URL

    wincent committed with gitster Jul 12, 2009
    git-scm.com is now the "official" Git project page, having taken over
    from git.or.cz, so update the default link accordingly. This saves a
    redirect when people hit git.or.cz.
    
    Signed-off-by: Wincent Colaiuta <win@wincent.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 11, 2009
  1. git svn: allow uppercase UUIDs from SVN

    Eric Wong committed Jul 11, 2009
    SVN allows uppercase A-F characters in repositories.  Although
    `svnadmin' does not create UUIDs with uppercase by default, it
    is possible to change the UUID of a SVN repository and SVN
    itself will make no attempt to normalize them.
    
    Thanks to Esben Skovenborg for discovering this issue.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  2. @saittam

    git-svn: Fix branch detection when repository root is inaccessible

    saittam committed with Eric Wong Jul 7, 2009
    For the case of multiple projects sharing a single SVN repository, it is
    common practice to create the standard SVN directory layout within a
    subdirectory for each project. In such setups, access control is often
    used to limit what projects a given user may access. git-svn failed to
    detect branches (e.g. when passing --stdlayout to clone) because it
    relied on having access to the root directory in the repository. This
    patch solves this problem by making git-svn use paths relative to the
    given repository URL instead of the repository root.
    
    Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  3. @saittam

    git-svn: Always duplicate paths returned from get_log

    saittam committed with Eric Wong Jul 7, 2009
    This makes get_log more safe to use because callers cannot run into path
    clobbering any more. The additional overhead will not affect performance
    since the critical calls from the fetch loop need the path duplication
    anyway and the rest of the call sites is not performance critical.
    
    Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  4. @jherland @gitster

    quickfetch(): Prevent overflow of the rev-list command line

    jherland committed with gitster Jul 10, 2009
    quickfetch() calls rev-list to check whether the objects we are about to
    fetch are already present in the repo (if so, we can skip the object fetch).
    However, when there are many (~1000) refs to be fetched, the rev-list
    command line grows larger than the maximum command line size on some systems
    (32K in Windows). This causes rev-list to fail, making quickfetch() return
    non-zero, which unnecessarily triggers the transport machinery. This somehow
    causes fetch to fail with an exit code.
    
    By using the --stdin option to rev-list (and feeding the object list to its
    standard input), we prevent the overflow of the rev-list command line,
    which causes quickfetch(), and subsequently the overall fetch, to succeed.
    
    However, using rev-list --stdin is not entirely straightforward: rev-list
    terminates immediately when encountering an unknown object, which can
    trigger SIGPIPE if we are still writing object's to its standard input.
    We therefore temporarily ignore SIGPIPE so that the fetch process is not
    terminated.
    
    The patch also contains a testcase to verify the fix (note that before
    the patch, the testcase would only fail on msysGit).
    
    Signed-off-by: Johan Herland <johan@herland.net>
    Improved-by: Johannes Sixt <j6t@kdbg.org>
    Improved-by: Alex Riesen <raa.lkml@gmail.com>
    Tested-by: Peter Krefting <peter@softwolves.pp.se>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. @gitster

    Makefile: update IRIX64 section

    Brandon Casey committed with gitster Jul 10, 2009
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. @gitster

    Makefile: add section for SGI IRIX 6.5

    Brandon Casey committed with gitster Jul 10, 2009
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. @gitster

    Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile arguments

    Brandon Casey committed with gitster Jul 10, 2009
    Commit 003b33a recently added a call to basename().  On IRIX 6.5, this
    function resides in libgen and -lgen is required for the linker.
    
    Update configure.ac too.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. @gitster

    git-compat-util.h: adjust for SGI IRIX 6.5

    Brandon Casey committed with gitster Jul 10, 2009
    Don't define _XOPEN_SOURCE
    Do    define _SGI_SOURCE
    
    Defining _XOPEN_SOURCE prevents many of the common functions and macros
    from being defined. _Not_ setting _XOPEN_SOURCE, and instead setting
    _SGI_SOURCE, provides all of the XPG4, XPG5, BSD, POSIX functions and
    declarations, _BUT_ provides a horribly broken snprintf(). SGI does have
    a working snprintf(), but it is only provided when _NO_XOPEN5 evaluates
    to zero, and this only happens if _XOPEN_SOURCE is defined which, as
    mentioned above, prevents many other common functions and defines.
    
    The broken snprintf will be worked around with SNPRINTF_RETURNS_BOGUS in
    the Makefile in a later patch.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  9. @gitster

    unpack-trees.c: work around run-time array initialization flaw on IRI…

    Brandon Casey committed with gitster Jul 10, 2009
    …X 6.5
    
    The c99 MIPSpro Compiler version 7.4.4m on IRIX 6.5 does not properly
    initialize run-time initialized arrays.  An array which is initialized with
    fewer elements than the length of the array should have the unitialized
    elements initialized to zero.  This compiler only initializes the remaining
    elements when the last element is a static parameter.  So work around it
    by adding a "NULL" initialization parameter.
    
    Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  10. @gitster

    Merge branch 'lt/dir-cleanup'

    gitster committed Jul 10, 2009
    * lt/dir-cleanup:
      Make index preloading check the whole path to the file
      Export thread-safe version of 'has_symlink_leading_path()'
      Prepare symlink caching for thread-safety
      Avoid using 'lstat()' to figure out directories
      Avoid doing extra 'lstat()'s for d_type if we have an up-to-date cache entry
      Simplify read_directory[_recursive]() arguments
      Add 'fill_directory()' helper function for directory traversal
  11. @gitster

    Merge branch 'ae/maint-mailinfo-rm-only-one-patch-marker'

    gitster committed Jul 10, 2009
    * ae/maint-mailinfo-rm-only-one-patch-marker:
      mailinfo: Remove only one set of square brackets
  12. @gitster

    Makefile: keep "git" when bindir is execdir

    gitster committed Jul 10, 2009
    For some reason there still are people who use the old style layout
    to put everything in $(bindir).  The previous commit breaks the install
    for them, because it tries to unconditionally remove git from execdir
    and cp/ln from bindir --- oops.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 10, 2009
  1. @torvalds @gitster

    Make index preloading check the whole path to the file

    torvalds committed with gitster Jul 9, 2009
    This uses the new thread-safe 'threaded_has_symlink_leading_path()'
    function to efficiently verify that the whole path leading up to the
    filename is a proper path, and does not contain symlinks.
    
    This makes 'ce_uptodate()' a much stronger guarantee: it no longer just
    guarantees that the 'lstat()' of the path would match, it also means
    that we know that people haven't played games with moving directories
    around and covered it up with symlinks.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @torvalds @gitster

    Export thread-safe version of 'has_symlink_leading_path()'

    torvalds committed with gitster Jul 9, 2009
    The threaded index preloading will want it, so that it can avoid
    locking by simply using a per-thread symlink/directory cache.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @torvalds @gitster

    Prepare symlink caching for thread-safety

    torvalds committed with gitster Jul 9, 2009
    This doesn't actually change the external interfaces, so they are still
    thread-unsafe, but it makes the code internally pass a pointer to a
    local 'struct cache_def' around, so that the core code can be made
    thread-safe.
    
    The threaded index preloading will want to verify that the paths leading
    up to a pathname are all real directories.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. @torvalds @gitster

    Avoid using 'lstat()' to figure out directories

    torvalds committed with gitster Jul 9, 2009
    If we have an up-to-date index entry for a file in that directory, we
    can know that the directories leading up to that file must be
    directories.  No need to do an lstat() on the directory.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 9, 2009
  1. @peff @gitster

    Makefile: install 'git' in execdir

    peff committed with gitster Jul 9, 2009
    When a git command executes a subcommand, it uses the "git
    foo" form, which relies on finding "git" in the PATH.
    Normally this should not be a problem, since the same "git"
    that was used to invoke git in the first place will be
    found.  And if somebody invokes a "git" outside of the PATH
    (e.g., by giving its absolute path), this case is already
    covered: we put that absolute path onto the front of PATH.
    
    However, if one is using "sudo", then sudo will execute the
    "git" from the PATH, but pass along a restricted PATH that
    may not contain the original "git" directory. In this case,
    executing a subcommand will fail.
    
    To solve this, we put the "git" wrapper itself into the
    execdir; this directory is prepended to the PATH when git
    starts, so the wrapper will always be found.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @torvalds @gitster

    Avoid doing extra 'lstat()'s for d_type if we have an up-to-date cach…

    torvalds committed with gitster Jul 8, 2009
    …e entry
    
    On filesystems without d_type, we can look at the cache entry first.
    Doing an lstat() can be expensive.
    
    Reported by Dmitry Potapov for Cygwin.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @torvalds @gitster

    Simplify read_directory[_recursive]() arguments

    torvalds committed with gitster Jul 8, 2009
    Stop the insanity with separate 'path' and 'base' arguments that must
    match.  We don't need that crazy interface any more, since we cleaned up
    handling of 'path' in commit da4b3e8.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. @torvalds @gitster

    Add 'fill_directory()' helper function for directory traversal

    torvalds committed with gitster May 14, 2009
    Most of the users of "read_directory()" actually want a much simpler
    interface than the whole complex (but rather powerful) one.
    
    In fact 'git add' had already largely abstracted out the core interface
    issues into a private "fill_directory()" function that was largely
    applicable almost as-is to a number of callers.  Yes, 'git add' wants to
    do some extra work of its own, specific to the add semantics, but we can
    easily split that out, and use the core as a generic function.
    
    This function does exactly that, and now that much simplified
    'fill_directory()' function can be shared with a number of callers,
    while also ensuring that the rather more complex calling conventions of
    read_directory() are used by fewer call-sites.
    
    This also makes the 'common_prefix()' helper function private to dir.c,
    since all callers are now in that file.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. @gitster

    Merge branch 'ld/push-porcelain-output-format'

    gitster committed Jul 9, 2009
    * ld/push-porcelain-output-format:
      add --porcelain option to git-push
  6. @gitster

    Merge branch 'gb/gitweb-avatar'

    gitster committed Jul 9, 2009
    * gb/gitweb-avatar:
      gitweb: add empty alt text to avatar img
      gitweb: picon avatar provider
      gitweb: gravatar url cache
      gitweb: (gr)avatar support
      gitweb: use git_print_authorship_rows in 'tag' view too
      gitweb: uniform author info for commit and commitdiff
      gitweb: refactor author name insertion
  7. @gitster

    Merge branch 'ml/http'

    gitster committed Jul 9, 2009
    * ml/http:
      http.c: add http.sslCertPasswordProtected option
      http.c: prompt for SSL client certificate password
    
    Conflicts:
    	http.c
  8. @gitster

    Merge branch 'rs/grep-p'

    gitster committed Jul 9, 2009
    * rs/grep-p:
      grep: simplify -p output
      grep -p: support user defined regular expressions
      grep: add option -p/--show-function
      grep: handle pre context lines on demand
      grep: print context hunk marks between files
      grep: move context hunk mark handling into show_line()
      userdiff: add xdiff_clear_find_func()
  9. @gitster

    Merge branch 'js/run-command-updates' (early part)

    gitster committed Jul 9, 2009
    * 'js/run-command-updates' (early part):
      MinGW: truncate exit()'s argument to lowest 8 bits
Commits on Jul 8, 2009
  1. @ageric @gitster

    mailinfo: Remove only one set of square brackets

    ageric committed with gitster Jun 29, 2009
    git-format-patch prepends patches with a [PATCH x/n] prefix, but
    mailinfo used to remove any number of square-bracket pairs and
    the content between them. This prevents one from using a commit
    subject like this:
    
      [ and ] must be allowed as input
    
    Removing the square bracket pair from this rather clumsily
    constructed subject line loses important information, so we must
    take care not to.
    
    This patch causes the subject stripping to stop after it has
    encountered one pair of square brackets.
    
    One possible downside of this patch is that the patch-handling
    programs will now fail at removing author-added square-brackets
    to be removed, such as
    
      [RFC][PATCH x/n]
    
    However, since format-patch only adds one set of square brackets,
    this behaviour is quite easily undesrstood and defended while the
    previous behaviour is not.
    
    Signed-off-by: Andreas Ericsson <ae@op5.se>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @ydirson @gitster

    git-svn.txt: fix description of fetch flags accepted by clone.

    ydirson committed with gitster Jul 7, 2009
    Signed-off-by: Yann Dirson <ydirson@altern.org>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @ydirson @gitster

    git-svn.txt: fix fetch flags incorrectly documented as init flags.

    ydirson committed with gitster Jul 7, 2009
    Signed-off-by: Yann Dirson <ydirson@altern.org>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Something went wrong with that request. Please try again.