List of usage examples for org.eclipse.jgit.lib ObjectId equals
@Deprecated @SuppressWarnings("AmbiguousMethodReference") public static boolean equals(final AnyObjectId firstObjectId, final AnyObjectId secondObjectId)
From source file:com.google.gerrit.server.edit.ChangeEditModifier.java
License:Apache License
private RefUpdate.Result modify(TreeOperation op, ChangeEdit edit, String file, @Nullable String newFile, @Nullable RawInput content) throws AuthException, IOException, InvalidChangeOperationException { if (!currentUser.get().isIdentifiedUser()) { throw new AuthException("Authentication required"); }/*from w ww. ja va 2 s . com*/ IdentifiedUser me = (IdentifiedUser) currentUser.get(); Project.NameKey project = edit.getChange().getProject(); try (Repository repo = gitManager.openRepository(project); RevWalk rw = new RevWalk(repo); ObjectInserter inserter = repo.newObjectInserter(); ObjectReader reader = repo.newObjectReader()) { String refName = edit.getRefName(); RevCommit prevEdit = edit.getEditCommit(); ObjectId newTree = writeNewTree(op, rw, inserter, prevEdit, reader, file, newFile, toBlob(inserter, content)); if (ObjectId.equals(newTree, prevEdit.getTree())) { throw new InvalidChangeOperationException("no changes were made"); } ObjectId commit = createCommit(me, inserter, prevEdit, newTree); inserter.flush(); return update(repo, me, refName, rw, prevEdit, commit); } }
From source file:com.microsoft.gittf.core.tasks.CreateCommitForChangesetVersionSpecTask.java
License:Open Source License
private void createBlob(final ObjectInserter repositoryInserter, final Map<CommitTreePath, Map<CommitTreePath, CommitTreeEntry>> treeHierarchy, final ChangesetCommitItemReader previousChangesetCommitReader, final Item item, final TaskProgressMonitor progressMonitor) throws Exception { Check.notNull(repositoryInserter, "repositoryInserter"); //$NON-NLS-1$ Check.notNull(treeHierarchy, "treeHierarchy"); //$NON-NLS-1$ Check.notNull(previousChangesetCommitReader, "previousChangesetCommitReader"); //$NON-NLS-1$ Check.notNull(item, "item"); //$NON-NLS-1$ Check.notNull(progressMonitor, "progressMonitor"); //$NON-NLS-1$ if (item.getItemType() == ItemType.FOLDER) { return;/*from ww w . j a v a 2s . c om*/ } File tempFile = null; InputStream tempInputStream = null; ObjectId blobID = null; try { blobID = previousChangesetCommitReader.getFileObjectId(item.getServerItem(), item.getChangeSetID()); if (blobID == null || ObjectId.equals(blobID, ObjectId.zeroId())) { tempFile = File.createTempFile(GitTFConstants.GIT_TF_NAME, null, tempDir); try { versionControlService.downloadFile(item, tempFile.getAbsolutePath()); } catch (VersionControlException e) { // if the user is denied read permissions on the file an // exception will be thrown here. final String itemName = item.getServerItem() == null ? "" : item.getServerItem(); //$NON-NLS-1$ progressMonitor.displayWarning(Messages.formatString( "CreateCommitForChangesetVersionSpecTask.NoContentDueToPermissionOrDestroyFormat", //$NON-NLS-1$ itemName)); log.error(e); return; } if (tempFile.exists()) { tempInputStream = new FileInputStream(tempFile); blobID = repositoryInserter.insert(OBJ_BLOB, tempFile.length(), tempInputStream); } else { blobID = ObjectId.zeroId(); } } FileMode fileMode = FileMode.REGULAR_FILE; /* handle executable files */ if (item.getPropertyValues() != null) { if (PropertyConstants.EXECUTABLE_ENABLED_VALUE.equals( PropertyUtils.selectMatching(item.getPropertyValues(), PropertyConstants.EXECUTABLE_KEY))) { fileMode = FileMode.EXECUTABLE_FILE; } } createBlob(repositoryInserter, treeHierarchy, item.getServerItem(), blobID, fileMode, progressMonitor); } finally { if (tempInputStream != null) { tempInputStream.close(); } if (tempFile != null) { tempFile.delete(); } } }