@Test public void canCommitFileInProject() throws Exception { String fileName = "a.txt"; String fileContent = "*****@*****.**"; IFile file = testUtils.addFileToProject(testProject.getProject(), fileName, fileContent); testRepository.add(file); EGitUtils.commit(testProject.getProject(), null); testUtils.assertRepositoryContainsFilesWithContent( testRepository.getRepository(), new String[] {testUtils.getPathInRepository(file), fileContent}); }
private TestRepository createTestRepository(TestProject project) throws IOException, Exception { TestRepository testRepository = new TestRepository(TestUtils.createGitDir(project)); testRepository.createMockSystemReader(ResourcesPlugin.getWorkspace().getRoot().getLocation()); testRepository.setUserAndEmail(GIT_USER, GIT_EMAIL); testRepository.connect(project.getProject()); testRepository.add(project.getFile(".project")); testRepository.initialCommit(); return testRepository; }
@Test public void forcedPushRemovesFileInRemote() throws Exception { String fileName = "a.txt"; String fileContent = "*****@*****.**"; File file = testRepository.createFile(fileName, fileContent); testRepository.addAndCommit(file, "adding a file"); File file2 = testRepository2.createFile("b.txt", "bingobongo"); testRepository2.addAndCommit(file2, "adding a file"); testRepository.addRemoteTo(REPO2_REMOTE_NAME, testRepository2.getRepository()); EGitUtils.pushForce(REPO2_REMOTE_NAME, testRepository.getRepository(), null); // repo2 mustn't contain "b.txt" testUtils.assertRepositoryMisses(testRepository2.getRepository(), file2.getName()); // repo2 must contain "a.txt" testUtils.assertRepositoryContainsFilesWithContent( testRepository2.getRepository(), fileName, fileContent); }
@Test public void fileAddedToCloneIsInRemoteAfterPush() throws Exception { String fileName = "c.txt"; String fileContent = "*****@*****.**"; File file = testRepositoryClone.createFile(fileName, fileContent); testRepositoryClone.addAndCommit(file, "adding a file"); testRepositoryClone.addRemoteTo(REPO2_REMOTE_NAME, testRepository2.getRepository()); EGitUtils.pushForce(REPO2_REMOTE_NAME, testRepositoryClone.getRepository(), null); // repo2 must contain file added to clone testUtils.assertRepositoryContainsFilesWithContent( testRepository2.getRepository(), fileName, fileContent); }
@Test public void fileAddedToCloneIsInOriginAfterPush() throws Exception { String fileName = "b.txt"; String fileContent = "*****@*****.**"; File file = testRepositoryClone.createFile(fileName, fileContent); testRepositoryClone.addAndCommit(file, "adding a file"); EGitUtils.push(testRepositoryClone.getRepository(), null); // does origin contain file added to clone? testUtils.assertRepositoryContainsFilesWithContent( testRepository.getRepository(), fileName, fileContent); }