| ▲ | cousin_it 4 hours ago | |
Maybe I'm old, but I still think a repository should be a repository: sitting on a server somewhere, receiving clean commits with well written messages, running CI. And a local copy should be a local copy: sitting on my machine, allowing me to make changes willy-nilly, and then clean them up for review and commit. That's just a different set of operations. There's no reason a local copy should have the exact same implementation as a repository, git made a wrong turn in this, let's just admit it. | ||
| ▲ | fc417fc802 3 hours ago | parent | next [-] | |
I agree but I think git got the distributed (ie all nodes the same) part right. I also think what you say doesn't take it far enough. I think it should be possible to assign different instances of the repository different "roles" and have the tooling assist with that. For example. A "clean" instance that will only ever contain fully working commits and can be used in conjunction with production and debugging. And various "local" instances - per feature, per developer, or per something else - that might be duplicated across any number of devices. You can DIY this using raw git with tags, a bit of overhead, and discipline. Or the github "pull" model facilitates it well. But either you're doing extra work or you're using an external service. It would be nice if instead it was natively supported. This might seem silly and unnecessary but consider how you handle security sensitive branches or company internal (proprietary) versus FOSS releases. In the latter case consider the difficulty of collaborating with the community across the divide. | ||
| ▲ | pamcake 3 hours ago | parent | prev [-] | |
> I still think a repository should be a repository: sitting on a server somewhere, receiving clean commits with well written messages, running CI. And a local copy should be a local copy: sitting on my machine, allowing me to make changes willy-nilly, and then clean them up for review and commit This is one way to see things and work and git supports that workflow. Higher-level tooling tailored for this view (like GitHub) is plentiful. > There's no reason a local copy should have the exact same implementation as a repository ...Except to also support the many git users who are different from you and in different context. Bending gits API to your preferences would make it less useful, harder to use, or not even suitable at all for many others. > git made a wrong turn in this, let's just admit it. Nope. I prefer my VCS decentralized and flexible, thank you very much. SVN and Perforce are still there for you. Besides, it's objectively wrong calling it "a wrong turn" if you consider the context in which git was born and got early traction: Sharing patches over e-mail. That is what git was built for. Had it been built your way (first-class concepts coupled to p2p email), your workflow would most likely not be supported and GitHub would not exist. If you are really as old as you imply, you are showing your lack of history more than your age. | ||