3/23/2023 0 Comments Risk engine gistout![]() If you don't relate to assertions like this in the introduction, you start to wonder if the rest of the article is based on these assumptions. These kind of assumptions of the reader can be quite off-putting. "That’s why trying to understand Git in this way is wrong. Anybody who talks about no-fast-forward merges is regarded with quiet superstition, and even veteran hackers would rather stay away from rebasing “just to be safe”." ![]() "Once you start talking about branching, merging, rebasing, multiple remotes, remote-tracking branches, detached HEAD states… Git becomes less of an easily-understood tool and more of a feared deity. Either they haven't had enough trouble with the older tools/processes that the effort of an infrastructure change is worth sinking time into, or they have other concerns with the alternatives (security, as someone has mentioned above, and code maturity concerns may be involved, though the latter much less now as it has been pretty solid for some time), or maybe they intend to move but just haven't decided on an alternative yet. OpenBSD's kernel development is presumably run differently (IIRC there is a much smaller number of people trying to directly feed into it for a start, which was a key problem with Linux at least at the time Git was birthed) so processes and tools that fit their needs will look different. Linus "scratched the itch" and produced git both specifically to fill that set of needs and with the intention of it being generally useful for other projects they were concerned with. One of the things it even allows is different teams using different VCS, if you're on a team with a bunch of luddites you can still use SVN for your code, and you will be able to build against other code and other code will still be able to build against yours.)Īs did Linux before Git, but Linus and the core team around him were finding the process getting too cumbersome and bottlenecked. Our build systems, deployment systems, and dev environments are tooled for this. The trick? We don't have a handful of repos for the company, we have a handful of repos for each team. Many many times larger than all the OpenBSD repos combined ( ). (Disclosure, I work at a company that uses git at a _ much_ larger scale than the BSDs use CVS. (Actually the BSDs use a handful of massive monolith repos, but that is just nitpicking/) Other viewpoints are nevertheless useful. Compartmentalization/modularization is not only useful at the micro-level in code, all of it's benefits are available when applied at a project/organization level.įor another point of view, consider this page: I think nearly everything on that page is misleaded/misleading, or flat out incorrect, and they failed to identify the technical limitations with git that would apply to them. This is not a scheme that should be emulated. These ludicrously massive repos have no business being in git they would need to restructure their projects to effectively migrate. Instead of putting separate projects in separate repos, they consider all of their different projects to actually be "one project". The BSDs use massive monolithic repos that would be difficult to move entirely over to git. Your needs are big because the Internet is big. Mozilla is big because your needs are big. "Convenient though it would be if it were true, Mozilla is not big because it's full of useless crap. Fifteen years ago, Jamie Zawinski said this about Mozilla. Part of the reason that git is complex (and this can be said about any serious source code management system) is that it solves complex problems. In distributed development, accepting unsigned patches means that your system might include untrustworthy code. Deploying source code too early means exposing the users of your system to code that might not be adequately tested. Losing source code means losing work (money and time). The source code for a system is one of the more valuable assets produced by a software development team, and managing source code is heavily about managing risk. There aren't many other serious engineering disciplines where people enter it with that kind of mindset. How do you expect things to work? This expectation that complex tools should be so obvious that they can be used without a book seems pretty odd to me.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |