Skip to content

Commit d1a1a9f

Browse files
committed
feat: add tree node properties
1 parent af4872d commit d1a1a9f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+4947
-763
lines changed

api/jiaozifs.gen.go

Lines changed: 64 additions & 65 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/swagger.yml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,15 +157,23 @@ components:
157157
required:
158158
- Hash
159159
- Type
160+
- CheckSum
161+
- Properties
160162
- Size
161163
- CreatedAt
162164
- UpdatedAt
163165
properties:
164166
Hash:
165167
type: string
168+
CheckSum:
169+
type: string
166170
Type:
167171
type: integer
168172
format: int8
173+
Properties:
174+
type: object
175+
additionalProperties:
176+
type: string
169177
Size:
170178
type: integer
171179
format: int64
@@ -208,9 +216,6 @@ components:
208216
properties:
209217
Hash:
210218
type: string
211-
Type:
212-
type: integer
213-
format: int8
214219
Author:
215220
$ref: "#/components/schemas/Signature"
216221
Committer:
@@ -238,17 +243,27 @@ components:
238243
type: string
239244
Hash:
240245
type: string
241-
Mode:
242-
type: integer
243-
format: uint32
246+
IsDir:
247+
type: boolean
244248
TreeNode:
245249
type: object
250+
required:
251+
- Hash
252+
- Type
253+
- Properties
254+
- SubObjects
255+
- CreatedAt
256+
- UpdatedAt
246257
properties:
247258
Hash:
248259
type: string
249260
Type:
250261
type: integer
251262
format: int8
263+
Properties:
264+
type: object
265+
additionalProperties:
266+
type: string
252267
SubObjects:
253268
type: array
254269
items:

controller/commit_ctl.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ func (commitCtl CommitController) GetEntriesInCommit(ctx context.Context, w *api
3333
return
3434
}
3535

36-
commit, err := commitCtl.Repo.ObjectRepo().Get(ctx, models.NewGetObjParams().SetHash(ref.CommitHash))
36+
commit, err := commitCtl.Repo.CommitRepo().Commit(ctx, ref.CommitHash)
3737
if err != nil {
3838
w.Error(err)
3939
return
4040
}
4141

