зеркало из https://github.com/microsoft/git.git
rerere gc: honor configuration and document it
Two configuration to control the expiration of rerere records are introduced and documented. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
ae72f68541
Коммит
48c3242450
|
@ -192,6 +192,16 @@ format.headers::
|
|||
Additional email headers to include in a patch to be submitted
|
||||
by mail. See gitlink:git-format-patch[1].
|
||||
|
||||
gc.rerereresolved::
|
||||
Records of conflicted merge you resolved earlier are
|
||||
kept for this many days when `git rerere gc` is run.
|
||||
The default is 60 days. See gitlink:git-rerere[1].
|
||||
|
||||
gc.rerereunresolved::
|
||||
Records of conflicted merge you have not resolved are
|
||||
kept for this many days when `git rerere gc` is run.
|
||||
The default is 15 days. See gitlink:git-rerere[1].
|
||||
|
||||
gitcvs.enabled::
|
||||
Whether the cvs pserver interface is enabled for this repository.
|
||||
See gitlink:git-cvsserver[1].
|
||||
|
|
|
@ -7,7 +7,7 @@ git-rerere - Reuse recorded resolve
|
|||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-rerere' [clear|diff|status]
|
||||
'git-rerere' [clear|diff|status|gc]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -55,7 +55,11 @@ for resolutions.
|
|||
'gc'::
|
||||
|
||||
This command is used to prune records of conflicted merge that
|
||||
occurred long time ago.
|
||||
occurred long time ago. By default, conflicts older than 15
|
||||
days that you have not recorded their resolution, and conflicts
|
||||
older than 60 days, are pruned. These are controlled with
|
||||
`gc.rerereunresolved` and `gc.rerereresolved` configuration
|
||||
variables.
|
||||
|
||||
|
||||
DISCUSSION
|
||||
|
|
|
@ -362,6 +362,17 @@ tail_optimization:
|
|||
return write_rr(rr, fd);
|
||||
}
|
||||
|
||||
static int git_rerere_config(const char *var, const char *value)
|
||||
{
|
||||
if (!strcmp(var, "gc.rerereresolved"))
|
||||
cutoff_resolve = git_config_int(var, value);
|
||||
else if (!strcmp(var, "gc.rerereunresolved"))
|
||||
cutoff_noresolve = git_config_int(var, value);
|
||||
else
|
||||
return git_default_config(var, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cmd_rerere(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
struct path_list merge_rr = { NULL, 0, 0, 1 };
|
||||
|
@ -371,6 +382,8 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
|
|||
if (stat(git_path("rr-cache"), &st) || !S_ISDIR(st.st_mode))
|
||||
return 0;
|
||||
|
||||
git_config(git_rerere_config);
|
||||
|
||||
merge_rr_path = xstrdup(git_path("rr-cache/MERGE_RR"));
|
||||
fd = hold_lock_file_for_update(&write_lock, merge_rr_path, 1);
|
||||
read_rr(&merge_rr);
|
||||
|
|
Загрузка…
Ссылка в новой задаче