Skip to content

Commit 0a50d7e

Browse files
authored
Close diff only for file in index or working state (#1140)
Fixes #1137
1 parent 20bc055 commit 0a50d7e

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

src/commandsAndMenu.tsx

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -607,14 +607,23 @@ export function addCommands(
607607
modelIsLoading.reject(msg);
608608
}
609609

610-
gitModel.statusChanged.connect((_, status) => {
611-
const targetFile = status.files.find(
612-
fileStatus => model.filename === fileStatus.from
613-
);
614-
if (!targetFile || targetFile.status === 'unmodified') {
615-
mainAreaItem.dispose();
616-
}
617-
});
610+
if (
611+
model.challenger.source === Git.Diff.SpecialRef.INDEX ||
612+
model.challenger.source === Git.Diff.SpecialRef.WORKING ||
613+
model.reference.source === Git.Diff.SpecialRef.INDEX ||
614+
model.reference.source === Git.Diff.SpecialRef.WORKING
615+
) {
616+
const maybeClose = (_: IGitExtension, status: Git.IStatus) => {
617+
const targetFile = status.files.find(
618+
fileStatus => model.filename === fileStatus.from
619+
);
620+
if (!targetFile || targetFile.status === 'unmodified') {
621+
gitModel.statusChanged.disconnect(maybeClose);
622+
mainAreaItem.dispose();
623+
}
624+
};
625+
gitModel.statusChanged.connect(maybeClose);
626+
}
618627
}
619628

620629
return mainAreaItem;

0 commit comments

Comments
 (0)