Finish implementation of the size limit on an opensource project gitea.io
Project detail
Guys, looking for Golang / React / JQuery / core-js engineer to finish a project. Total budget negotiable. This task MOSTLY backend with some frontend. Please – if you have not have experience in golang do not bid.
Goal is: finish adding a size limit to Gitea open source project (gitea.io) most of the work is already done
Here is the repo – https://github.com/DmitryFrolovTri/gitea/tree/limit-repo-size
You will continue this work and use the same repo (a different branch). This is open source so requirement is that all of the work is visible from day 0 and your git id will be visible in the project and you will be openly contributing to the above branch.
Tasks to be done:
Primary:
– understand what is done, what needs to be finished, agree the solution / frequently review that with me
– working size limit per repository and adequate configuration in the settings of the repository (some of it present)
– write and fix tests (unit and integrations)
– ensure configurable error messages on the console git commands
– ensure configurable error messages on website operations
– ensure configurations in the standard configuration area
Secondary:
– add lfs into size checking
– globaly set per repository limit(in config) and per repository size limit (now only per repository)
Part of the feature is done, needs to understand what was done, write and fix tests, fix errors, fullfill any obligation from the maintainers of the project, add xfs size checking.
Other requirements:
– by default no size limit is set
– ability to disable/enable this functionality completely via configuration (should also be disabled by default)
Please come with a cost and time estimate for your work it will be a fixed price engagement, and it will require you to provide number of hours spent. Some overage might be allowed.
Current state:
– Done: Calculate Push Size (there are corner-cases to test mostly to not block deletion and some force push when over size limit)
– Done: Edit max repo size
– Done: Enforce repo size, with error message in console.
– Add tests
– Add ability to have this on or off in the config
– Validate LFS object into repo Size. repo attr so I will skip LFS checks.
– Add ability to have a global repo limit per installation that is enforced unless an individual repo size limit present
TOFIX :
– Deletion of file from UI trigger 500 when repo is over. -> TODO catch this specific error.
– Creation of branch from UI trigger 500 when repo is over. -> TODO catch this specific error.