summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: fcf712e)
raw | patch | inline | side by side (parent: fcf712e)
author | Junio C Hamano <junkio@cox.net> | |
Sat, 16 Apr 2005 15:33:23 +0000 (08:33 -0700) | ||
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | |
Sat, 16 Apr 2005 15:33:23 +0000 (08:33 -0700) |
This adds --stage option to show-files command. It shows
file-mode, SHA1, stage and pathname. Record separator follows
the usual convention of -z option as before.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
file-mode, SHA1, stage and pathname. Record separator follows
the usual convention of -z option as before.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
cache.h | patch | blob | history | |
show-files.c | patch | blob | history |
index b48884225df02bd6343f889d46e9193d1514659c..88c2fa8d95b2cf6c0b2cd78c074659885625766d 100644 (file)
--- a/cache.h
+++ b/cache.h
#define CE_NAMEMASK (0x0fff)
#define CE_STAGEMASK (0x3000)
+#define CE_STAGESHIFT 12
-#define create_ce_flags(len, stage) htons((len) | ((stage) << 12))
+#define create_ce_flags(len, stage) htons((len) | ((stage) << CE_STAGESHIFT))
+#define ce_namelen(ce) (CE_NAMEMASK & ntohs((ce)->ce_flags))
+#define ce_size(ce) cache_entry_size(ce_namelen(ce))
+#define ce_stage(ce) ((CE_STAGEMASK & ntohs((ce)->ce_flags)) >> CE_STAGESHIFT)
+
+#define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7)
const char *sha1_file_directory;
struct cache_entry **active_cache;
#define DB_ENVIRONMENT "SHA1_FILE_DIRECTORY"
#define DEFAULT_DB_ENVIRONMENT ".git/objects"
-#define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7)
-#define ce_namelen(ce) (CE_NAMEMASK & ntohs((ce)->ce_flags))
-#define ce_size(ce) cache_entry_size(ce_namelen(ce))
-
#define alloc_nr(x) (((x)+16)*3/2)
/* Initialize and use the cache information */
diff --git a/show-files.c b/show-files.c
index c9027cc4167530fab7053b424c38068bf60bb69b..0ecb2bd62106a0fdd617ee4c5ba5b50bcda8acd6 100644 (file)
--- a/show-files.c
+++ b/show-files.c
static int show_cached = 0;
static int show_others = 0;
static int show_ignored = 0;
+static int show_stage = 0;
static int line_terminator = '\n';
static const char **dir;
for (i = 0; i < nr_dir; i++)
printf("%s%c", dir[i], line_terminator);
}
- if (show_cached) {
+ if (show_cached | show_stage) {
for (i = 0; i < active_nr; i++) {
struct cache_entry *ce = active_cache[i];
- printf("%s%c", ce->name, line_terminator);
+ if (!show_stage)
+ printf("%s%c", ce->name, line_terminator);
+ else
+ printf(/* "%06o %s %d %10d %s%c", */
+ "%06o %s %d %s%c",
+ ntohl(ce->ce_mode),
+ sha1_to_hex(ce->sha1),
+ ce_stage(ce),
+ /* ntohl(ce->ce_size), */
+ ce->name, line_terminator);
}
}
if (show_deleted) {
show_ignored = 1;
continue;
}
+ if (!strcmp(arg, "--stage")) {
+ show_stage = 1;
+ continue;
+ }
- usage("show-files (--[cached|deleted|others|ignored])*");
+ usage("show-files [-z] (--[cached|deleted|others|ignored|stage])*");
}
/* With no flags, we default to showing the cached files */
- if (!(show_cached | show_deleted | show_others | show_ignored))
+ if (!(show_stage | show_deleted | show_others | show_ignored))
show_cached = 1;
read_cache();