Is there a distributed version control system (like git or Mercurial) that can be used as an embedded library in Java applications (to implement versioned and synchronizable storage for application data), ideally written in pure Java and under a permissive license?
A distributed version control system (DVCS) is a type of version control where the complete codebase — including its full version history — is mirrored on every developer's computer. It's abbreviated DVCS. Changes to files are tracked between computers. For example, my workstation and yours.
DVCS is faster than CVCS because you don't need to communicate with the remote server for each and every command. You do everything locally which gives you the benefit to work faster than CVCS. Working on branches is easy in DVCS.
Perforce Is CentralizedHelix Core –– version control from Perforce –– has a centralized model. Storing everything in one place ensures developers always have the latest version. Developers, no matter where they are located, commit all their changes to a central server.
AWS CodeCommit is a managed DVCS option in the public cloud. Like most Amazon cloud services, it's built on a secure and scalable system; when you need more server space, you can add it. Similar to Git, CodeCommit works anywhere, so developers can collaborate using multiple servers within a project space.
@Josh Moore's reply led me to JGit, which seems to be a competitor to JavaGit. JGit is pure Java and licensed under BSD.
Some further digging unearthed HgKit, which aims to implement Mercurial in Java. It is still pre-alpha and GPLed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With