bash activity https://gitlab.com/hartang/bash 2026-03-17T05:57:13Z tag:gitlab.com,2026-03-17:5211061962 Andreas Hartmann deleted project branch release/1.2.2 at hartans Group / bash / GitLab Scripts 2026-03-17T05:57:13Z hartan Andreas Hartmann

Andreas Hartmann (98a7b189) at 17 Mar 05:57

tag:gitlab.com,2026-03-17:5211061729 Andreas Hartmann pushed to project branch main at hartans Group / bash / GitLab Scripts 2026-03-17T05:57:04Z hartan Andreas Hartmann

Andreas Hartmann (98a7b189) at 17 Mar 05:57

build: Bump project version to 1.2.2

tag:gitlab.com,2026-03-17:5211057463 Andreas Hartmann pushed new project tag 1.2.2 at hartans Group / bash / GitLab Scripts 2026-03-17T05:54:24Z hartan Andreas Hartmann

Andreas Hartmann (341774bd) at 17 Mar 05:54

build: Bump project version to 1.2.2

tag:gitlab.com,2026-03-17:5211052892 Andreas Hartmann pushed new project branch release/1.2.2 at hartans Group / bash / GitLab Scripts 2026-03-17T05:51:37Z hartan Andreas Hartmann

Andreas Hartmann (98a7b189) at 17 Mar 05:51

build: Bump project version to 1.2.2

tag:gitlab.com,2026-03-17:5211049435 Andreas Hartmann deleted project branch fix/local-cleanup at hartans Group / bash / GitLab Scripts 2026-03-17T05:49:43Z hartan Andreas Hartmann

Andreas Hartmann (96efea1c) at 17 Mar 05:49

tag:gitlab.com,2026-03-17:5211049403 Andreas Hartmann closed issue #4: Cleaning up local branches doesn't work at hartans Group / bash / GitLab Scripts 2026-03-17T05:49:42Z hartan Andreas Hartmann

The --cleanup CLI argument in gls-merge should remove any local branches pointing to the same HEAD as the remote branch that is being deleted. In theory there is code to handle this in place, but in practice it hasn't worked for a very long time now. Hence, after running gls merge ... and merging/deleting a branch that exists locally, one has to manually remove their local branch afterward.

The reason for this is most likely an oversimplification in identifying such local branches that are now merged. A more sophisticated solution should probably identify all local refs that push to the remote ref that has been deleted as part of the cleanup. How exactly that is done, though, I currently can't tell.

tag:gitlab.com,2026-03-17:5211049383 Andreas Hartmann accepted merge request !14: Fix local branch cleanup at hartans Group / bash / GitLab Scripts 2026-03-17T05:49:42Z hartan Andreas Hartmann

Restore local branch cleanup and make it delete all local branches that point to the upstream branch which has been merged. This should also catch any backup copies or renames and similar.

If deleting a local branch fails, the script will continue to run regardless and print a warning. This design was chosen since local changes can easily be performed by hand (especially with the hint from the warning messages) and are limited in scope to the person that ran this script. Remote operations will fail execution simply to alert of the fact that action is required, as remote resources are shared.

The original bug was caused by a simple omission of leading git in the rev-parse subcommand.

User-facing changes

The -c/--cleanup option to gls merge now deletes local branches pointing to the remote branch that has been merged. This means you no longer have to manually delete local branches after calling gls merge -c, since ideally gls merge now does that for you.

This has been a long-standing issue and I apologize for the inconvenience it has caused in all this time.

Closes: #4

tag:gitlab.com,2026-03-17:5211049381 Andreas Hartmann pushed to project branch main at hartans Group / bash / GitLab Scripts 2026-03-17T05:49:42Z hartan Andreas Hartmann

Andreas Hartmann (01554598) at 17 Mar 05:49

Merge branch 'fix/local-cleanup' into 'main'

... and 1 more commit

tag:gitlab.com,2026-03-13:5200012374 Andreas Hartmann commented on merge request !14 at hartans Group / bash / GitLab Scripts 2026-03-13T07:37:15Z hartan Andreas Hartmann

Marking this as draft pending further manual tests.

Side-note: I should probably think of a proper testing framework for all of this. :/

tag:gitlab.com,2026-03-13:5200010508 Andreas Hartmann opened merge request !14: Fix local branch cleanup at hartans Group / bash / GitLab Scripts 2026-03-13T07:36:38Z hartan Andreas Hartmann

Restore local branch cleanup and make it delete all local branches that point to the upstream branch which has been merged. This should also catch any backup copies or renames and similar.

If deleting a local branch fails, the script will continue to run regardless and print a warning. This design was chosen since local changes can easily be performed by hand (especially with the hint from the warning messages) and are limited in scope to the person that ran this script. Remote operations will fail execution simply to alert of the fact that action is required, as remote resources are shared.

The original bug was caused by a simple omission of leading git in the rev-parse subcommand.

User-facing changes

The -c/--cleanup option to gls merge now deletes local branches pointing to the remote branch that has been merged. This means you no longer have to manually delete local branches after calling gls merge -c, since ideally gls merge now does that for you.

This has been a long-standing issue and I apologize for the inconvenience it has caused in all this time.

Closes: #4

tag:gitlab.com,2026-03-13:5200000788 Andreas Hartmann pushed new project branch fix/local-cleanup at hartans Group / bash / GitLab Scripts 2026-03-13T07:33:21Z hartan Andreas Hartmann

Andreas Hartmann (96efea1c) at 13 Mar 07:33

fix(merge): Restore local branch cleanup

