From 25f4b3efe355c9d7d2d9341f818b8616cbb5435b Mon Sep 17 00:00:00 2001 From: Gregory Chanan Date: Mon, 22 Oct 2018 07:31:33 -0700 Subject: [PATCH] Add simple scripts for checking if generated code changed. (#12835) Summary: This is designed to make it easier to see how your codegen changes affected actual generated code. Limitations: A) This is NOT robust; if new directories are added that include generated files, they need to be added to tools/generated_dirs.txt. Note that subdirectories of the list are not included. B) This is particular to my workflow which I don't claim is generally applicable. Ideally we would have a script that pumped out a diff that could be attached to PRs. C) Only works on OSS and definitely won't work on windows. How to use: 1) python setup.py ... 2) tools/git_add_generated_dirs 3) Edit codegen 4) python setup.py ... 4) git diff to see changes 5) If satisfied: tools/git_reset_generated_dirs, commit, etc. If not satisfied: Go to 3) Pull Request resolved: https://github.com/pytorch/pytorch/pull/12835 Reviewed By: ezyang Differential Revision: D10452255 Pulled By: gchanan fbshipit-source-id: 294fc74d41d1b840c7a26d20e05efd0aff154635 --- tools/generated_dirs.txt | 3 +++ tools/git_add_generated_dirs.sh | 13 +++++++++++++ tools/git_reset_generated_dirs.sh | 13 +++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 tools/generated_dirs.txt create mode 100755 tools/git_add_generated_dirs.sh create mode 100755 tools/git_reset_generated_dirs.sh diff --git a/tools/generated_dirs.txt b/tools/generated_dirs.txt new file mode 100644 index 0000000000000..4a251be372754 --- /dev/null +++ b/tools/generated_dirs.txt @@ -0,0 +1,3 @@ +torch/csrc/autograd/generated/ +torch/csrc/jit/generated/ +build/aten/src/ATen diff --git a/tools/git_add_generated_dirs.sh b/tools/git_add_generated_dirs.sh new file mode 100755 index 0000000000000..d91f513c4eeb7 --- /dev/null +++ b/tools/git_add_generated_dirs.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# HOW TO USE: +# 1) python setup.py ... +# 2) tools/git_add_generated_dirs +# 3) Edit codegen +# 4) python setup.py ... +# 5) git diff to see changes +# 6) If satisfied: tools/git_reset_generated_dirs, commit, etc. +# If not satisfied: Go to 3) + +BASEDIR=$(dirname "$0") +(< $BASEDIR/generated_dirs.txt xargs -i find {} -type f) | xargs git add -f diff --git a/tools/git_reset_generated_dirs.sh b/tools/git_reset_generated_dirs.sh new file mode 100755 index 0000000000000..852693e09d555 --- /dev/null +++ b/tools/git_reset_generated_dirs.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# HOW TO USE: +# 1) python setup.py ... +# 2) tools/git_add_generated_dirs +# 3) Edit codegen +# 4) python setup.py ... +# 5) git diff to see changes +# 6) If satisfied: tools/git_reset_generated_dirs, commit, etc. +# If not satisfied: Go to 3) + +BASEDIR=$(dirname "$0") +(< $BASEDIR/generated_dirs.txt xargs -i find {} -type f) | xargs git reset HEAD