Skip to content

[Reliability] Batch mode ignores repositories with only untracked files #199

Description

@404-Page-Found

Description

commit-echo batch uses git diff --quiet to decide whether a repo has unstaged changes. That command does not treat untracked files as a diff, so repos containing only new files are skipped as if they were clean.

Location

  • src/commands/batch.ts:61
  • src/commands/batch.ts:193

Problematic code

execSync('git diff --quiet', { cwd, stdio: 'pipe' });
if (!staged) {
  if (!unstaged) {
    console.log(`    ${pc.yellow('↻ No changes found, skipping')}\n`);

Suggested fix

Update batch-mode change detection to account for untracked files, likely using git status --porcelain or similar logic.

Impact

Batch mode can silently skip repositories that contain real work, which makes automation less trustworthy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions