Package: git2effort
git2effortCalculate development effort estimation from a Git repository.Usageusage: git2effort [-g] [<args>] <git_repository> | --help | --version

optional arguments:
  -t THRESHOLD, --threshold THRESHOLD
                        Threshold value (in commits) to determine if a
                        developers is full-time devoted to the project.
                        Default=75.
  -p PERIOD, --period PERIOD
                        Length of the time period (in months). Default=6.

optional arguments:
  -g, --debug           set debug mode on
  -h, --help            show this help message and exit
  -v, --version         show versionRequirementsPython >= 3.4perceval >= 0.12python3-dateutil >= 2.6python3-requests >= 2.7python3-bs4 (beautifulsoup4) >= 4.3python3-feedparser >= 5.1.3python3-dulwich >= 0.18.5tabulate >= 0.8.7grimoirelab-toolkit >= 0.1.4Note that you should have also the following packages installed in your system:gitbuild-essentialInstallationThere are several ways for installing git2effort on your system: from packages
or from the source code.PipPerceval can be installed usingpip, a tool
for installing Python packages. To do it, run the next command:$ pip3 install git2effortSource codeTo install from the source code you will need to clone the repository first:$ git clone https://github.com/gregoriorobles/git2effort.gitThen you can execute the following commands:$ pip3 install -r requirements.txt
$ pip3 install .Understanding git2effortThe threshold t determines what developers are considered full-time in a period
of time p. So, if in p months a developer does t commits, the developer is
full-time. If not, his/her contributions will be a fraction of that.The value of the threshold t depends on the project, in particular, on its
process (e.g., if there is a review process in place, if there is commit
squashing when merging). Below you can find a list of projects that can serve
as an example. The t values given below are supported by feedback provided
by the developers of these projects.Example threshold t values (for a default period of 6 months):
    12: Strong review process with commit squashing, like in OpenStack and Moodle
    18: Review process with commit squashing, like in Linux and Webkit
    30: Soft review process, like in Mediawiki
    50: Strong pull-request-driven process, like in Ceph
    75: Soft pull-request-driven process, like in git2effort
   100: Non-engineered processExample: Running git2effort on PercevalTo estimate the effort for a Git repository, execute the next command. Take into
account that Git has to be installed on your system.In the case of Perceval, we assume that it is a project that follows a strong
pull-request-driven process, like the one in Ceph, so we choose a threshold
value of 50:$ git2effort --threshold=50 https://github.com/chaoss/grimoirelab-perceval.gitExample: Running git2effort on git2effortTo estimate the effort for a Git repository, execute the next command. Take into
account that Git has to be installed on your system.In the case of git2effort, we assume that it is a project that follows a soft
pull-request-driven process, so we choose a threshold value of 75 (as this is
the default one in git2effort we do not need to specify it):$ git2effort https://github.com/gregoriorobles/git2effortResearch in ProgressThis is research in progress. If you have any comments or suggestions, please contact me (grex at gsyc.urjc.es). I will be more than happy to hear to your feedback.ReferencesIf you use git2effort in your research papers, please refer toEstimating development effort in free/open source software projects by mining software repositories: a case study of openstack--Pre-print:APA styleRobles, G., González-Barahona, J. M., Cervigón, C., Capiluppi, A., & Izquierdo-Cortázar, D. (2014, May). Estimating development effort in free/open source software projects by mining software repositories: a case study of openstack. In Proceedings of the 11th Working Conference on Mining Software Repositories (pp. 222-231).BibTeX@inproceedings{robles2014estimating,
  title={Estimating development effort in free/open source software projects by mining software repositories: a case study of openstack},
  author={Robles, Gregorio and Gonz{\'a}lez-Barahona, Jes{\'u}s M and Cervig{\'o}n, Carlos and Capiluppi, Andrea and Izquierdo-Cort{\'a}zar, Daniel},
  booktitle={Proceedings of the 11th Working Conference on Mining Software Repositories},
  pages={222--231},
  year={2014}
}LicenseLicensed under GNU General Public License (GPL), version 3 or later.