JGit clone repository

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" ;
 
// credentials
CredentialsProvider cp = new UsernamePasswordCredentialsProvider ( name , password );
// clone
File dir = new File ( "/tmp/abc" );
CloneCommand cc = new CloneCommand ()
. setCredentialsProvider ( cp )
. setDirectory ( dir )
. setURI ( url );
Git git = cc . call ();
// add
AddCommand ac = git . add ();
ac . addFilepattern ( "." );
try {
ac . call ();
} catch ( NoFilepatternException e ) {
e . printStackTrace ();
}
 
// commit
CommitCommand commit = git . commit ();
commit . setCommitter ( "TMall" , "[email protected]" )
. 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 ();
}
// push
PushCommand 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 ();
}
 
// cleanup
dir . deleteOnExit ();
}
}

你可能感兴趣的:(javase,源代码)