Tôi cần phải viết một Git pre commit hook trong Java, mà sẽ kiểm tra xem mã được nhà phát triển cam kết có được định dạng theo định dạng mã eclipse cụ thể trước khi thực sự cam kết hay không. Có thể viết móc trước cam kết trong Java không?Viết GIT tiền cam kết trong java?
5
A
Trả lời
5
Ý tưởng là gọi một tập lệnh mà lần lượt gọi chương trình java của bạn (kiểm tra định dạng).
Bạn có thể see here an example written in python, gọi java.
try:
# call checkstyle and print output
print call(['java', '-jar', checkstyle, '-c', checkstyle_config, '-r', tempdir])
except subprocess.CalledProcessError, ex:
print ex.output # print checkstyle messages
exit(1)
finally:
# remove temporary directory
shutil.rmtree(tempdir)
other example calls directly ant
này, để thực hiện một kịch bản kiến (mà lần lượt gọi một bộ kiểm tra Java JUnit)
#!/bin/sh
# Run the test suite.
# It will exit with 0 if it everything compiled and tested fine.
ant test
if [ $? -eq 0 ]; then
exit 0
else
echo "Building your project or running the tests failed."
echo "Aborting the commit. Run with --no-verify to ignore."
exit 1
fi
1
Bạn có thể viết cái móc trong bất kỳ ngôn ngữ có thể được hiểu bằng vỏ, với người phiên dịch được cấu hình đúng cách (bash, python, perl) vv
Nhưng, tại sao không viết mã định dạng java của bạn trong java, và gọi nó từ hook trước commit.
Các vấn đề liên quan
- 1. Bao gồm submodule bài viết cam kết với "git log"
- 2. Ngăn không cho git viết trống hợp nhất cam kết
- 3. Xấu cam kết Git
- 4. Git cam kết từ python
- 5. Hợp nhất Git cam kết
- 6. git add/rm (cam kết)
- 7. git look cam kết đăng nhập cho cam kết id
- 8. nhận thẻ cam kết trong git
- 9. Tách cam kết đầu tiên trong git
- 10. vô tình đã cam kết trong git
- 11. Rác thu thập cam kết trong git
- 12. Cam kết trong một gói git
- 13. Xóa git cũ cam kết
- 14. Thêm/cam kết hoàn tiền từ thư mục không phải là git
- 15. Số cam kết trên chi nhánh trong git
- 16. Git ký tắt cam kết trước đó?
- 17. Git có cam kết nguyên tử không?
- 18. git: squash/fixup trước đó cam kết
- 19. Khôi phục cam kết git trước đó?
- 20. Git: truy xuất cam kết cụ thể
- 21. Git: di chuyển cam kết "lên trên"
- 22. Rollback để git cam kết cuối cùng
- 23. git tìm thấy chất béo cam kết
- 24. git: đẩy một cam kết duy nhất
- 25. Git rebase cam kết lựa chọn
- 26. git: Hiển thị thông điệp cuối cùng cam kết trong cam kết mẫu
- 27. Lấy danh sách các cam kết cùng với thông báo cam kết và băm trong Git
- 28. xóa cam kết git đầu tiên
- 29. git không thể chỉnh sửa cam kết
- 30. Xem một Git cụ thể cam kết