Search in sources :

Example 1 with HgFileRevision

use of org.zmlx.hg4idea.HgFileRevision 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 HgFileRevision

use of org.zmlx.hg4idea.HgFileRevision 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 HgFileRevision

use of org.zmlx.hg4idea.HgFileRevision 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 HgFileRevision

use of org.zmlx.hg4idea.HgFileRevision 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 HgFileRevision

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

the class HgHistoryTest method testUncommittedRenamedFileHistory.

public void testUncommittedRenamedFileHistory() throws HgCommandException {
    cd(myRepository);
    VirtualFile subDir = myRepository.findFileByRelativePath(subDirName);
    assert subDir != null;
    cd(subDir);
    int namesSize = names.length;
    String beforeName = names[namesSize - 1];
    VirtualFile before = VfsUtil.findFileByIoFile(new File(subDir.getPath(), beforeName), true);
    assert before != null;
    FilePath filePath = VcsUtil.getFilePath(VfsUtilCore.virtualToIoFile(before));
    final String renamed = "renamed";
    hg("mv " + beforeName + " " + renamed);
    myRepository.refresh(false, true);
    List<HgFileRevision> revisions = HgHistoryProvider.getHistory((filePath), myRepository, myProject);
    assertEquals(3, revisions.size());
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) FilePath(com.intellij.openapi.vcs.FilePath) HgFileRevision(org.zmlx.hg4idea.HgFileRevision) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File) HgFile(org.zmlx.hg4idea.HgFile)

Aggregations

HgFileRevision (org.zmlx.hg4idea.HgFileRevision)13 HgFile (org.zmlx.hg4idea.HgFile)10 VirtualFile (com.intellij.openapi.vfs.VirtualFile)9 HgLogCommand (org.zmlx.hg4idea.command.HgLogCommand)7 File (java.io.File)5 HgRevisionNumber (org.zmlx.hg4idea.HgRevisionNumber)3 FilePath (com.intellij.openapi.vcs.FilePath)2 VcsException (com.intellij.openapi.vcs.VcsException)2 NotNull (org.jetbrains.annotations.NotNull)2 HgAnnotateCommand (org.zmlx.hg4idea.command.HgAnnotateCommand)2 HgCommitCommand (org.zmlx.hg4idea.command.HgCommitCommand)2 HgRepository (org.zmlx.hg4idea.repo.HgRepository)2 Change (com.intellij.openapi.vcs.changes.Change)1 Charset (java.nio.charset.Charset)1 Nullable (org.jetbrains.annotations.Nullable)1 Test (org.testng.annotations.Test)1 HgWorkingCopyRevisionsCommand (org.zmlx.hg4idea.command.HgWorkingCopyRevisionsCommand)1