• Show log

    Commit

  • Hash : ce8cd006
    Author : Brodie Rao
    Date : 2011-09-07T15:32:44

    fileops/repository: create (most) directories with 0777 permissions
    
    To further match how Git behaves, this change makes most of the
    directories libgit2 creates in a git repo have a file mode of
    0777. Specifically:
    
    - Intermediate directories created with git_futils_mkpath2file() have
      0777 permissions. This affects odb_loose, reflog, and refs.
    
    - The top level folder for bare repos is created with 0777
      permissions.
    
    - The top level folder for non-bare repos is created with 0755
      permissions.
    
    - /objects/info/, /objects/pack/, /refs/heads/, and /refs/tags/ are
      created with 0777 permissions.
    
    Additionally, the following changes have been made:
    
    - fileops functions that create intermediate directories have grown a
      new dirmode parameter. The only exception to this is filebuf's
      lock_file(), which unconditionally creates intermediate directories
      with 0777 permissions when GIT_FILEBUF_FORCE is set.
    
    - The test runner now sets the umask to 0 before running any
      tests. This ensurses all file mode checks are consistent across
      systems.
    
    - t09-tree.c now does a directory permissions check. I've avoided
      adding this check to other tests that might reuse existing
      directories from the prefabricated test repos. Because they're
      checked into the repo, they have 0755 permissions.
    
    - Other assorted directories created by tests have 0777 permissions.