Skip to content

Commit 18dba36

Browse files
committed
revList: order fix
1 parent e3f5d76 commit 18dba36

File tree

5 files changed

+9
-7
lines changed

5 files changed

+9
-7
lines changed

pkg/zeta/fetch.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ func (r *Repository) prepareFetch(ctx context.Context, current *plumbing.Referen
187187
var err error
188188
if current != nil {
189189
// Full history check
190-
if commits, err = r.revList(ctx, current.Hash(), nil, nil); err != nil {
190+
if commits, err = r.revList(ctx, current.Hash(), nil, LogOrderBFS, nil); err != nil {
191191
die_error("log commits error: %v", err)
192192
return nil, err
193193
}

pkg/zeta/log.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,12 @@ func (r *Repository) revList0(ctx context.Context, want plumbing.Hash, ignore []
203203
return nil
204204
}
205205

206-
func (r *Repository) revList(ctx context.Context, want plumbing.Hash, ignore []plumbing.Hash, paths []string) ([]*object.Commit, error) {
206+
func (r *Repository) revList(ctx context.Context, want plumbing.Hash, ignore []plumbing.Hash, order LogOrder, paths []string) ([]*object.Commit, error) {
207207
cg := &commitsGroup{
208208
commits: make([]*object.Commit, 0, 100),
209209
seen: make(map[plumbing.Hash]bool),
210210
}
211-
if err := r.revList0(ctx, want, ignore, LogOrderBFS, paths, cg); err != nil {
211+
if err := r.revList0(ctx, want, ignore, order, paths, cg); err != nil {
212212
return nil, err
213213
}
214214
return cg.commits, nil

pkg/zeta/log_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func TestLog(t *testing.T) {
2323
plumbing.NewHash("dffa478d973aed6d6af1d9a32c3e07bc61fdc98eddc76f5f36aa69d004d3aad4"),
2424
[]plumbing.Hash{
2525
plumbing.NewHash("0efd923d06041c04de8034195821efdc02a26eb6633d7651d8df1b0e70362c65"),
26-
}, nil)
26+
}, LogOrderBFS, nil)
2727
if err != nil {
2828
die_error("log range base error: %v", err)
2929
return

pkg/zeta/worktree_merge.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ func (w *Worktree) Merge(ctx context.Context, opts *MergeOptions) error {
229229
const maxSizeForSquashedCommitMessage = 4 << 10
230230

231231
func (w *Worktree) makeSquashMessage(ctx context.Context, from plumbing.Hash, ignore []plumbing.Hash, messagePrefix string) (string, error) {
232-
commits, err := w.revList(ctx, from, ignore, nil)
232+
commits, err := w.revList(ctx, from, ignore, LogOrderCommitterTime, nil)
233233
if err != nil {
234234
die_error("log range base error: %v", err)
235235
return "", err

pkg/zeta/worktree_rebase.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ func (w *Worktree) rebaseInternal(ctx context.Context, our, onto plumbing.Hash,
107107
die_error("resolve onto tree: %v", err)
108108
return plumbing.ZeroHash, err
109109
}
110-
commits, err := w.revList(ctx, our, ignore, nil)
110+
// TODO: rebase: merge commits should be avoided as much as possible
111+
commits, err := w.revList(ctx, our, ignore, LogOrderDFS, nil)
111112
if err != nil {
112113
die_error("log range base error: %v", err)
113114
return plumbing.ZeroHash, err
@@ -311,7 +312,8 @@ func (w *Worktree) rebaseContinue(ctx context.Context) error {
311312
return err
312313
}
313314
mergeDriver := w.resolveMergeDriver()
314-
commits, err := w.revList(ctx, md.REBASE_HEAD, []plumbing.Hash{md.STOPPED}, nil)
315+
// TODO: rebase: merge commits should be avoided as much as possible
316+
commits, err := w.revList(ctx, md.REBASE_HEAD, []plumbing.Hash{md.STOPPED}, LogOrderDFS, nil)
315317
if err != nil {
316318
die_error("log range base error: %v", err)
317319
return err

0 commit comments

Comments
 (0)