mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-02-09 00:03:17 +08:00
git-ls-remote accepts paramter refs to just return refs for specific ones. This refactor uses this parameter to avoid handling full list of refs from remote repository. In original code, option --exit-code is passed to git-ls-remote, which would cause command return exit code 2 when no ref is found from remote repository. SCM._run raises an error if that happens, but the raised error is not handled. This refactor catches this error to ensure the original behavior happens, that is if a ref is not found, treat it as a commit hash and call SCM.get_full_commit_hash. Signed-off-by: Chenxiong Qi <cqi@redhat.com>