Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ cat ~/bin/sync_namespace
- #!/bin/bash
- # replace performs a string replacement for all files in the repo under the
- # current folder and is defined as:
- #
- # git grep -l "$1" | xargs sed -i "s/$1/$2/g"
- UPSTREAM=$(git rev-parse --abbrev-ref HEAD@{upstream})
- echo "Cleaning up..."
- git reset --hard $UPSTREAM
- cd components/sync
- # Fix namespace opening and closing.
- replace "namespace syncer_v2 {" "namespace syncer {"
- replace "namespace sync_driver_v2 {" "namespace syncer {"
- replace "namespace sync_driver {" "namespace syncer {"
- replace "namespace browser_sync {" "namespace syncer {"
- replace "} \/\/ namespace syncer_v2" "} \/\/ namespace syncer"
- replace "} \/\/ namespace sync_driver_v2" "} \/\/ namespace syncer"
- replace "} \/\/ namespace sync_driver" "} \/\/ namespace syncer"
- replace "} \/\/ namespace browser_sync" "} \/\/ namespace syncer"
- # Remove unnecessary namespace identifiers. This is a big hammer that
- # I cleaned up after in the manual tweaks.
- replace "syncer_v2::" ""
- replace "syncer::" ""
- replace "sync_driver_v2::" ""
- replace "sync_driver::" ""
- replace "browser_sync::" ""
- # Get rid of using statements that are no longer needed.
- erase_line "^using [A-Z]\w*;"
- cd -
- # Files where "syncer::" was actually needed.
- git checkout components/sync/base/data_type_histogram.h
- git checkout components/sync/base/immutable_unittest.cc
- git checkout components/sync/base/logging.h
- git checkout components/sync/syncable/directory.h
- git checkout components/sync/test/fake_server
- git checkout components/sync/tools/testserver/run_sync_testserver.cc
- # Clean up namespace identifies outside //components/sync.
- replace "syncer_v2::" "syncer::"
- replace "sync_driver_v2::" "syncer::"
- replace "sync_driver::" "syncer::"
- echo "Formatting..."
- git cl format
- echo "Commiting automated changes..."
- git commit --all -m "Automated changes." > /dev/null
- echo "Cherry-picking manual changes..."
- git cherry-pick 3c060e2
Advertisement
Add Comment
Please, Sign In to add comment