AlistGo/alist · error

committer name is required

Error message

committer name is required

What it means

The mirror-image validation of error 166: CommitterEmail is set while CommitterName is empty, so Init fails because a git committer identity cannot be constructed from an email alone. Checked at drivers/github/driver.go:54.

Source

Thrown at drivers/github/driver.go:54

	commitMutex   sync.Mutex
	pgpEntity     *openpgp.Entity
}

func (d *Github) Config() driver.Config {
	return config
}

func (d *Github) GetAddition() driver.Additional {
	return &d.Addition
}

func (d *Github) Init(ctx context.Context) error {
	d.RootFolderPath = utils.FixAndCleanPath(d.RootFolderPath)
	if d.CommitterName != "" && d.CommitterEmail == "" {
		return errors.New("committer email is required")
	}
	if d.CommitterName == "" && d.CommitterEmail != "" {
		return errors.New("committer name is required")
	}
	if d.AuthorName != "" && d.AuthorEmail == "" {
		return errors.New("author email is required")
	}
	if d.AuthorName == "" && d.AuthorEmail != "" {
		return errors.New("author name is required")
	}
	var err error
	d.mkdirMsgTmpl, err = template.New("mkdirCommitMsgTemplate").Parse(d.MkdirCommitMsg)
	if err != nil {
		return err
	}
	d.deleteMsgTmpl, err = template.New("deleteCommitMsgTemplate").Parse(d.DeleteCommitMsg)
	if err != nil {
		return err
	}
	d.putMsgTmpl, err = template.New("putCommitMsgTemplate").Parse(d.PutCommitMsg)
	if err != nil {

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Set committer_name to match the email (e.g. the GitHub username).
  2. Or clear committer_email so both committer fields are empty.
  3. Re-save the storage configuration.

Example fix

// before
CommitterName: ""
CommitterEmail: "alice@example.com"

// after
CommitterName: "alice"
CommitterEmail: "alice@example.com"
Defensive patterns

Strategy: validation

Validate before calling

if cfg.CommitterEmail != "" && strings.TrimSpace(cfg.CommitterName) == "" {
    return errors.New("committer name is required when committer email is set")
}

Prevention

When it happens

Trigger: Storage configuration where committer_email is filled and committer_name is blank.

Common situations: User pastes only the email when configuring commit identity; form auto-fill populating the email field but not the name.

Related errors


AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15). Data as JSON: /api/errors/f062dcfb4d264bab. Report an issue: GitHub.