summaryrefslogtreecommitdiff
path: root/show-diff.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-09 16:48:20 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-09 16:48:20 (GMT)
commit734aab758cc2b9f5e2ed43375dbfec1b5bfde43b (patch)
tree6c8b42ad4851c05a0a093af5468bdcec6367b7e8 /show-diff.c
parenteb38c22f535c7c973f27b62845c5136c4be0ae49 (diff)
downloadgit-734aab758cc2b9f5e2ed43375dbfec1b5bfde43b.zip
git-734aab758cc2b9f5e2ed43375dbfec1b5bfde43b.tar.gz
git-734aab758cc2b9f5e2ed43375dbfec1b5bfde43b.tar.bz2
Make the cache stat information comparator public.
Like the cache filename finder, it's a generically useful function, rather than something specific to the current "show-diff" thing.
Diffstat (limited to 'show-diff.c')
-rw-r--r--show-diff.c32
1 files changed, 1 insertions, 31 deletions
diff --git a/show-diff.c b/show-diff.c
index 3c6d4f9..d9af29f 100644
--- a/show-diff.c
+++ b/show-diff.c
@@ -5,36 +5,6 @@
*/
#include "cache.h"
-#define MTIME_CHANGED 0x0001
-#define CTIME_CHANGED 0x0002
-#define OWNER_CHANGED 0x0004
-#define MODE_CHANGED 0x0008
-#define INODE_CHANGED 0x0010
-#define DATA_CHANGED 0x0020
-
-static int match_stat(struct cache_entry *ce, struct stat *st)
-{
- unsigned int changed = 0;
-
- if (ce->mtime.sec != (unsigned int)st->st_mtim.tv_sec ||
- ce->mtime.nsec != (unsigned int)st->st_mtim.tv_nsec)
- changed |= MTIME_CHANGED;
- if (ce->ctime.sec != (unsigned int)st->st_ctim.tv_sec ||
- ce->ctime.nsec != (unsigned int)st->st_ctim.tv_nsec)
- changed |= CTIME_CHANGED;
- if (ce->st_uid != (unsigned int)st->st_uid ||
- ce->st_gid != (unsigned int)st->st_gid)
- changed |= OWNER_CHANGED;
- if (ce->st_mode != (unsigned int)st->st_mode)
- changed |= MODE_CHANGED;
- if (ce->st_dev != (unsigned int)st->st_dev ||
- ce->st_ino != (unsigned int)st->st_ino)
- changed |= INODE_CHANGED;
- if (ce->st_size != (unsigned int)st->st_size)
- changed |= DATA_CHANGED;
- return changed;
-}
-
static void show_differences(struct cache_entry *ce, struct stat *cur,
void *old_contents, unsigned long long old_size)
{
@@ -68,7 +38,7 @@ int main(int argc, char **argv)
printf("%s: %s\n", ce->name, strerror(errno));
continue;
}
- changed = match_stat(ce, &st);
+ changed = cache_match_stat(ce, &st);
if (!changed) {
printf("%s: ok\n", ce->name);
continue;