Under review

Add "fast global search" capability for fast access to commit info and SmartGit commands

Christopher Kline 7 months ago • updated by Thomas Singer 4 weeks ago 2

I would like to request a "fast global search" function similar to the "fuzzy finder" in the GitKraken client:

This provides instantaneous access to searching commits, accessing client commands, and initiating git operations in a single operation. 

Presumably it accomplishes this by creating some sort of background index using Lucene or something else.

Adding this would greatly improve the usability of SmartGit in various ways:

  • Avoid the slow, concentration-breaking process required to find commit info in the current SmartGit: 1) open log window, 2) wait for it to populate, 3) type search terms, 4) wait for log to re-filter, 5) search through the filtered results to find the right commit, 6) click on commit to see the details)
  • Avoid the frustration (see request 1, request 2) of trying to find SmartGit options that are currently spread across at least 5 different modal dialogs, many with nested sub-sections.
  • Make it easier to use SmartGit via the keyboard by removing the need to memorize keyboard shortcuts
  • Potentially (assuming some sort of background index), augment existing tools to provide faster access to commit data or to find associated commits. One idea might be to store "related commits" (commits that mention each other, commits reverting other commits, cherrypick commits and the original commit) in the index, so when looking at a commit you can easily jump to the "related" ones.
  • Help speed up searching while avoiding excessive memory use (see Marc's comment in this thread)

But mostly I just want an instantaneous way to search the commit history.

Another idea: with an index, it might be possible to cache off some of the information that DeepGit provides (e.g. code migration across renamed files, etc) so that it's quickly available within the normal Blame functionality.