@@ -711,10 +711,13 @@ export class CommandCenter {
711
711
}
712
712
713
713
try {
714
- const [ head , rebaseOrMergeHead ] = await Promise . all ( [
714
+ const [ head , rebaseOrMergeHead , diffBetween ] = await Promise . all ( [
715
715
repo . getCommit ( 'HEAD' ) ,
716
- isRebasing ? repo . getCommit ( 'REBASE_HEAD' ) : repo . getCommit ( 'MERGE_HEAD' )
716
+ isRebasing ? repo . getCommit ( 'REBASE_HEAD' ) : repo . getCommit ( 'MERGE_HEAD' ) ,
717
+ await repo . diffBetween ( isRebasing ? 'REBASE_HEAD' : 'MERGE_HEAD' , 'HEAD' )
717
718
] ) ;
719
+ const diffFile = diffBetween ?. find ( diff => diff . uri . fsPath === uri . fsPath ) ;
720
+
718
721
// ours (current branch and commit)
719
722
current . detail = head . refNames . map ( s => s . replace ( / ^ H E A D - > / , '' ) ) . join ( ', ' ) ;
720
723
current . description = '$(git-commit) ' + head . hash . substring ( 0 , 7 ) ;
@@ -723,7 +726,11 @@ export class CommandCenter {
723
726
// theirs
724
727
incoming . detail = rebaseOrMergeHead . refNames . join ( ', ' ) ;
725
728
incoming . description = '$(git-commit) ' + rebaseOrMergeHead . hash . substring ( 0 , 7 ) ;
726
- incoming . uri = toGitUri ( uri , rebaseOrMergeHead . hash ) ;
729
+ if ( diffFile ) {
730
+ incoming . uri = toGitUri ( diffFile . originalUri , rebaseOrMergeHead . hash ) ;
731
+ } else {
732
+ incoming . uri = toGitUri ( uri , rebaseOrMergeHead . hash ) ;
733
+ }
727
734
728
735
} catch ( error ) {
729
736
// not so bad, can continue with just uris
0 commit comments