@young1lin/dsh-ui-gitworkbench 0.1.16 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/CHANGELOG_EN.md +10 -0
- package/README.md +26 -2
- package/README_EN.md +1 -1
- package/lib/client.js +397 -358
- package/lib/index.js +42 -12
- package/lib/worktree.js +50 -0
- package/package.json +1 -1
- package/src/client/DiffViews.tsx +7 -3
- package/src/client/GitWorkbenchPanel.tsx +14 -0
- package/src/client/diff-model.ts +20 -0
- package/src/client/locales.ts +6 -2
- package/src/index.ts +41 -13
- package/src/worktree.ts +56 -0
package/lib/client.js
CHANGED
|
@@ -469,349 +469,349 @@ window.__ModuleLoader__.load({
|
|
|
469
469
|
document.head.appendChild(tag);
|
|
470
470
|
}
|
|
471
471
|
var GitWorkbenchPanel_module_css_default = {
|
|
472
|
-
"
|
|
473
|
-
"
|
|
474
|
-
"
|
|
475
|
-
"
|
|
476
|
-
"
|
|
477
|
-
"funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
|
|
478
|
-
"commitSubject": "SD8qLW_commitSubject",
|
|
479
|
-
"commitPopBody": "SD8qLW_commitPopBody",
|
|
480
|
-
"wordDel": "SD8qLW_wordDel",
|
|
481
|
-
"funnelTabActive": "SD8qLW_funnelTabActive",
|
|
482
|
-
"fbDirName": "SD8qLW_fbDirName",
|
|
483
|
-
"imgPane": "SD8qLW_imgPane",
|
|
484
|
-
"paneDivider": "SD8qLW_paneDivider",
|
|
485
|
-
"segmented": "SD8qLW_segmented",
|
|
486
|
-
"scopeRow": "SD8qLW_scopeRow",
|
|
487
|
-
"funnelTabs": "SD8qLW_funnelTabs",
|
|
488
|
-
"sideActions": "SD8qLW_sideActions",
|
|
489
|
-
"gsSlide": "SD8qLW_gsSlide",
|
|
490
|
-
"commitLine": "SD8qLW_commitLine",
|
|
472
|
+
"themeRowSplit": "SD8qLW_themeRowSplit",
|
|
473
|
+
"scopeBtnActive": "SD8qLW_scopeBtnActive",
|
|
474
|
+
"fbPath": "SD8qLW_fbPath",
|
|
475
|
+
"commitActive": "SD8qLW_commitActive",
|
|
476
|
+
"fbRow": "SD8qLW_fbRow",
|
|
491
477
|
"lineDel": "SD8qLW_lineDel",
|
|
478
|
+
"cmHost": "SD8qLW_cmHost",
|
|
479
|
+
"funnelBoundClear": "SD8qLW_funnelBoundClear",
|
|
480
|
+
"chevron": "SD8qLW_chevron",
|
|
481
|
+
"headerViewRef": "SD8qLW_headerViewRef",
|
|
482
|
+
"cardDeleted": "SD8qLW_cardDeleted",
|
|
483
|
+
"headerTotalsAdd": "SD8qLW_headerTotalsAdd",
|
|
484
|
+
"commitHasBody": "SD8qLW_commitHasBody",
|
|
485
|
+
"funnelPresetActive": "SD8qLW_funnelPresetActive",
|
|
486
|
+
"blameCell": "SD8qLW_blameCell",
|
|
487
|
+
"sideCodeAdd": "SD8qLW_sideCodeAdd",
|
|
488
|
+
"fileCounts": "SD8qLW_fileCounts",
|
|
489
|
+
"lineHunk": "SD8qLW_lineHunk",
|
|
490
|
+
"graphCell": "SD8qLW_graphCell",
|
|
491
|
+
"headerView": "SD8qLW_headerView",
|
|
492
|
+
"signAdd": "SD8qLW_signAdd",
|
|
493
|
+
"sideTabs": "SD8qLW_sideTabs",
|
|
492
494
|
"funnelBounds": "SD8qLW_funnelBounds",
|
|
493
|
-
"
|
|
495
|
+
"commitRef": "SD8qLW_commitRef",
|
|
496
|
+
"btnIcon": "SD8qLW_btnIcon",
|
|
497
|
+
"cardGlyph": "SD8qLW_cardGlyph",
|
|
498
|
+
"commitPopMeta": "SD8qLW_commitPopMeta",
|
|
499
|
+
"cal": "SD8qLW_cal",
|
|
500
|
+
"imgCaption": "SD8qLW_imgCaption",
|
|
494
501
|
"fbList": "SD8qLW_fbList",
|
|
495
|
-
"
|
|
496
|
-
"
|
|
497
|
-
"
|
|
498
|
-
"
|
|
499
|
-
"
|
|
502
|
+
"sidePane": "SD8qLW_sidePane",
|
|
503
|
+
"treeActions": "SD8qLW_treeActions",
|
|
504
|
+
"overlay": "SD8qLW_overlay",
|
|
505
|
+
"funnel": "SD8qLW_funnel",
|
|
506
|
+
"funnelTabCount": "SD8qLW_funnelTabCount",
|
|
507
|
+
"compareArrow": "SD8qLW_compareArrow",
|
|
508
|
+
"funnelName": "SD8qLW_funnelName",
|
|
509
|
+
"sideCols": "SD8qLW_sideCols",
|
|
510
|
+
"funnelSearch": "SD8qLW_funnelSearch",
|
|
511
|
+
"treeIcon": "SD8qLW_treeIcon",
|
|
512
|
+
"btnClose": "SD8qLW_btnClose",
|
|
513
|
+
"bgEmpty": "SD8qLW_bgEmpty",
|
|
514
|
+
"treeDirCounts": "SD8qLW_treeDirCounts",
|
|
515
|
+
"layoutGlyph": "SD8qLW_layoutGlyph",
|
|
516
|
+
"menuPop": "SD8qLW_menuPop",
|
|
517
|
+
"refButton": "SD8qLW_refButton",
|
|
518
|
+
"funnelPresets": "SD8qLW_funnelPresets",
|
|
519
|
+
"bodyRow": "SD8qLW_bodyRow",
|
|
520
|
+
"sideNavCount": "SD8qLW_sideNavCount",
|
|
521
|
+
"treeIconDown": "SD8qLW_treeIconDown",
|
|
522
|
+
"layoutSwitch": "SD8qLW_layoutSwitch",
|
|
523
|
+
"chevronOpen": "SD8qLW_chevronOpen",
|
|
524
|
+
"lineContext": "SD8qLW_lineContext",
|
|
525
|
+
"calOut": "SD8qLW_calOut",
|
|
526
|
+
"sideEditCell": "SD8qLW_sideEditCell",
|
|
527
|
+
"syncLevel": "SD8qLW_syncLevel",
|
|
528
|
+
"fbCommitHash": "SD8qLW_fbCommitHash",
|
|
529
|
+
"layoutButton": "SD8qLW_layoutButton",
|
|
530
|
+
"swatch": "SD8qLW_swatch",
|
|
531
|
+
"diffPre": "SD8qLW_diffPre",
|
|
532
|
+
"lnOld": "SD8qLW_lnOld",
|
|
533
|
+
"lnNew": "SD8qLW_lnNew",
|
|
534
|
+
"sideBanner": "SD8qLW_sideBanner",
|
|
535
|
+
"elideHead": "SD8qLW_elideHead",
|
|
536
|
+
"headerLeft": "SD8qLW_headerLeft",
|
|
537
|
+
"paneDividerY": "SD8qLW_paneDividerY",
|
|
538
|
+
"sideNum": "SD8qLW_sideNum",
|
|
539
|
+
"pathDirGlyph": "SD8qLW_pathDirGlyph",
|
|
540
|
+
"filterChips": "SD8qLW_filterChips",
|
|
541
|
+
"diffScroll": "SD8qLW_diffScroll",
|
|
542
|
+
"paletteRow": "SD8qLW_paletteRow",
|
|
543
|
+
"sideCodeSame": "SD8qLW_sideCodeSame",
|
|
544
|
+
"commitsPane": "SD8qLW_commitsPane",
|
|
545
|
+
"resizer": "SD8qLW_resizer",
|
|
546
|
+
"btn": "SD8qLW_btn",
|
|
547
|
+
"chipSystem": "SD8qLW_chipSystem",
|
|
500
548
|
"sliderValue": "SD8qLW_sliderValue",
|
|
501
|
-
"
|
|
502
|
-
"
|
|
503
|
-
"
|
|
549
|
+
"themeDirty": "SD8qLW_themeDirty",
|
|
550
|
+
"layoutButtonOn": "SD8qLW_layoutButtonOn",
|
|
551
|
+
"fileStatus": "SD8qLW_fileStatus",
|
|
552
|
+
"commitBox": "SD8qLW_commitBox",
|
|
504
553
|
"sideNav": "SD8qLW_sideNav",
|
|
505
|
-
"
|
|
506
|
-
"
|
|
507
|
-
"
|
|
508
|
-
"
|
|
509
|
-
"
|
|
510
|
-
"
|
|
511
|
-
"
|
|
512
|
-
"
|
|
513
|
-
"treeSub": "SD8qLW_treeSub",
|
|
514
|
-
"filterChips": "SD8qLW_filterChips",
|
|
515
|
-
"diffSpacer": "SD8qLW_diffSpacer",
|
|
516
|
-
"miniBtn": "SD8qLW_miniBtn",
|
|
517
|
-
"btnIcon": "SD8qLW_btnIcon",
|
|
518
|
-
"sideBannerTitle": "SD8qLW_sideBannerTitle",
|
|
519
|
-
"refLabel": "SD8qLW_refLabel",
|
|
520
|
-
"treeDirLi": "SD8qLW_treeDirLi",
|
|
521
|
-
"calNav": "SD8qLW_calNav",
|
|
554
|
+
"fbMain": "SD8qLW_fbMain",
|
|
555
|
+
"chipDark": "SD8qLW_chipDark",
|
|
556
|
+
"sideColGrid": "SD8qLW_sideColGrid",
|
|
557
|
+
"sideColGridWrap": "SD8qLW_sideColGridWrap",
|
|
558
|
+
"segmentActive": "SD8qLW_segmentActive",
|
|
559
|
+
"syncUpstream": "SD8qLW_syncUpstream",
|
|
560
|
+
"treeDir": "SD8qLW_treeDir",
|
|
561
|
+
"fbBody": "SD8qLW_fbBody",
|
|
522
562
|
"commitMessage": "SD8qLW_commitMessage",
|
|
563
|
+
"diffPane": "SD8qLW_diffPane",
|
|
564
|
+
"miniBtnPrimary": "SD8qLW_miniBtnPrimary",
|
|
565
|
+
"pathNode": "SD8qLW_pathNode",
|
|
566
|
+
"compareBar": "SD8qLW_compareBar",
|
|
567
|
+
"wtCurrent": "SD8qLW_wtCurrent",
|
|
568
|
+
"calTitle": "SD8qLW_calTitle",
|
|
569
|
+
"sideColRight": "SD8qLW_sideColRight",
|
|
570
|
+
"cardAhead": "SD8qLW_cardAhead",
|
|
571
|
+
"fbCommitWho": "SD8qLW_fbCommitWho",
|
|
572
|
+
"cardWt": "SD8qLW_cardWt",
|
|
573
|
+
"sideActions": "SD8qLW_sideActions",
|
|
574
|
+
"fileDiscard": "SD8qLW_fileDiscard",
|
|
575
|
+
"sideColGridBlame": "SD8qLW_sideColGridBlame",
|
|
576
|
+
"resizerActive": "SD8qLW_resizerActive",
|
|
577
|
+
"sideRails": "SD8qLW_sideRails",
|
|
578
|
+
"sideNotice": "SD8qLW_sideNotice",
|
|
523
579
|
"fbNote": "SD8qLW_fbNote",
|
|
524
|
-
"
|
|
525
|
-
"
|
|
526
|
-
"
|
|
527
|
-
"
|
|
528
|
-
"
|
|
580
|
+
"headerBranch": "SD8qLW_headerBranch",
|
|
581
|
+
"treeFilter": "SD8qLW_treeFilter",
|
|
582
|
+
"funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
|
|
583
|
+
"funnelButton": "SD8qLW_funnelButton",
|
|
584
|
+
"body": "SD8qLW_body",
|
|
585
|
+
"scopeBtn": "SD8qLW_scopeBtn",
|
|
586
|
+
"commits": "SD8qLW_commits",
|
|
587
|
+
"funnelBoundVal": "SD8qLW_funnelBoundVal",
|
|
588
|
+
"sideRail": "SD8qLW_sideRail",
|
|
589
|
+
"signDel": "SD8qLW_signDel",
|
|
590
|
+
"checkBox": "SD8qLW_checkBox",
|
|
591
|
+
"sideRailSpan": "SD8qLW_sideRailSpan",
|
|
592
|
+
"gsFade": "SD8qLW_gsFade",
|
|
593
|
+
"funnelCount": "SD8qLW_funnelCount",
|
|
594
|
+
"funnelRow": "SD8qLW_funnelRow",
|
|
595
|
+
"treeIconGlyph": "SD8qLW_treeIconGlyph",
|
|
596
|
+
"fbMore": "SD8qLW_fbMore",
|
|
597
|
+
"treeFilterInput": "SD8qLW_treeFilterInput",
|
|
598
|
+
"paneDivider": "SD8qLW_paneDivider",
|
|
599
|
+
"funnelBoundBtn": "SD8qLW_funnelBoundBtn",
|
|
600
|
+
"commitPopBody": "SD8qLW_commitPopBody",
|
|
601
|
+
"diffPreWrap": "SD8qLW_diffPreWrap",
|
|
602
|
+
"treeLabel": "SD8qLW_treeLabel",
|
|
603
|
+
"miniBtn": "SD8qLW_miniBtn",
|
|
604
|
+
"themeLabel": "SD8qLW_themeLabel",
|
|
605
|
+
"themeRail": "SD8qLW_themeRail",
|
|
606
|
+
"sideArmable": "SD8qLW_sideArmable",
|
|
607
|
+
"refEmpty": "SD8qLW_refEmpty",
|
|
608
|
+
"file": "SD8qLW_file",
|
|
609
|
+
"funnelButtonActive": "SD8qLW_funnelButtonActive",
|
|
610
|
+
"opBannerOk": "SD8qLW_opBannerOk",
|
|
529
611
|
"header": "SD8qLW_header",
|
|
530
|
-
"
|
|
531
|
-
"segmentChip": "SD8qLW_segmentChip",
|
|
532
|
-
"filterClear": "SD8qLW_filterClear",
|
|
533
|
-
"commitBox": "SD8qLW_commitBox",
|
|
534
|
-
"commitMeta": "SD8qLW_commitMeta",
|
|
535
|
-
"confirmBody": "SD8qLW_confirmBody",
|
|
612
|
+
"sideCode": "SD8qLW_sideCode",
|
|
536
613
|
"headerTotalsDel": "SD8qLW_headerTotalsDel",
|
|
537
|
-
"
|
|
614
|
+
"fbCommitWhat": "SD8qLW_fbCommitWhat",
|
|
615
|
+
"sideRailsOn": "SD8qLW_sideRailsOn",
|
|
616
|
+
"calWeek": "SD8qLW_calWeek",
|
|
617
|
+
"treeLead": "SD8qLW_treeLead",
|
|
618
|
+
"refRowSpacer": "SD8qLW_refRowSpacer",
|
|
619
|
+
"code": "SD8qLW_code",
|
|
620
|
+
"fbCommitHint": "SD8qLW_fbCommitHint",
|
|
621
|
+
"settingsPop": "SD8qLW_settingsPop",
|
|
622
|
+
"treeRow": "SD8qLW_treeRow",
|
|
623
|
+
"blockBtnDanger": "SD8qLW_blockBtnDanger",
|
|
624
|
+
"funnelTabs": "SD8qLW_funnelTabs",
|
|
625
|
+
"fileCountAdd": "SD8qLW_fileCountAdd",
|
|
626
|
+
"sideBlockHotFirst": "SD8qLW_sideBlockHotFirst",
|
|
627
|
+
"sideBlockHotLast": "SD8qLW_sideBlockHotLast",
|
|
538
628
|
"paneDividerActive": "SD8qLW_paneDividerActive",
|
|
539
|
-
"renameLine": "SD8qLW_renameLine",
|
|
540
|
-
"calToday": "SD8qLW_calToday",
|
|
541
|
-
"sideRail": "SD8qLW_sideRail",
|
|
542
|
-
"fbRowIgnored": "SD8qLW_fbRowIgnored",
|
|
543
|
-
"resizer": "SD8qLW_resizer",
|
|
544
|
-
"sideNum": "SD8qLW_sideNum",
|
|
545
|
-
"treeIconDown": "SD8qLW_treeIconDown",
|
|
546
|
-
"funnelPresetActive": "SD8qLW_funnelPresetActive",
|
|
547
|
-
"fbMain": "SD8qLW_fbMain",
|
|
548
|
-
"funnelFootCountOn": "SD8qLW_funnelFootCountOn",
|
|
549
|
-
"commitCopy": "SD8qLW_commitCopy",
|
|
550
|
-
"pathDirGlyph": "SD8qLW_pathDirGlyph",
|
|
551
|
-
"calMark": "SD8qLW_calMark",
|
|
552
|
-
"file": "SD8qLW_file",
|
|
553
|
-
"cardGlyph": "SD8qLW_cardGlyph",
|
|
554
629
|
"filterChipLabel": "SD8qLW_filterChipLabel",
|
|
555
|
-
"
|
|
630
|
+
"checkMark": "SD8qLW_checkMark",
|
|
631
|
+
"filterChipRemove": "SD8qLW_filterChipRemove",
|
|
632
|
+
"imgPane": "SD8qLW_imgPane",
|
|
633
|
+
"sideCellBlock": "SD8qLW_sideCellBlock",
|
|
634
|
+
"sideCol": "SD8qLW_sideCol",
|
|
635
|
+
"commitSubjectRow": "SD8qLW_commitSubjectRow",
|
|
636
|
+
"fbFileName": "SD8qLW_fbFileName",
|
|
637
|
+
"refList": "SD8qLW_refList",
|
|
638
|
+
"cardDetached": "SD8qLW_cardDetached",
|
|
639
|
+
"cardSep": "SD8qLW_cardSep",
|
|
640
|
+
"calMark": "SD8qLW_calMark",
|
|
641
|
+
"stRenamed": "SD8qLW_stRenamed",
|
|
642
|
+
"filePath": "SD8qLW_filePath",
|
|
643
|
+
"funnelFoot": "SD8qLW_funnelFoot",
|
|
644
|
+
"fileLi": "SD8qLW_fileLi",
|
|
645
|
+
"headerTotalsDim": "SD8qLW_headerTotalsDim",
|
|
556
646
|
"sideColWrap": "SD8qLW_sideColWrap",
|
|
557
|
-
"cardBehind": "SD8qLW_cardBehind",
|
|
558
|
-
"fileCountAdd": "SD8qLW_fileCountAdd",
|
|
559
|
-
"sideBlockHot": "SD8qLW_sideBlockHot",
|
|
560
647
|
"stModified": "SD8qLW_stModified",
|
|
561
|
-
"
|
|
562
|
-
"
|
|
563
|
-
"
|
|
648
|
+
"fbHeader": "SD8qLW_fbHeader",
|
|
649
|
+
"cardFiles": "SD8qLW_cardFiles",
|
|
650
|
+
"treeEmpty": "SD8qLW_treeEmpty",
|
|
564
651
|
"commitWhen": "SD8qLW_commitWhen",
|
|
565
|
-
"
|
|
566
|
-
"
|
|
567
|
-
"
|
|
568
|
-
"
|
|
569
|
-
"
|
|
570
|
-
"
|
|
571
|
-
"
|
|
572
|
-
"
|
|
573
|
-
"
|
|
574
|
-
"
|
|
575
|
-
"funnelPresets": "SD8qLW_funnelPresets",
|
|
576
|
-
"calTitle": "SD8qLW_calTitle",
|
|
577
|
-
"funnelCaption": "SD8qLW_funnelCaption",
|
|
578
|
-
"funnelRow": "SD8qLW_funnelRow",
|
|
579
|
-
"scopeBtnActive": "SD8qLW_scopeBtnActive",
|
|
580
|
-
"bgPreview": "SD8qLW_bgPreview",
|
|
581
|
-
"refButton": "SD8qLW_refButton",
|
|
582
|
-
"fileActive": "SD8qLW_fileActive",
|
|
583
|
-
"treeDirCounts": "SD8qLW_treeDirCounts",
|
|
584
|
-
"fileCounts": "SD8qLW_fileCounts",
|
|
585
|
-
"refGroup": "SD8qLW_refGroup",
|
|
586
|
-
"overlay": "SD8qLW_overlay",
|
|
587
|
-
"stDeleted": "SD8qLW_stDeleted",
|
|
588
|
-
"line": "SD8qLW_line",
|
|
589
|
-
"sideNumAdd": "SD8qLW_sideNumAdd",
|
|
590
|
-
"bodyRow": "SD8qLW_bodyRow",
|
|
591
|
-
"sideColGridWrap": "SD8qLW_sideColGridWrap",
|
|
592
|
-
"funnelPop": "SD8qLW_funnelPop",
|
|
593
|
-
"sideCodeSame": "SD8qLW_sideCodeSame",
|
|
594
|
-
"sideActionsAdjacent": "SD8qLW_sideActionsAdjacent",
|
|
595
|
-
"headerTotalsAdd": "SD8qLW_headerTotalsAdd",
|
|
596
|
-
"filePath": "SD8qLW_filePath",
|
|
597
|
-
"tree": "SD8qLW_tree",
|
|
598
|
-
"sideRailSpan": "SD8qLW_sideRailSpan",
|
|
599
|
-
"checkMark": "SD8qLW_checkMark",
|
|
600
|
-
"commitLead": "SD8qLW_commitLead",
|
|
601
|
-
"fbRowActive": "SD8qLW_fbRowActive",
|
|
602
|
-
"refPicker": "SD8qLW_refPicker",
|
|
603
|
-
"cardDeleted": "SD8qLW_cardDeleted",
|
|
604
|
-
"cmHost": "SD8qLW_cmHost",
|
|
605
|
-
"blockBtnDanger": "SD8qLW_blockBtnDanger",
|
|
606
|
-
"confirmActions": "SD8qLW_confirmActions",
|
|
652
|
+
"fileBinary": "SD8qLW_fileBinary",
|
|
653
|
+
"commitBtn": "SD8qLW_commitBtn",
|
|
654
|
+
"refValue": "SD8qLW_refValue",
|
|
655
|
+
"funnelPane": "SD8qLW_funnelPane",
|
|
656
|
+
"commitFilter": "SD8qLW_commitFilter",
|
|
657
|
+
"commitPopSubject": "SD8qLW_commitPopSubject",
|
|
658
|
+
"commitAuthor": "SD8qLW_commitAuthor",
|
|
659
|
+
"fileCountDel": "SD8qLW_fileCountDel",
|
|
660
|
+
"confirmBox": "SD8qLW_confirmBox",
|
|
661
|
+
"confirmBody": "SD8qLW_confirmBody",
|
|
607
662
|
"refSearch": "SD8qLW_refSearch",
|
|
608
|
-
"
|
|
609
|
-
"
|
|
610
|
-
"
|
|
663
|
+
"fbSearch": "SD8qLW_fbSearch",
|
|
664
|
+
"opBannerBad": "SD8qLW_opBannerBad",
|
|
665
|
+
"treeIconOn": "SD8qLW_treeIconOn",
|
|
666
|
+
"elide": "SD8qLW_elide",
|
|
667
|
+
"headerRight": "SD8qLW_headerRight",
|
|
668
|
+
"sideScroll": "SD8qLW_sideScroll",
|
|
669
|
+
"tabActive": "SD8qLW_tabActive",
|
|
670
|
+
"themeNote": "SD8qLW_themeNote",
|
|
671
|
+
"btnDanger": "SD8qLW_btnDanger",
|
|
672
|
+
"drawer": "SD8qLW_drawer",
|
|
673
|
+
"fbCommitLine": "SD8qLW_fbCommitLine",
|
|
674
|
+
"funnelFootCount": "SD8qLW_funnelFootCount",
|
|
675
|
+
"refFoot": "SD8qLW_refFoot",
|
|
676
|
+
"paletteRowActive": "SD8qLW_paletteRowActive",
|
|
677
|
+
"tabs": "SD8qLW_tabs",
|
|
678
|
+
"stAdded": "SD8qLW_stAdded",
|
|
679
|
+
"refRowName": "SD8qLW_refRowName",
|
|
680
|
+
"theme": "SD8qLW_theme",
|
|
681
|
+
"commitRow": "SD8qLW_commitRow",
|
|
611
682
|
"syncSpacer": "SD8qLW_syncSpacer",
|
|
612
|
-
"
|
|
613
|
-
"
|
|
614
|
-
"
|
|
615
|
-
"
|
|
616
|
-
"cardWt": "SD8qLW_cardWt",
|
|
617
|
-
"sideArmable": "SD8qLW_sideArmable",
|
|
618
|
-
"commitSubjectRow": "SD8qLW_commitSubjectRow",
|
|
619
|
-
"checkBox": "SD8qLW_checkBox",
|
|
620
|
-
"opBanner": "SD8qLW_opBanner",
|
|
621
|
-
"btnBehind": "SD8qLW_btnBehind",
|
|
622
|
-
"scopeHint": "SD8qLW_scopeHint",
|
|
623
|
-
"calGrid": "SD8qLW_calGrid",
|
|
624
|
-
"headerPathMain": "SD8qLW_headerPathMain",
|
|
625
|
-
"compareBar": "SD8qLW_compareBar",
|
|
683
|
+
"commitHash": "SD8qLW_commitHash",
|
|
684
|
+
"treeDirLi": "SD8qLW_treeDirLi",
|
|
685
|
+
"btnCount": "SD8qLW_btnCount",
|
|
686
|
+
"commitRefMore": "SD8qLW_commitRefMore",
|
|
626
687
|
"elideTail": "SD8qLW_elideTail",
|
|
627
|
-
"
|
|
628
|
-
"
|
|
629
|
-
"
|
|
630
|
-
"fileBinary": "SD8qLW_fileBinary",
|
|
631
|
-
"refEmpty": "SD8qLW_refEmpty",
|
|
632
|
-
"gutter": "SD8qLW_gutter",
|
|
633
|
-
"funnelPreset": "SD8qLW_funnelPreset",
|
|
634
|
-
"sideTabActive": "SD8qLW_sideTabActive",
|
|
635
|
-
"stRenamed": "SD8qLW_stRenamed",
|
|
636
|
-
"sideCode": "SD8qLW_sideCode",
|
|
688
|
+
"tree": "SD8qLW_tree",
|
|
689
|
+
"headerTotals": "SD8qLW_headerTotals",
|
|
690
|
+
"treeSub": "SD8qLW_treeSub",
|
|
637
691
|
"blockBar": "SD8qLW_blockBar",
|
|
638
|
-
"
|
|
639
|
-
"
|
|
640
|
-
"
|
|
641
|
-
"
|
|
642
|
-
"
|
|
643
|
-
"
|
|
644
|
-
"
|
|
645
|
-
"fbCommitLine": "SD8qLW_fbCommitLine",
|
|
646
|
-
"cardFiles": "SD8qLW_cardFiles",
|
|
647
|
-
"sideSaveReady": "SD8qLW_sideSaveReady",
|
|
648
|
-
"tab": "SD8qLW_tab",
|
|
649
|
-
"commitAuthor": "SD8qLW_commitAuthor",
|
|
650
|
-
"treeWrap": "SD8qLW_treeWrap",
|
|
651
|
-
"code": "SD8qLW_code",
|
|
652
|
-
"sideFlow": "SD8qLW_sideFlow",
|
|
653
|
-
"imgCaption": "SD8qLW_imgCaption",
|
|
654
|
-
"btnPrimary": "SD8qLW_btnPrimary",
|
|
692
|
+
"treeTools": "SD8qLW_treeTools",
|
|
693
|
+
"diffNav": "SD8qLW_diffNav",
|
|
694
|
+
"commitsFoot": "SD8qLW_commitsFoot",
|
|
695
|
+
"sideNumDel": "SD8qLW_sideNumDel",
|
|
696
|
+
"sideBannerTitle": "SD8qLW_sideBannerTitle",
|
|
697
|
+
"fileActive": "SD8qLW_fileActive",
|
|
698
|
+
"card": "SD8qLW_card",
|
|
655
699
|
"commitsSentinel": "SD8qLW_commitsSentinel",
|
|
700
|
+
"refGroup": "SD8qLW_refGroup",
|
|
701
|
+
"calIn": "SD8qLW_calIn",
|
|
656
702
|
"sideRailRight": "SD8qLW_sideRailRight",
|
|
657
|
-
"
|
|
658
|
-
"
|
|
659
|
-
"treeActions": "SD8qLW_treeActions",
|
|
660
|
-
"cardBranch": "SD8qLW_cardBranch",
|
|
661
|
-
"imgStage": "SD8qLW_imgStage",
|
|
662
|
-
"chevron": "SD8qLW_chevron",
|
|
663
|
-
"gsFade": "SD8qLW_gsFade",
|
|
664
|
-
"overlayMax": "SD8qLW_overlayMax",
|
|
665
|
-
"resizerActive": "SD8qLW_resizerActive",
|
|
666
|
-
"refRow": "SD8qLW_refRow",
|
|
667
|
-
"commitHasBody": "SD8qLW_commitHasBody",
|
|
668
|
-
"refRowName": "SD8qLW_refRowName",
|
|
669
|
-
"sideRailGap": "SD8qLW_sideRailGap",
|
|
670
|
-
"fbBody": "SD8qLW_fbBody",
|
|
671
|
-
"btn": "SD8qLW_btn",
|
|
672
|
-
"tabs": "SD8qLW_tabs",
|
|
703
|
+
"funnelBoundRow": "SD8qLW_funnelBoundRow",
|
|
704
|
+
"refRowActive": "SD8qLW_refRowActive",
|
|
673
705
|
"calHead": "SD8qLW_calHead",
|
|
674
|
-
"
|
|
675
|
-
"
|
|
676
|
-
"
|
|
706
|
+
"funnelBoundKey": "SD8qLW_funnelBoundKey",
|
|
707
|
+
"filterChip": "SD8qLW_filterChip",
|
|
708
|
+
"fbCommitWhen": "SD8qLW_fbCommitWhen",
|
|
709
|
+
"treeWrap": "SD8qLW_treeWrap",
|
|
710
|
+
"cardBranchName": "SD8qLW_cardBranchName",
|
|
711
|
+
"calNav": "SD8qLW_calNav",
|
|
712
|
+
"calToday": "SD8qLW_calToday",
|
|
713
|
+
"tab": "SD8qLW_tab",
|
|
714
|
+
"segmented": "SD8qLW_segmented",
|
|
715
|
+
"sideNumAdd": "SD8qLW_sideNumAdd",
|
|
716
|
+
"opBanner": "SD8qLW_opBanner",
|
|
677
717
|
"commitStaged": "SD8qLW_commitStaged",
|
|
678
|
-
"
|
|
679
|
-
"
|
|
680
|
-
"
|
|
681
|
-
"
|
|
682
|
-
"
|
|
683
|
-
"
|
|
684
|
-
"
|
|
685
|
-
"
|
|
718
|
+
"lineAdd": "SD8qLW_lineAdd",
|
|
719
|
+
"calGrid": "SD8qLW_calGrid",
|
|
720
|
+
"paneHead": "SD8qLW_paneHead",
|
|
721
|
+
"btnBehind": "SD8qLW_btnBehind",
|
|
722
|
+
"fbRowIgnored": "SD8qLW_fbRowIgnored",
|
|
723
|
+
"commitPopTop": "SD8qLW_commitPopTop",
|
|
724
|
+
"refCaret": "SD8qLW_refCaret",
|
|
725
|
+
"fbDirName": "SD8qLW_fbDirName",
|
|
726
|
+
"cardBehind": "SD8qLW_cardBehind",
|
|
727
|
+
"commitLine": "SD8qLW_commitLine",
|
|
728
|
+
"scopeHint": "SD8qLW_scopeHint",
|
|
729
|
+
"fbTree": "SD8qLW_fbTree",
|
|
730
|
+
"funnelList": "SD8qLW_funnelList",
|
|
731
|
+
"commitTop": "SD8qLW_commitTop",
|
|
732
|
+
"themeGroup": "SD8qLW_themeGroup",
|
|
733
|
+
"funnelPop": "SD8qLW_funnelPop",
|
|
734
|
+
"wordDel": "SD8qLW_wordDel",
|
|
686
735
|
"sliderRow": "SD8qLW_sliderRow",
|
|
687
|
-
"
|
|
688
|
-
"
|
|
689
|
-
"funnelBoundRows": "SD8qLW_funnelBoundRows",
|
|
690
|
-
"sideSpacer": "SD8qLW_sideSpacer",
|
|
691
|
-
"sideNavCount": "SD8qLW_sideNavCount",
|
|
692
|
-
"sideRailsOn": "SD8qLW_sideRailsOn",
|
|
736
|
+
"commitSubject": "SD8qLW_commitSubject",
|
|
737
|
+
"sideBlockHot": "SD8qLW_sideBlockHot",
|
|
693
738
|
"checkMarkOn": "SD8qLW_checkMarkOn",
|
|
694
|
-
"
|
|
695
|
-
"
|
|
696
|
-
"
|
|
697
|
-
"
|
|
698
|
-
"
|
|
699
|
-
"
|
|
700
|
-
"
|
|
701
|
-
"blameCell": "SD8qLW_blameCell",
|
|
702
|
-
"calWeek": "SD8qLW_calWeek",
|
|
703
|
-
"fbMore": "SD8qLW_fbMore",
|
|
704
|
-
"calOut": "SD8qLW_calOut",
|
|
705
|
-
"btnAhead": "SD8qLW_btnAhead",
|
|
739
|
+
"pathFileGlyph": "SD8qLW_pathFileGlyph",
|
|
740
|
+
"checkMarkPartial": "SD8qLW_checkMarkPartial",
|
|
741
|
+
"treeDirActive": "SD8qLW_treeDirActive",
|
|
742
|
+
"gutter": "SD8qLW_gutter",
|
|
743
|
+
"fbCommit": "SD8qLW_fbCommit",
|
|
744
|
+
"sideTab": "SD8qLW_sideTab",
|
|
745
|
+
"pathChildren": "SD8qLW_pathChildren",
|
|
706
746
|
"cssArea": "SD8qLW_cssArea",
|
|
707
|
-
"
|
|
708
|
-
"
|
|
709
|
-
"
|
|
710
|
-
"
|
|
711
|
-
"
|
|
712
|
-
"opBannerOk": "SD8qLW_opBannerOk",
|
|
713
|
-
"lnNew": "SD8qLW_lnNew",
|
|
714
|
-
"headerBranch": "SD8qLW_headerBranch",
|
|
715
|
-
"treeTools": "SD8qLW_treeTools",
|
|
716
|
-
"diffScroll": "SD8qLW_diffScroll",
|
|
717
|
-
"sideRails": "SD8qLW_sideRails",
|
|
718
|
-
"pathNode": "SD8qLW_pathNode",
|
|
719
|
-
"treeIconGlyph": "SD8qLW_treeIconGlyph",
|
|
720
|
-
"diffPre": "SD8qLW_diffPre",
|
|
721
|
-
"bgEmpty": "SD8qLW_bgEmpty",
|
|
722
|
-
"chevronOpen": "SD8qLW_chevronOpen",
|
|
723
|
-
"miniBtnPrimary": "SD8qLW_miniBtnPrimary",
|
|
747
|
+
"stDeleted": "SD8qLW_stDeleted",
|
|
748
|
+
"empty": "SD8qLW_empty",
|
|
749
|
+
"btnIconOn": "SD8qLW_btnIconOn",
|
|
750
|
+
"imgStage": "SD8qLW_imgStage",
|
|
751
|
+
"btnAhead": "SD8qLW_btnAhead",
|
|
724
752
|
"chipLight": "SD8qLW_chipLight",
|
|
725
|
-
"
|
|
726
|
-
"
|
|
727
|
-
"blockBtn": "SD8qLW_blockBtn",
|
|
728
|
-
"diffPreWrap": "SD8qLW_diffPreWrap",
|
|
729
|
-
"commits": "SD8qLW_commits",
|
|
730
|
-
"stAdded": "SD8qLW_stAdded",
|
|
731
|
-
"lineAdd": "SD8qLW_lineAdd",
|
|
732
|
-
"sideColRight": "SD8qLW_sideColRight",
|
|
733
|
-
"commitBtn": "SD8qLW_commitBtn",
|
|
734
|
-
"fbCommit": "SD8qLW_fbCommit",
|
|
735
|
-
"treeFilter": "SD8qLW_treeFilter",
|
|
736
|
-
"settingsPop": "SD8qLW_settingsPop",
|
|
737
|
-
"funnel": "SD8qLW_funnel",
|
|
753
|
+
"commit": "SD8qLW_commit",
|
|
754
|
+
"scopeRow": "SD8qLW_scopeRow",
|
|
738
755
|
"funnelTab": "SD8qLW_funnelTab",
|
|
739
|
-
"
|
|
740
|
-
"
|
|
741
|
-
"
|
|
742
|
-
"
|
|
743
|
-
"
|
|
744
|
-
"
|
|
745
|
-
"
|
|
746
|
-
"
|
|
747
|
-
"headerView": "SD8qLW_headerView",
|
|
756
|
+
"overlayMax": "SD8qLW_overlayMax",
|
|
757
|
+
"crMark": "SD8qLW_crMark",
|
|
758
|
+
"fbRowActive": "SD8qLW_fbRowActive",
|
|
759
|
+
"treeFilterClear": "SD8qLW_treeFilterClear",
|
|
760
|
+
"cardBranch": "SD8qLW_cardBranch",
|
|
761
|
+
"syncBar": "SD8qLW_syncBar",
|
|
762
|
+
"segment": "SD8qLW_segment",
|
|
763
|
+
"refPicker": "SD8qLW_refPicker",
|
|
748
764
|
"refPop": "SD8qLW_refPop",
|
|
765
|
+
"paneTitle": "SD8qLW_paneTitle",
|
|
766
|
+
"commitLead": "SD8qLW_commitLead",
|
|
767
|
+
"refLabel": "SD8qLW_refLabel",
|
|
768
|
+
"treeDirCount": "SD8qLW_treeDirCount",
|
|
769
|
+
"sideSaveReady": "SD8qLW_sideSaveReady",
|
|
770
|
+
"confirmScrim": "SD8qLW_confirmScrim",
|
|
771
|
+
"sideFlow": "SD8qLW_sideFlow",
|
|
772
|
+
"imgShot": "SD8qLW_imgShot",
|
|
773
|
+
"cardAdded": "SD8qLW_cardAdded",
|
|
774
|
+
"headerPathMain": "SD8qLW_headerPathMain",
|
|
775
|
+
"treeDirName": "SD8qLW_treeDirName",
|
|
749
776
|
"funnelChevron": "SD8qLW_funnelChevron",
|
|
750
|
-
"
|
|
751
|
-
"
|
|
752
|
-
"
|
|
753
|
-
"
|
|
754
|
-
"
|
|
755
|
-
"
|
|
756
|
-
"
|
|
757
|
-
"
|
|
758
|
-
"
|
|
759
|
-
"
|
|
760
|
-
"card": "SD8qLW_card",
|
|
761
|
-
"refRowSpacer": "SD8qLW_refRowSpacer",
|
|
762
|
-
"fbHeader": "SD8qLW_fbHeader",
|
|
763
|
-
"themeLabel": "SD8qLW_themeLabel",
|
|
764
|
-
"commitTop": "SD8qLW_commitTop",
|
|
765
|
-
"btnCount": "SD8qLW_btnCount",
|
|
766
|
-
"checkMarkPartial": "SD8qLW_checkMarkPartial",
|
|
767
|
-
"sideCodeDel": "SD8qLW_sideCodeDel",
|
|
768
|
-
"sideCols": "SD8qLW_sideCols",
|
|
769
|
-
"paletteRowActive": "SD8qLW_paletteRowActive",
|
|
770
|
-
"themeRail": "SD8qLW_themeRail",
|
|
771
|
-
"commitsFoot": "SD8qLW_commitsFoot",
|
|
772
|
-
"fbCommitHash": "SD8qLW_fbCommitHash",
|
|
777
|
+
"commitMeta": "SD8qLW_commitMeta",
|
|
778
|
+
"confirmTitle": "SD8qLW_confirmTitle",
|
|
779
|
+
"filterClear": "SD8qLW_filterClear",
|
|
780
|
+
"stUntracked": "SD8qLW_stUntracked",
|
|
781
|
+
"wordAdd": "SD8qLW_wordAdd",
|
|
782
|
+
"headerPicker": "SD8qLW_headerPicker",
|
|
783
|
+
"bgPreview": "SD8qLW_bgPreview",
|
|
784
|
+
"funnelMore": "SD8qLW_funnelMore",
|
|
785
|
+
"renameLine": "SD8qLW_renameLine",
|
|
786
|
+
"sideActionsAdjacent": "SD8qLW_sideActionsAdjacent",
|
|
773
787
|
"sideBannerActs": "SD8qLW_sideBannerActs",
|
|
774
|
-
"
|
|
775
|
-
"
|
|
776
|
-
"
|
|
777
|
-
"signAdd": "SD8qLW_signAdd",
|
|
778
|
-
"elide": "SD8qLW_elide",
|
|
779
|
-
"funnelSearch": "SD8qLW_funnelSearch",
|
|
780
|
-
"syncLevel": "SD8qLW_syncLevel",
|
|
781
|
-
"sideScroll": "SD8qLW_sideScroll",
|
|
782
|
-
"wtCurrent": "SD8qLW_wtCurrent",
|
|
783
|
-
"sideCellBlock": "SD8qLW_sideCellBlock",
|
|
784
|
-
"layoutSwitch": "SD8qLW_layoutSwitch",
|
|
785
|
-
"refRowActive": "SD8qLW_refRowActive",
|
|
786
|
-
"lnOld": "SD8qLW_lnOld",
|
|
787
|
-
"drawer": "SD8qLW_drawer",
|
|
788
|
-
"filterChip": "SD8qLW_filterChip",
|
|
788
|
+
"funnelFootClear": "SD8qLW_funnelFootClear",
|
|
789
|
+
"commitPop": "SD8qLW_commitPop",
|
|
790
|
+
"sideTabActive": "SD8qLW_sideTabActive",
|
|
789
791
|
"pullGroup": "SD8qLW_pullGroup",
|
|
790
|
-
"
|
|
791
|
-
"
|
|
792
|
-
"
|
|
793
|
-
"
|
|
794
|
-
"
|
|
795
|
-
"
|
|
796
|
-
"
|
|
797
|
-
"
|
|
798
|
-
"treeFilterInput": "SD8qLW_treeFilterInput",
|
|
799
|
-
"segmentActive": "SD8qLW_segmentActive",
|
|
800
|
-
"paneTitle": "SD8qLW_paneTitle",
|
|
801
|
-
"headerViewRef": "SD8qLW_headerViewRef",
|
|
802
|
-
"headerLeft": "SD8qLW_headerLeft",
|
|
803
|
-
"commitRow": "SD8qLW_commitRow",
|
|
792
|
+
"diffSpacer": "SD8qLW_diffSpacer",
|
|
793
|
+
"headerDetached": "SD8qLW_headerDetached",
|
|
794
|
+
"funnelCaption": "SD8qLW_funnelCaption",
|
|
795
|
+
"refRow": "SD8qLW_refRow",
|
|
796
|
+
"funnelTabActive": "SD8qLW_funnelTabActive",
|
|
797
|
+
"confirmActions": "SD8qLW_confirmActions",
|
|
798
|
+
"commitAmend": "SD8qLW_commitAmend",
|
|
799
|
+
"sideCodeDel": "SD8qLW_sideCodeDel",
|
|
804
800
|
"sideCurrentBlockActions": "SD8qLW_sideCurrentBlockActions",
|
|
805
|
-
"
|
|
806
|
-
"
|
|
807
|
-
"
|
|
808
|
-
"
|
|
809
|
-
"
|
|
810
|
-
"
|
|
811
|
-
"
|
|
812
|
-
"
|
|
813
|
-
"
|
|
814
|
-
"
|
|
801
|
+
"line": "SD8qLW_line",
|
|
802
|
+
"funnelPreset": "SD8qLW_funnelPreset",
|
|
803
|
+
"funnelBoundRows": "SD8qLW_funnelBoundRows",
|
|
804
|
+
"funnelFootCountOn": "SD8qLW_funnelFootCountOn",
|
|
805
|
+
"blockBtn": "SD8qLW_blockBtn",
|
|
806
|
+
"funnelBoundValSet": "SD8qLW_funnelBoundValSet",
|
|
807
|
+
"sideSpacer": "SD8qLW_sideSpacer",
|
|
808
|
+
"segmentChip": "SD8qLW_segmentChip",
|
|
809
|
+
"gsSlide": "SD8qLW_gsSlide",
|
|
810
|
+
"commitCopy": "SD8qLW_commitCopy",
|
|
811
|
+
"treeCol": "SD8qLW_treeCol",
|
|
812
|
+
"sideRailGap": "SD8qLW_sideRailGap",
|
|
813
|
+
"btnPrimary": "SD8qLW_btnPrimary",
|
|
814
|
+
"diffWrap": "SD8qLW_diffWrap"
|
|
815
815
|
};
|
|
816
816
|
//#endregion
|
|
817
817
|
//#region node_modules/.pnpm/@marijn+find-cluster-break@1.0.3/node_modules/@marijn/find-cluster-break/src/index.js
|
|
@@ -35967,6 +35967,25 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35967
35967
|
//#endregion
|
|
35968
35968
|
//#region src/client/diff-model.ts
|
|
35969
35969
|
/**
|
|
35970
|
+
* Whether an empty per-file diff is the line-ending phantom.
|
|
35971
|
+
*
|
|
35972
|
+
* autocrlf / `eol` attributes make git's stat check and its clean filter
|
|
35973
|
+
* disagree, so a file can sit in the tree as modified forever while every
|
|
35974
|
+
* content diff comes back empty — the classic always-modified file of a
|
|
35975
|
+
* Windows checkout. Opening it must explain that, not fall to the generic
|
|
35976
|
+
* "no text changes" a broken pane also shows.
|
|
35977
|
+
*
|
|
35978
|
+
* Only `modified` + an empty WHOLE-FILE segment is the phantom: a fully
|
|
35979
|
+
* staged file has an empty unstaged layer but a non-empty HEAD-diff (the
|
|
35980
|
+
* reader is one click from the content), and every other status always has
|
|
35981
|
+
* a diff or a synthesized one.
|
|
35982
|
+
* @param status - the tree row's status for the open file.
|
|
35983
|
+
* @param segment - the whole-file diff text (HEAD vs worktree).
|
|
35984
|
+
*/
|
|
35985
|
+
function isPhantomModified(status, segment) {
|
|
35986
|
+
return status === "modified" && segment.length === 0;
|
|
35987
|
+
}
|
|
35988
|
+
/**
|
|
35970
35989
|
* Parse a unified diff segment into typed rows, tracking line numbers.
|
|
35971
35990
|
* @param segment - one file's `diff --git` text (headers are skipped).
|
|
35972
35991
|
*/
|
|
@@ -37810,7 +37829,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37810
37829
|
* (history and compare keep it unconditionally), with a notice — a silently
|
|
37811
37830
|
* different view reads as a broken one, not a guarded one.
|
|
37812
37831
|
*/
|
|
37813
|
-
function SideBySideView({ t, path, palette, wrap, statsPath, fetchSides, writeChecked, scopeKey, gen, fallbackSegment, fallbackLoading, onBlockAction, onSaved, onDirtyChange }) {
|
|
37832
|
+
function SideBySideView({ t, path, palette, wrap, statsPath, fetchSides, writeChecked, scopeKey, gen, fallbackSegment, fallbackLoading, phantomListed, onBlockAction, onSaved, onDirtyChange }) {
|
|
37814
37833
|
const [layer, setLayer] = (0, react.useState)("unstaged");
|
|
37815
37834
|
const [split, setSplit] = (0, react.useState)(.5);
|
|
37816
37835
|
const colsRef = (0, react.useRef)(null);
|
|
@@ -38186,7 +38205,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
38186
38205
|
wrap
|
|
38187
38206
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
38188
38207
|
className: GitWorkbenchPanel_module_css_default.empty,
|
|
38189
|
-
children: fallbackLoading ? t("loadingDiff") : t("noTextDiff")
|
|
38208
|
+
children: fallbackLoading ? t("loadingDiff") : phantomListed ? t("phantomNotice") : t("noTextDiff")
|
|
38190
38209
|
});
|
|
38191
38210
|
if (failed) return unifiedFallback();
|
|
38192
38211
|
if (sides === null) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -38408,7 +38427,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
38408
38427
|
className: GitWorkbenchPanel_module_css_default.sideScroll,
|
|
38409
38428
|
children: bodyState.kind === "empty" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
38410
38429
|
className: GitWorkbenchPanel_module_css_default.empty,
|
|
38411
|
-
children: t("noTextDiff")
|
|
38430
|
+
children: phantomListed ? t("phantomNotice") : t("noTextDiff")
|
|
38412
38431
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
38413
38432
|
ref: colsRef,
|
|
38414
38433
|
className: GitWorkbenchPanel_module_css_default.sideCols,
|
|
@@ -41337,6 +41356,11 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
41337
41356
|
const bundled = active === null ? "" : segments.get(active) ?? "";
|
|
41338
41357
|
const activeKey = active === null ? null : `${viewKey}\x1f${active}`;
|
|
41339
41358
|
const segment = bundled.length > 0 ? bundled : activeKey === null ? "" : fetched.get(activeKey) ?? "";
|
|
41359
|
+
/** The CRLF phantom: listed modified, whole-file diff empty (see
|
|
41360
|
+
* {@link isPhantomModified}). Changes-tab only — history and compare list
|
|
41361
|
+
* files from real ref diffs, where an empty segment means a failed fetch,
|
|
41362
|
+
* and the phantom notice would mislead. */
|
|
41363
|
+
const phantomListed = tab === "changes" && isPhantomModified(activeFile?.status, segment);
|
|
41340
41364
|
(0, react.useEffect)(() => {
|
|
41341
41365
|
const path = active;
|
|
41342
41366
|
if (path === null || activeKey === null || bundled.length > 0) return;
|
|
@@ -41912,50 +41936,61 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
41912
41936
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
41913
41937
|
className: GitWorkbenchPanel_module_css_default.diffPane,
|
|
41914
41938
|
"data-gs-part": "diff",
|
|
41915
|
-
children: [
|
|
41916
|
-
|
|
41917
|
-
|
|
41918
|
-
|
|
41919
|
-
|
|
41920
|
-
|
|
41921
|
-
|
|
41922
|
-
|
|
41923
|
-
|
|
41924
|
-
|
|
41925
|
-
|
|
41926
|
-
|
|
41927
|
-
|
|
41928
|
-
|
|
41929
|
-
|
|
41930
|
-
|
|
41931
|
-
|
|
41932
|
-
|
|
41933
|
-
|
|
41934
|
-
|
|
41935
|
-
|
|
41936
|
-
|
|
41937
|
-
|
|
41938
|
-
|
|
41939
|
-
|
|
41940
|
-
|
|
41941
|
-
|
|
41942
|
-
|
|
41943
|
-
|
|
41944
|
-
|
|
41945
|
-
|
|
41946
|
-
|
|
41947
|
-
|
|
41948
|
-
|
|
41949
|
-
|
|
41950
|
-
|
|
41951
|
-
|
|
41952
|
-
|
|
41953
|
-
|
|
41954
|
-
|
|
41955
|
-
|
|
41956
|
-
|
|
41957
|
-
|
|
41958
|
-
|
|
41939
|
+
children: [
|
|
41940
|
+
tab === "compare" && !comparable ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41941
|
+
className: GitWorkbenchPanel_module_css_default.empty,
|
|
41942
|
+
children: t("comparePick")
|
|
41943
|
+
}) : shown === null && tab !== "changes" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41944
|
+
className: GitWorkbenchPanel_module_css_default.empty,
|
|
41945
|
+
children: tab === "compare" ? t("loadingCompare") : t("loadingCommit")
|
|
41946
|
+
}) : activeFile !== null && activeFile.previousPath !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
41947
|
+
className: GitWorkbenchPanel_module_css_default.renameLine,
|
|
41948
|
+
children: [
|
|
41949
|
+
t("renamedFrom"),
|
|
41950
|
+
" ",
|
|
41951
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", { children: activeFile.previousPath })
|
|
41952
|
+
]
|
|
41953
|
+
}) : null,
|
|
41954
|
+
tab === "compare" && comparable && shown !== null && body.files.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41955
|
+
className: GitWorkbenchPanel_module_css_default.empty,
|
|
41956
|
+
children: t("compareEmptyHint", {
|
|
41957
|
+
base: baseRef ?? "",
|
|
41958
|
+
head: headRef ?? ""
|
|
41959
|
+
})
|
|
41960
|
+
}) : null,
|
|
41961
|
+
shown === null && tab !== "changes" || tab === "compare" && !comparable ? null : activeFile !== null && activeFile.binary ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41962
|
+
className: GitWorkbenchPanel_module_css_default.empty,
|
|
41963
|
+
children: t("binaryFile")
|
|
41964
|
+
}) : tab === "changes" && active !== null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SideBySideView, {
|
|
41965
|
+
t,
|
|
41966
|
+
path: active,
|
|
41967
|
+
palette: theme,
|
|
41968
|
+
wrap,
|
|
41969
|
+
statsPath,
|
|
41970
|
+
fetchSides: fetchFileSides,
|
|
41971
|
+
writeChecked,
|
|
41972
|
+
scopeKey: viewKey,
|
|
41973
|
+
gen,
|
|
41974
|
+
fallbackSegment: segment,
|
|
41975
|
+
fallbackLoading: loading && segment.length === 0,
|
|
41976
|
+
phantomListed,
|
|
41977
|
+
onBlockAction: askBlockAction,
|
|
41978
|
+
onSaved: onRefresh,
|
|
41979
|
+
onDirtyChange: onSideDirty
|
|
41980
|
+
}) : loading && segment.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41981
|
+
className: GitWorkbenchPanel_module_css_default.empty,
|
|
41982
|
+
children: t("loadingDiff")
|
|
41983
|
+
}) : segment.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DiffView, {
|
|
41984
|
+
segment,
|
|
41985
|
+
path: active ?? "",
|
|
41986
|
+
palette: theme,
|
|
41987
|
+
t,
|
|
41988
|
+
wrap
|
|
41989
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41990
|
+
className: GitWorkbenchPanel_module_css_default.empty,
|
|
41991
|
+
children: t("noTextDiff")
|
|
41992
|
+
})
|
|
41993
|
+
]
|
|
41959
41994
|
})
|
|
41960
41995
|
] })
|
|
41961
41996
|
})]
|
|
@@ -42045,6 +42080,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
42045
42080
|
compareHead: "对比",
|
|
42046
42081
|
comparePick: "选择两个不同的分支进行对比",
|
|
42047
42082
|
compareCommits: "{count} 个提交(自共同祖先起)",
|
|
42083
|
+
compareEmptyHint: "{base}...{head} 比较的是自分叉点到 {head} 的变化,没有找到差异;想看另一方向的变化请交换两端。",
|
|
42048
42084
|
loadingCompare: "加载对比…",
|
|
42049
42085
|
noBranches: "没有可对比的分支",
|
|
42050
42086
|
refSearch: "筛选分支…",
|
|
@@ -42201,6 +42237,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
42201
42237
|
blameTruncated: "文件过长,追溯信息只显示了前面一部分。",
|
|
42202
42238
|
crlfNotice: "这个文件的行尾是 CRLF,暂不支持在线编辑(编辑框会把行尾统一成 LF,保存时整份文件都会被改写);建议把行尾统一成 LF。差异里的回车已用 ␍ 标出;查看和按块暂存/撤回不受影响。",
|
|
42203
42239
|
encodingNotice: "这个文件不是 UTF-8 编码(可能是 GBK、Shift JIS 之类),暂不支持在线编辑:页面上看到的文字是一次有损解码,保存回去会把文件里每一个非 ASCII 字节都改写掉,包括你没动过的行。查看和按块暂存/撤回不受影响。",
|
|
42240
|
+
phantomNotice: "git 把这个文件列为已修改,但行尾归一化(CRLF / autocrlf / eol 属性)之后没有内容差异——这是 Windows 检出常见的「永远已修改」幻影,不是显示故障。统一行尾(建议把行尾统一成 LF)或让 git 重新比对后,这一条目就会消失。",
|
|
42204
42241
|
saveFailed: "保存失败",
|
|
42205
42242
|
saveUnavailable: "当前宿主还不支持保存(需要重启 dsh web 加载新版宿主端)。",
|
|
42206
42243
|
saveRetry: "重试保存",
|
|
@@ -42264,6 +42301,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
42264
42301
|
compareHead: "Compare",
|
|
42265
42302
|
comparePick: "Pick two different branches to compare",
|
|
42266
42303
|
compareCommits: "{count} commits since they diverged",
|
|
42304
|
+
compareEmptyHint: "{base}...{head} compares from the fork point up to {head} and found no differences; to see what changed on the other side, swap the two ends.",
|
|
42267
42305
|
loadingCompare: "Loading comparison…",
|
|
42268
42306
|
noBranches: "No branches to compare",
|
|
42269
42307
|
refSearch: "Filter branches…",
|
|
@@ -42420,6 +42458,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
42420
42458
|
blameTruncated: "The file is long, so blame is shown for the first part only.",
|
|
42421
42459
|
crlfNotice: "This file has CRLF line endings, which the editor does not support yet (the edit box would turn every ending into LF, so a save rewrites the whole file); normalising the endings to LF is recommended. Carriage returns are marked ␍ in the diff; viewing and block staging/rolling back still work.",
|
|
42422
42460
|
encodingNotice: "This file is not UTF-8 (GBK, Shift JIS or similar), so the editor is unavailable: the text shown is a lossy decode of it, and saving that back would rewrite every non-ASCII byte in the file, including lines you never touched. Viewing and block staging/rolling back still work.",
|
|
42461
|
+
phantomNotice: "git lists this file as modified, but after line-ending normalisation (CRLF / autocrlf / eol attributes) there is no content difference — the classic \"modified forever\" phantom of a Windows checkout, not a broken view. Once the endings agree (normalising the endings to LF is recommended) the entry disappears.",
|
|
42423
42462
|
saveFailed: "Save failed",
|
|
42424
42463
|
saveUnavailable: "This host does not support saving yet — restart dsh web to load the new host half.",
|
|
42425
42464
|
saveRetry: "Retry save",
|