List of usage examples for org.eclipse.jgit.lib Repository getDirectory
public File getDirectory()
From source file:org.eclipse.egit.ui.test.team.actions.FetchAndMergeActionTest.java
License:Open Source License
private SWTBotShell openMergeDialog() throws Exception { SWTBotTree projectExplorerTree = bot.viewById("org.eclipse.jdt.ui.PackageExplorer").bot().tree(); getProjectItem(projectExplorerTree, PROJ1).select(); String menuString = util.getPluginLocalizedValue("MergeAction_label"); ContextMenuHelper.clickContextMenu(projectExplorerTree, "Team", menuString); Repository repo = lookupRepository(childRepositoryFile); SWTBotShell dialog = bot/* w w w .j a va2 s .c o m*/ .shell(NLS.bind(UIText.MergeTargetSelectionDialog_TitleMerge, repo.getDirectory().toString())); return dialog; }
From source file:org.eclipse.egit.ui.test.team.actions.ShowBlameActionHandlerTest.java
License:Open Source License
private IJavaProject createJavaProjectAndCommitToRepository() throws Exception { Repository myRepository = createLocalTestRepository(REPO1); File gitDir = myRepository.getDirectory(); IJavaProject jProject = createJavaProject(myRepository, JAVA_PROJECT_NAME); IProject project = jProject.getProject(); try {/*from w ww . j av a 2s .c om*/ new ConnectProviderOperation(project, gitDir).execute(null); } catch (Exception e) { Activator.logError("Failed to connect project to repository", e); } assertConnected(project); // Check in at least the java file IFolder folder = project.getFolder(SRC_FOLDER_NAME).getFolder(PACKAGE_NAME); IFile file = folder.getFile(JAVA_FILE_NAME); IFile[] commitables = new IFile[] { file }; ArrayList<IFile> untracked = new ArrayList<IFile>(); untracked.addAll(Arrays.asList(commitables)); // commit to master CommitOperation op = new CommitOperation(commitables, untracked, TestUtil.TESTAUTHOR, TestUtil.TESTCOMMITTER, "Initial commit"); op.execute(null); // Make sure cache entry is already listening for changes IndexDiffCache cache = Activator.getDefault().getIndexDiffCache(); cache.getIndexDiffCacheEntry(lookupRepository(gitDir)); return jProject; }
From source file:org.eclipse.egit.ui.view.repositories.GitRepositoriesViewRepoDeletionTest.java
License:Open Source License
@Test public void testDeleteSubmoduleRepository() throws Exception { deleteAllProjects();// ww w.j a v a 2 s.c o m assertProjectExistence(PROJ1, false); clearView(); Activator.getDefault().getRepositoryUtil().addConfiguredRepository(repositoryFile); shareProjects(repositoryFile); assertProjectExistence(PROJ1, true); refreshAndWait(); assertHasRepo(repositoryFile); Repository db = lookupRepository(repositoryFile); SubmoduleAddCommand command = new SubmoduleAddCommand(db); String path = "sub"; command.setPath(path); String uri = db.getDirectory().toURI().toString(); command.setURI(uri); Repository subRepo = command.call(); assertNotNull(subRepo); refreshAndWait(); SWTBotTree tree = getOrOpenView().bot().tree(); tree.getAllItems()[0].expand().expandNode(UIText.RepositoriesViewLabelProvider_SubmodulesNodeText) .getItems()[0].select(); ContextMenuHelper.clickContextMenu(tree, myUtil.getPluginLocalizedValue(DELETE_REPOSITORY_CONTEXT_MENU_LABEL)); SWTBotShell shell = bot.shell(UIText.DeleteRepositoryConfirmDialog_DeleteRepositoryWindowTitle); shell.activate(); String workDir = subRepo.getWorkTree().getPath(); String checkboxLabel = NLS.bind(UIText.DeleteRepositoryConfirmDialog_DeleteWorkingDirectoryCheckbox, workDir); shell.bot().checkBox(checkboxLabel).select(); shell.bot().button(IDialogConstants.OK_LABEL).click(); TestUtil.joinJobs(JobFamilies.REPOSITORY_DELETE); refreshAndWait(); assertFalse(subRepo.getDirectory().exists()); assertFalse(subRepo.getWorkTree().exists()); }
From source file:org.eclipse.egit.ui.view.repositories.GitRepositoriesViewTestBase.java
License:Open Source License
protected static File createRemoteRepository(File repositoryDir) throws Exception { Repository myRepository = org.eclipse.egit.core.Activator.getDefault().getRepositoryCache() .lookupRepository(repositoryDir); File gitDir = new File(getTestDirectory(), REPO2); Repository myRemoteRepository = lookupRepository(gitDir); myRemoteRepository.create();/* w w w. ja va 2 s. c om*/ createStableBranch(myRepository); // now we configure the push destination myRepository.getConfig().setString("remote", "push", "pushurl", "file:///" + myRemoteRepository.getDirectory().getPath()); myRepository.getConfig().setString("remote", "push", "push", "+refs/heads/*:refs/heads/*"); // TODO Bug: for some reason, this seems to be required myRepository.getConfig().setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_REPO_FORMAT_VERSION, "0"); myRepository.getConfig().save(); // and push PushConfiguredRemoteAction pa = new PushConfiguredRemoteAction(myRepository, "push"); pa.run(null, false); TestUtil.joinJobs(JobFamilies.PUSH); try { // delete the stable branch again RefUpdate op = myRepository.updateRef("refs/heads/stable"); op.setRefLogMessage("branch deleted", //$NON-NLS-1$ false); // we set the force update in order // to avoid having this rejected // due to minor issues op.setForceUpdate(true); op.delete(); } catch (IOException ioe) { throw new InvocationTargetException(ioe); } return myRemoteRepository.getDirectory(); }
From source file:org.eclipse.emf.compare.egit.ui.internal.merge.ModelGitMergeEditorInput.java
License:Open Source License
private RevCommit getRightCommit(RevWalk revWalk, Repository repository) throws InvocationTargetException { try {/*from www .ja v a 2 s. c om*/ String target; if (repository.getRepositoryState().equals(RepositoryState.MERGING)) { target = Constants.MERGE_HEAD; } else if (repository.getRepositoryState().equals(RepositoryState.CHERRY_PICKING)) { target = Constants.CHERRY_PICK_HEAD; } else if (repository.getRepositoryState().equals(RepositoryState.REBASING_INTERACTIVE)) { target = readFile(repository.getDirectory(), RebaseCommand.REBASE_MERGE + File.separatorChar + RebaseCommand.STOPPED_SHA); } else { target = Constants.ORIG_HEAD; } ObjectId mergeHead = repository.resolve(target); if (mergeHead == null) { throw new IOException(NLS.bind(UIText.ValidationUtils_CanNotResolveRefMessage, target)); } return revWalk.parseCommit(mergeHead); } catch (IOException e) { throw new InvocationTargetException(e); } }
From source file:org.eclipse.emf.compare.git.pgm.internal.cmd.AbstractLogicalCommandTest.java
License:Open Source License
@Test public void useOfGitDir() throws Exception { // Sets context to be sure were are not in a git repository setCmdLocation(getTestTmpFolder().toString()); Path oomphFolderPath = getTestTmpFolder().resolve("oomphFolder"); File newSetupFile = new OomphUserModelBuilder() // .setInstallationTaskLocation(oomphFolderPath.toString()) // .setWorkspaceLocation(oomphFolderPath.resolve("ws").toString()) // .saveTo(getTestTmpFolder().resolve("setup.setup").toString()); // Creates some content for the first commit. new ProjectBuilder(this) // .create(getRepositoryPath().resolve("EmptyProject")); addAllAndCommit("First commit"); // Provides the repository using the --git-dir parameter // Use the --help option to avoid crashing the application and being able to test its parameters String gitDirPath = getRepositoryPath().resolve(".git").toString(); getContext().addArg(getCommandName(), "--git-dir", gitDirPath, newSetupFile.getAbsolutePath(), "--help"); Object result = getApp().start(getContext()); Repository repo = getLogicalCommand().getRepository(); assertNotNull(repo);/*from w w w . jav a2 s. c o m*/ assertEquals(gitDirPath, repo.getDirectory().getAbsolutePath()); assertEquals(Returns.COMPLETE.code(), result); }
From source file:org.eclipse.emf.compare.tests.performance.git.GitUtil.java
License:Open Source License
/** * Connect given projects to the given repository. * @param repository/* w w w . ja v a 2 s. com*/ * the given repository. * @param projects * the given projects. */ public static void connectProjectsToRepo(Repository repository, Collection<IProject> projects) { for (IProject project : projects) { try { ConnectProviderOperation op = new ConnectProviderOperation(project, repository.getDirectory()); op.execute(new NullProgressMonitor()); } catch (CoreException e) { Throwables.propagate(e); } } }
From source file:org.eclipse.ice.developer.actions.ImportLocalICEHandler.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { // Grab the Util and Cache for repositories RepositoryUtil repositoryUtil = Activator.getDefault().getRepositoryUtil(); RepositoryCache cache = org.eclipse.egit.core.Activator.getDefault().getRepositoryCache(); for (String dir : repositoryUtil.getConfiguredRepositories()) { File repoDir = new File(dir); try {//w w w .ja v a2 s . co m Repository repo = cache.lookupRepository(repoDir); // FIXME Find a better way to find the recently added // ICE repo if (repo.getDirectory().getParentFile().getName().equals("ice")) { Job badJob = new Job("Import Local ICE") { @Override protected IStatus run(IProgressMonitor monitor) { return new Status(IStatus.ERROR, "org.eclipse.ice.developer", 1, "ICE is already cloned and imported into the Project Explorer.", null); } }; // Start the job badJob.schedule(); return null; } } catch (IOException e) { e.printStackTrace(); } } // Fix the maven build errors. fixMavenLifecycleFile(); // Execute the Add Repository EGit action IHandlerService service = CommonUtils.getService(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), IHandlerService.class); UIUtils.executeCommand(service, "org.eclipse.egit.ui.RepositoriesViewAddRepository"); // Find the ICE repository. for (String dir : repositoryUtil.getConfiguredRepositories()) { File repoDir = new File(dir); try { Repository repo = cache.lookupRepository(repoDir); // FIXME Find a better way to find the recently added // ICE repo if (repo.getDirectory().getParentFile().getName().equals("ice")) { Display.getDefault().asyncExec(new Runnable() { public void run() { try { HandlerUtil.getActiveWorkbenchWindow(event).getActivePage() .showView(IProgressConstants.PROGRESS_VIEW_ID); } catch (PartInitException e) { e.printStackTrace(); } } }); importProjects(repo, new IWorkingSet[0]); break; } } catch (IOException e) { e.printStackTrace(); } } return null; }
From source file:org.eclipse.mylyn.internal.github.ui.gist.CloneGistHandler.java
License:Open Source License
private void createProject(final File workDir, final String name, final Repository repository, IProgressMonitor monitor) throws CoreException { IProjectDescription description = null; String projectName = null;/*from ww w . ja v a2s . com*/ File projectFile = new File(workDir, ".project"); //$NON-NLS-1$ if (projectFile.exists()) { description = ResourcesPlugin.getWorkspace() .loadProjectDescription(Path.fromOSString(projectFile.getAbsolutePath())); projectName = description.getName(); } else { description = ResourcesPlugin.getWorkspace().newProjectDescription(name); description.setLocation(Path.fromOSString(workDir.getAbsolutePath())); projectName = name; } monitor.setTaskName(Messages.CloneGistHandler_TaskCreatingProject); IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); project.create(description, monitor); project.open(IResource.BACKGROUND_REFRESH, monitor); monitor.setTaskName(Messages.CloneGistHandler_TaskConnectingProject); new ConnectProviderOperation(project, repository.getDirectory()).execute(monitor); }
From source file:org.eclipse.mylyn.internal.github.ui.gist.CloneGistHandler.java
License:Open Source License
private Job createCloneJob(final ExecutionEvent event, final TaskData data) { Job job = new Job(Messages.CloneGistHandler_TaskCloning) { protected IStatus run(IProgressMonitor monitor) { try { final String name = getGistName(data); CloneOperation operation = createCloneOperation(data, name); operation.addPostCloneTask(new PostCloneTask() { public void execute(Repository repository, IProgressMonitor monitor) throws CoreException { if (monitor.isCanceled()) return; monitor.setTaskName(Messages.CloneGistHandler_TaskRegisteringRepository); getRepoUtil().addConfiguredRepository(repository.getDirectory()); }/*from w w w . j a v a 2s.c om*/ }); operation.addPostCloneTask(new PostCloneTask() { public void execute(final Repository repository, IProgressMonitor monitor) throws CoreException { IWorkspaceRunnable runnable = new IWorkspaceRunnable() { public void run(IProgressMonitor monitor) throws CoreException { if (monitor.isCanceled()) return; createProject(repository.getDirectory().getParentFile(), name, repository, monitor); } }; ResourcesPlugin.getWorkspace().run(runnable, monitor); } }); operation.run(monitor); } catch (Exception e) { displayError(event, e); Activator.logError("Error cloning gist", e); //$NON-NLS-1$ } finally { fireHandlerChanged(new HandlerEvent(CloneGistHandler.this, true, false)); } return Status.OK_STATUS; } }; return job; }