summaryrefslogtreecommitdiff
path: root/check-racy.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-08-16 04:38:07 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-08-16 04:38:07 (GMT)
commit42f774063db1442fc3815f596d263f90dcd8380b (patch)
tree5a959ca6469b90b9cf04623bb5b4c7d41fac5f74 /check-racy.c
parent520cd3eca5743bebd217423e1fd0721f32613bb1 (diff)
downloadgit-42f774063db1442fc3815f596d263f90dcd8380b.zip
git-42f774063db1442fc3815f596d263f90dcd8380b.tar.gz
git-42f774063db1442fc3815f596d263f90dcd8380b.tar.bz2
Add check program "git-check-racy"
This will help counting the racily clean paths, but it should be useless for daily use. Do not even enable it in the makefile. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'check-racy.c')
-rw-r--r--check-racy.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/check-racy.c b/check-racy.c
new file mode 100644
index 0000000..d6a08b4
--- /dev/null
+++ b/check-racy.c
@@ -0,0 +1,28 @@
+#include "cache.h"
+
+int main(int ac, char **av)
+{
+ int i;
+ int dirty, clean, racy;
+
+ dirty = clean = racy = 0;
+ read_cache();
+ for (i = 0; i < active_nr; i++) {
+ struct cache_entry *ce = active_cache[i];
+ struct stat st;
+
+ if (lstat(ce->name, &st)) {
+ error("lstat(%s): %s", ce->name, strerror(errno));
+ continue;
+ }
+
+ if (ce_match_stat(ce, &st, 0))
+ dirty++;
+ else if (ce_match_stat(ce, &st, 2))
+ racy++;
+ else
+ clean++;
+ }
+ printf("dirty %d, clean %d, racy %d\n", dirty, clean, racy);
+ return 0;
+}