Languages activity indepth
mode refactor
#1258
lowlighter
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Following the merge of #1118, the
indepth
mode from the🈷️ Languages activity
plugin has been entirely refactored for better maintainability, performances and accuracy.It is currently available on
@master
/@main
branches and will be officially released with v3.29 later on.No configuration changes are required, unless you want to try out some of the new options.
If you have any feedbacks, issues or questions about this feature, please feel free to share them !
✨ New options and features
plugin_languages_indepth_custom
You can now manually specify additional repositories to analyze, specify a custom branch or a commit range (using
git rev-list
syntax).It is also now possible to specify a repository hosted outside of github.com.
See documentation for more informations.
plugin_languages_analysis_timeout_repositories
In addition to
plugin_languages_analysis_timeout
, you can now specify a custom limit for the timeout of a single repository analysis.If a repository timeout, other repositories will still be analyzed while the global timeout hasn't expired.
See documentation for more informations.
Support of repositories for recently used languages
Repositories now support the recently used languages section.
Only the commits from the default branch will be processed.
📈 What to expect ?
Reduced amount of unknown bytes
When a file has been deleted or moved around, the algorithm will now checkout the last commit at the time where the file still existed and will attempt to classify the file instead of simply mark it as "unknown".
More bytes should be detected as "languages bytes" rather than "unknown bytes"
Indirect commits detection
As the algorithm now also checks within the commit body using
git log --grep
, it should be able to detect commits that are based on your work but not published with your handle, such as co-authoring footers (likeCo-authored-by: NAME NAME@EXAMPLE.COM
)Better handle of errors
The algorithm has been refactored to better handle errors, which should let the analysis perform further even if errors are encountered (failed to clone a repository, bad gpg, failing syscall, etc.)
⚙️ How does it work?
Below is a summary of the process used to compute indepth statistics (
✨
signals changes from previous algorithm version):Most used mode
commits_authoring
plugin_languages_analysis_timeout
is reachedplugin_languages_skipped
plugin_languages_indepth_custom
git log --author
andcommits_authoring
to search in commit headersgit log --grep
andcommits_authoring
to search in commit bodyplugin_languages_indepth_custom
(if applicable)plugin_languages_analysis_timeout_repositories
is reachedgit verify-commit
to check authenticity against imported GPG keysgit log --patch
to extract added/deleted lines/bytes from each fileplugin_languages_categories
optionRecently used mode
plugin_languages_recent_load
andplugin_languages_recent_days
optionscommits_authoring
plugin_languages_recent_categories
optionBeta Was this translation helpful? Give feedback.
All reactions