diff options
author | Carl Worth <cworth@cworth.org> | 2010-04-15 20:03:30 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-04-15 20:14:54 -0700 |
commit | 00263dd1a9e08ab1fa947fa58d1c2ad62e8b9653 (patch) | |
tree | 5d84b38c2d0006985cc4c0026969c9646b50e2ba /Makefile.local | |
parent | 8700de6fb77fb0ebd7956be7b0a90443ef3e3989 (diff) |
make release: Enforce a clean source tree before release.
Where by clean, we check that no files are known to git to be
modified.
Diffstat (limited to 'Makefile.local')
-rw-r--r-- | Makefile.local | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Makefile.local b/Makefile.local index 98d69c4..e112072 100644 --- a/Makefile.local +++ b/Makefile.local @@ -69,7 +69,7 @@ dist: $(TAR_FILE) # We invoke make recursively only to force ordering of our phony # targets in the case of parallel invocation of make (-j). .PHONY: release -release: verify-version +release: verify-no-dirty-code $(MAKE) test $(MAKE) $(GPG_FILE) $(MAKE) verify-newer @@ -116,6 +116,21 @@ release-message: @echo "" @echo "For more about notmuch, see http://notmuchmail.org" +.PHONY: verify-no-dirty-code +verify-no-dirty-code: verify-version + @printf "Checking that source tree is clean..." +ifneq ($(shell git ls-files -m),) + @echo "No" + @echo "The following files have been modified since the most recent git commit:" + @echo "" + @git ls-files -m + @echo "" + @echo "The release will be made from the committed state, but perhaps you meant" + @echo "to commit this code first? Please clean this up to make it more clear." + @false +else + @echo "Good" +endif .PHONY: verify-version verify-version: |