Repository navigation
Releases: lrp2755/Model-Driven-Development
Release list
rm3
Getting Started
Overall, this README will overlook how to run the 2 python files repo_miner.py and test_repo.py and the additions from Homework 5!
Usage
repo_miner.py for merge and summarize for HW #5 be run with the command: python3 -m repo_miner summarize --commits commits.csv --issues issues.csv
test_repo.py can be run directly from the python file or the CI.
Sample Results
For Homework #5, in order to sample the code I utilized the public MrB141107/Hacktoberfest_2022 repository. I googled "public repositories in github" and found that this one worked well! I tried the octocat hello world and it took too many attempts to find the system and get the issues so I decided to look for another one!
I started by re-creating commits.csv and issues.csv to match MrB141107/Hacktoberfest_2022 and then I ran the merge and summarize command with the command " python3 -m repo_miner summarize --commits commits.csv --issues issues.csv "
The output of this command was:
Top 5 committers:
IncrediblePro: 33 commits
Yamilini2000: 3 commits
Popstar Idhant: 3 commits
Mr.B: 2 commits
Anirban Saha: 2 commits
Issue close rate: 1.0
Avg. issue open duration: 3.0 days
In order to get accurate results the "python3 -m repo_miner fetch-issues --repo MrB141107/Hacktoberfest_2022 --out issues.csv" command and "python3 -m repo_miner fetch-commits --repo MrB141107/Hacktoberfest_2022 --out commits.csv" must be run with the MrB141107/Hacktoberfest_2022 repo so summarize will work correctly!
Since the write up also says "Sample output (in your data/ directory) for a well-known repo." summarize will write to summarize.txt and summarize data so the sample output is in the directory as well.
rm2
This repository is based off of the past 2 weeks of the homeworks from last week and builds upon the same topics.
Compared to last week with just setting up the repository, I've updated repo_miner.py to have a new fetch_issues method based on the file we were given for our homework. This method will create a dataframe of issues that are not PRs from a given repository. The result of this method running is in issues.csv.
In addition with the repo_miner.py file, I also updated test_repo.py to include 3 new tests. These tests will access the validity of fetch_issues() by testing if the duration days are accurate, confirming that PRs are not included, and that the date is parsed and ISO correctly.
rm1
This repository is based off of the first start of the homework from last week and builds upon the same topics. Compared to last week with just setting up the repository, I've updated repo_miner.py to have a couple of new methods based on the file we were given for our homework. More specifically, I edited the fetch_commits() method that will create a dataframe of commits from a given repository. The result of this method running is in commits.csv. In addition with the repo_miner.py file, I also updated test_repo.py to include 2 new tests. These tests will test the validity of fetch_commits() including cases where max_commits is used and when there are no commits int the repo.
repo_miner.py can be run with the command "python3 -m repo_miner fetch-commits --repo path --out commits.csv" for my specific repo, the final command is: "python3 -m repo_miner fetch-commits --repo lrp2755/Model-Driven-Development --out commits.csv"
test_repo.py can be run directly from the python file!
rm0
- Created merge from HW #1
- The following were accomplished:
- For this first homework, a Github repository was created in order to properly build our the start to our Project. For this first assignment, I created the rm0-dev branch, intitialized the Python 3 Virtual Enviornment, added requirements.txt which listed PyGithub, pandas, and pytest, created src/repo_miner.py which is currently just an empty file, and finally initialized GitHub Actions CI workflow to run pytest.