Skip to content

andreimaxim/git-co-change

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

git-co-change

git-co-change shows which files most strongly co-change with a given file by analyzing first-parent git history.

When installed, it's available as git co-change because git automatically discovers executables named git-<name> on $PATH.

Installation

npm install -g @andreimaxim/git-co-change

Usage

git co-change <file> [--limit 20] [--min-support 0.5] [--max-commits 500]

Defaults:

  • current branch
  • current working directory repo
  • support is weighted support
  • score is weighted Jaccard overlap
  • rename-aware stitching is enabled

Sample report

src/git.js

Analyzed commits: 22
Units with file: 3
Minimum support: 0.5

Co-changing files:
- src/commit.js  support=0.5833  score=0.6364
- test/commit.test.js  support=0.5833  score=0.6364
- test/xor.test.js  support=0.5833  score=0.443

Example commits:
- b1c2609 Ensure uniqueness of commits using subject and author metadata
- 84d880e Add support for the cherry-pick -x flag
- 5f4062b Doing the DHH powermove

Development

npm install
npm test
npm run check

About

Which files change together?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors