Search in sources :

Example 1 with HgLogCommand

use of org.zmlx.hg4idea.command.HgLogCommand in project intellij-community by JetBrains.

the class HgEncodingTest method testUtfMessageInHistoryWithSpecialCharacters.

//test SpecialCharacters in commit message for default EncodingProject settings
public void testUtfMessageInHistoryWithSpecialCharacters() throws HgCommandException, VcsException {
    cd(myRepository);
    String fileName = "file.txt";
    echo(fileName, "lalala");
    Charset charset = HgEncodingUtil.getDefaultCharset(myProject);
    String comment = "öäüß";
    HgRepository hgRepo = HgRepositoryImpl.getInstance(myRepository, myProject, myProject);
    HgCommitCommand commitCommand = new HgCommitCommand(myProject, hgRepo, comment);
    commitCommand.executeInCurrentThread();
    HgLogCommand logCommand = new HgLogCommand(myProject);
    myRepository.refresh(false, true);
    VirtualFile file = myRepository.findChild(fileName);
    assert file != null;
    List<HgFileRevision> revisions = logCommand.execute(new HgFile(myProject, file), 1, false);
    HgFileRevision rev = revisions.get(0);
    assertEquals(new String(comment.getBytes(charset)), rev.getCommitMessage());
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) HgFile(org.zmlx.hg4idea.HgFile) HgCommitCommand(org.zmlx.hg4idea.command.HgCommitCommand) HgFileRevision(org.zmlx.hg4idea.HgFileRevision) Charset(java.nio.charset.Charset) HgRepository(org.zmlx.hg4idea.repo.HgRepository) HgLogCommand(org.zmlx.hg4idea.command.HgLogCommand)

Example 2 with HgLogCommand

use of org.zmlx.hg4idea.command.HgLogCommand in project intellij-community by JetBrains.

the class HgHistoryTest method testFileNameInTargetRevisionAfterRename.

public void testFileNameInTargetRevisionAfterRename() throws HgCommandException {
    cd(myRepository);
    int namesSize = names.length;
    VirtualFile subDir = myRepository.findFileByRelativePath(subDirName);
    assert subDir != null;
    VirtualFile vFile = VfsUtil.findFileByIoFile(new File(subDir.getPath(), names[namesSize - 1]), true);
    assert vFile != null;
    HgFile hgFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(vFile));
    HgLogCommand logCommand = new HgLogCommand(myProject);
    logCommand.setFollowCopies(true);
    List<HgFileRevision> revisions = logCommand.execute(hgFile, -1, true);
    for (int i = 0; i < revisions.size(); ++i) {
        HgFile expectedFile = new HgFile(myRepository, new File(subDir.getPath(), names[namesSize - i - 1]));
        HgFile targetFileName = HgUtil.getFileNameInTargetRevision(myProject, revisions.get(i).getRevisionNumber(), hgFile);
        assertEquals(expectedFile.getRelativePath(), targetFileName.getRelativePath());
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) HgFile(org.zmlx.hg4idea.HgFile) HgFileRevision(org.zmlx.hg4idea.HgFileRevision) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File) HgFile(org.zmlx.hg4idea.HgFile) HgLogCommand(org.zmlx.hg4idea.command.HgLogCommand)

Example 3 with HgLogCommand

use of org.zmlx.hg4idea.command.HgLogCommand in project intellij-community by JetBrains.

the class HgHistoryTest method testFileNameInTargetRevisionAfterUpdate.

public void testFileNameInTargetRevisionAfterUpdate() throws HgCommandException {
    cd(myRepository);
    //update to parent revision
    hg("update -r .^");
    //update filenames size which is in use
    int namesSize = names.length - 1;
    //find file with parent revision name
    VirtualFile subDir = myRepository.findFileByRelativePath(subDirName);
    assert subDir != null;
    VirtualFile vFile = VfsUtil.findFileByIoFile(new File(subDir.getPath(), names[namesSize - 1]), true);
    assert vFile != null;
    HgFile hgFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(vFile));
    HgLogCommand logCommand = new HgLogCommand(myProject);
    logCommand.setFollowCopies(true);
    List<HgFileRevision> revisions = logCommand.execute(hgFile, -1, true);
    for (int i = 0; i < revisions.size(); ++i) {
        HgFile expectedFile = new HgFile(myRepository, new File(subDir.getPath(), names[namesSize - i - 1]));
        HgFile targetFileName = HgUtil.getFileNameInTargetRevision(myProject, revisions.get(i).getRevisionNumber(), hgFile);
        assertEquals(expectedFile.getRelativePath(), targetFileName.getRelativePath());
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) HgFile(org.zmlx.hg4idea.HgFile) HgFileRevision(org.zmlx.hg4idea.HgFileRevision) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File) HgFile(org.zmlx.hg4idea.HgFile) HgLogCommand(org.zmlx.hg4idea.command.HgLogCommand)

