Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2019-08-13 18:17:07 +0300
committerJacob Vosmaer <jacob@gitlab.com>2019-08-13 18:17:07 +0300
commitd09c98f9ff0a1b7768b0f4c6bf88576e5bbbd80f (patch)
tree87c8e62173e4af68ddf82bb70c1fb9da7bc19fdb /internal/praefect/protoregistry
parent8cc7033e971a0fe001603f695dc02feae7ac34ec (diff)
parent763e8191b58adf97a3cfa0a7af59547ef70ca8c4 (diff)
Merge branch 'jc-praefect-data-model' into 'master'
Updating data model for praefect See merge request gitlab-org/gitaly!1399
Diffstat (limited to 'internal/praefect/protoregistry')
-rw-r--r--internal/praefect/protoregistry/protoregistry.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/internal/praefect/protoregistry/protoregistry.go b/internal/praefect/protoregistry/protoregistry.go
index 363e023be..21c5254ff 100644
--- a/internal/praefect/protoregistry/protoregistry.go
+++ b/internal/praefect/protoregistry/protoregistry.go
@@ -207,11 +207,6 @@ func parseMethodInfo(methodDesc *descriptor.MethodDescriptorProto) (MethodInfo,
opCode = OpUnknown
}
- targetRepo, err := parseOID(opMsg.GetTargetRepositoryField())
- if err != nil {
- return MethodInfo{}, err
- }
-
// for some reason, the protobuf descriptor contains an extra dot in front
// of the request name that the generated code does not. This trimming keeps
// the two copies consistent for comparisons.
@@ -227,13 +222,22 @@ func parseMethodInfo(methodDesc *descriptor.MethodDescriptorProto) (MethodInfo,
return MethodInfo{}, fmt.Errorf("encountered unknown method scope %d", opMsg.GetScopeLevel())
}
- return MethodInfo{
+ mi := MethodInfo{
Operation: opCode,
Scope: scope,
- targetRepo: targetRepo,
requestName: requestName,
requestFactory: reqFactory,
- }, nil
+ }
+
+ if scope == ScopeRepository {
+ targetRepo, err := parseOID(opMsg.GetTargetRepositoryField())
+ if err != nil {
+ return MethodInfo{}, err
+ }
+ mi.targetRepo = targetRepo
+ }
+
+ return mi, nil
}
// parses a string like "1.1" and returns a slice of ints