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:
authorJohn Cai <jcai@gitlab.com>2019-07-18 01:35:11 +0300
committerJohn Cai <jcai@gitlab.com>2019-08-08 04:12:59 +0300
commit763e8191b58adf97a3cfa0a7af59547ef70ca8c4 (patch)
treeecbf554c99f85df3bc00bd93572796e841579451 /internal/praefect/protoregistry
parent286e16e2963d42d36a3d55265052589b0a450de6 (diff)
Updating data model for praefect
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 28610ae8b..fa49bd452 100644
--- a/internal/praefect/protoregistry/protoregistry.go
+++ b/internal/praefect/protoregistry/protoregistry.go
@@ -195,11 +195,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.
@@ -215,13 +210,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