tag:gitlab.com,2026-03-13:5199955631 Andreas Hartmann pushed to project branch feature/implement-uploading at hartans Group / bash / c14h Postprocess 2026-03-13T07:18:33Z hartan Andreas Hartmann

Andreas Hartmann (9491fa37) at 13 Mar 07:18

fix(upload): Quote form arguments with user input

... and 11 more commits

tag:gitlab.com,2026-03-13:5199955120 Andreas Hartmann deleted project branch feat/metadata-offline-mode at hartans Group / bash / c14h Postprocess 2026-03-13T07:18:20Z hartan Andreas Hartmann

Andreas Hartmann (54fb0bd8) at 13 Mar 07:18

tag:gitlab.com,2026-03-13:5199952241 Andreas Hartmann closed issue #1: Add an offline mode to c14h-metadata at hartans Group / bash / c14h Postprocess 2026-03-13T07:17:08Z hartan Andreas Hartmann

As far as I'm aware, the only component in this script collection that requires an internet connection is c14h-metadata. That is because it reads the c14h metadata from the NoName e.V. website and processes that accordingly before returning the result.

This of course also means that testing, right now, requires an internet connection. One could work around this by mocking c14h-metadata for the purpose of testing. However, I would prefer a solution where c14h-metadata gets an additional flag (and maybe env variable) that, when set, takes as argument a JSON file with downloaded c14h metadata and then works on that.

To me that seems like the least complicated option to decouple testing from the internet. It could also provide a fail-safe when processing past videos without an internet connection (e.g. on a train).

tag:gitlab.com,2026-03-13:5199952217 Andreas Hartmann accepted merge request !6: Add offline mode for c14h metadata at hartans Group / bash / c14h Postprocess 2026-03-13T07:17:07Z hartan Andreas Hartmann

Implement offline mode for 'c14h-metadata' which uses a JSON file containing c14h metadata to resolve c14h IDs.

There are no checks in place to ensure the JSON file content is valid since likewise the upstream at noname-ev.de has no such mechanism either. Existing tests that relied on obtaining metadata for individual c14h IDs now use this feature as well, meaning that tests can now be run offline.

User-facing changes

The c14h-metadata script from this project now has a new CLI option --metadata. It takes one argument, which must be a JSON-formatted file with c14h metadata information. If this option is given, metadata is not downloaded from the NoName e.V. homepage and the file content is taken for granted instead.

To obtain metadata for offline use, you can use the following command:

curl -L "https://www.noname-ev.de/c14h.json" -o "c14h-metadata.json"

If you want c14h-metadata to use this offline metadata even when not calling it directly (i.e. if you're using c14h-banner which calls c14h-metadata internally), you can set the C14H_METADATA_JSON environment variable like this:

declare -rx C14H_METADATA_JSON="c14h-metadata.json"
# From now on, all background calls to `c14h-metadata` will use the offline
# metadata.
c14h-banner 675

Closes: #1

tag:gitlab.com,2026-03-13:5199952206 Andreas Hartmann pushed to project branch main at hartans Group / bash / c14h Postprocess 2026-03-13T07:17:07Z hartan Andreas Hartmann

Andreas Hartmann (7ef2d120) at 13 Mar 07:17

Merge branch 'feat/metadata-offline-mode' into 'main'

... and 1 more commit

tag:gitlab.com,2026-03-13:5199942537 Andreas Hartmann pushed to project branch feat/metadata-offline-mode at hartans Group / bash / c14h Postprocess 2026-03-13T07:13:16Z hartan Andreas Hartmann

Andreas Hartmann (54fb0bd8) at 13 Mar 07:13

feat: Implement offline mode for 'c14h-metadata'

tag:gitlab.com,2026-03-13:5199941469 Andreas Hartmann pushed to project branch feat/metadata-offline-mode at hartans Group / bash / c14h Postprocess 2026-03-13T07:12:57Z hartan Andreas Hartmann

Andreas Hartmann (c53d4189) at 13 Mar 07:12

feat: Implement offline mode for 'c14h-metadata'

tag:gitlab.com,2026-03-13:5199937916 Andreas Hartmann opened merge request !6: Add offline mode for c14h metadata at hartans Group / bash / c14h Postprocess 2026-03-13T07:11:52Z hartan Andreas Hartmann

Implement offline mode for 'c14h-metadata' which uses a JSON file containing c14h metadata to resolve c14h IDs.

There are no checks in place to ensure the JSON file content is valid since likewise the upstream at noname-ev.de has no such mechanism either. Existing tests that relied on obtaining metadata for individual c14h IDs now use this feature as well, meaning that tests can now be run offline.

User-facing changes

The c14h-metadata script from this project now has a new CLI option --metadata. It takes one argument, which must be a JSON-formatted file with c14h metadata information. If this option is given, metadata is not downloaded from the NoName e.V. homepage and the file content is taken for granted instead.

To obtain metadata for offline use, you can use the following command:

curl -L "https://www.noname-ev.de/c14h.json" -o "c14h-metadata.json"

If you want c14h-metadata to use this offline metadata even when not calling it directly (i.e. if you're using c14h-banner which calls c14h-metadata internally), you can set the C14H_METADATA_JSON environment variable like this:

declare -rx C14H_METADATA_JSON="c14h-metadata.json"
# From now on, all background calls to `c14h-metadata` will use the offline
# metadata.
c14h-banner 675

Closes: #1

tag:gitlab.com,2026-03-13:5199923710 Andreas Hartmann pushed to project branch feat/metadata-offline-mode at hartans Group / bash / c14h Postprocess 2026-03-13T07:06:29Z hartan Andreas Hartmann

Andreas Hartmann (9e4cebea) at 13 Mar 07:06

feat: Implement offline mode for 'c14h-metadata'