|
|
|
@ -18,13 +18,11 @@ static unsigned long expire;
@@ -18,13 +18,11 @@ static unsigned long expire;
|
|
|
|
|
static int prune_tmp_object(const char *path, const char *filename) |
|
|
|
|
{ |
|
|
|
|
const char *fullpath = mkpath("%s/%s", path, filename); |
|
|
|
|
if (expire) { |
|
|
|
|
struct stat st; |
|
|
|
|
if (lstat(fullpath, &st)) |
|
|
|
|
return error("Could not stat '%s'", fullpath); |
|
|
|
|
if (st.st_mtime > expire) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
struct stat st; |
|
|
|
|
if (lstat(fullpath, &st)) |
|
|
|
|
return error("Could not stat '%s'", fullpath); |
|
|
|
|
if (st.st_mtime > expire) |
|
|
|
|
return 0; |
|
|
|
|
printf("Removing stale temporary file %s\n", fullpath); |
|
|
|
|
if (!show_only) |
|
|
|
|
unlink_or_warn(fullpath); |
|
|
|
@ -34,13 +32,11 @@ static int prune_tmp_object(const char *path, const char *filename)
@@ -34,13 +32,11 @@ static int prune_tmp_object(const char *path, const char *filename)
|
|
|
|
|
static int prune_object(char *path, const char *filename, const unsigned char *sha1) |
|
|
|
|
{ |
|
|
|
|
const char *fullpath = mkpath("%s/%s", path, filename); |
|
|
|
|
if (expire) { |
|
|
|
|
struct stat st; |
|
|
|
|
if (lstat(fullpath, &st)) |
|
|
|
|
return error("Could not stat '%s'", fullpath); |
|
|
|
|
if (st.st_mtime > expire) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
struct stat st; |
|
|
|
|
if (lstat(fullpath, &st)) |
|
|
|
|
return error("Could not stat '%s'", fullpath); |
|
|
|
|
if (st.st_mtime > expire) |
|
|
|
|
return 0; |
|
|
|
|
if (show_only || verbose) { |
|
|
|
|
enum object_type type = sha1_object_info(sha1, NULL); |
|
|
|
|
printf("%s %s\n", sha1_to_hex(sha1), |
|
|
|
@ -139,6 +135,7 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
@@ -139,6 +135,7 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
|
|
|
|
|
}; |
|
|
|
|
char *s; |
|
|
|
|
|
|
|
|
|
expire = ULONG_MAX; |
|
|
|
|
save_commit_buffer = 0; |
|
|
|
|
read_replace_refs = 0; |
|
|
|
|
init_revisions(&revs, prefix); |
|
|
|
|