forked from qt-creator/qt-creator
Git: Support typechange
Replacing a normal file with a symbolic link. Change-Id: Id07ab339e8fcdf039b61d6e459b8d751d499f4f6 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
b98f2a3059
commit
877a10c8ef
@@ -94,6 +94,8 @@ static FileStates stateFor(const QChar &c)
|
||||
return CopiedFile;
|
||||
case 'U':
|
||||
return UnmergedFile;
|
||||
case 'T':
|
||||
return TypeChangedFile;
|
||||
case '?':
|
||||
return UntrackedFile;
|
||||
default:
|
||||
@@ -209,6 +211,8 @@ QString CommitData::stateDisplayName(const FileStates &state)
|
||||
resultState.append(tr("renamed"));
|
||||
else if (state & CopiedFile)
|
||||
resultState.append(tr("copied"));
|
||||
else if (state & TypeChangedFile)
|
||||
resultState.append(tr("typechange"));
|
||||
if (state & UnmergedUs) {
|
||||
if (state & UnmergedThem)
|
||||
resultState.append(tr(" by both"));
|
||||
|
@@ -71,6 +71,7 @@ enum FileState {
|
||||
RenamedFile = 0x10,
|
||||
CopiedFile = 0x20,
|
||||
UnmergedFile = 0x40,
|
||||
TypeChangedFile = 0x80,
|
||||
|
||||
UnmergedUs = 0x100,
|
||||
UnmergedThem = 0x200,
|
||||
|
@@ -2472,7 +2472,7 @@ bool GitClient::addAndCommit(const QString &repositoryDirectory,
|
||||
filesToAdd.append(file);
|
||||
|
||||
if ((state & StagedFile) && !checked) {
|
||||
if (state & (ModifiedFile | AddedFile | DeletedFile)) {
|
||||
if (state & (ModifiedFile | AddedFile | DeletedFile | TypeChangedFile)) {
|
||||
filesToReset.append(file);
|
||||
} else if (state & (RenamedFile | CopiedFile)) {
|
||||
const QString newFile = file.mid(file.indexOf(renameSeparator) + renameSeparator.count());
|
||||
@@ -2482,7 +2482,7 @@ bool GitClient::addAndCommit(const QString &repositoryDirectory,
|
||||
QTC_ASSERT(false, continue); // There should not be unmerged files when committing!
|
||||
}
|
||||
|
||||
if (state == ModifiedFile && checked) {
|
||||
if ((state == ModifiedFile || state == TypeChangedFile) && checked) {
|
||||
filesToReset.removeAll(file);
|
||||
filesToAdd.append(file);
|
||||
} else if (state == AddedFile && checked) {
|
||||
|
@@ -1396,6 +1396,10 @@ void GitPlugin::testStatusParsing_data()
|
||||
|
||||
QTest::newRow(" M") << FileStates(ModifiedFile) << FileStates(UnknownFileState);
|
||||
QTest::newRow(" D") << FileStates(DeletedFile) << FileStates(UnknownFileState);
|
||||
QTest::newRow(" T") << FileStates(TypeChangedFile) << FileStates(UnknownFileState);
|
||||
QTest::newRow("T ") << (TypeChangedFile | StagedFile) << FileStates(UnknownFileState);
|
||||
QTest::newRow("TM") << (TypeChangedFile | StagedFile) << FileStates(ModifiedFile);
|
||||
QTest::newRow("MT") << (ModifiedFile | StagedFile) << FileStates(TypeChangedFile);
|
||||
QTest::newRow("M ") << (ModifiedFile | StagedFile) << FileStates(UnknownFileState);
|
||||
QTest::newRow("MM") << (ModifiedFile | StagedFile) << FileStates(ModifiedFile);
|
||||
QTest::newRow("MD") << (ModifiedFile | StagedFile) << FileStates(DeletedFile);
|
||||
|
@@ -146,7 +146,7 @@ void GitSubmitEditor::setCommitData(const CommitData &d)
|
||||
return SubmitFileModel::FileUnmerged;
|
||||
if (state.testFlag(AddedFile) || state.testFlag(UntrackedFile))
|
||||
return SubmitFileModel::FileAdded;
|
||||
if (state.testFlag(ModifiedFile))
|
||||
if (state.testFlag(ModifiedFile) || state.testFlag(TypeChangedFile))
|
||||
return SubmitFileModel::FileModified;
|
||||
if (state.testFlag(DeletedFile))
|
||||
return SubmitFileModel::FileDeleted;
|
||||
|
Reference in New Issue
Block a user