Spectrum is now read-only. Learn more about the decision in our official announcement.


Gitpod - one-click online IDE for GitHub


Education scenario (but useful elsewhere)

December 5, 2019 at 3:10pm

Education scenario (but useful elsewhere)

December 5, 2019 at 3:10pm
I going through various scenarios that are relevant for using gitpod in university courses at various levels, and found a use case I'm not sure is "perfectly" supported.
When sharing examples, e.g. before or during a lecture, it's easy for the lecturer to prepare a repo and share its URL or that of a snapshot. But how can the student "save" it to her own repo, the checked out one is that of the lecturer? She will have to go to the appropriate site, create a repo (or fork the original), define it as a new remote and push. This is cumbersome and may be too difficult for novices.
Would it be possible to implement a "save (push) to (new) repo" that could make this (almost) a one-click experience? I guess the user will have to provide a repo URL (site and name), but perhaps this can be suggested based on some workspace settings? For a university class it should be possible to come up with good defaults.

December 5, 2019 at 3:14pm
That should actually happen when you go to the source control panel. The click on 'Fork ...' lets you create a fork in your own user namespace. And the upstream URL is changed automatically in Gitpod.
So this is because you don't have push permissions to the original? That does make sense, also for this scenario. Is gitpod able to suggest a complete new repo URL to fork to? I mean, (how) does it know the user's name at the same site?
When you click on 'Fork ...' you will be provided with some options where to fork the repo or as in my case to re-use an existing fork of your namespace. You can get the same dialog by pressing F1 and searching for 'fork'. There is an entry called 'GitHub: Fork...' that you can use even when the message in the source control panel does not appear (because you have push permissions). Try it out!
That sounds pretty much like what I need, sorry to have overlooked it (I didn't try with a user without permissions). This means the teacher/instructor also should be able to extend an existing example repo and the students push the new stuff to the same fork as earlier. This will avoid ending up with a lot of small repos (examples at this level are typically very small). The only issue will be handling merge conflicts, if both student and instructor (later) finish the same example files. Then I guess the fork will fail with a conflict? How is the merge done on the server?
No need to say sorry. You're welcome. However, your latest concerns seems more like a general Git question than a Gitpod issue to me. Since I don't fully understand your use case I'm not able to help here. I think you need to define a proper Git workflow for that. It may help if you are looking at Git branch, merge, rebase, pull request (or merge request) …
You're right, I was more thinking aloud than asking a question. It's mostly a matter of trying it out, finding the simplest and most robust workflow and identifying the necessary instructions to provide the students. Hopefully, I will have some experiences to share later...

June 17, 2020 at 12:31pm
It is simple for a lecturer to plan the editing and sharing of your URL or of a cartoon. But how can a student "save" his / her own resume, one that is checked by that of the lecturer? Will have to go to the right spot, create a remodel (or original fork), define as a new remote and push. Cannot have killer papers review. This is the fall and can be very difficult for novices.