Allow retrieving/setting repository owner validation
Uses the `GIT_OPT_GET_OWNER_VALIDATION` and `GIT_OPT_SET_OWNER_VALIDATION` options introduced in 4161ebdd50
This commit is contained in:
parent
7bff4ca7ad
commit
199995ee76
16
settings.go
16
settings.go
|
@ -134,6 +134,22 @@ func SetCacheObjectLimit(objectType ObjectType, size int) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func OwnerValidation() (enabled bool, err error) {
|
||||
val, err := getSizet(C.GIT_OPT_GET_OWNER_VALIDATION)
|
||||
if val == 1 {
|
||||
return true, err
|
||||
}
|
||||
return false, err
|
||||
}
|
||||
|
||||
func SetOwnerValidation(enabled bool) error {
|
||||
if enabled {
|
||||
return setSizet(C.GIT_OPT_SET_OWNER_VALIDATION, 1)
|
||||
} else {
|
||||
return setSizet(C.GIT_OPT_SET_OWNER_VALIDATION, 0)
|
||||
}
|
||||
}
|
||||
|
||||
func getSizet(opt C.int) (int, error) {
|
||||
runtime.LockOSThread()
|
||||
defer runtime.UnlockOSThread()
|
||||
|
|
|
@ -97,3 +97,27 @@ func TestSetCacheMaxSize(t *testing.T) {
|
|||
err = SetCacheMaxSize(256 * 1024 * 1024)
|
||||
checkFatal(t, err)
|
||||
}
|
||||
|
||||
func TestOwnerValidation(t *testing.T) {
|
||||
enabled, err := OwnerValidation()
|
||||
checkFatal(t, err)
|
||||
|
||||
err = SetOwnerValidation(!enabled)
|
||||
checkFatal(t, err)
|
||||
|
||||
var enabled2 bool
|
||||
enabled2, err = OwnerValidation()
|
||||
checkFatal(t, err)
|
||||
|
||||
if enabled == enabled2 {
|
||||
t.Fatal("set owner validation failed")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetOwnerValidation(t *testing.T) {
|
||||
err := SetOwnerValidation(false)
|
||||
checkFatal(t, err)
|
||||
|
||||
err = SetOwnerValidation(true)
|
||||
checkFatal(t, err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue