Merge branch 'rr/minimal-stat'
authorJunio C Hamano <gitster@pobox.com>
Wed, 30 Jan 2013 16:53:02 +0000 (08:53 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 30 Jan 2013 16:53:02 +0000 (08:53 -0800)
Some reimplementations of Git does not write all the stat info back
to the index due to their implementation limitations (e.g. jgit
running on Java). A configuration option can tell Git to ignore
changes to most of the stat fields and only pay attention to mtime
and size, which these implementations can reliably update. This
avoids excessive revalidation of contents.

* rr/minimal-stat:
Enable minimal stat checking

1  2 
cache.h
diff --combined cache.h
index 1f96f659e484fd1407dbc403c4095205cf3b0c54,ab20c4ddf3d68398f4cad5d53d4cde013703bbec..7339f21849b45a7f53945317893313498aff5a41
+++ b/cache.h
@@@ -536,6 -536,7 +536,7 @@@ extern int delete_ref(const char *, con
  /* Environment bits from configuration mechanism */
  extern int trust_executable_bit;
  extern int trust_ctime;
+ extern int check_stat;
  extern int quote_path_fully;
  extern int has_symlinks;
  extern int minimum_abbrev, default_abbrev;
@@@ -1011,6 -1012,7 +1012,6 @@@ struct ref 
                requires_force:1,
                merge:1,
                nonfastforward:1,
 -              not_forwardable:1,
                update:1,
                deletion:1;
        enum {
@@@ -1147,7 -1149,7 +1148,7 @@@ extern int check_repository_format_vers
  extern int git_env_bool(const char *, int);
  extern int git_config_system(void);
  extern int config_error_nonbool(const char *);
 -#ifdef __GNUC__
 +#if defined(__GNUC__) && ! defined(__clang__)
  #define config_error_nonbool(s) (config_error_nonbool(s), -1)
  #endif
  extern const char *get_log_output_encoding(void);