1. 5

  2. 3

    This is a fantastic interview. Pablo Santos articulates some features/advantages that Plastic SCM has compared to other tools. His vision for the role and future of version control is eerily similar to what is floating around in my head (I’m a contributor to Mercurial). He even talks a bit about the need for (version control) tools to be fast, get out of the way, and provide better features in order to avoid cognitive overhead, which impacts productivity and velocity. This is a must-listen for anyone who works on version control tools or cares about the larger developer productivity space.

    1. 2

      How realistic do you think it is for the Git to evolve to support big files?

      As I understand it the problem boils down to three issues:

      1. Every file is hashed completely before being stored as a Blob
      2. A git checkout checks out the whole tree, it’s not possible to checkout a subset
      3. There is no lazy-fetching of the Git objects. It’s possible to do a shallow fetch but then Git operations are limited.

      (1) means that even a 1 byte change will create a whole new Blob. I think that it could be improved by introducing a new “BlobList” type of object that can contain a list of Blob. Then the update would be only on the size of the Blob. Blob chunking heuristics can then be developed and used at insertion time.

      (2) means re-thinking a lot of the CLI operations to work on a subset

      (3) would have to re-design the database to lazily fetch objects upstream when they are missing

      1. 1

        I couldn’t agree more. I always scratched my head thinking why version control, being the “operative system” of software development did not lead the Agile, DevOps… you name it, modern software development “movement”. In a way I see that the dominance of Git raised the bar so high, innovation was not required for a long time. On the other hand, being so generalist makes changes in roadmap of Git difficult to cover al the most innovative edge cases, right?

        1. 1

          Hey, Greg, you should get a hat!