This is rather large PR that contains many different things. I'll cherry-pick relevant changes for new package workflow into a different PR.
This is probably going to block the CVE fix that I've just accepted ... so should be fixed.
Basically, devel-static for static library instead of devel.
I think the strategy is to retry if git push fails to some reason instead of fails due being updated by another process (we do not know why it fails with this change). In general, parallel updates should never happen as the project git access is serialized. So the update must happen external to that somehow, if that's the cause.
I think these are incorrect. remote is the remote, but branch I think is prjgitBranch. When you fetch from remote, you fetch all branches, but these are not reflected in the current checkout that presumably conflicts. This needs to be merged, so "pull" may be better with "-r true" to rebase current pending merge ontop.
This is incorrect. You would need to compare HEAD vs. FETCH_HEAD here. prjgit.Base.Sha is the PR's merge-base and prjgit.Head.Sha would be the HEAD, but since in project git we always have a merge commit on top. Would be better comparisons here to use,