Fix "archive" script > compat with space in headers "service_id, monday, ..."#796
Conversation
There was a problem hiding this comment.
Code Review
This pull request improves quoting and modifies the field separator (IFS) when parsing GTFS headers in archive.sh. The reviewer recommends avoiding a useless use of cat by passing the file directly to sed. Additionally, the reviewer advises against mixing whitespace and non-whitespace characters in IFS (i.e., IFS=", "), suggesting instead to strip spaces from the header line using tr and keeping IFS="," to prevent fragile splitting behavior.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors shared-opt-dir/agency-parser/archive.sh by removing a redundant cat command and stripping carriage returns and spaces from the headers of calendar files. The review feedback correctly points out that while spaces are now stripped from the headers, the actual data extraction steps still only strip carriage returns. This discrepancy can leave leading spaces in the extracted dates, potentially causing malformed filenames and breaking downstream integer comparisons. It is recommended to also strip spaces from the extracted date values as suggested.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors shared-opt-dir/agency-parser/archive.sh to optimize file reading, improve console output formatting, and strip spaces and carriage returns from headers and dates. The review feedback suggests replacing a non-portable sed command with a more efficient and portable grep alternative to count non-empty lines, and combining multiple tr commands in pipelines into a single invocation to reduce process overhead.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors shared-opt-dir/agency-parser/archive.sh to optimize file line counting using grep -c instead of cat, sed, and wc. It also improves string trimming by removing trailing spaces along with carriage returns, and wraps file names in single quotes in output messages. Feedback was provided to append || true to the grep -c command to prevent script termination under set -e when no matching lines are found.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors shared-opt-dir/agency-parser/archive.sh to optimize file line counting using grep instead of cat | sed | wc, and updates header/date parsing to strip spaces along with carriage returns. Feedback suggests defaulting FILE_CALENDAR_LINE to 0 to prevent a potential bash syntax error if grep fails or returns an empty string.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors the archive.sh script to optimize file parsing and improve string trimming. It replaces a verbose pipeline for counting non-empty lines with a more efficient grep -c command, reorders command pipelines to cut fields before trimming, and updates carriage return removal to also strip spaces. The reviewer suggested a more concise and idiomatic way to assign FILE_CALENDAR_LINE using the || operator.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors shared-opt-dir/agency-parser/archive.sh to improve file parsing, specifically updating how line counts are determined and how carriage returns and spaces are stripped from headers and date fields. The review feedback focuses on performance optimizations: replacing external calls to head and tr with pure Bash parameter expansion for reading headers, and consolidating pipelines of tail, cut, and tr into single awk commands to reduce process-spawning overhead.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…ps/commons into mm/fix_calendar_archove_space
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors the archive.sh script to optimize file reading and string manipulation, such as replacing external commands like cat, sed, and head with more efficient shell built-ins and grep. However, a critical bug was introduced in the calendar_dates.txt processing block where the population of HEADERS_ARRAY was accidentally removed, which will cause the script to fail. Additionally, a redundant assignment to HEADERS remains in that same block.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
…e in headers "service_id, monday, ..." mtransitapps/commons#796
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
…parser': - commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41 - parser: Fix compat w/ old schedule and min/max calendar
…parser': - commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41 - parser: Fix compat w/ old schedule and min/max calendar
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
…parser': - commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41 - parser: Fix compat w/ old schedule and min/max calendar
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41
…parser': - commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41 - parser: Fix compat w/ old schedule and min/max calendar
…parser': - commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons: Build(deps): Bump com.android.billingclient:billing-ktx from 9.0.0 to 9.1.0 in the play group across 1 directory mtransitapps/commons#792 - commons: Build(deps): Bump the androidx group across 1 directory with 4 updates mtransitapps/commons#786 - commons: Add lint custom rules URLs in TOML - commons: Android 17 initial support: compile with SDK `37` & build tools `37.0.0` mtransitapps/commons#791 - commons: Build(deps): Bump com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk from 1.1.1 to 1.2.1 mtransitapps/commons#789 - commons: fix featured graphic cities max length with "…" - commons: Build(deps): Bump the gms group across 1 directory with 2 updates mtransitapps/commons#787 - commons: Build(deps): Bump com.google.gms.google-services from 4.4.4 to 4.5.0 mtransitapps/commons#788 - commons: Build(deps): Bump com.gradle.develocity from 4.4.2 to 4.4.3 in /shared mtransitapps/commons#790 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-android: Add AndroidX Fragment dependency (GPS basement+Play AppUpdate) mtransitapps/commons-android#160 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41 - commons-java: String cleaners > line, station... mtransitapps/commons-java#40 - parser: Fix compat w/ old schedule and min/max calendar - parser: Minor (logs) - parser: MAX old calendar 1 year (instead of forever) & compat w/ 70+ year schedule #MRCHSL - parser: `JSON` > fix `use_route_long_name_for_missing_route_short_name` mtransitapps/parser#73
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
…parser': - commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41 - parser: Fix compat w/ old schedule and min/max calendar
- commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42
…parser': - commons: Fix "archive" script > compat with space in headers "service_id, monday, ..." mtransitapps/commons#796 - commons: Build(deps): Bump the ads group across 1 directory with 2 updates mtransitapps/commons#794 - commons: Build(deps): Bump gradle-wrapper from 9.5.1 to 9.6.0 in /shared mtransitapps/commons#795 - commons: Build(deps): Bump the gh-actions group across 2 directories with 1 update mtransitapps/commons#793 - commons: Build(deps): Bump com.android.billingclient:billing-ktx from 9.0.0 to 9.1.0 in the play group across 1 directory mtransitapps/commons#792 - commons: Build(deps): Bump the androidx group across 1 directory with 4 updates mtransitapps/commons#786 - commons: Add lint custom rules URLs in TOML - commons: Android 17 initial support: compile with SDK `37` & build tools `37.0.0` mtransitapps/commons#791 - commons: Build(deps): Bump com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk from 1.1.1 to 1.2.1 mtransitapps/commons#789 - commons: fix featured graphic cities max length with "…" - commons: Build(deps): Bump the gms group across 1 directory with 2 updates mtransitapps/commons#787 - commons: Build(deps): Bump com.google.gms.google-services from 4.4.4 to 4.5.0 mtransitapps/commons#788 - commons: Build(deps): Bump com.gradle.develocity from 4.4.2 to 4.4.3 in /shared mtransitapps/commons#790 - commons-android: `ProviderContract.Filter` > shared filter params mtransitapps/commons-android#164 - commons-android: `ServiceUpdates` mtransitapps/commons-android#162 - commons-android: Fix spread operator usage in getText function mtransitapps/commons-android#163 - commons-android: Add AndroidX Fragment dependency (GPS basement+Play AppUpdate) mtransitapps/commons-android#160 - commons-java: `ProviderContract.Filter` > shared filter params mtransitapps/commons-java#42 - commons-java: `ServiceUpdates` mtransitapps/commons-java#41 - commons-java: String cleaners > line, station... mtransitapps/commons-java#40 - parser: Fix compat w/ old schedule and min/max calendar - parser: Minor (logs) - parser: MAX old calendar 1 year (instead of forever) & compat w/ 70+ year schedule #MRCHSL - parser: `JSON` > fix `use_route_long_name_for_missing_route_short_name` mtransitapps/parser#73
No description provided.