http://stackoverflow.com/questions/8545311/jgit-clone-repository
https://gist.github.com/SaitoWu/2487157
FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(PATH).readEnvironment().findGitDir().build();
Git git = new Git(repository);
CloneCommand clone = git.cloneRepository();
clone.setBare(false);
clone.setCloneAllBranches(true);
clone.setDirectory(PATH).setURI(url);
UsernamePasswordCredentialsProvider user = new UsernamePasswordCredentialsProvider(login, password);
clone.setCredentialsProvider(user);
clone.call();
/
class Main {public static void main ( String args []){String name = "Saito" ;String password = "a1c2bf1890eb" ;String url = "http://localhost:9292/Saito/simba.git" ;// credentialsCredentialsProvider cp = new UsernamePasswordCredentialsProvider ( name , password );// cloneFile dir = new File ( "/tmp/abc" );CloneCommand cc = new CloneCommand (). setCredentialsProvider ( cp ). setDirectory ( dir ). setURI ( url );Git git = cc . call ();// addAddCommand ac = git . add ();ac . addFilepattern ( "." );try {ac . call ();} catch ( NoFilepatternException e ) {e . printStackTrace ();}// commitCommitCommand commit = git . commit ();commit . setCommitter ( "TMall" , "open@tmall.com" ). setMessage ( "push war" );try {commit . call ();} catch ( NoHeadException e ) {e . printStackTrace ();} catch ( NoMessageException e ) {e . printStackTrace ();} catch ( UnmergedPathException e ) {e . printStackTrace ();} catch ( ConcurrentRefUpdateException e ) {e . printStackTrace ();} catch ( WrongRepositoryStateException e ) {e . printStackTrace ();}// pushPushCommand pc = git . push ();pc . setCredentialsProvider ( cp ). setForce ( true ). setPushAll ();try {Iterator < PushResult > it = pc . call (). iterator ();if ( it . hasNext ()){System . out . println ( it . next (). toString ());}} catch ( InvalidRemoteException e ) {e . printStackTrace ();}// cleanupdir . deleteOnExit ();}}