Merge pull request #3 from pohly/verify-subtree
check subtree for changes
This commit is contained in:
		
						commit
						3041b8a425
					
				
							
								
								
									
										21
									
								
								build.make
								
								
								
								
							
							
						
						
									
										21
									
								
								build.make
								
								
								
								
							|  | @ -89,11 +89,32 @@ clean: | ||||||
| 	-rm -rf bin | 	-rm -rf bin | ||||||
| 
 | 
 | ||||||
| test: | test: | ||||||
|  | 
 | ||||||
|  | .PHONY: test-go | ||||||
|  | test: test-go | ||||||
|  | test-go: | ||||||
|  | 	@ echo; echo $@ | ||||||
| 	go test `go list ./... | grep -v 'vendor'` $(TESTARGS) | 	go test `go list ./... | grep -v 'vendor'` $(TESTARGS) | ||||||
|  | 
 | ||||||
|  | .PHONY: test-vet | ||||||
|  | test: test-vet | ||||||
|  | test-vet: | ||||||
|  | 	@ echo; echo $@ | ||||||
| 	go vet `go list ./... | grep -v vendor` | 	go vet `go list ./... | grep -v vendor` | ||||||
|  | 
 | ||||||
|  | .PHONY: test-fmt | ||||||
|  | test: test-fmt | ||||||
|  | test-fmt: | ||||||
|  | 	@ echo; echo $@ | ||||||
| 	files=$$(find . -name '*.go' | grep -v './vendor'); \ | 	files=$$(find . -name '*.go' | grep -v './vendor'); \ | ||||||
| 	if [ $$(gofmt -d $$files | wc -l) -ne 0 ]; then \ | 	if [ $$(gofmt -d $$files | wc -l) -ne 0 ]; then \ | ||||||
| 		echo "formatting errors:"; \ | 		echo "formatting errors:"; \ | ||||||
| 		gofmt -d $$files; \ | 		gofmt -d $$files; \ | ||||||
| 		false; \ | 		false; \ | ||||||
| 	fi | 	fi | ||||||
|  | 
 | ||||||
|  | .PHONY: test-subtree | ||||||
|  | test: test-subtree | ||||||
|  | test-subtree: | ||||||
|  | 	@ echo; echo $@ | ||||||
|  | 	./release-tools/verify-subtree.sh release-tools | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ matrix: | ||||||
|   include: |   include: | ||||||
|   - go: 1.11.1 |   - go: 1.11.1 | ||||||
| script: | script: | ||||||
| - make all test | - make -k all test | ||||||
| after_success: | after_success: | ||||||
|   - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then |   - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then | ||||||
|       docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" quay.io; |       docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" quay.io; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,41 @@ | ||||||
|  | #! /bin/sh -e | ||||||
|  | # | ||||||
|  | # Copyright 2019 The Kubernetes Authors. | ||||||
|  | # | ||||||
|  | # Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  | # you may not use this file except in compliance with the License. | ||||||
|  | # You may obtain a copy of the License at | ||||||
|  | # | ||||||
|  | #     http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | # Unless required by applicable law or agreed to in writing, software | ||||||
|  | # distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  | # See the License for the specific language governing permissions and | ||||||
|  | # limitations under the License. | ||||||
|  | 
 | ||||||
|  | # This script verifies that the content of a directory managed | ||||||
|  | # by "git subtree" has not been modified locally. It does that | ||||||
|  | # by looking for commits that modify the files with the | ||||||
|  | # subtree prefix (aka directory) while ignoring merge | ||||||
|  | # commits. Merge commits are where "git subtree" pulls the | ||||||
|  | # upstream files into the directory. | ||||||
|  | # | ||||||
|  | # Theoretically a developer can subvert this check by modifying files | ||||||
|  | # in a merge commit, but in practice that shouldn't happen. | ||||||
|  | 
 | ||||||
|  | DIR="$1" | ||||||
|  | if [ ! "$DIR" ]; then | ||||||
|  |     echo "usage: $0 <directory>" >&2 | ||||||
|  |     exit 1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | REV=$(git log -n1 --format=format:%H --no-merges -- "$DIR") | ||||||
|  | if [ "$REV" ]; then | ||||||
|  |     echo "Directory '$DIR' contains non-upstream changes:" | ||||||
|  |     echo | ||||||
|  |     git log --no-merges -- "$DIR" | ||||||
|  |     exit 1 | ||||||
|  | else | ||||||
|  |     echo "$DIR is a clean copy of upstream." | ||||||
|  | fi | ||||||
		Loading…
	
		Reference in New Issue