The auto-no-squash option is added to:
* backport all the commits when the pull/merge request has been merged
* backport the squashed commit otherwise
It is equivalent to dynamically adjust the value of the no-squash
option, depending on the context.
The no-squash option is kept for backward compatibility for a single
use case: backporting the merged commit instead of backporting the
commits of the pull/merge request request.
Detecting if a pull/merge request was squashed or not depends on the
underlying forge:
* Forgejo / GitHub: use the API to count the number of parents
* GitLab: if the squash_commit_sha is set, the merge request was
squashed
If the pull/merge request is open, always backport all the commits it
contains.
Fixes: https://github.com/kiegroup/git-backporting/issues/113
Co-authored-by: Andrea Lamparelli <a.lamparelli95@gmail.com>
Since --git-user is a user-facing name, it's common to include a space
in it. As such, it's not suitable to use as a username in a Git remote
URL.
GitLab documented that it doesn't (yet?) check for username [1], and
from my testing GitHub doesn't seem to care either. So just use an
arbitrary name as a username.
[1] https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html