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
Uh oh!
There was an error while loading. Please reload this page.
-
Following the merge of #1118, the
indepthmode from the🈷️ Languages activityplugin has been entirely refactored for better maintainability, performances and accuracy.It is currently available on
@master/@mainbranches 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_customYou can now manually specify additional repositories to analyze, specify a custom branch or a commit range (using
git rev-listsyntax).It is also now possible to specify a repository hosted outside of github.com.
See documentation for more informations.
plugin_languages_analysis_timeout_repositoriesIn 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 [email protected])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_authoringplugin_languages_analysis_timeoutis reachedplugin_languages_skippedplugin_languages_indepth_customgit log --authorandcommits_authoringto search in commit headersgit log --grepandcommits_authoringto search in commit bodyplugin_languages_indepth_custom(if applicable)plugin_languages_analysis_timeout_repositoriesis reachedgit verify-committo check authenticity against imported GPG keysgit log --patchto extract added/deleted lines/bytes from each fileplugin_languages_categoriesoptionRecently used mode
plugin_languages_recent_loadandplugin_languages_recent_daysoptionscommits_authoringplugin_languages_recent_categoriesoptionBeta Was this translation helpful? Give feedback.
All reactions