GitHub Classroom: clone assignments


(DJ Holt) #1

I’ll try to be very brief. I’ve experimented briefly with GitHub Classroom. I love it! I am, however, having a hard time finding a way to download (clone, preferably), all student repos for one or more assignments. I see many topics discussing this issue at length, but no clear solutions.

If I had a solution to this problem today, even if by using command-line scripts or an external tool, I would be able to utilize this solution immediately in my department (as well as several other faculty members). But, since school starts for us in less than one week, not having a solution right now would probably mean not using this tool for our courses.

But I very much want to use GitHub Classroom! Any ideas that I could try (today) to make this possible? Sadly, I feel like this critical piece of functionality makes the tool only 80% ready for use. Otherwise, it’s awesome!

Please advise. Thank you!


(John Britton) #3

We’ve heard this need loud and clear and are working on a simple cross platform desktop application that will allow you to clone the repositories in bulk. Check out the Classroom Desktop open source repository.

Once that’s finished, we’ll integrate it into the web experience.

Here’s a preview of what’s to come:


(Ericboivin) #4

Nice! My current method is that I coded a series of handlers that do stuff like creating all private repositories for the semester, cloning them locally on my machine or push all students repository. That code is rather sketchy but it works for me! Having something more robust in Github Classroom will be much better.


(DJ Holt) #5

Thanks, John. I had actually stumbled upon the repo for this tool, but got confused when there was no mention of it elsewhere, and upon downloading and trying it I realized that it’s still unfinished.

Nevertheless, most of our faculty would prefer to use a command-line tool to accomplish this task, rather than a desktop tool or the web application (for what it’s worth, I predict this will be a common response among computer science faculty).

So, I created a simple script that automates this process using the GitHub API and Git.

For anyone who is interested: https://github.com/dsu-cit/orgclone

Thanks again for the great tool that is GitHub Classroom, and I look forward to its continued development!

  • DJ

CLI Tools?
(John Britton) #6

@djholt That’s great, thanks for sharing.