Skip to content

Use lower-case base32 for PR IDs#291

Closed
joshlf wants to merge 3 commits intomainfrom
lowercase-pr-ids-11055275604187936814
Closed

Use lower-case base32 for PR IDs#291
joshlf wants to merge 3 commits intomainfrom
lowercase-pr-ids-11055275604187936814

Conversation

@joshlf
Copy link
Owner

@joshlf joshlf commented Feb 10, 2026

  • Modified src/commit_msg.rs to lower-case the base32 hash and use g prefix.
  • Updated testutil/src/lib.rs regex to match [Gg] for snapshot redaction.
  • Updated tests/migration_edge_cases.rs to assert lowercase format.
  • Updated tests/integration_tests.rs to assert g prefix.

PR created automatically by Jules for task 11055275604187936814 started by @joshlf

Change the generated PR IDs in the commit message hook to use lower-case
base32 encoding (e.g., `gabc123...`) instead of upper-case. This includes
changing the prefix from `G` to `g`.

Update tests and test utilities to support and assert the new format.
Snapshots are implicitly updated via redaction logic which now handles
both `G` and `g` prefixes.

Co-authored-by: joshlf <1046063+joshlf@users.noreply.github.com>
@google-labs-jules
Copy link
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@gemini-code-assist
Copy link

Summary of Changes

Hello @joshlf, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request standardizes the format of Gerrit PR IDs by enforcing lowercase base32 encoding and a lowercase 'g' prefix. This change ensures uniformity in how these IDs are generated and stored, improving consistency across the system. Corresponding tests and utility functions have been updated to align with this new standard, while also maintaining compatibility for existing IDs during snapshot redaction.

Highlights

  • Standardized PR ID Format: The gherrit-pr-id is now generated using lowercase base32 encoding and a lowercase 'g' prefix, ensuring a consistent format.
  • Test Updates: Integration and migration tests were updated to reflect and assert the new lowercase 'g' prefix and lowercase base32 format for PR IDs.
  • Regex Adjustment: The snapshot redaction regex for Gerrit PR IDs was updated to accommodate both old (uppercase 'G') and new (lowercase 'g') prefixes for backward compatibility during redaction.
Changelog
  • src/commit_msg.rs
    • Converted the base32 encoded hash to lowercase using to_ascii_lowercase().
    • Changed the gherrit-pr-id prefix from 'G' to 'g'.
  • tests/integration_tests.rs
    • Updated the assertion for gherrit-pr-id to expect a lowercase 'g' prefix.
  • tests/migration_edge_cases.rs
    • Modified assertions to validate that gherrit-pr-id starts with a lowercase 'g' and contains only lowercase ASCII characters or digits.
    • Removed checks for uppercase characters and added checks for lowercase characters in the ID content.
  • testutil/src/lib.rs
    • Updated GHERRIT_ID_REGEX to match both 'G' and 'g' as the initial character for Gerrit PR IDs.
Activity
  • PR created automatically by Jules for task 11055275604187936814, started by @joshlf.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the generation of gherrit-pr-id to use lowercase base32 encoding with a 'g' prefix, instead of uppercase. The changes are consistently applied across the codebase, including the ID generation logic in src/commit_msg.rs and corresponding updates to tests and snapshot redaction logic. The test changes correctly reflect the new format. I've suggested one improvement to a test case to make the base32 format validation stricter, which will improve test accuracy.

google-labs-jules bot and others added 2 commits February 10, 2026 03:49
Change the generated PR IDs in the commit message hook to use lower-case
base32 encoding (e.g., `Gabc123...`) instead of upper-case. The prefix
remains `G`.

Update tests and test utilities to support and assert the new format.
Snapshots are implicitly updated via redaction logic.

Co-authored-by: joshlf <1046063+joshlf@users.noreply.github.com>
Change the generated PR IDs in the commit message hook to use lower-case
base32 encoding (e.g., `Gabc123...`) instead of upper-case. The prefix
remains `G`.

Update tests and test utilities to support and assert the new format,
specifically enforcing base32 alphabet compliance (lowercase letters and
digits 2-7). Snapshots are implicitly updated via redaction logic.

Co-authored-by: joshlf <1046063+joshlf@users.noreply.github.com>
@joshlf
Copy link
Owner Author

joshlf commented Feb 10, 2026

Superseded by #292

@joshlf joshlf closed this Feb 10, 2026
@google-labs-jules
Copy link
Contributor

Superseded by #292

Understood. Acknowledging that this work is superseded by #292 and stopping work on this task.

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