Skip to content

[git] gitGenerators.commits doesn't handle large repos well #2607

@Tyriar

Description

@Tyriar

Sanity checks

  • My issue relates to a specific CLI completion spec (e.g. git checkout is missing options in git completion spec). If your issue is more general, please create your issue here: withfig/fig
  • I have searched github.com/withfig/autocomplete/issues and there are no duplicates of my issue
  • I would like to work on this.

What CLI tool does this relate to?

git

Which statement makes the most sense?

There is a bug with this completion spec

Issue Details

This section takes too long and causes usability issues:

autocomplete/src/git.ts

Lines 119 to 137 in aef52ac

// Commit history
commits: {
script: ["git", "--no-optional-locks", "log", "--oneline"],
postProcess: function (out) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((line) => {
return {
name: line.substring(0, 7),
icon: "fig://icon?type=node",
description: line.substring(7),
};
});
},
},

PS D:\microsoft\vscode> Measure-Command { git --no-optional-locks log --oneline }


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 733
Ticks             : 17338688
TotalDays         : 2.00679259259259E-05
TotalHours        : 0.000481630222222222
TotalMinutes      : 0.0288978133333333
TotalSeconds      : 1.7338688
TotalMilliseconds : 1733.8688

Instead of including all commits, only the most recent n should be included

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions