Package org.eclipse.jgit.blame

Examples of org.eclipse.jgit.blame.BlameResult


        Git git = null;
        File basedir = workingDirectory.getBasedir();
        try
        {
            git = Git.open( basedir );
            BlameResult blameResult = git.blame().setFilePath( filename ).call();

            List<BlameLine> lines = new ArrayList<BlameLine>();

            int i = 0;
            while ( ( i = blameResult.computeNext() ) != -1 )
            {
                lines.add( new BlameLine( blameResult.getSourceAuthor( i ).getWhen(),
                                          blameResult.getSourceCommit( i ).getName(),
                                          blameResult.getSourceAuthor( i ).getName(),
                                          blameResult.getSourceCommitter( i ).getName() ) );
            }

            return new BlameScmResult( "JGit blame", lines );
        }
        catch ( Exception e )
View Full Code Here


        object = repository.resolve(objectId);
      }
      BlameCommand blameCommand = new BlameCommand(repository);
      blameCommand.setFilePath(blobPath);
      blameCommand.setStartCommit(object);
      BlameResult blameResult = blameCommand.call();
      RawText rawText = blameResult.getResultContents();
      int length = rawText.size();
      for (int i = 0; i < length; i++) {
        RevCommit commit = blameResult.getSourceCommit(i);
        AnnotatedLine line = new AnnotatedLine(commit, i + 1, rawText.getString(i));
        lines.add(line);
      }
    } catch (Throwable t) {
      LOGGER.error(MessageFormat.format("failed to generate blame for {0} {1}!", blobPath, objectId), t);
View Full Code Here

    git.add().addFilepattern("file.txt").call();
    RevCommit commit = git.commit().setMessage("create file").call();

    BlameCommand command = new BlameCommand(db);
    command.setFilePath("file.txt");
    BlameResult lines = command.call();
    assertNotNull(lines);
    assertEquals(3, lines.getResultContents().size());

    for (int i = 0; i < 3; i++) {
      assertEquals(commit, lines.getSourceCommit(i));
      assertEquals(i, lines.getSourceLine(i));
    }
  }
View Full Code Here

    git.add().addFilepattern("file.txt").call();
    RevCommit commit2 = git.commit().setMessage("create file").call();

    BlameCommand command = new BlameCommand(db);
    command.setFilePath("file.txt");
    BlameResult lines = command.call();
    assertEquals(3, lines.getResultContents().size());

    assertEquals(commit1, lines.getSourceCommit(0));
    assertEquals(0, lines.getSourceLine(0));

    assertEquals(commit1, lines.getSourceCommit(1));
    assertEquals(1, lines.getSourceLine(1));

    assertEquals(commit2, lines.getSourceCommit(2));
    assertEquals(2, lines.getSourceLine(2));
  }
View Full Code Here

    RevCommit commit3 = git.commit().setMessage("editing file").call();

    BlameCommand command = new BlameCommand(db);
    command.setFollowFileRenames(true);
    command.setFilePath(destPath);
    BlameResult lines = command.call();

    assertEquals(commit1, lines.getSourceCommit(0));
    assertEquals(0, lines.getSourceLine(0));
    assertEquals(sourcePath, lines.getSourcePath(0));

    assertEquals(commit1, lines.getSourceCommit(1));
    assertEquals(1, lines.getSourceLine(1));
    assertEquals(sourcePath, lines.getSourcePath(1));

    assertEquals(commit3, lines.getSourceCommit(2));
    assertEquals(2, lines.getSourceLine(2));
    assertEquals(destPath, lines.getSourcePath(2));
  }
View Full Code Here

    git.commit().setMessage("moving file again").call();

    BlameCommand command = new BlameCommand(db);
    command.setFollowFileRenames(true);
    command.setFilePath("file2.txt");
    BlameResult lines = command.call();

    assertEquals(commit1, lines.getSourceCommit(0));
    assertEquals(0, lines.getSourceLine(0));
    assertEquals("file.txt", lines.getSourcePath(0));

    assertEquals(commit3, lines.getSourceCommit(1));
    assertEquals(1, lines.getSourceLine(1));
    assertEquals("file1.txt", lines.getSourcePath(1));
  }
View Full Code Here

    git.commit().setMessage("edit file").call();

    BlameCommand command = new BlameCommand(db);

    command.setFilePath("file.txt");
    BlameResult lines = command.call();
    assertEquals(content2.length, lines.getResultContents().size());

    assertEquals(commit1, lines.getSourceCommit(0));
    assertEquals(commit1, lines.getSourceCommit(1));

    assertEquals(0, lines.getSourceLine(0));
    assertEquals(1, lines.getSourceLine(1));
  }
View Full Code Here

    git.commit().setMessage("edit file").call();

    BlameCommand command = new BlameCommand(db);

    command.setFilePath("file.txt");
    BlameResult lines = command.call();
    assertEquals(content2.length, lines.getResultContents().size());

    assertEquals(commit1, lines.getSourceCommit(0));
    assertEquals(0, lines.getSourceLine(0));

    assertEquals(commit1, lines.getSourceCommit(1));
    assertEquals(1, lines.getSourceLine(1));

    assertEquals(commit1, lines.getSourceCommit(2));
    assertEquals(2, lines.getSourceLine(2));
  }
View Full Code Here

    RevCommit commit2 = git.commit().setMessage("create file").call();

    BlameCommand command = new BlameCommand(db);

    command.setFilePath("file.txt");
    BlameResult lines = command.call();
    assertEquals(content2.length, lines.getResultContents().size());
    assertEquals(commit2, lines.getSourceCommit(0));
    assertEquals(commit2, lines.getSourceCommit(1));
  }
View Full Code Here

    RevCommit commit3 = git.commit().setMessage("edit file").call();

    BlameCommand command = new BlameCommand(db);

    command.setFilePath("file.txt");
    BlameResult lines = command.call();
    assertEquals(content1.length, lines.getResultContents().size());
    assertEquals(commit3, lines.getSourceCommit(0));
    assertEquals(commit3, lines.getSourceCommit(1));
    assertEquals(commit3, lines.getSourceCommit(2));
  }
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.blame.BlameResult

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.