Example 4 with HgLogCommand

use of org.zmlx.hg4idea.command.HgLogCommand in project intellij-community by JetBrains.

the class HgHistoryTest method testFileNameInTargetRevisionFromAffectedFiles.

public void testFileNameInTargetRevisionFromAffectedFiles() throws HgCommandException {
    cd(myRepository);
    int namesSize = names.length;
    VirtualFile subDir = myRepository.findFileByRelativePath(subDirName);
    assert subDir != null;
    VirtualFile vFile = VfsUtil.findFileByIoFile(new File(subDir.getPath(), names[namesSize - 1]), true);
    assert vFile != null;
    HgFile localFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(vFile));
    HgLogCommand logCommand = new HgLogCommand(myProject);
    logCommand.setFollowCopies(true);
    List<HgFileRevision> revisions = logCommand.execute(localFile, -1, true);
    for (int i = 0; i < namesSize; ++i) {
        HgFile hgFile = new HgFile(myRepository, new File(subDir.getPath(), names[namesSize - i - 1]));
        HgFile targetFileName = HgUtil.getFileNameInTargetRevision(myProject, revisions.get(i).getRevisionNumber(), hgFile);
        assertEquals(hgFile.getRelativePath(), targetFileName.getRelativePath());
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) HgFile(org.zmlx.hg4idea.HgFile) HgFileRevision(org.zmlx.hg4idea.HgFileRevision) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File) HgFile(org.zmlx.hg4idea.HgFile) HgLogCommand(org.zmlx.hg4idea.command.HgLogCommand)

Example 5 with HgLogCommand

use of org.zmlx.hg4idea.command.HgLogCommand in project intellij-community by JetBrains.

the class HgLogTest method parseCopied.

private void parseCopied(@NotNull String sourceFileName) throws HgCommandException {
    cd(myRepository);
    String copiedFileName = "copy".concat(sourceFileName);
    touch(sourceFileName);
    myRepository.refresh(false, true);
    hg("add " + sourceFileName);
    hg("commit -m a ");
    hg("cp " + sourceFileName + " " + copiedFileName);
    myRepository.refresh(false, true);
    hg("commit -m a ");
    HgLogCommand logCommand = new HgLogCommand(myProject);
    logCommand.setFollowCopies(false);
    VirtualFile copiedFile = myRepository.findChild(copiedFileName);
    assert copiedFile != null;
    final HgFile hgFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(copiedFile));
    List<HgFileRevision> revisions = logCommand.execute(hgFile, 1, true);
    HgFileRevision rev = revisions.get(0);
    assertTrue(!rev.getAddedFiles().isEmpty());
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) HgFile(org.zmlx.hg4idea.HgFile) HgFileRevision(org.zmlx.hg4idea.HgFileRevision) HgLogCommand(org.zmlx.hg4idea.command.HgLogCommand)

Aggregations

HgLogCommand (org.zmlx.hg4idea.command.HgLogCommand)13 HgFile (org.zmlx.hg4idea.HgFile)8 VirtualFile (com.intellij.openapi.vfs.VirtualFile)7 HgFileRevision (org.zmlx.hg4idea.HgFileRevision)7 File (java.io.File)3 Change (com.intellij.openapi.vcs.changes.Change)2 Nullable (org.jetbrains.annotations.Nullable)2 HgCommitCommand (org.zmlx.hg4idea.command.HgCommitCommand)2 HgCommandResult (org.zmlx.hg4idea.execution.HgCommandResult)2 HgRepository (org.zmlx.hg4idea.repo.HgRepository)2 FilePath (com.intellij.openapi.vcs.FilePath)1 VcsException (com.intellij.openapi.vcs.VcsException)1 CommittedChangeList (com.intellij.openapi.vcs.versionBrowser.CommittedChangeList)1 Charset (java.nio.charset.Charset)1 ArrayList (java.util.ArrayList)1 NotNull (org.jetbrains.annotations.NotNull)1 Test (org.testng.annotations.Test)1 HgFileRevisionLogParser (org.zmlx.hg4idea.log.HgFileRevisionLogParser)1 HgVersion (org.zmlx.hg4idea.util.HgVersion)1