mirror of
https://github.com/go-gitea/gitea
synced 2024-12-25 01:54:26 +00:00
Backport: Strict name matching for Repository.GetTagID() (#8082)
* Strict name matching for Repository.GetTagID() * Add test for GetTagID()
This commit is contained in:
parent
e7f6da386f
commit
bb609cacee
@ -157,11 +157,14 @@ func (repo *Repository) GetTagID(name string) (string, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
fields := strings.Fields(stdout)
|
// Make sure exact match is used: "v1" != "release/v1"
|
||||||
if len(fields) != 2 {
|
for _, line := range strings.Split(stdout, "\n") {
|
||||||
return "", ErrNotExist{ID: name}
|
fields := strings.Fields(line)
|
||||||
|
if len(fields) == 2 && fields[1] == "refs/tags/"+name {
|
||||||
|
return fields[0], nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return fields[0], nil
|
return "", ErrNotExist{ID: name}
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetTag returns a Git tag by given name.
|
// GetTag returns a Git tag by given name.
|
||||||
|
@ -62,6 +62,16 @@ func TestRepository_GetTag(t *testing.T) {
|
|||||||
assert.NotEqual(t, aTagID, aTag.Object.String())
|
assert.NotEqual(t, aTagID, aTag.Object.String())
|
||||||
assert.EqualValues(t, aTagCommitID, aTag.Object.String())
|
assert.EqualValues(t, aTagCommitID, aTag.Object.String())
|
||||||
assert.EqualValues(t, "tag", aTag.Type)
|
assert.EqualValues(t, "tag", aTag.Type)
|
||||||
|
|
||||||
|
rTagCommitID := "8006ff9adbf0cb94da7dad9e537e53817f9fa5c0"
|
||||||
|
rTagName := "release/" + lTagName
|
||||||
|
bareRepo1.CreateTag(rTagName, rTagCommitID)
|
||||||
|
rTagID, err := bareRepo1.GetTagID(rTagName)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, rTagCommitID, rTagID)
|
||||||
|
oTagID, err := bareRepo1.GetTagID(lTagName)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, lTagCommitID, oTagID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRepository_GetAnnotatedTag(t *testing.T) {
|
func TestRepository_GetAnnotatedTag(t *testing.T) {
|
||||||
|
Loading…
Reference in New Issue
Block a user