aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/commitdata.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2013-02-10 22:22:40 +0200
committerOrgad Shaneh <orgads@gmail.com>2013-02-11 11:10:11 +0100
commit2c68c801969c1cf713d9bef8925d6c2580d8730f (patch)
tree3ee8bcfdb01b027974b051aca7e215a9120b2893 /src/plugins/git/commitdata.cpp
parentae58073080c2bebef359e84e25a5d0beef32fddf (diff)
Git: Make file state resolving more accurate
Change-Id: I238ef964df126a341c87dacf9344ff1570f31845 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/git/commitdata.cpp')
-rw-r--r--src/plugins/git/commitdata.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/git/commitdata.cpp b/src/plugins/git/commitdata.cpp
index fb7092c7b86..cc7c91b1fad 100644
--- a/src/plugins/git/commitdata.cpp
+++ b/src/plugins/git/commitdata.cpp
@@ -90,7 +90,7 @@ static FileStates stateFor(const QChar &c)
{
switch (c.unicode()) {
case ' ':
- return UntrackedFile;
+ return EmptyFileState;
case 'M':
return ModifiedFile;
case 'A':
@@ -103,6 +103,8 @@ static FileStates stateFor(const QChar &c)
return CopiedFile;
case 'U':
return UnmergedFile;
+ case '?':
+ return UntrackedFile;
default:
return UnknownFileState;
}
@@ -144,11 +146,10 @@ bool CommitData::checkLine(const QString &stateInfo, const QString &file)
files.append(qMakePair(xState | UnmergedFile | UnmergedUs, file));
}
} else {
- xState |= StagedFile;
- if (xState != StagedFile)
- files.append(qMakePair(xState, file));
+ if (xState != EmptyFileState)
+ files.append(qMakePair(xState | StagedFile, file));
- if (yState != UntrackedFile) {
+ if (yState != EmptyFileState) {
QString newFile = file;
if (xState & (RenamedFile | CopiedFile))
newFile = file.mid(file.indexOf(QLatin1String(" -> ")) + 4);