From 2afbe46b396376e42813a0bd93bbf53a7662f952 Mon Sep 17 00:00:00 2001 From: Julie Tibshirani Date: Fri, 24 May 2024 08:59:07 -0700 Subject: [PATCH] Revert "web: navigate to file@commit instead of file@branch" (#62889) This reverts commit e45c2ed. We've decided to revert this behavior after receiving negative feedback from several customers. Instead, we'll work to improve indexing speed and reliability to minimize drift between search results and the file view. --- client/shared/src/search/stream.ts | 20 ++++++++++--------- .../export/searchResultsExport.test.ts | 9 +++++---- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/client/shared/src/search/stream.ts b/client/shared/src/search/stream.ts index 202aeb0d3b9..8ec4cbf3daf 100644 --- a/client/shared/src/search/stream.ts +++ b/client/shared/src/search/stream.ts @@ -619,19 +619,21 @@ export function getRepositoryUrl(repository: string, branches?: string[]): strin } export function getRevision(branches?: string[], version?: string): string { - if (branches && branches.length > 0) { - return branches[0] + let revision = '' + if (branches) { + const branch = branches[0] + if (branch !== '') { + revision = branch + } + } else if (version) { + revision = version } - if (version) { - return version - } - return '' + + return revision } export function getFileMatchUrl(fileMatch: ContentMatch | SymbolMatch | PathMatch): string { - // We are not using getRevision here, because we want to flip the logic from - // "branches first" to "revsion first" - const revision = fileMatch.commit ?? fileMatch.branches?.[0] + const revision = getRevision(fileMatch.branches, fileMatch.commit) const encodedFilePath = fileMatch.path.split('/').map(encodeURIComponent).join('/') return `/${fileMatch.repository}${revision ? '@' + revision : ''}/-/blob/${encodedFilePath}` } diff --git a/client/web/src/search/results/export/searchResultsExport.test.ts b/client/web/src/search/results/export/searchResultsExport.test.ts index 2822c43a599..02a24c51706 100644 --- a/client/web/src/search/results/export/searchResultsExport.test.ts +++ b/client/web/src/search/results/export/searchResultsExport.test.ts @@ -465,7 +465,8 @@ describe('searchResultsToFileContent', () => { ], }, ], - 'Match type,Repository,Repository external URL,File path,File URL,Path matches [path [start end]],Chunk matches [line [start end]]\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,jssource/src_files/include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM@cea3e00eb4990d143c91935013058488c0964ee6/-/blob/jssource/src_files/include/javascript/sugar_3.js,,"[191, [[4, 10] [27, 33]]]; [233, [[6, 12] [59, 65]]]; [209, [[23, 29] [36, 42]]]; [210, [[37, 43]]]; [3496, [[24, 30]]]; [3515, [[38, 44]]]; [3516, [[86, 92]]]"\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM@cea3e00eb4990d143c91935013058488c0964ee6/-/blob/include/javascript/sugar_3.js,,"[44, [[79, 85]]]; [53, [[33, 39] [84, 90]]]; [47, [[18, 24] [55, 61]]]"\ncontent,github.com/pokeclicker/pokeclicker,http://localhost:3443/github.com/pokeclicker/pokeclicker,src/scripts/safari/Safari.ts,http://localhost:3443/github.com/pokeclicker/pokeclicker@8cd76ead3182b39647ae1c7af2dc9b912f7d6e9e/-/blob/src/scripts/safari/Safari.ts,"[src/scripts/safari/Safari.ts, [[12, 18] [19, 25]]]","[0, [[6, 12]]]; [2, [[48, 54]]]; [17, [[51, 57]]]; [25, [[8, 14]]]; [26, [[8, 14]]]"', + + 'Match type,Repository,Repository external URL,File path,File URL,Path matches [path [start end]],Chunk matches [line [start end]]\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,jssource/src_files/include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM/-/blob/jssource/src_files/include/javascript/sugar_3.js,,"[191, [[4, 10] [27, 33]]]; [233, [[6, 12] [59, 65]]]; [209, [[23, 29] [36, 42]]]; [210, [[37, 43]]]; [3496, [[24, 30]]]; [3515, [[38, 44]]]; [3516, [[86, 92]]]"\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM/-/blob/include/javascript/sugar_3.js,,"[44, [[79, 85]]]; [53, [[33, 39] [84, 90]]]; [47, [[18, 24] [55, 61]]]"\ncontent,github.com/pokeclicker/pokeclicker,http://localhost:3443/github.com/pokeclicker/pokeclicker,src/scripts/safari/Safari.ts,http://localhost:3443/github.com/pokeclicker/pokeclicker/-/blob/src/scripts/safari/Safari.ts,"[src/scripts/safari/Safari.ts, [[12, 18] [19, 25]]]","[0, [[6, 12]]]; [2, [[48, 54]]]; [17, [[51, 57]]]; [25, [[8, 14]]]; [26, [[8, 14]]]"', ], [ 'file', @@ -898,7 +899,7 @@ describe('searchResultsToFileContent', () => { }, ], - 'Match type,Repository,Repository external URL,File path,File URL,Path matches [path [start end]],Chunk matches [line [start end]]\ncontent,github.com/servo/servo,http://localhost:3443/github.com/servo/servo,tests/wpt/web-platform-tests/tools/wpt/run.py,http://localhost:3443/github.com/servo/servo@2a45f247c44117e4a13603a87a3b6304905f8d1f/-/blob/tests/wpt/web-platform-tests/tools/wpt/run.py,,"[623, [[6, 12]]]; [624, [[12, 18]]]; [625, [[26, 32]]]; [751, [[5, 11] [14, 20]]]; [635, [[52, 58]]]"\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,jssource/src_files/include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM@cea3e00eb4990d143c91935013058488c0964ee6/-/blob/jssource/src_files/include/javascript/sugar_3.js,,"[191, [[4, 10] [27, 33]]]; [233, [[6, 12] [59, 65]]]; [209, [[23, 29] [36, 42]]]; [210, [[37, 43]]]; [3496, [[24, 30]]]; [3515, [[38, 44]]]; [3516, [[86, 92]]]"\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM@cea3e00eb4990d143c91935013058488c0964ee6/-/blob/include/javascript/sugar_3.js,,"[44, [[79, 85]]]; [53, [[33, 39] [84, 90]]]; [47, [[18, 24]]]"', + 'Match type,Repository,Repository external URL,File path,File URL,Path matches [path [start end]],Chunk matches [line [start end]]\ncontent,github.com/servo/servo,http://localhost:3443/github.com/servo/servo,tests/wpt/web-platform-tests/tools/wpt/run.py,http://localhost:3443/github.com/servo/servo/-/blob/tests/wpt/web-platform-tests/tools/wpt/run.py,,"[623, [[6, 12]]]; [624, [[12, 18]]]; [625, [[26, 32]]]; [751, [[5, 11] [14, 20]]]; [635, [[52, 58]]]"\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,jssource/src_files/include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM/-/blob/jssource/src_files/include/javascript/sugar_3.js,,"[191, [[4, 10] [27, 33]]]; [233, [[6, 12] [59, 65]]]; [209, [[23, 29] [36, 42]]]; [210, [[37, 43]]]; [3496, [[24, 30]]]; [3515, [[38, 44]]]; [3516, [[86, 92]]]"\ncontent,github.com/salesagility/SuiteCRM,http://localhost:3443/github.com/salesagility/SuiteCRM,include/javascript/sugar_3.js,http://localhost:3443/github.com/salesagility/SuiteCRM/-/blob/include/javascript/sugar_3.js,,"[44, [[79, 85]]]; [53, [[33, 39] [84, 90]]]; [47, [[18, 24]]]"', ], [ 'repo', @@ -1140,7 +1141,7 @@ describe('searchResultsToFileContent', () => { }, ], - 'Match type,Repository,Repository external URL,File path,File URL,Path matches [path [start end]],Chunk matches [line [start end]]\npath,github.com/zzzeyez/dots,http://localhost:3443/github.com/zzzeyez/dots,bin/safari,http://localhost:3443/github.com/zzzeyez/dots@b69d3d3e6fb0473d6d25d28bd3446772904ff579/-/blob/bin/safari,"[bin/safari, [[4, 10]]]",\npath,github.com/rockyzhang24/dotfiles,http://localhost:3443/github.com/rockyzhang24/dotfiles,.config/bin/safari,http://localhost:3443/github.com/rockyzhang24/dotfiles@58517770e9fcdd08ba6a2971aaf33a2fcec1b49c/-/blob/.config/bin/safari,"[.config/bin/safari, [[12, 18]]]",\npath,github.com/DavidsFiddle/Sonic-Pi-Code-Bits,http://localhost:3443/github.com/DavidsFiddle/Sonic-Pi-Code-Bits,Beats/Safari,http://localhost:3443/github.com/DavidsFiddle/Sonic-Pi-Code-Bits@6a1adbe8a5a556042dd20b7c064635b0b5475d0e/-/blob/Beats/Safari,"[Beats/Safari, [[6, 12]]]",\npath,github.com/unixorn/tumult.plugin.zsh,http://localhost:3443/github.com/unixorn/tumult.plugin.zsh,bin/safari,http://localhost:3443/github.com/unixorn/tumult.plugin.zsh@cd1ac844ba533c463d105330cc2ffaf4421ab42e/-/blob/bin/safari,"[bin/safari, [[4, 10]]]",\npath,github.com/jaymcgavren/dotfiles,http://localhost:3443/github.com/jaymcgavren/dotfiles,bin/osx/safari,http://localhost:3443/github.com/jaymcgavren/dotfiles@67beb23333f82d3d35a1698a13f7ee574a7b2c43/-/blob/bin/osx/safari,"[bin/osx/safari, [[8, 14]]]",', + 'Match type,Repository,Repository external URL,File path,File URL,Path matches [path [start end]],Chunk matches [line [start end]]\npath,github.com/zzzeyez/dots,http://localhost:3443/github.com/zzzeyez/dots,bin/safari,http://localhost:3443/github.com/zzzeyez/dots/-/blob/bin/safari,"[bin/safari, [[4, 10]]]",\npath,github.com/rockyzhang24/dotfiles,http://localhost:3443/github.com/rockyzhang24/dotfiles,.config/bin/safari,http://localhost:3443/github.com/rockyzhang24/dotfiles/-/blob/.config/bin/safari,"[.config/bin/safari, [[12, 18]]]",\npath,github.com/DavidsFiddle/Sonic-Pi-Code-Bits,http://localhost:3443/github.com/DavidsFiddle/Sonic-Pi-Code-Bits,Beats/Safari,http://localhost:3443/github.com/DavidsFiddle/Sonic-Pi-Code-Bits/-/blob/Beats/Safari,"[Beats/Safari, [[6, 12]]]",\npath,github.com/unixorn/tumult.plugin.zsh,http://localhost:3443/github.com/unixorn/tumult.plugin.zsh,bin/safari,http://localhost:3443/github.com/unixorn/tumult.plugin.zsh/-/blob/bin/safari,"[bin/safari, [[4, 10]]]",\npath,github.com/jaymcgavren/dotfiles,http://localhost:3443/github.com/jaymcgavren/dotfiles,bin/osx/safari,http://localhost:3443/github.com/jaymcgavren/dotfiles/-/blob/bin/osx/safari,"[bin/osx/safari, [[8, 14]]]",', ], [ 'symbol', @@ -1227,7 +1228,7 @@ describe('searchResultsToFileContent', () => { }, ] as SymbolMatch[], - 'Match type,Repository,Repository external URL,File path,File URL,Symbols [kind name url]\nsymbol,github.com/sourcegraph/sourcegraph,http://localhost:3443/github.com/sourcegraph/sourcegraph,enterprise/internal/batches/types/code_host.go,http://localhost:3443/github.com/sourcegraph/sourcegraph@6c09a2246d9c9ddf6efa2d0cdf095ea8b86b0c9a/-/blob/enterprise/internal/batches/types/code_host.go,"[STRUCT, CodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/enterprise/internal/batches/types/code_host.go?L6:6-6:14]"\nsymbol,github.com/sourcegraph/sourcegraph,http://localhost:3443/github.com/sourcegraph/sourcegraph,internal/database/external_services.go,http://localhost:3443/github.com/sourcegraph/sourcegraph@6c09a2246d9c9ddf6efa2d0cdf095ea8b86b0c9a/-/blob/internal/database/external_services.go,"[FIELD, CodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/database/external_services.go?L225:2-225:10]"\nsymbol,github.com/koderover/zadig,http://localhost:3443/github.com/koderover/zadig,pkg/cli/upgradeassistant/internal/repository/models/codehost.go,http://localhost:3443/github.com/koderover/zadig@039158ab468a062c9f36dcb1d1b9d259083fba0a/-/blob/pkg/cli/upgradeassistant/internal/repository/models/codehost.go,"[STRUCT, CodeHost, http://localhost:3443/github.com/koderover/zadig/-/blob/pkg/cli/upgradeassistant/internal/repository/models/codehost.go?L19:6-19:14]"\nsymbol,github.com/sourcegraph/sourcegraph,http://localhost:3443/github.com/sourcegraph/sourcegraph,internal/extsvc/codehost.go,http://localhost:3443/github.com/sourcegraph/sourcegraph@6c09a2246d9c9ddf6efa2d0cdf095ea8b86b0c9a/-/blob/internal/extsvc/codehost.go,"[STRUCT, CodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/extsvc/codehost.go?L10:6-10:14]; [FUNCTION, NewCodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/extsvc/codehost.go?L64:9-64:20]"', + 'Match type,Repository,Repository external URL,File path,File URL,Symbols [kind name url]\nsymbol,github.com/sourcegraph/sourcegraph,http://localhost:3443/github.com/sourcegraph/sourcegraph,enterprise/internal/batches/types/code_host.go,http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/enterprise/internal/batches/types/code_host.go,"[STRUCT, CodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/enterprise/internal/batches/types/code_host.go?L6:6-6:14]"\nsymbol,github.com/sourcegraph/sourcegraph,http://localhost:3443/github.com/sourcegraph/sourcegraph,internal/database/external_services.go,http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/database/external_services.go,"[FIELD, CodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/database/external_services.go?L225:2-225:10]"\nsymbol,github.com/koderover/zadig,http://localhost:3443/github.com/koderover/zadig,pkg/cli/upgradeassistant/internal/repository/models/codehost.go,http://localhost:3443/github.com/koderover/zadig/-/blob/pkg/cli/upgradeassistant/internal/repository/models/codehost.go,"[STRUCT, CodeHost, http://localhost:3443/github.com/koderover/zadig/-/blob/pkg/cli/upgradeassistant/internal/repository/models/codehost.go?L19:6-19:14]"\nsymbol,github.com/sourcegraph/sourcegraph,http://localhost:3443/github.com/sourcegraph/sourcegraph,internal/extsvc/codehost.go,http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/extsvc/codehost.go,"[STRUCT, CodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/extsvc/codehost.go?L10:6-10:14]; [FUNCTION, NewCodeHost, http://localhost:3443/github.com/sourcegraph/sourcegraph/-/blob/internal/extsvc/codehost.go?L64:9-64:20]"', ], [ 'diff',