Skip to content

[codex] Add multi-author commit attribution - #28

Merged
explicit09 merged 1 commit into
mainfrom
codex/issue-20-multi-author
May 21, 2026
Merged

[codex] Add multi-author commit attribution#28
explicit09 merged 1 commit into
mainfrom
codex/issue-20-multi-author

Conversation

@explicit09

Copy link
Copy Markdown
Owner

Summary

  • Adds a canonical authors: Vec<Author> commit field while keeping the existing primary author field for compatibility.
  • Deserializes legacy single-author commits into a one-entry authors list.
  • Adds multi-author commit APIs and wires CLI commit, watch, and merge paths to record co-authors from VEDIT_CO_AUTHORS entries formatted as Name <email> separated by semicolons.
  • Surfaces all authors in vedit log and vedit show.

Validation

  • cargo test
  • Manual CLI smoke test with VEDIT_AUTHOR_NAME, VEDIT_AUTHOR_EMAIL, and two VEDIT_CO_AUTHORS entries, verifying log and show output.

Notes

This implements the valid core/CLI portion of #20 in the current repository layout. The issue also mentions vedit_blame and old crates/core/src/vc paths, but this repo currently has no blame command or those paths, so that part remains out of scope until such a surface exists.

Closes #20.

@explicit09
explicit09 marked this pull request as ready for review May 21, 2026 18:11
@explicit09
explicit09 merged commit 3e51cf7 into main May 21, 2026
8 checks passed
@explicit09
explicit09 deleted the codex/issue-20-multi-author branch May 21, 2026 18:11

@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: 1b764e7e2b

ℹ️ 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 on lines +83 to +86
let authors = if wire.authors.is_empty() {
vec![wire.author]
} else {
wire.authors

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 primary author during commit deserialization

When both author and authors are present, this logic discards author whenever authors is non-empty and then derives the primary author from authors[0]. That is a regression for mixed-format commit JSON (e.g., producers that treat authors as co-authors-only), because a commit that previously resolved to the explicit author will now silently change attribution to a different person. Deserialization should keep author authoritative (or validate/normalize consistency) instead of overwriting it from authors.

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.

vedit: multi-author commit attribution (pair editing)

1 participant