From 4a504db69577bd00644850915a6c5063bf29c989 Mon Sep 17 00:00:00 2001 From: jgindin Date: Thu, 1 Nov 2012 01:19:21 -0700 Subject: [PATCH] In mercurial, a changeset *can* have no parents...that means its a root. --- .../provider/HgCachingCommitedChangesProvider.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgCachingCommitedChangesProvider.java b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgCachingCommitedChangesProvider.java index 8b4f7bce89f8..c59d5fcebc08 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgCachingCommitedChangesProvider.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgCachingCommitedChangesProvider.java @@ -205,7 +205,17 @@ public class HgCachingCommitedChangesProvider implements CachingCommittedChanges for (HgFileRevision revision : localRevisions) { HgRevisionNumber vcsRevisionNumber = revision.getRevisionNumber(); - HgRevisionNumber firstParent = vcsRevisionNumber.getParents().get(0); + List parents = vcsRevisionNumber.getParents(); + + HgRevisionNumber firstParent; + if ( parents.isEmpty() ) { + // There's no parent...this is a root in the repository. + firstParent = null; + } + else { + firstParent = parents.get(0); + } + List changes = new ArrayList(); for (String file : revision.getModifiedFiles()) { changes.add(createChange(root, file, firstParent, file, vcsRevisionNumber, FileStatus.MODIFIED));