[Chapel Merge] Fix pulling mason dependencies with ssh

Branch: refs/heads/main
Revision: cf89e76b42636962f198992fe0d32340863ff376
Author: jabraham17
Link: Fix pulling mason dependencies with ssh by jabraham17 · Pull Request #28680 · chapel-lang/chapel · GitHub
Log Message:
Fix pulling mason dependencies with ssh (#28680)

Fixes several issues I found with mason when trying to pull dependencies
via ssh, as well as some improvements I made along the way

  • fixes git errors being reported poorly as uncaught TaskErrors.
  • git cannot clone ssh based urls without ssh and without an installed
    ssh key. to fix this, this PR implements an automatic fallback to https
  • refactors many git operations to use dedicated helpers
  • makes more usage of path, and starts to use Pathlib@0.2.0 for more
    operations

Resolves [Bug]: Mason cannot fetch dependencies properly in clean docker env · Issue #28674 · chapel-lang/chapel · GitHub

  • paratest

[Reviewed by @benharsh]

Compare: Comparing e2552c5b6e5c2e5cd63fda190335390202a8f8ce...1d9c3586b255e483fbf974fceb32aabfe36c19cb · chapel-lang/chapel · GitHub

Diff:
A test/mason/cloneFallback.chpl
A test/mason/cloneFallback.execenv
A test/mason/cloneFallback.good
M test/mason/gitErrors.chpl
M test/mason/gitErrors.good
M test/mason/gitErrors.prediff
M tools/mason/MasonBuild.chpl
M tools/mason/MasonExample.chpl
M tools/mason/MasonExternal.chpl
M tools/mason/MasonPrereqs.chpl
M tools/mason/MasonPublish.chpl
M tools/mason/MasonTest.chpl
M tools/mason/MasonUpdate.chpl
M tools/mason/MasonUtils.chpl
M tools/mason/ThirdParty/masonDeps.txt
https://github.com/chapel-lang/chapel/pull/28680.diff