Quite a lot of extras for git. git-release, git-ignore, git-setup, git-changelog, git-effort, and more.
git
Go to file
Pierre Ayoub 8ce63003c0
fix(git-bulk): fix workspace selection when cd fails (#1197)
* fix(git-bulk): fix workspace selection when cd fails

`cd` may fails for multiple reasons:
- mistake when editing `.gitconfig` manually
- previously existing workspace that have been removed
- ...

Currently, if `cd` fails, the `BulkOp` continue its execution ... in the
workspace defined in a higher directory that where the user, despite the
user specified a specific workspace (`-w`).

The user should be noticed of a failed `cd` (this is really not expected
for a valid configuration) and the operations should stop to not execute
something unexpected.

* fix(git-bulk): replace weak eval for better variable substitution

Get rid of poor `eval` syntax because they are vulnerable to command
injection, which may have unexpected side effects.

However, they enabled a useful feature: using environment variable
(*e.g.*, defined in a `.bashrc`) inside the `.gitconfig` to use dynamic
paths as  `bulk` workspaces.

As such, I keep this feature possible by using the Bash's ${!VAR}
syntax, which allows to get the value of one variable using the name of
a another variable. However, arbitrary command injection is not possible
anymore.

* fix(git-bulk): missing check about empty environnement variable

* style(git-bulk): typo

* docs(Commands.md): git-bulk env var feature

* docs(man/git-bulk): git-bulk env var feature

* docs(man/git-bulk): mention .gitconfig for config storage

* style(man/git-bulk): typo

* docs(man/git-bulk): run make/ronn for .1 and .html
2025-02-26 12:33:16 +08:00
.github chore(deps): bump astral-sh/ruff-action from 2 to 3 (#1189) 2024-12-29 18:13:50 -08:00
bin fix(git-bulk): fix workspace selection when cd fails (#1197) 2025-02-26 12:33:16 +08:00
etc Delete etc/test.fish (#1185) 2024-11-29 10:39:09 +08:00
helper fix: No longer pollute env with GREP_OPTIONS 2023-01-30 21:00:39 -08:00
man fix(git-bulk): fix workspace selection when cd fails (#1197) 2025-02-26 12:33:16 +08:00
tests fix(ci): use poetry (#1183) 2024-11-29 10:39:42 +08:00
.editorconfig Improve defaults for testing suite (#1104) 2023-11-11 12:55:46 +08:00
.gitignore Improve defaults for testing suite (#1104) 2023-11-11 12:55:46 +08:00
.pytest.ini test(git-authors): add unit test (#1098) 2023-11-18 10:20:19 +08:00
AUTHORS Version 7.3.0 (#1174) 2024-10-20 18:16:23 +08:00
brew-release.patch change installation source from master to main (#1092) 2023-10-23 12:13:40 +08:00
check_dependencies.sh updates per request of spacewander 2022-05-05 11:19:30 -04:00
check_integrity.sh Update some documentation that was out of sync (#1164) 2024-09-22 14:11:31 +08:00
Commands.md fix(git-bulk): fix workspace selection when cd fails (#1197) 2025-02-26 12:33:16 +08:00
CONTRIBUTING.md Use filetimes in check_integrity (#1162) 2024-09-19 11:27:11 +08:00
History.md Version 7.3.0 (#1174) 2024-10-20 18:16:23 +08:00
install.cmd read COMMANDS_WIHOUT_REPO from not_need_git_repo file 2019-12-09 17:13:56 +01:00
install.sh Switch from using /tmp to using mktemp 2019-09-05 12:41:45 +08:00
Installation.md Update instructions for the OpenSUSE installation (#1157) 2024-09-04 13:59:35 +08:00
LICENSE Mention initial copyright year and add contributors to copyright 2016-01-30 17:30:04 +05:30
Makefile makefile: Allow bypassing conflict check (#1080) 2023-09-26 11:35:24 +08:00
need_git_commit git-back: removed 2020-08-28 22:23:41 +08:00
not_need_git_repo feat: Implement git-get command (#1045) 2023-08-12 13:49:33 +08:00
Readme.md Overhaul CONTRIBUTING document (#1103) 2023-11-11 12:50:50 +08:00

Git Extras

Little git extras.

Screencasts

Just getting started? Check out these screencasts:

Installation

See the Installation page.

Commands

Go to the Commands page for basic usage and examples.

GIT utilities -- repo summary, repl, changelog population, author commit percentages and more

Contributing

Interested in contributing? Awesome!

Please read Contributing before you make a PR, thanks!

The change of the default branch

As of Git Extras 6.4 the assumed default branch name changed from master to main. This affects the Git Extras commands git archive-file, git delete-merged-branches, git delta, git pull-request, git show-merged-branches, git show-unmerged-branches, and git squash.

To change the default branch name to master: change either the configuration git-extras.default-branch or init.defaultBranch to master; the former takes precedence.

For example, git config git-extras.default-branch master.