make prune report removed objects on -v
This adds an option "-v" which makes "git prune" more verbose: It outputs all removed objects while removing them. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
8b745e3ffd
commit
b35ddf41ee
@ -8,7 +8,7 @@ git-prune - Prune all unreachable objects from the object database
|
|||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-prune' [-n] [--expire <expire>] [--] [<head>...]
|
'git-prune' [-n] [-v] [--expire <expire>] [--] [<head>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -34,6 +34,9 @@ OPTIONS
|
|||||||
Do not remove anything; just report what it would
|
Do not remove anything; just report what it would
|
||||||
remove.
|
remove.
|
||||||
|
|
||||||
|
-v::
|
||||||
|
Report all removed objects.
|
||||||
|
|
||||||
\--::
|
\--::
|
||||||
Do not interpret any more arguments as options.
|
Do not interpret any more arguments as options.
|
||||||
|
|
||||||
|
@ -7,10 +7,11 @@
|
|||||||
#include "parse-options.h"
|
#include "parse-options.h"
|
||||||
|
|
||||||
static const char * const prune_usage[] = {
|
static const char * const prune_usage[] = {
|
||||||
"git prune [-n] [--expire <time>] [--] [<head>...]",
|
"git prune [-n] [-v] [--expire <time>] [--] [<head>...]",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
static int show_only;
|
static int show_only;
|
||||||
|
static int verbose;
|
||||||
static unsigned long expire;
|
static unsigned long expire;
|
||||||
|
|
||||||
static int prune_tmp_object(const char *path, const char *filename)
|
static int prune_tmp_object(const char *path, const char *filename)
|
||||||
@ -39,11 +40,12 @@ static int prune_object(char *path, const char *filename, const unsigned char *s
|
|||||||
if (st.st_mtime > expire)
|
if (st.st_mtime > expire)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (show_only) {
|
if (show_only || verbose) {
|
||||||
enum object_type type = sha1_object_info(sha1, NULL);
|
enum object_type type = sha1_object_info(sha1, NULL);
|
||||||
printf("%s %s\n", sha1_to_hex(sha1),
|
printf("%s %s\n", sha1_to_hex(sha1),
|
||||||
(type > 0) ? typename(type) : "unknown");
|
(type > 0) ? typename(type) : "unknown");
|
||||||
} else
|
}
|
||||||
|
if (!show_only)
|
||||||
unlink(fullpath);
|
unlink(fullpath);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -135,6 +137,8 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
|
|||||||
const struct option options[] = {
|
const struct option options[] = {
|
||||||
OPT_BOOLEAN('n', NULL, &show_only,
|
OPT_BOOLEAN('n', NULL, &show_only,
|
||||||
"do not remove, show only"),
|
"do not remove, show only"),
|
||||||
|
OPT_BOOLEAN('v', NULL, &verbose,
|
||||||
|
"report pruned objects"),
|
||||||
OPT_DATE(0, "expire", &expire,
|
OPT_DATE(0, "expire", &expire,
|
||||||
"expire objects older than <time>"),
|
"expire objects older than <time>"),
|
||||||
OPT_END()
|
OPT_END()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user