setupBuildNum.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/sh
  2. v50Filter="054431fce7650c0d58df3f9a4100ea98d215486e" # May 5 2021, Implemented Batch::cancel() over the wire
  3. v40Filter="bb46a0e8310de196104bcca78fda2e0c1ea77bb5" # Feb 28 2016, Set up the new version
  4. v30Offset=15471
  5. v25Offset=13822
  6. processBranch() {
  7. Branch="$1"
  8. Adjust="$2"
  9. Filter="$3"
  10. if [ "$Filter" ]
  11. then
  12. Range="$Filter..$Branch"
  13. else
  14. Range="$Branch"
  15. fi
  16. git checkout $Branch
  17. git reset --hard origin/$Branch
  18. git clean -d -x -f
  19. TmpFile=temp.buildno
  20. WriteBuildNumFile="src/misc/writeBuildNum.sh"
  21. BuildNoFile="src/jrd/build_no.h"
  22. OrgBuildNo=$(grep "FB_BUILD_NO" $BuildNoFile | cut -d'"' -f2)
  23. Count=$(git rev-list --count $Range)
  24. Skip1=$(git rev-list --grep="increment build number" --count $Range)
  25. Skip2=$(git rev-list --grep="nightly update" --count $Range)
  26. git rev-list $Range >~/Count.$Branch
  27. git rev-list --grep="increment build number" $Range >~/Skip1.$Branch
  28. git rev-list --grep="nightly update" $Range >~/Skip2.$Branch
  29. NewBuildNo=$(($Count-$Skip1-$Skip2+$Adjust))
  30. if [ "$NewBuildNo" != "$OrgBuildNo" ]; then
  31. Starting="BuildNum="
  32. NewLine="BuildNum=$NewBuildNo"
  33. AwkProgram="(/^$Starting.*/ || \$1 == \"$Starting\") {\$0=\"$NewLine\"} {print \$0}"
  34. awk "$AwkProgram" <$WriteBuildNumFile >$TmpFile && mv $TmpFile $WriteBuildNumFile
  35. chmod +x $WriteBuildNumFile
  36. $WriteBuildNumFile rebuildHeader $BuildNoFile $TmpFile
  37. git commit -m "increment build number" $WriteBuildNumFile $BuildNoFile
  38. rm -f $TmpFile
  39. fi
  40. }
  41. errFile=~/gitFsckErr.buildNo
  42. git fsck --strict >$errFile 2>&1 || exit
  43. rm -f $errFile
  44. git fetch --all
  45. processBranch master 0 $v50Filter
  46. processBranch v4.0-release 0 $v40Filter
  47. processBranch B3_0_Release $v30Offset
  48. processBranch B2_5_Release $v25Offset
  49. export GIT_COMMITTER_NAME="firebirds"
  50. export GIT_COMMITTER_EMAIL="<>"
  51. export GIT_AUTHOR_NAME="firebirds"
  52. export GIT_AUTHOR_EMAIL="<>"
  53. git push --all