Commits miner is a tool to process and extract useful information from commits history in git repositories.
Commits Miner manager all the complexity of processing commits history preparing the directories with the code at the time of commit you want to process and managing all the tasks processing the commit as well as clearing the environment after processing the information
-
You can decide how many processes will run at the same time
-
Create your tasks in minutes to process the commit in Node.js
/**
* This command executes one find in the directory of the project and storage the results on the commit object.
*/
exports.run = (projectName, path, util, logger, commit, cb) => {
util.execPromise(`cd ${path}&&find .`).then(r => {
commit.ls = r;
cb();
});
}
- Or in any other language, you only need to provide an executable ready to receive the following parameter
your-command project_name commit_dir commit_info_in_json
- If you command return a json it will be parsed and attached to the commit object. If not the result is attached as text on the commit object (check https://github.com/mateusfreira/ck/blob/master/src/main/java/com/github/mauricioaniche/ck/Runner.java) for a simple example of Java
- Node.js > 8 https://nodejs.org/en/
- Install
npm install commit-miner
- Run
commit-miner s
- Clone the repository
- run
npm i
- run
npm run server
(To start the server) - run
npm run client
(To start the web client)
- Java CK metrics https://github.com/mateusfreira/ck
- Pmd java designs Violations https://github.com/mateusfreira/pmd-java-design-commits-miner-task
- Internals
- Node.js test seep
./tasks/node-test-speed.js
Calulates the test speed over the project time - List files
./tasks/ls.js
- Node.js test seep