2011-11-13 21 views
7

Tôi mới dùng phing và xây dựng một tập lệnh để tự động hóa một số tác vụ xây dựng.Nhận thẻ Git mới nhất từ ​​kho lưu trữ bằng Phing

Có cách nào để truy xuất chỉ thẻ được thêm gần đây nhất vào repo git không? Tôi có thể lấy danh sách tất cả các thẻ của mình nhưng dường như không thể lọc nó xuống thẻ mới nhất.

Dưới đây là các mã có liên quan mà lấy về thẻ git của tôi:

<gittag 
     repository="${repo.dir.resolved}" 
     list="true" 
     outputProperty="versionTag" 
     pattern="v*" /> 

Sản lượng của các kết quả nêu trên trong danh sách các thẻ (bắt đầu bằng "v"):

[gittag] git-tag output: v1.0.0 
v1.0.1 
v1.0.2 

Bất kỳ ý tưởng về làm thế nào tôi có thể nhận được điều này xuống chỉ là v1.0.2?

Trả lời

7

Managed để thực hiện điều này như sau:

<exec 
     outputProperty="latestVersion" 
     command="git describe --tags `git rev-list --tags --max-count=1`" 
     dir="${repo.dir.resolved}"/> 

Nó làm việc, mặc dù tôi mở để gợi ý nếu điều này có thể được cải thiện!

+1

Tôi cũng sẽ đề xuất điều này. – Travis

+3

Đề xuất duy nhất tôi có là mở rộng tác vụ GitTag và gửi các thay đổi để đưa vào. – Travis

+0

Thannks @Travis - Tôi sẽ xem xét nó! – mozami