Add new prune config settings
This commit is contained in:
parent
bd72983c05
commit
9b1a15d9ac
@ -34,6 +34,10 @@ type FetchPruneConfig struct {
|
||||
// Number of days added to FetchRecent*; data outside combined window will be
|
||||
// deleted when prune is run. (default 3)
|
||||
PruneOffsetDays int
|
||||
// Always verify with remote before pruning
|
||||
PruneVerifyRemoteAlways bool
|
||||
// Name of remote to check for unpushed and verify checks
|
||||
PruneRemoteName string
|
||||
}
|
||||
|
||||
type Configuration struct {
|
||||
@ -249,6 +253,8 @@ func (c *Configuration) FetchPruneConfig() *FetchPruneConfig {
|
||||
FetchRecentRefsIncludeRemotes: true,
|
||||
FetchRecentCommitsDays: 0,
|
||||
PruneOffsetDays: 3,
|
||||
PruneVerifyRemoteAlways: false,
|
||||
PruneRemoteName: "origin",
|
||||
}
|
||||
if v, ok := c.GitConfig("lfs.fetchrecentrefsdays"); ok {
|
||||
n, err := strconv.Atoi(v)
|
||||
@ -278,6 +284,14 @@ func (c *Configuration) FetchPruneConfig() *FetchPruneConfig {
|
||||
c.fetchPruneConfig.PruneOffsetDays = n
|
||||
}
|
||||
}
|
||||
if v, ok := c.GitConfig("lfs.pruneverifyremotealways"); ok {
|
||||
if b, err := parseConfigBool(v); err == nil {
|
||||
c.fetchPruneConfig.PruneVerifyRemoteAlways = b
|
||||
}
|
||||
}
|
||||
if v, ok := c.GitConfig("lfs.pruneremotetocheck"); ok {
|
||||
c.fetchPruneConfig.PruneRemoteName = v
|
||||
}
|
||||
|
||||
}
|
||||
return c.fetchPruneConfig
|
||||
|
@ -389,23 +389,30 @@ func TestFetchPruneConfigDefault(t *testing.T) {
|
||||
assert.Equal(t, 0, fp.FetchRecentCommitsDays)
|
||||
assert.Equal(t, 3, fp.PruneOffsetDays)
|
||||
assert.Equal(t, true, fp.FetchRecentRefsIncludeRemotes)
|
||||
assert.Equal(t, 3, fp.PruneOffsetDays)
|
||||
assert.Equal(t, "origin", fp.PruneRemoteName)
|
||||
assert.Equal(t, false, fp.PruneVerifyRemoteAlways)
|
||||
|
||||
}
|
||||
func TestFetchPruneConfigCustom(t *testing.T) {
|
||||
config := &Configuration{
|
||||
gitConfig: map[string]string{
|
||||
"lfs.fetchrecentrefsdays": "12",
|
||||
"lfs.fetchrecentremoterefs": "false",
|
||||
"lfs.fetchrecentcommitsdays": "9",
|
||||
"lfs.pruneoffsetdays": "30",
|
||||
"lfs.fetchrecentrefsdays": "12",
|
||||
"lfs.fetchrecentremoterefs": "false",
|
||||
"lfs.fetchrecentcommitsdays": "9",
|
||||
"lfs.pruneoffsetdays": "30",
|
||||
"lfs.pruneverifyremotealways": "true",
|
||||
"lfs.pruneremotetocheck": "upstream",
|
||||
},
|
||||
}
|
||||
fp := config.FetchPruneConfig()
|
||||
|
||||
assert.Equal(t, 12, fp.FetchRecentRefsDays)
|
||||
assert.Equal(t, 9, fp.FetchRecentCommitsDays)
|
||||
assert.Equal(t, 30, fp.PruneOffsetDays)
|
||||
assert.Equal(t, false, fp.FetchRecentRefsIncludeRemotes)
|
||||
assert.Equal(t, 30, fp.PruneOffsetDays)
|
||||
assert.Equal(t, "upstream", fp.PruneRemoteName)
|
||||
assert.Equal(t, true, fp.PruneVerifyRemoteAlways)
|
||||
}
|
||||
|
||||
// only used for tests
|
||||
|
Loading…
Reference in New Issue
Block a user