-
+
@@ -32,6 +47,10 @@ export default {
type: Object,
required: true,
},
+ prevCommit: {
+ type: Object,
+ required: true,
+ },
},
setup(props) {
diff --git a/src/modules/GitView/composables/useGitView.js b/src/modules/GitView/composables/useGitView.js
index 479d05b..1577b25 100644
--- a/src/modules/GitView/composables/useGitView.js
+++ b/src/modules/GitView/composables/useGitView.js
@@ -1,6 +1,15 @@
import { ref } from '@vue/reactivity';
const isDetailsOpened = ref(false);
+const isFileDetailsOpened = ref(false);
const shaCommit = ref('');
+const prevShaCommit = ref('');
+const fileName = ref('');
-export const useGitView = () => ({ isDetailsOpened, shaCommit });
+export const useGitView = () => ({
+ isDetailsOpened,
+ isFileDetailsOpened,
+ shaCommit,
+ prevShaCommit,
+ fileName,
+});
diff --git a/src/services/gitReader.js b/src/services/gitReader.js
index 538b299..dbe4b7a 100644
--- a/src/services/gitReader.js
+++ b/src/services/gitReader.js
@@ -96,11 +96,19 @@ export default class GitReader {
async getGitDiff(path, commit, stat) {
const commandResponse = await this.execGit(
path,
- `git show ${commit} --pretty="format:" ${stat ? '--stat' : ''}`
+ `git show ${commit} --pretty="format:" ${stat ? '--stat="124"' : ''}`
);
return this.commitStatParser(commandResponse);
}
+ async getFileDetails(path, commit, prevCommit, fileName) {
+ const commandResponse = await this.execGit(
+ path,
+ `git diff ${prevCommit} ${commit} ${fileName}`
+ );
+ return commandResponse;
+ }
+
commitStatParser(commitDetails) {
const list = commitDetails
.trim()
diff --git a/utils/constants.js b/utils/constants.js
index 27476a2..d0072b2 100644
--- a/utils/constants.js
+++ b/utils/constants.js
@@ -12,4 +12,6 @@ module.exports = {
GET_GIT_LOGS_BY_OFFSET_REPLY: 'getGitLogsByOffset-reply',
GET_GIT_DIFF_EVENT: 'getGitDiff-event',
GET_GIT_DIFF_REPLY: 'getGitDiff-reply',
+ GET_FILE_DETAILS_EVENT: 'getFileDetails-event',
+ GET_FILE_DETAILS_REPLY: 'getFileDetails-reply',
};