Giter Club home page Giter Club logo

mchanges's Introduction

mchanges

mchanges is a tool which generates csv report for all the changed methods/function body or newly added functions between two java files.

Command arguments Function
--dir1 Directory path
--dir2 Directory path
--clist Custom list (.txt)
--method-changes Generates CSV reports for method changes
--new-methods Generates CSV reports for newly added methods
  • mchanges will iterate over all the java files in the directory, (specified by --dir1 and --dir2) and reports fuction body changes or reports newly added functions or both (based on the given options --method-changes, --new-methods).
  • --dir2 jave files will be compared with --dir1.
  • --clist instead of iterating over all the java files, you can specify selective java files.
  • File paths present in .txt(--clist), needs to be relative to directory mentioned in --dir2.
  • If --method-changes or --new-methods neither of them is specified then by default function body changes is selected i.e --method-changes .

Examples:-
To consider all the java files
mchanges --dir1 /path/v1 --dir2 /path/v2

To consider specific java files

mchanges --dir1 /path/v1 --dir2 /path/v2 --clist FileList.txt

To get the report of newly added files for all the java files

mchanges --dir1 /path/v1 --dir2 /path/v2 --new-methods

To get the report of newly added files and function body changes for specific java files

mchanges --dir1 /path/v1 --dir2 /path/v2 --clist FileList.txt --method-changes --new-methods

Note:-
Currently, inner classes are ignored.
Class name which is same as File name are only considered.

Future Dev:-
Modify csv output.
Generate report as HTML.
Support for inner classes.
Support for multiple java classes within java file.

Windows:-
x64 compiled code available here.

mchanges's People

Contributors

san-gg avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.