Example usage for org.eclipse.jgit.lib ObjectId equals

List of usage examples for org.eclipse.jgit.lib ObjectId equals

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib ObjectId equals.

Prototype

@Deprecated
@SuppressWarnings("AmbiguousMethodReference")
public static boolean equals(final AnyObjectId firstObjectId, final AnyObjectId secondObjectId) 

Source Link

Document

Compare two object identifier byte sequences for equality.

Usage

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();
        }
    }
}