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?
                +2 
                A: 
                
                
              
            I do not know of any pure Java solutions. But, check out http://javagit.sourceforge.net/ you can use it to connect to a git repository with Java.
                  Josh Moore
                   2008-10-07 07:21:44
                
              
                
                A: 
                
                
              There is a pure Java library, SVN Kit for interacting with Subversion
                  oxbow_lakes
                   2008-10-07 18:35:08
                
              It's been a while since I've checked but I don't think Subversion supports "distributed" in the same way that Git and Mercurial do.
                  Aidos
                   2008-10-08 11:03:11