diff --git a/dist/index.js b/dist/index.js
index cc5df6a..f2b3a02 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -746,6 +746,7 @@ class GitCommandManager {
                 '--raw',
                 '--cc',
                 '--no-renames',
+                '--no-abbrev',
                 `--format=%H%n%T%n%P%n%G?%n%s%n%b%n${endOfBody}`,
                 ref
             ]);
@@ -761,7 +762,7 @@ class GitCommandManager {
                 subject: detailLines[4],
                 body: detailLines.slice(5, endOfBodyIndex).join('\n'),
                 changes: lines.slice(endOfBodyIndex + 2, -1).map(line => {
-                    const change = line.match(/^:(\d{6}) (\d{6}) \w{7} \w{7} ([AMD])\s+(.*)$/);
+                    const change = line.match(/^:(\d{6}) (\d{6}) \w{40} \w{40} ([AMD])\s+(.*)$/);
                     if (change) {
                         return {
                             mode: change[3] === 'D' ? change[1] : change[2],
diff --git a/src/git-command-manager.ts b/src/git-command-manager.ts
index 016f3e8..b17e1f3 100644
--- a/src/git-command-manager.ts
+++ b/src/git-command-manager.ts
@@ -160,6 +160,7 @@ export class GitCommandManager {
       '--raw',
       '--cc',
       '--no-renames',
+      '--no-abbrev',
       `--format=%H%n%T%n%P%n%G?%n%s%n%b%n${endOfBody}`,
       ref
     ])
@@ -177,7 +178,7 @@ export class GitCommandManager {
       body: detailLines.slice(5, endOfBodyIndex).join('\n'),
       changes: lines.slice(endOfBodyIndex + 2, -1).map(line => {
         const change = line.match(
-          /^:(\d{6}) (\d{6}) \w{7} \w{7} ([AMD])\s+(.*)$/
+          /^:(\d{6}) (\d{6}) \w{40} \w{40} ([AMD])\s+(.*)$/
         )
         if (change) {
           return {