Repo Per Project
If we want to base our project/issue/mr storage on repos instead of databases it would be tough. I/O is slow, so it would be near impossible to base our entire project level data on a git repo. However, we could give the illusion of a git repo. To start, this repo would be read only, but in the future it could partially writable with permissions in place. * Each project would have it's own repo URL separate from where the code is stored. * When cloned, it would deliver a git repo (which theory could be generated on the fly). * Directory structure could be something like: * Project * my_project.yml * Issues/ * issue_188/ * issue_meta.yml * issue_comments.yml * issue_189/ * Merge requests * Wiki * Labels For the `my_project.yml` (which we could give JSON instead) it could contain metadata about the project: ```yml --- settings: general: project_name: my_project project_description: a good project tags: - neat - happy - fun - project management more_settings: some_setting: true ``` `comments.yml` ```yml --- comments: - author_id: '24601' plain: you did great! markdown: you did **great**! - author_id: '24602' plain: I agree with @jeff markdown: I agree with [@jeff](/jeff) ``` cc @JobV @stanhu
issue