42-
workTree, err := versionmgr.NewWorkTree(ctx, commitCtl.Repo.ObjectRepo(), models.NewRootTreeEntry(commit.TreeHash))
42+
workTree, err := versionmgr.NewWorkTree(ctx, commitCtl.Repo.FileTreeRepo(), models.NewRootTreeEntry(commit.TreeHash))
4343
if err != nil {
4444
w.Error(err)
4545
return
@@ -75,7 +75,7 @@ func (commitCtl CommitController) GetCommitDiff(ctx context.Context, w *api.Jiao
7575
return
7676
}
7777

78-
bashCommit, err := commitCtl.Repo.ObjectRepo().Commit(ctx, bashCommitHash)
78+
bashCommit, err := commitCtl.Repo.CommitRepo().Commit(ctx, bashCommitHash)
7979
if err != nil {
8080
w.Error(err)
8181
return

controller/object_ctl.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,13 @@ func (oct ObjectController) DeleteObject(ctx context.Context, w *api.JiaozifsRes
6161
w.Error(err)
6262
return
6363
}
64-
commit, err := oct.Repo.ObjectRepo().Commit(ctx, ref.CommitHash)
64+
commit, err := oct.Repo.CommitRepo().Commit(ctx, ref.CommitHash)
6565
if err != nil {
6666
w.Error(err)
6767
return
6868
}
6969

70-
workTree, err := versionmgr.NewWorkTree(ctx, oct.Repo.ObjectRepo(), models.NewRootTreeEntry(commit.TreeHash))
70+
workTree, err := versionmgr.NewWorkTree(ctx, oct.Repo.FileTreeRepo(), models.NewRootTreeEntry(commit.TreeHash))
7171
if err != nil {
7272
w.Error(err)
7373
return
@@ -111,13 +111,13 @@ func (oct ObjectController) GetObject(ctx context.Context, w *api.JiaozifsRespon
111111
w.Error(err)
112112
return
113113
}
114-
commit, err := oct.Repo.ObjectRepo().Commit(ctx, ref.CommitHash)
114+
commit, err := oct.Repo.CommitRepo().Commit(ctx, ref.CommitHash)
115115
if err != nil {
116116
w.Error(err)
117117
return
118118
}
119119

120-
workTree, err := versionmgr.NewWorkTree(ctx, oct.Repo.ObjectRepo(), models.NewRootTreeEntry(commit.TreeHash))
120+
workTree, err := versionmgr.NewWorkTree(ctx, oct.Repo.FileTreeRepo(), models.NewRootTreeEntry(commit.TreeHash))
121121
if err != nil {
122122
w.Error(err)
123123
return
@@ -195,14 +195,14 @@ func (oct ObjectController) HeadObject(ctx context.Context, w *api.JiaozifsRespo
195195
return
196196
}
197197

198-
commit, err := oct.Repo.ObjectRepo().Commit(ctx, ref.CommitHash)
198+
commit, err := oct.Repo.CommitRepo().Commit(ctx, ref.CommitHash)
199199
if err != nil {
200200
w.Error(err)
201201
return
202202
}
203203

204-
objRepo := oct.Repo.ObjectRepo()
205-
treeOp, err := versionmgr.NewWorkTree(ctx, oct.Repo.ObjectRepo(), models.NewRootTreeEntry(commit.TreeHash))
204+
fileRepo := oct.Repo.FileTreeRepo()
205+
treeOp, err := versionmgr.NewWorkTree(ctx, fileRepo, models.NewRootTreeEntry(commit.TreeHash))
206206
if err != nil {
207207
w.Error(err)
208208
return
@@ -220,7 +220,7 @@ func (oct ObjectController) HeadObject(ctx context.Context, w *api.JiaozifsRespo
220220

221221
objectWithName := existNodes[len(existNodes)-1]
222222

223-
blob, err := objRepo.Blob(ctx, objectWithName.Node().Hash)
223+
blob, err := fileRepo.Blob(ctx, objectWithName.Node().Hash)
224224
if err != nil {
225225
w.Error(err)
226226
return
@@ -307,12 +307,12 @@ func (oct ObjectController) UploadObject(ctx context.Context, w *api.JiaozifsRes
307307
return err
308308
}
309309

310-
workingTree, err := versionmgr.NewWorkTree(ctx, dRepo.ObjectRepo(), models.NewRootTreeEntry(stash.CurrentTree))
310+
workingTree, err := versionmgr.NewWorkTree(ctx, dRepo.FileTreeRepo(), models.NewRootTreeEntry(stash.CurrentTree))
311311
if err != nil {
312312
return err
313313
}
314314

315-
blob, err := workingTree.WriteBlob(ctx, oct.BlockAdapter, reader, r.ContentLength, block.PutOpts{})
315+
blob, err := workingTree.WriteBlob(ctx, oct.BlockAdapter, reader, r.ContentLength, models.DefaultLeafProperty())
316316
if err != nil {
317317
return err
318318
}

controller/repository_ctl.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,14 +186,14 @@ func (repositoryCtl RepositoryController) GetCommitsInRepository(ctx context.Con
186186
return
187187
}
188188

189-
commit, err := repositoryCtl.Repo.ObjectRepo().Commit(ctx, ref.CommitHash)
189+
commit, err := repositoryCtl.Repo.CommitRepo().Commit(ctx, ref.CommitHash)
190190
if err != nil {
191191
w.Error(err)
192192
return
193193
}
194194

195195
var commits []api.Commit
196-
iter := versionmgr.NewCommitPreorderIter(versionmgr.NewCommitNode(ctx, commit, repositoryCtl.Repo.ObjectRepo()), nil, nil)
196+
iter := versionmgr.NewCommitPreorderIter(versionmgr.NewCommitNode(ctx, commit, repositoryCtl.Repo.CommitRepo()), nil, nil)
197197
for {
198198
commit, err := iter.Next()
199199
if err == nil {
@@ -215,7 +215,6 @@ func (repositoryCtl RepositoryController) GetCommitsInRepository(ctx context.Con
215215
Message: modelCommit.Message,
216216
ParentHashes: hash.HexArrayOfHashes(modelCommit.ParentHashes...),
217217
TreeHash: modelCommit.TreeHash.Hex(),
218-
Type: int8(modelCommit.Type),
219218
UpdatedAt: modelCommit.UpdatedAt,
220219
})
221220
continue

controller/wip_ctl.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func (wipCtl WipController) CreateWip(ctx context.Context, w *api.JiaozifsRespon
4646
return
4747
}
4848

49-
baseCommit, err := wipCtl.Repo.ObjectRepo().Commit(ctx, ref.CommitHash)
49+
baseCommit, err := wipCtl.Repo.CommitRepo().Commit(ctx, ref.CommitHash)
5050
if err != nil {
5151
w.Error(err)
5252
return
@@ -144,7 +144,7 @@ func (wipCtl WipController) CommitWip(ctx context.Context, w *api.JiaozifsRespon
144144
return
145145
}
146146

147-
commit, err := wipCtl.Repo.ObjectRepo().Commit(ctx, ref.CommitHash)
147+
commit, err := wipCtl.Repo.CommitRepo().Commit(ctx, ref.CommitHash)
148148
if err != nil {
149149
w.Error(err)
150150
return
@@ -248,13 +248,13 @@ func (wipCtl WipController) GetWipChanges(ctx context.Context, w *api.JiaozifsRe
248248
return
249249
}
250250

251-
commit, err := wipCtl.Repo.ObjectRepo().Commit(ctx, wip.BaseCommit)
251+
commit, err := wipCtl.Repo.CommitRepo().Commit(ctx, wip.BaseCommit)
252252
if err != nil {
253253
w.Error(err)
254254
return
255255
}
256256

257-
workTree, err := versionmgr.NewWorkTree(ctx, wipCtl.Repo.ObjectRepo(), models.NewRootTreeEntry(commit.TreeHash))
257+
workTree, err := versionmgr.NewWorkTree(ctx, wipCtl.Repo.FileTreeRepo(), models.NewRootTreeEntry(commit.TreeHash))
258258
if err != nil {
259259
w.Error(err)
260260
return

0 commit comments

Comments
 (0)