git-sync-web 自动提交 2026-09-09 15:39:21
This commit is contained in:
@@ -28,6 +28,7 @@ type RepoConfig struct {
|
||||
ConflictStrategy string `json:"conflict_strategy"`
|
||||
PushStrategy string `json:"push_strategy"`
|
||||
AutoCommit bool `json:"auto_commit"`
|
||||
AutoSync bool `json:"auto_sync"`
|
||||
Cron string `json:"cron"`
|
||||
}
|
||||
|
||||
@@ -109,6 +110,8 @@ func loadRepoConfig(dir, name string) (*RepoConfig, error) {
|
||||
c.ConflictStrategy = orDefault(m["CONFLICT_STRATEGY"], "merge")
|
||||
c.PushStrategy = orDefault(m["PUSH_STRATEGY"], "manual")
|
||||
c.AutoCommit = strings.EqualFold(m["AUTO_COMMIT"], "1") || strings.EqualFold(m["AUTO_COMMIT"], "true")
|
||||
// 自动同步默认开启;仅在显式配置 0 / false 时关闭(关闭后不再自动触发,但手动同步仍可用)
|
||||
c.AutoSync = !(strings.EqualFold(m["AUTO_SYNC"], "0") || strings.EqualFold(m["AUTO_SYNC"], "false"))
|
||||
c.Cron = strings.TrimSpace(m["CRON"])
|
||||
if remotes := strings.TrimSpace(m["REMOTES"]); remotes != "" {
|
||||
for _, pair := range strings.Split(remotes, ",") {
|
||||
@@ -154,8 +157,13 @@ func saveRepoConfig(dir string, c *RepoConfig) error {
|
||||
if c.AutoCommit {
|
||||
ac = "1"
|
||||
}
|
||||
fmt.Fprintf(&b, "AUTO_COMMIT=%s\n", q(ac))
|
||||
fmt.Fprintf(&b, "CRON=%s\n", q(c.Cron))
|
||||
fmt.Fprintf(&b, "AUTO_COMMIT=%s\n", q(ac))
|
||||
as := "0"
|
||||
if c.AutoSync {
|
||||
as = "1"
|
||||
}
|
||||
fmt.Fprintf(&b, "AUTO_SYNC=%s\n", q(as))
|
||||
fmt.Fprintf(&b, "CRON=%s\n", q(c.Cron))
|
||||
return os.WriteFile(filepath.Join(dir, c.Name+".conf"), []byte(b.String()), 0o644)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user