Structuring Repos

First post. Am ‘converting’ to git/GitLab. Using NZOSS’ instance. Attempting “Version Control with Git” on Coursera (Atlassian).

When I deliver a presentation, I would like to make copies of slides (likely a .pdf version), references lists, code examples, etc, available to attendees and easy to obtain. It seems that a repo with public access will enable such.

At present, the local repo for a series of talks looks like:
PythonPresentations/ Slices/ presentation (file) img/ - graphics, eg of a pizza being sliced construction/ - other items needed to create or absorb into the presentation Indexes/ presentation etc, as above .git/ img/ - images used in multiple talks/'branding' the series construction/ - similarly
Is there a way to structure a repo/repos so that the ‘construction area’ has access limited to authors, but the presentation materials are in a sub-directory or sub-something that is open-access and accessible by URL?
I guess that it’s not too much effort to separate the deliverables from the private into separate public repos by event. However, it would be great if the git eco-system could mirror the hierarchical structure we have used for years. That said, am in learning-mode and sad that the course doesn’t seem to have covered such ground - it is not the same as traditional dev.env or CI/CD. Thus, if there is a ‘better way’ then am ready to adapt to take best advantage.
Any and all advice appreciated! =dn


There is no way to restrict access to folders within a project. This is the same whether Gitlab or Github. Your only real way would be one project that has public access with the presentations, and a private project for the bits you don’t want them to have access to.

In reality though, maybe you should be using Dropbox, Google Drive, OneDrive or something like this whereby you can have everything in one place, and just publish a link to the presentations. Since that would do what you want.

Hi. Thanks!
Yes, publishing separately is current modus-operandi.
Given that such are not mentioned in the training course, but are in some docs, I was wondering/hoping if a sub-tree, sub-module, or sub-repo might facilitate keeping ‘all’ in one place whilst enabling access/the publication of public URLs (cf cloning the entire repository)?
Of course, the docs don’t approach things from the PoV of URLs and access (beyond clone), and the paucity of information makes me wonder if they/any are available in GitLab (cf git itself) anyway?
Apologies for ignorance… =dn

Yeah, I googled it before my reply earlier and the submodule route is a way, but then everyone who is to access your presentations would need to import all those presentations into their own repository. Just seems to be a bit of a weird way to do it. If you are just sharing presentations, the better option is via Dropbox, Google Drive, Onedrive, etc, since you can share the folder and they can download them as they please. To start cloning into other repositories just seems way to messy to me and doesn’t make send. I certainly wouldn’t do it that way.