Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Jan 06, 2007

  1. Print a more accurate error message when we fail to create a lock file.

    Signed-off-by: Steven Grimm <koreth@midwinter.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored January 05, 2007 Junio C Hamano committed January 06, 2007

Jan 05, 2007

  1. Merge branch 'maint'

    * maint:
      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data
      Fix infinite loop when deleting multiple packed refs.
    authored January 04, 2007

Jan 03, 2007

  1. Fix infinite loop when deleting multiple packed refs.

    It was stupid to link the same element twice to lock_file_list
    and end up in a loop, so we certainly need a fix.
    
    But it is not like we are taking a lock on multiple files in
    this case.  It is just that we leave the linked element on the
    list even after commit_lock_file() successfully removes the
    cruft.
    
    We cannot remove the list element in commit_lock_file(); if we
    are interrupted in the middle of list manipulation, the call to
    remove_lock_file_on_signal() will happen with a broken list
    structure pointed by lock_file_list, which would cause the cruft
    to remain, so not removing the list element is the right thing
    to do.  Instead we should be reusing the element already on the
    list.
    
    There is already a code for that in lock_file() function in
    lockfile.c.  The code checks lk->next and the element is linked
    only when it is not already on the list -- which is incorrect
    for the last element on the list (which has NULL in its next
    field), but if you read the check as "is this element already on
    the list?" it actually makes sense.  We do not want to link it
    on the list again, nor we would want to set up signal/atexit
    over and over.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored January 02, 2007

Dec 20, 2006

  1. simplify inclusion of system header files.

    This is a mechanical clean-up of the way *.c files include
    system header files.
    
     (1) sources under compat/, platform sha-1 implementations, and
         xdelta code are exempt from the following rules;
    
     (2) the first #include must be "git-compat-util.h" or one of
         our own header file that includes it first (e.g. config.h,
         builtin.h, pkt-line.h);
    
     (3) system headers that are included in "git-compat-util.h"
         need not be included in individual C source files.
    
     (4) "git-compat-util.h" does not have to include subsystem
         specific header files (e.g. expat.h).
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored December 19, 2006

Aug 13, 2006

  1. Better error message when we are unable to lock the index file

    Most of the callers except the one in refs.c use the function to
    update the index file.  Among the index writers, everybody
    except write-tree dies if they cannot open it for writing.
    
    This gives the function an extra argument, to tell it to die
    when it cannot create a new file as the lockfile.
    
    The only caller that does not have to die is write-tree, because
    updating the index for the cache-tree part is optional and not
    being able to do so does not affect the correctness.  I think we
    do not have to be so careful and make the failure into die() the
    same way as other callers, but that would be a different patch.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored August 12, 2006

Jun 10, 2006

  1. shared repository - add a few missing calls to adjust_shared_perm().

    There were a few calls to adjust_shared_perm() that were
    missing:
    
     - init-db creates refs, refs/heads, and refs/tags before
       reading from templates that could specify sharedrepository in
       the config file;
    
     - updating config file created it under user's umask without
       adjusting;
    
     - updating refs created it under user's umask without
       adjusting;
    
     - switching branches created .git/HEAD under user's umask
       without adjusting.
    
    This moves adjust_shared_perm() from sha1_file.c to path.c,
    since a few SIMPLE_PROGRAM need to call repository configuration
    functions which in turn need to call adjust_shared_perm().
    sha1_file.c needs to link with SHA1 computation library which
    is usually not linked to SIMPLE_PROGRAM.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored June 09, 2006

Jun 06, 2006

  1. Make index file locking code reusable to others.

    The framework to create lockfiles that are removed at exit is
    first used to reliably write the index file, but it is
    applicable to other things, so stop calling it "cache_file".
    
    This also rewords a few remaining error message that called the
    index file "cache file".
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored June 06, 2006
Something went wrong with that request. Please try again.