Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/diffs/store/utils.js')
-rw-r--r--app/assets/javascripts/diffs/store/utils.js15
1 files changed, 8 insertions, 7 deletions
diff --git a/app/assets/javascripts/diffs/store/utils.js b/app/assets/javascripts/diffs/store/utils.js
index 307c41a98f8..15d2ab71bc8 100644
--- a/app/assets/javascripts/diffs/store/utils.js
+++ b/app/assets/javascripts/diffs/store/utils.js
@@ -18,8 +18,7 @@ import {
EXPANDED_LINE_TYPE,
} from '../constants';
import { prepareRawDiffFile } from '../utils/diff_file';
-
-const SHA1 = /\b([a-f0-9]{40})\b/;
+import { extractFileHash } from '../utils/merge_request';
export const isAdded = (line) => ['new', 'new-nonewline'].includes(line.type);
export const isRemoved = (line) => ['old', 'old-nonewline'].includes(line.type);
@@ -571,14 +570,16 @@ export function isUrlHashFileHeader(urlHash = '') {
}
export function parseUrlHashAsFileHash(urlHash = '', currentDiffFileId = '') {
- const isNoteLink = isUrlHashNoteLink(urlHash);
- let id = urlHash.replace(/^#/, '');
+ const hashless = urlHash.replace(/^#/, '');
+ const isNoteLink = isUrlHashNoteLink(hashless);
+ const extractedSha1 = extractFileHash({ input: hashless });
+ let id = extractedSha1;
if (isNoteLink && currentDiffFileId) {
id = currentDiffFileId;
- } else if (isUrlHashFileHeader(urlHash)) {
- id = id.replace('diff-content-', '');
- } else if (!SHA1.test(id) || isNoteLink) {
+ } else if (isUrlHashFileHeader(hashless)) {
+ id = hashless.replace('diff-content-', '');
+ } else if (!extractedSha1 || isNoteLink) {
id = null;
}