|
Would like to see a SCM that: - handles large files effectively (build artifacts, 10-40GiBs each, and other binary dependencies) - partial checkout of the repo/view - git style operations (have stage area, can stage parts of a file, can stash changes and reapply later, cherry pick) - can view the history of an individual file (support file relocation) - access control on individual files, and partial review of the repository (views are "granted" to developers) - good tooling - immutable when it makes sense (e.g. you cannot changed a published commit) - works offline (if possible) - large mono repo I evaluated git annex and git lfs, and finally chosen Perforce, mainly for its large file handling, view for each developer and ACL, but the lack of flexibility makes me don't want to commit, and every time I do a merge, I say to myself, "uuh, this again". The other thing it lacks is the "ease of mind", with git, everything is checksummed, if the content changes, it will be noticed by git, with Perforce, you have to tell it you want to edit it. (Not nit-picking on Perforce, I actually think Perforce is a good software, its server runs flawlessly, and have a good p4v (if you don't mind the friction), I think it just lacks good tooling and git style operations) |
GitLab will continue to make investments in it for at least the next year as it's a big issue especially for gaming companies.
Full disclosure, currently a GitLab employee.