Fast implementation of Git in pure Go codeberg.org/lindenii/furgit
git go
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

object{,/type}: Fix up API shape

Runxi Yu 9da262c9 bf477ba2

+23 -25
+2 -3
cmd/show-object/main.go
··· 15 15 "codeberg.org/lindenii/furgit/object/stored" 16 16 "codeberg.org/lindenii/furgit/object/tag" 17 17 "codeberg.org/lindenii/furgit/object/tree" 18 - objecttype "codeberg.org/lindenii/furgit/object/type" 19 18 "codeberg.org/lindenii/furgit/repository" 20 19 ) 21 20 ··· 92 91 id := s.ID() 93 92 ty := s.Object().ObjectType() 94 93 95 - tyName, ok := objecttype.Name(ty) 94 + tyName, ok := ty.Name() 96 95 if !ok { 97 96 tyName = fmt.Sprintf("type %d", ty) 98 97 } ··· 126 125 case *tag.Tag: 127 126 tag := obj 128 127 129 - targetTy, ok := objecttype.Name(tag.TargetType) 128 + targetTy, ok := tag.TargetType.Name() 130 129 if !ok { 131 130 targetTy = fmt.Sprintf("type %d", tag.TargetType) 132 131 }
+1 -1
commitquery/ancestor_unit_test.go
··· 29 29 30 30 // ancestorTagBody serializes one minimal annotated tag body. 31 31 func ancestorTagBody(target objectid.ObjectID, targetType objecttype.Type) []byte { 32 - targetName, ok := objecttype.Name(targetType) 32 + targetName, ok := targetType.Name() 33 33 if !ok { 34 34 panic("invalid tag target type") 35 35 }
+1 -1
commitquery/mergebase_unit_test.go
··· 30 30 31 31 // tagBody serializes one minimal annotated tag body. 32 32 func tagBody(target objectid.ObjectID, targetType objecttype.Type) []byte { 33 - targetName, ok := objecttype.Name(targetType) 33 + targetName, ok := targetType.Name() 34 34 if !ok { 35 35 panic("invalid tag target type") 36 36 }
+2 -2
errors/type.go
··· 17 17 18 18 // Error implements error. 19 19 func (e *ObjectTypeError) Error() string { 20 - gotName, gotOK := objecttype.Name(e.Got) 20 + gotName, gotOK := e.Got.Name() 21 21 if !gotOK { 22 22 gotName = fmt.Sprintf("type(%d)", e.Got) 23 23 } 24 24 25 - wantName, wantOK := objecttype.Name(e.Want) 25 + wantName, wantOK := e.Want.Name() 26 26 if !wantOK { 27 27 wantName = fmt.Sprintf("type(%d)", e.Want) 28 28 }
+2 -3
object/fetch/object_parse.go
··· 5 5 6 6 "codeberg.org/lindenii/furgit/object" 7 7 objectid "codeberg.org/lindenii/furgit/object/id" 8 - objecttype "codeberg.org/lindenii/furgit/object/type" 9 8 ) 10 9 11 10 func (r *Fetcher) parseObject(id objectid.ObjectID) (object.Object, error) { ··· 14 13 return nil, err 15 14 } 16 15 17 - parsed, err := object.ParseObjectWithoutHeader(ty, content, id.Algorithm()) 16 + parsed, err := object.ParseWithoutHeader(ty, content, id.Algorithm()) 18 17 if err != nil { 19 - tyName, ok := objecttype.Name(ty) 18 + tyName, ok := ty.Name() 20 19 if !ok { 21 20 tyName = fmt.Sprintf("type %d", ty) 22 21 }
+1 -1
object/header/append.go
··· 12 12 return nil, false 13 13 } 14 14 15 - tyName, ok := objecttype.Name(ty) 15 + tyName, ok := ty.Name() 16 16 if !ok { 17 17 return nil, false 18 18 }
+1 -1
object/header/parse.go
··· 23 23 24 24 nul := space + 1 + nulRel 25 25 26 - ty, ok := objecttype.ParseName(string(data[:space])) 26 + ty, ok := objecttype.Parse(string(data[:space])) 27 27 if !ok { 28 28 return objecttype.TypeInvalid, 0, 0, false 29 29 }
+3 -3
object/parse_with_header.go
··· 7 7 objectid "codeberg.org/lindenii/furgit/object/id" 8 8 ) 9 9 10 - // ParseObjectWithHeader parses a loose object in "type size\x00body" format. 10 + // ParseWithHeader parses a loose object in "type size\x00body" format. 11 11 // 12 12 //nolint:ireturn 13 - func ParseObjectWithHeader(raw []byte, algo objectid.Algorithm) (Object, error) { 13 + func ParseWithHeader(raw []byte, algo objectid.Algorithm) (Object, error) { 14 14 ty, size, headerLen, ok := objectheader.Parse(raw) 15 15 if !ok { 16 16 return nil, fmt.Errorf("object: malformed object header") ··· 21 21 return nil, fmt.Errorf("object: size mismatch: header says %d bytes, body has %d", size, len(body)) 22 22 } 23 23 24 - return ParseObjectWithoutHeader(ty, body, algo) 24 + return ParseWithoutHeader(ty, body, algo) 25 25 }
+2 -2
object/parse_without_header.go
··· 11 11 objecttype "codeberg.org/lindenii/furgit/object/type" 12 12 ) 13 13 14 - // ParseObjectWithoutHeader parses a typed object body. 14 + // ParseWithoutHeader parses a typed object body. 15 15 // 16 16 //nolint:ireturn 17 - func ParseObjectWithoutHeader(ty objecttype.Type, body []byte, algo objectid.Algorithm) (Object, error) { 17 + func ParseWithoutHeader(ty objecttype.Type, body []byte, algo objectid.Algorithm) (Object, error) { 18 18 switch ty { 19 19 case objecttype.TypeBlob: 20 20 return blob.Parse(body)
+1 -1
object/store/loose/helpers_test.go
··· 48 48 49 49 typeName := testRepo.Run(t, "cat-file", "-t", id.String()) 50 50 51 - ty, ok := objecttype.ParseName(typeName) 51 + ty, ok := objecttype.Parse(typeName) 52 52 if !ok { 53 53 t.Fatalf("ParseName(%q) failed", typeName) 54 54 }
+1 -1
object/store/packed/helpers_test.go
··· 50 50 51 51 typeName := testRepo.Run(t, "cat-file", "-t", id.String()) 52 52 53 - ty, ok := objecttype.ParseName(typeName) 53 + ty, ok := objecttype.Parse(typeName) 54 54 if !ok { 55 55 t.Fatalf("ParseName(%q) failed", typeName) 56 56 }
+1 -1
object/tag/parse.go
··· 45 45 t.Target = id 46 46 haveTarget = true 47 47 case "type": 48 - ty, ok := objecttype.ParseName(string(value)) 48 + ty, ok := objecttype.Parse(string(value)) 49 49 if !ok { 50 50 return nil, errors.New("object: tag: unknown target type") 51 51 }
+1 -1
object/tag/serialize.go
··· 18 18 var buf bytes.Buffer 19 19 fmt.Fprintf(&buf, "object %s\n", tag.Target.String()) 20 20 21 - tyName, ok := objecttype.Name(tag.TargetType) 21 + tyName, ok := tag.TargetType.Name() 22 22 if !ok { 23 23 return nil, fmt.Errorf("object: tag: invalid target type %d", tag.TargetType) 24 24 }
+3 -3
object/type/name.go
··· 7 7 typeNameTag = "tag" 8 8 ) 9 9 10 - // ParseName parses a canonical Git object type name. 11 - func ParseName(name string) (Type, bool) { 10 + // Parse parses a canonical Git object type name. 11 + func Parse(name string) (Type, bool) { 12 12 switch name { 13 13 case typeNameBlob: 14 14 return TypeBlob, true ··· 24 24 } 25 25 26 26 // Name returns the canonical Git object type name. 27 - func Name(ty Type) (string, bool) { 27 + func (ty Type) Name() (string, bool) { 28 28 switch ty { 29 29 case TypeBlob: 30 30 return typeNameBlob, true
+1 -1
reachability/unit_test.go
··· 49 49 } 50 50 51 51 func tagBody(target objectid.ObjectID, targetType objecttype.Type) []byte { 52 - targetName, ok := objecttype.Name(targetType) 52 + targetName, ok := targetType.Name() 53 53 if !ok { 54 54 panic("invalid tag target type") 55 55 }