Skip to content

feat!: rename workspace manifest to batchspace - #17

Merged
ovaso merged 1 commit into
mainfrom
codex/rename-batchspace-manifest
Aug 7, 2026
Merged

feat!: rename workspace manifest to batchspace#17
ovaso merged 1 commit into
mainfrom
codex/rename-batchspace-manifest

Conversation

@ovaso

@ovaso ovaso commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Rename the sole workspace manifest from workspace.toml to batchspace.toml.
  • Do not discover or migrate the legacy filename implicitly, preventing dual-manifest ambiguity.
  • Prepare the breaking change as release 1.0.0, with synchronized English/Chinese docs and automation guidance.

Validation

  • cargo fmt -- --check
  • cargo test --locked
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --locked --release

Migration

Users must explicitly run mv workspace.toml batchspace.toml before upgrading.

@ovaso
ovaso merged commit 60c8f88 into main Aug 7, 2026
7 checks passed
@ovaso
ovaso deleted the codex/rename-batchspace-manifest branch August 7, 2026 06:55

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 12184659bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/model.rs

/// 工作区清单的固定文件名。
pub const WORKSPACE_FILE: &str = "workspace.toml";
pub const WORKSPACE_FILE: &str = "batchspace.toml";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reject legacy manifests before creating batchspace.toml

When an upgraded workspace still contains only workspace.toml, manifest-creating paths now treat it as a new workspace: scan calls read_or_new and unconditionally writes the new filename, while a successful clone does the same. Consequently, running batch-git scan can leave both files present—even creating an empty batchspace.toml when repository inspection fails—and subsequent commands then ignore the existing repository metadata and schedules. Refuse creation when the legacy file exists and instruct the user to rename it explicitly, without reading or migrating it automatically.

AGENTS.md reference: AGENTS.md:L12-L12

Useful? React with 👍 / 👎.

Comment thread CHANGELOG.md
### Added

- Added `batch-git merge --default` (short option `-d`), reading each repository's `default_branch` from `workspace.toml` and merging it into the current branch. Multi-component names are supported; when no local branch exists, resolution falls back only to that repository's `primary_remote` and does not fetch implicitly.
- Added `batch-git merge --default` (short option `-d`), reading each repository's `default_branch` from `batchspace.toml` and merging it into the current branch. Multi-component names are supported; when no local branch exists, resolution falls back only to that repository's `primary_remote` and does not fetch implicitly.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve legacy filenames in historical release notes

The entries under versions 0.3.0, 0.2.0, and 0.1.0 describe binaries that only recognized workspace.toml, so rewriting those already-released sections to say batchspace.toml makes the historical changelog factually incorrect. Users consulting these entries while running or diagnosing an older binary will be told to use a filename that version cannot discover; retain workspace.toml in pre-1.0 release notes and document the rename only under 1.0.0.

Useful? React with 👍 / 👎.

Comment thread CHANGELOG.md
[Semantic Versioning](https://semver.org/). See `Cargo.toml` for the current package version.

## [Unreleased]
## [1.0.0] - 2026-08-07

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore an Unreleased section above 1.0.0

Relabeling the existing section as 1.0.0 removes the changelog's only Unreleased heading, even though the file still defines an [Unreleased] comparison link and docs/DEVELOPMENT.md plus CONTRIBUTING.md require future public changes to be recorded in that section. Without an empty heading above 1.0.0, subsequent changes either have no prescribed destination or get appended to an already released version, corrupting future release notes; keep an empty ## [Unreleased] section in both language versions.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant