Piper handles the monorepo by only offering files when requested by the file system at the specified commit (this is probably a gross or even incorrect simplification, but is how it presents to the user). I haven’t played with many because I simply don’t have the time between work (Google’s Piper and Git) and kids. Obviously one can work around these knowledge gaps, but once you understand them they are useful for an entire career and the warts tend to fade in importance relative to the value of a tool with the insane power-to-weight and rock solid architectural tradeoffs of git. The CLI could be refactored to be clearer, but the hard part is understanding what each one means, which you would need to do anyway even with a better CLI. To take your example of moving commits between branches, the git rebase parameters and -onto flag are definitely confusing, but each of them is clear and necessary when understood. These capabilities may not be suitable for a non-technical audience, but I believe should be table stakes for professional software developers as they are very sharp tools for managing the software development lifecycle that transcend specific languages or domains one may be working in. I think it's definitely possible to create a better CLI than git, however I think the majority of what unhappy users of git are imagining when they ask for a better UI would oversimplify things and end up removing a lot of valuable capabilities. Plastic and the others just aren't there yet. I absolutely loathe Perforce (having used and occasionally admin'd it professionally since 2007), but I begrudgingly admit that is is currently the only publicly available VCS that can fulfill all of the requirements of this industry in a practical way. Add to that the necessity for less-technical people (artists, designers, VFX, audio, etc) to use it, and it is really just a non starter. Git, even with LFS and partial clone and shallow copies and fsnotify just falls apart at this scale. Our repository (in perforce) is currently in the order of 10TB. Working with an engine like Unreal Engine for a project of any reasonable size requires working with both hundreds of thousands of active files (my current project's repo's HEAD has ~400k) and hundreds of gigabytes of active files, many of which are many GB on their own. While I feel like this is generally true for most programmers and knowledge workers, Git is absolutely not suited to the workflow of several industries, including the one I work in: games. It will be well worth it for your career and for your personal computing life as well. It will be a lot less effort with a lot more benefit. Whatever effort you are putting into seeking or building an alternative, instead put that effort towards becoming a Git expert. You know what’s easier than building a new VCS better than Git? You know what’s easier than using a different VCS from the rest of the world? You know what’s easier than designing a miraculous abstraction on top of Git? People just don’t realize what problems are being solved because they never lived through those problems with the previous VCSes. If you abstract away the power, you are no longer solving all the problems that Git solved. If you abstract away the complexity of the UI, you will necessarily abstract away the power. I understand that people might want to make it easier, since the UI is complex, but that’s never going to work. ![]() Thankfully, that’s always solvable with a quick read of the documentation or web search. ![]() Instead, the only limitation is on the user being able to know how to get Git to do what they want it to do. All those previous systems had fundamental architectural flaws that made them a complete nightmare to use on a team for any serious work. ![]() ![]() You may not believe me, but Git was the answer to all my prayers. I started using Git super early, before GitHub existed. I’m not that old, but I’m old enough to have used RCS, CVS, SVN, then finally Git. A lot of people these days have just been thrown into the fire with Git as the first and only VCS they’ve ever seen.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |