diff --git a/Doit b/Doit index bb1b0f32b3..7b949f9cee 100755 --- a/Doit +++ b/Doit @@ -29,10 +29,17 @@ do } if installed=$($HOME/git-$branch/bin/git version) && - { - version=$(expr "$installed" : '.*\.g\([0-9a-f]*\)$') || + if version=$(expr "$installed" : '.*\.g\([0-9a-f]*\)$') + then + : + elif version=v$(expr "$installed" : \ + 'git version \(.*\)\.rc[0-9]*$') + then + version="$version"-$(expr "$installed" : \ + 'git version .*\.\(rc[0-9]*\)$') + else version=v$(expr "$installed" : 'git version \(.*\)') - } && + fi && version=$(git rev-parse --verify "$version^0" 2>/dev/null) && test "z$version" = "z$revision" then diff --git a/V b/V index 8c4a6d40e9..000a1d8fe1 100755 --- a/V +++ b/V @@ -3,8 +3,17 @@ for v in maint master next pu do installed=$($HOME/git-$v/bin/git version) - version=$(expr "$installed" : '.*\.g\([0-9a-f]*\)$') || - version=v$(expr "$installed" : 'git version \(.*\)') + if version=$(expr "$installed" : '.*\.g\([0-9a-f]*\)$') + then + : + elif version=v$(expr "$installed" : \ + 'git version \(.*\)\.rc[0-9]*$') + then + version="$version"-$(expr "$installed" : \ + 'git version .*\.\(rc[0-9]*\)$') + else + version=v$(expr "$installed" : 'git version \(.*\)') + fi version=$(git rev-parse --verify "$version^0" 2>/dev/null) revision=$(git show-ref -s --verify "refs/heads/$v")