cleanup() {
echo "== Cleaning up"
+ git reset --hard || true
git checkout "$orig_branch" || true
git branch -D $tmp_branch || true
git remote remove $tmp_origin || true
# To check for DB forward compatibility with loading options (old version
# reading data from new), as well as backward compatibility
-declare -a db_forward_with_options_refs=("6.6.fb" "6.7.fb" "6.8.fb" "6.9.fb" "6.10.fb" "6.11.fb" "6.12.fb" "6.13.fb" "6.14.fb" "6.15.fb" "6.16.fb" "6.17.fb" "6.18.fb" "6.19.fb" "6.20.fb")
+declare -a db_forward_with_options_refs=("6.6.fb" "6.7.fb" "6.8.fb" "6.9.fb" "6.10.fb" "6.11.fb" "6.12.fb" "6.13.fb" "6.14.fb" "6.15.fb" "6.16.fb" "6.17.fb" "6.18.fb" "6.19.fb" "6.20.fb" "6.21.fb" "6.22.fb" "6.23.fb")
# To check for DB forward compatibility without loading options (in addition
# to the "with loading options" set), as well as backward compatibility
declare -a db_forward_no_options_refs=() # N/A at the moment
return 1
}
+force_no_fbcode()
+{
+ # Not all branches recognize ROCKSDB_NO_FBCODE and we should not need
+ # to patch old branches for changes to available FB compilers.
+ sed -i -e 's|-d /mnt/gvfs/third-party|"$ROCKSDB_FORCE_FBCODE"|' build_tools/build_detect_platform
+}
+
# General structure from here:
# * Check out, build, and do stuff with the "current" branch.
# * For each older branch under consideration,
echo "== Building $current_checkout_name debug"
git checkout -B $tmp_branch $current_checkout_hash
+force_no_fbcode
make clean
DISABLE_WARNING_AS_ERROR=1 make ldb -j32
do
echo "== Building $checkout_ref debug"
git reset --hard $tmp_origin/$checkout_ref
+ force_no_fbcode
make clean
DISABLE_WARNING_AS_ERROR=1 make ldb -j32
echo "== Building $current_checkout_name debug (again, final)"
git reset --hard $current_checkout_hash
+force_no_fbcode
make clean
DISABLE_WARNING_AS_ERROR=1 make ldb -j32