From 26212f14502ff395283734742937736149eb46de Mon Sep 17 00:00:00 2001
From: Djamel ALI <dali@takima.fr>
Date: Fri, 8 Jul 2022 14:09:17 +0000
Subject: [PATCH] feat: GitLens added to inspect student's executions history

---
 .../deadlock-extension/package.json            |  3 ++-
 .../deadlock-extension/src/core/gitMission.ts  |  4 ++--
 .../src/recorder/recorder.ts                   | 18 +++++++++++-------
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/deadlock-plugins/deadlock-extension/package.json b/deadlock-plugins/deadlock-extension/package.json
index acb46029..2d85cc66 100644
--- a/deadlock-plugins/deadlock-extension/package.json
+++ b/deadlock-plugins/deadlock-extension/package.json
@@ -133,6 +133,7 @@
     "webpack-dev-server": "^4.9.3"
   },
   "extensionPack": [
-    "ms-vscode-remote.remote-containers"
+    "ms-vscode-remote.remote-containers",
+    "eamodio.gitlens"
   ]
 }
diff --git a/deadlock-plugins/deadlock-extension/src/core/gitMission.ts b/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
index 6df20bee..794137e5 100644
--- a/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/gitMission.ts
@@ -120,8 +120,8 @@ export default class GitMission {
     return this.git.add('.');
   }
 
-  commit(message: string, options?: string[]) {
-    return this.git.commit(message, options ?? []);
+  commit(message: string, options: string[] = []) {
+    return this.git.commit(message, options);
   }
 
   push() {
diff --git a/deadlock-plugins/deadlock-extension/src/recorder/recorder.ts b/deadlock-plugins/deadlock-extension/src/recorder/recorder.ts
index fd9220d6..0eaa8e47 100644
--- a/deadlock-plugins/deadlock-extension/src/recorder/recorder.ts
+++ b/deadlock-plugins/deadlock-extension/src/recorder/recorder.ts
@@ -33,29 +33,33 @@ export default class Recorder {
   }
 
   async setupProject(gitMission: GitMission) {
+    const argsArray: string[] = [`user-git-${(await this.userMission.getGiteaUser()).username}`];
+
+    if(!this.userMission.isReviewing()) {
+      argsArray.push('.git');
+    }
+
     await copyProjectSources(
       GITEA_PATH_IC,
       MISSION_PATH_IC,
-      '.git',
-      `user-git-${(await this.userMission.getGiteaUser()).username}`,
+      ...argsArray
     );
+
     if (!this.userMission.isReviewing()) {
       renameTempToUserGitFiles(MISSION_PATH_IC, await gitMission.getAuthor());
     }
   }
 
   async setupFromRemoteRepo(gitMission: GitMission) {
-    const isRemoteRepoExist = await gitMission.isRemoteRepoExist();
-    if (isRemoteRepoExist) {
+    if (await gitMission.isRemoteRepoExist()) {
       // rm all except git directory pull remote code and setup
       await clearFilesExceptGit(GITEA_PATH_IC);
 
       await gitMission.fetch();
-      await gitMission.checkout('master');
       await gitMission.checkout('live');
     } else {
       await gitMission.commit('initial commit', ['--allow-empty']);
-      await gitMission.createRemoteBranch();
+      await gitMission.createRemoteBranch('master');
       await gitMission.createBranch('live');
     }
   }
@@ -63,7 +67,7 @@ export default class Recorder {
   async run() {
     try {
       await aquirePermissions();
-      // TODO refactor remove this
+      // TODO refactor make it as a sigleton
       this._gitMission = await new GitMission().init();
       await this.setupFromRemoteRepo(this._gitMission);
       await this.setupProject(this._gitMission);
-- 
GitLab