List of usage examples for org.eclipse.jgit.storage.file FileRepositoryBuilder FileRepositoryBuilder
FileRepositoryBuilder
From source file:org.commonjava.gitwrap.BareGitRepository.java
License:Open Source License
protected BareGitRepository(final File gitDir, final boolean create, final File workDir) throws IOException { this.gitDir = gitDir; this.workDir = workDir; final FileRepositoryBuilder builder = new FileRepositoryBuilder(); builder.setGitDir(gitDir);//from w ww.j av a 2 s.c om if (workDir != null) { builder.setWorkTree(workDir); } builder.setup(); repository = new FileRepository(builder); if (create && !gitDir.exists()) { final File objectsDir = new File(gitDir, "objects"); final File refsDir = new File(gitDir, "refs"); refsDir.mkdirs(); objectsDir.mkdirs(); repository.create(workDir == null); final FileBasedConfig config = repository.getConfig(); config.setInt("core", null, "repositoryformatversion", 0); config.setBoolean("core", null, "filemode", true); config.setBoolean("core", null, "bare", workDir == null); config.setBoolean("core", null, "logallrefupdates", true); config.setBoolean("core", null, "ignorecase", true); config.save(); } git = new Git(repository); }
From source file:org.commonjava.gitwrap.BareGitRepositoryTest.java
License:Open Source License
@Test public void cloneBare_NoBranch() throws IOException, GitWrapException, URISyntaxException { final File gitDir = new File(".git"); if (gitDir.exists()) { final FileRepositoryBuilder builder = new FileRepositoryBuilder(); builder.setGitDir(gitDir);//www. j ava 2 s.c o m builder.setup(); final FileRepository repository = new FileRepository(builder); final RemoteConfig config = new RemoteConfig(repository.getConfig(), "origin"); testGitDir = File.createTempFile("git-clone.", ".git"); testGitDir.delete(); BareGitRepository.setProgressMonitor(new TextProgressMonitor()); final BareGitRepository clone = BareGitRepository.cloneBare(config.getURIs().get(0).toString(), "origin", testGitDir); System.out.println(clone.getGitDir()); System.out.println(); final FetchResult fetchResult = clone.getLatestFetchResult(); for (final Ref ref : fetchResult.getAdvertisedRefs()) { System.out.println(ref.getName()); } System.out.println(); for (final TrackingRefUpdate update : fetchResult.getTrackingRefUpdates()) { System.out.println(update.getLocalName() + " -> " + update.getRemoteName()); } } }
From source file:org.commonjava.gitwrap.GitRepositoryTest.java
License:Open Source License
@Test public void cloneNonBare_NoBranch() throws IOException, GitWrapException, URISyntaxException { final File gitDir = new File(".git"); if (gitDir.exists()) { final FileRepositoryBuilder builder = new FileRepositoryBuilder(); builder.setGitDir(gitDir);/* w w w .j a v a 2 s .c o m*/ builder.setup(); final FileRepository repository = new FileRepository(builder); final RemoteConfig config = new RemoteConfig(repository.getConfig(), "origin"); final File workDir = File.createTempFile("git-clone", ""); workDir.delete(); final File newGitDir = new File(workDir, ".git"); GitRepository.setProgressMonitor(new TextProgressMonitor()); final GitRepository clone = GitRepository.cloneWithWorkdir(config.getURIs().get(0).toString(), "origin", newGitDir, false); System.out.println(clone.getGitDir()); System.out.println(); final FetchResult fetchResult = clone.getLatestFetchResult(); for (final Ref ref : fetchResult.getAdvertisedRefs()) { System.out.println(ref.getName()); } System.out.println(); for (final TrackingRefUpdate update : fetchResult.getTrackingRefUpdates()) { System.out.println(update.getLocalName() + " -> " + update.getRemoteName()); } } }
From source file:org.commonjava.gitwrap.GitRepositoryTest.java
License:Open Source License
@Test public void cloneNonBare_BranchMasterToNakedRefname() throws IOException, GitWrapException, URISyntaxException { final File gitDir = new File(".git"); if (gitDir.exists()) { final FileRepositoryBuilder builder = new FileRepositoryBuilder(); builder.setGitDir(gitDir);/* ww w. j a v a2s. co m*/ builder.setup(); final FileRepository repository = new FileRepository(builder); final RemoteConfig config = new RemoteConfig(repository.getConfig(), "origin"); workDir = File.createTempFile("git-clone", ""); workDir.delete(); final File newGitDir = new File(workDir, ".git"); GitRepository.setProgressMonitor(new TextProgressMonitor()); final GitRepository clone = GitRepository.cloneWithWorkdir(config.getURIs().get(0).toString(), "origin", newGitDir, false); clone.createBranch(Constants.HEAD, "test-branch"); System.out.println(clone.getGitDir()); System.out.println(); final FetchResult fetchResult = clone.getLatestFetchResult(); for (final Ref ref : fetchResult.getAdvertisedRefs()) { System.out.println(ref.getName()); } System.out.println(); for (final TrackingRefUpdate update : fetchResult.getTrackingRefUpdates()) { System.out.println(update.getLocalName() + " -> " + update.getRemoteName()); } } }
From source file:org.commonjava.indy.subsys.git.GitManager.java
License:Apache License
public GitManager(final GitConfig config) throws GitSubsystemException { this.config = config; rootDir = config.getContentDir();//ww w . ja v a 2 s. c o m final String cloneUrl = config.getCloneFrom(); boolean checkUpdate = false; if (cloneUrl != null) { logger.info("Cloning: {} into: {}", cloneUrl, rootDir); if (rootDir.isDirectory()) { checkUpdate = true; } else { final boolean mkdirs = rootDir.mkdirs(); logger.info("git dir {} (mkdir result: {}; is directory? {}) contains:\n {}", rootDir, mkdirs, rootDir.isDirectory(), join(rootDir.listFiles(), "\n ")); try { Git.cloneRepository().setURI(cloneUrl).setDirectory(rootDir).setRemote("origin").call(); } catch (final GitAPIException e) { throw new GitSubsystemException("Failed to clone remote URL: {} into: {}. Reason: {}", e, cloneUrl, rootDir, e.getMessage()); } } } final File dotGitDir = new File(rootDir, ".git"); logger.info("Setting up git manager for: {}", dotGitDir); try { repo = new FileRepositoryBuilder().readEnvironment().setGitDir(dotGitDir).build(); } catch (final IOException e) { throw new GitSubsystemException("Failed to create Repository instance for: {}. Reason: {}", e, dotGitDir, e.getMessage()); } String[] preExistingFromCreate = null; if (!dotGitDir.isDirectory()) { preExistingFromCreate = rootDir.list(); try { repo.create(); } catch (final IOException e) { throw new GitSubsystemException("Failed to create git repo: {}. Reason: {}", e, rootDir, e.getMessage()); } } String originUrl = repo.getConfig().getString("remote", "origin", "url"); if (originUrl == null) { originUrl = cloneUrl; logger.info("Setting origin URL: {}", originUrl); repo.getConfig().setString("remote", "origin", "url", originUrl); repo.getConfig().setString("remote", "origin", "fetch", "+refs/heads/*:refs/remotes/origin/*"); } String email = repo.getConfig().getString("user", null, "email"); if (email == null) { email = config.getUserEmail(); } if (email == null) { try { email = "indy@" + InetAddress.getLocalHost().getCanonicalHostName(); } catch (final UnknownHostException e) { throw new GitSubsystemException("Failed to resolve 'localhost'. Reason: {}", e, e.getMessage()); } } if (repo.getConfig().getString("user", null, "email") == null) { repo.getConfig().setString("user", null, "email", email); } this.email = email; git = new Git(repo); if (preExistingFromCreate != null && preExistingFromCreate.length > 0) { addPaths(new ChangeSummary(SYSTEM_USER, "Committing pre-existing files."), preExistingFromCreate); commit(); } if (checkUpdate) { pullUpdates(); } }
From source file:org.craftercms.studio.impl.v1.deployment.EnvironmentStoreGitBranchDeployer.java
License:Open Source License
private Repository openGitRepository(Path repositoryPath) throws IOException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(repositoryPath.toFile()).readEnvironment().findGitDir().build(); return repository; }
From source file:org.craftercms.studio.impl.v1.repository.git.GitContentRepositoryHelper.java
License:Open Source License
/** * Opens a git repository//from ww w .j a va 2 s . c o m * * @param repositoryPath path to repository to open (including .git) * @return repository object if successful * @throws IOException */ public Repository openRepository(Path repositoryPath) throws IOException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(repositoryPath.toFile()).readEnvironment().findGitDir().build(); return repository; }
From source file:org.dstadler.jgit.helper.CookbookHelper.java
License:Apache License
public static Repository openJGitCookbookRepository() throws IOException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); return builder.readEnvironment() // scan environment GIT_* variables .findGitDir() // scan up the file system tree .build();/* w ww . j av a 2s. c o m*/ }
From source file:org.dstadler.jgit.unfinished.PushToRemoteRepository.java
License:Apache License
public static void main(String[] args) throws IOException, GitAPIException { // prepare a new folder for the cloned repository File localPath = File.createTempFile("TestGitRepository", ""); if (!localPath.delete()) { throw new IOException("Could not delete temporary file " + localPath); }/*from www. ja v a 2 s . c om*/ // then clone System.out.println("Cloning from " + REMOTE_URL + " to " + localPath); try (Git result = Git.cloneRepository().setURI(REMOTE_URL).setDirectory(localPath).call()) { // prepare a second folder for the 2nd clone File localPath2 = File.createTempFile("TestGitRepository", ""); if (!localPath2.delete()) { throw new IOException("Could not delete temporary file " + localPath2); } // then clone again System.out.println("Cloning from file://" + localPath + " to " + localPath2); try (Git result2 = Git.cloneRepository().setURI("file://" + localPath).setDirectory(localPath2) .call()) { System.out.println("Result: " + result2); // now open the created repository FileRepositoryBuilder builder = new FileRepositoryBuilder(); try (Repository repository = builder.setGitDir(localPath2).readEnvironment() // scan environment GIT_* variables .findGitDir() // scan up the file system tree .build()) { try (Git git = new Git(repository)) { git.push().call(); } System.out.println("Pushed from repository: " + repository.getDirectory() + " to remote repository at " + REMOTE_URL); } } } }
From source file:org.dstadler.jgit.unfinished.TrackMaster.java
License:Apache License
public static void main(String[] args) throws IOException, GitAPIException { // prepare a new folder for the cloned repository File localPath = File.createTempFile("TestGitRepository", ""); if (!localPath.delete()) { throw new IOException("Could not delete temporary file " + localPath); }/*from w w w . j a v a2s.c o m*/ // then clone System.out.println("Cloning from " + REMOTE_URL + " to " + localPath); try (Git result = Git.cloneRepository().setURI(REMOTE_URL).setDirectory(localPath).call()) { System.out.println("Result: " + result); // now open the created repository FileRepositoryBuilder builder = new FileRepositoryBuilder(); try (Repository repository = builder.setGitDir(localPath).readEnvironment() // scan environment GIT_* variables .findGitDir() // scan up the file system tree .build()) { try (Git git = new Git(repository)) { git.branchCreate().setName("master") // ?!? .setUpstreamMode(SetupUpstreamMode.SET_UPSTREAM) .setStartPoint("origin/master").setForce(true).call(); } System.out.println("Now tracking master in repository at " + repository.getDirectory() + " from origin/master at " + REMOTE_URL); } } }