# Tools that may save you and the team some time ## Automatically format your Git commit with clang-format ### Run To run the command use ```bash git clang-format $(git merge-base origin/develop HEAD) ``` This diffs from origin/develop to HEAD: ### Install This tool allows you to run clang-format on your local changes before they're sent out for review. This will minimize the amount of style feedback you get from the team and saves everyone time. ```bash # Check to see if you have clang-format command installed. # If you are a Googler then ask someone on the team how to install clang-format. # Otherwise, get the latest release from https://github.com/material-foundation/clang-format/releases clang-format -version # Check to see if you have git's clang-format command installed. git clang-format -h # If you already have git's clang-format command configured, you're ready to use the tool. # Download the script curl -s https://raw.githubusercontent.com/llvm-mirror/clang/c510fac5695e904b43d5bf0feee31cc9550f110e/tools/clang-format/git-clang-format -o "git-clang-format" # The expected SHA is 1f6cfad79f90ea202dcf2d52a360186341a589cdbfdee05b0e7694f912aa9820 # Verify the SHA by running the following: openssl sha -sha256 git-clang-format # Move the script somewhere in your PATH. /usr/local/bin is the recommended default. sudo mv "git-clang-format" "/usr/local/bin/git-clang-format" # Ensure that the command is executable sudo chmod +x "/usr/local/bin/git-clang-format" # Verify that the command works. git clang-format -h ``` ## PR description chrome plugin https://github.com/material-foundation/github-squash-and-merge-pr-descriptions. This tool ensures that your pull request's merge commit matches your PR description. ## Using git-lfs Snapshot tests utilize git-lfs to store the reference images. Please install and configure git-lfs in order to run and write snapshot tests. Perform the following steps: 1. `brew install git-lfs` 2. `git lfs install` 3. `git lfs pull`