setupBuildNum.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/sh
  2. v40Filter="--after=28.02.2016"
  3. v30Offset=15471
  4. v25Offset=13822
  5. processBranch() {
  6. Branch="$1"
  7. Adjust="$2"
  8. Filter="$3"
  9. git checkout $Branch
  10. git reset --hard origin/$Branch
  11. git clean -d -x -f
  12. TmpFile=temp.buildno
  13. WriteBuildNumFile="src/misc/writeBuildNum.sh"
  14. BuildNoFile="src/jrd/build_no.h"
  15. OrgBuildNo=$(grep "FB_BUILD_NO" $BuildNoFile | cut -d'"' -f2)
  16. Count=$(git rev-list $Filter --count $Branch)
  17. Skip1=$(git rev-list $Filter --grep="increment build number" --count $Branch)
  18. Skip2=$(git rev-list $Filter --grep="nightly update" --count $Branch)
  19. NewBuildNo=$(($Count-$Skip1-$Skip2+$Adjust))
  20. if [ "$NewBuildNo" != "$OrgBuildNo" ]; then
  21. Starting="BuildNum="
  22. NewLine="BuildNum=$NewBuildNo"
  23. AwkProgram="(/^$Starting.*/ || \$1 == \"$Starting\") {\$0=\"$NewLine\"} {print \$0}"
  24. awk "$AwkProgram" <$WriteBuildNumFile >$TmpFile && mv $TmpFile $WriteBuildNumFile
  25. chmod +x $WriteBuildNumFile
  26. $WriteBuildNumFile rebuildHeader $BuildNoFile $TmpFile
  27. git commit -m "increment build number" $WriteBuildNumFile $BuildNoFile
  28. rm -f $TmpFile
  29. fi
  30. }
  31. git fetch --all
  32. processBranch master 0 $v40Filter
  33. processBranch B3_0_Release $v30Offset
  34. processBranch B2_5_Release $v25Offset
  35. export GIT_COMMITTER_NAME="firebirds"
  36. export GIT_COMMITTER_EMAIL="<>"
  37. export GIT_AUTHOR_NAME="firebirds"
  38. export GIT_AUTHOR_EMAIL="<>"
  39. git push --all