Adds Dolt auto-commit functionality for write commands and sets explicit commit authors. Includes fix for race condition in commandDidWrite (converted to atomic.Bool). Original PR: #1267 by @coffeegoddd Co-authored-by: Dustin Brown <dustin@dolthub.com>
29 lines
603 B
Go
29 lines
603 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
type doltAutoCommitMode string
|
|
|
|
const (
|
|
doltAutoCommitOff doltAutoCommitMode = "off"
|
|
doltAutoCommitOn doltAutoCommitMode = "on"
|
|
)
|
|
|
|
func getDoltAutoCommitMode() (doltAutoCommitMode, error) {
|
|
mode := strings.TrimSpace(strings.ToLower(doltAutoCommit))
|
|
if mode == "" {
|
|
mode = string(doltAutoCommitOn)
|
|
}
|
|
switch doltAutoCommitMode(mode) {
|
|
case doltAutoCommitOff:
|
|
return doltAutoCommitOff, nil
|
|
case doltAutoCommitOn:
|
|
return doltAutoCommitOn, nil
|
|
default:
|
|
return "", fmt.Errorf("invalid --dolt-auto-commit=%q (valid: off, on)", doltAutoCommit)
|
|
}
|
|
}
|