4 ms·
> in the user's POV the role of a VCS is to CRUD changesets and branches That would be the role of a filesystem, and Git is a perfect distributed filesystem. A
by pmeunier 7y ago
> in the user's POV the role of a VCS is to CRUD changesets and branches
That would be the role of a filesystem, and Git is a perfect distributed filesystem. A VCS also allows people to merge their changes and to detect and handle conflicts gracefully.
> who cares how the system is implemented under the hood?
Pijul is not at all about the underlying implementation of commits. Patch commutation is a radically different way of thinking about cooperation, and (1) much simpler and (2) has the potential to scale to much much larger repositories.
- rumanator 7y ago> That would be the role of a filesystem No, the role of the file system is not to track how changesets are organiced into branches. That's the responsibility of a VCS like Git or Mercurial or Pijul. The VCS is the interface and whatever it does with the file system is an implementation detail that's abstracted away by the VCS's interface. Similarly, patches are only relevant as an external interface of the VCS, and one that users have no good reason to use.
- pmeunier 7y ago> No, the role of the file system is not to track how changesets are organiced into branches. Oops, we just got a little bit more feature requests for a VCS than "CRUD changesets and files". But this isn't an answer to my feature request, which was the ability to merge changes. > Similarly, patches are only relevant as an external interface of the VCS Why? If they're relevant as the external interface, maybe this means they model the problem better than snapshots, and should therefore be used as the implementation.