github-education-resources / teachers_pet

Command line tool to help teachers use GitHub in their classrooms
https://education.github.com/guide
MIT License
187 stars 74 forks source link

travis auto testing and delete repository command #102

Closed efthym closed 9 years ago

efthym commented 9 years ago

This pull request is related to my comment on issue: education/teachers#3 about using travis for auto testing of students' private repos and on education/teachers#28 about managing a course with limited number of private repos by deleting and re-using repos. Since I need both these capabilities for a course I am about to run, I went ahead and worked on them. I have to warn you though that I don't know Ruby, thus the code is of poor style. If these features are useful, hopefully someone more proficient on Ruby can modify the code. Changes:

tarebyte commented 9 years ago

@efthym this is a lot for one pull request. Any chance you could split this up into 3 2 different PRs?

I'd be more than happy to help you out with looking over the code.

efthym commented 9 years ago

@tarebyte thanks. How's this best done in github? Close this pull request and start new ones?

tarebyte commented 9 years ago

I would close this pull request and break it up into two new ones.

If you're new to Git I would also take a look at The GitHub Flow. GitHub has a nice workflow for introducing pull requests.

My idea is to break this up in to two branches travis-auto-testing and delete-repos

I apologize for the verbosity, I took a quick shot at splitting up the features, and this is how it came out.

# Starting from your master branch

# Travis Pull Request
git checkout -b travis-auto-testing
git reset --soft HEAD~5
git reset lib/teachers_pet/{actions,commands}/delete_repos.rb
git clean -f
git commit -m "removed deleted_repos from branch"

git push [your remote here] travis-pull-request

git checkout master

# Delete Repos Pull Request
git checkout -b delete-repos
git reset --hard HEAD~2
git reset --soft HEAD~3
git reset Gemfile lib/teachers_pet/actions/{create_repos.rb,push_files.rb}
git checkout Gemfile lib/teachers_pet/actions/{create_repos.rb,push_files.rb}
git commit -m "removed travis from branch"

git push [your remote here] delete-repos
efthym commented 9 years ago

Thanks a lot for showing the commands which split the features into separate branches.