jupyterhub / nbgitpuller

Jupyter server extension to sync a git repository one-way to a local path
https://nbgitpuller.readthedocs.io
BSD 3-Clause "New" or "Revised" License
212 stars 86 forks source link

Possibility to pull a single folder #323

Open joelostblom opened 1 year ago

joelostblom commented 1 year ago

Proposed change

We use nbgitpuller to distribute assignments. We don't want students to get all assignments at once but release them week by week. It would be great if nbgitpuller links could be folder specific so that we can give students a link that will always pull down the latest version of only that assignment.

Alternative options

Manually uploading only the latest assignments to a separate github repoi, which is what we currently are doing

Who would use this feature?

Anyone interested in disseminating a partial repo

(Optional): Suggest a solution

Maybe this git technique could be used? https://stackoverflow.com/a/43902478/2166823

welcome[bot] commented 1 year ago

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

yuvipanda commented 1 year ago

Heya!

Unfortunately partial checkouts are a bit tricky with git, and since nbgitpuller just sits on top of git, I don't think we'll really be able to fully support it.

I think the way to do 'one week at a time' is to have a private repo with all your assignments, do your collaboration there. And then move assignments to the public repo one week at a time, when they're ready to go. This way, users can just re-click the same link to get newest assignment. This is the method we had been using at UC Berkeley for a while.

It might be useful to probably add this to the documentation here.