A game about forced loneliness, made by TACStudios
at master 5.3 kB view raw
1using Codice.CM.Common; 2using Unity.PlasticSCM.Editor.Tool; 3 4namespace Unity.PlasticSCM.Editor.Views.Changesets 5{ 6 static class LaunchDiffOperations 7 { 8 internal static void DiffChangeset( 9 LaunchTool.IShowDownloadPlasticExeWindow showDownloadPlasticExeWindow, 10 LaunchTool.IProcessExecutor processExecutor, 11 RepositorySpec repSpec, 12 long changesetId, 13 bool isGluonMode) 14 { 15 if (changesetId == -1) 16 return; 17 18 string changesetFullSpec = GetChangesetFullSpec( 19 repSpec, changesetId); 20 21 LaunchTool.OpenChangesetDiffs( 22 showDownloadPlasticExeWindow, 23 processExecutor, 24 repSpec, 25 changesetFullSpec, 26 isGluonMode); 27 } 28 29 internal static void DiffChangeset( 30 LaunchTool.IShowDownloadPlasticExeWindow showDownloadPlasticExeWindow, 31 LaunchTool.IProcessExecutor processExecutor, 32 RepositorySpec repSpec, 33 ChangesetInfo changesetInfo, 34 bool isGluonMode) 35 { 36 if (changesetInfo == null) 37 return; 38 39 string changesetFullSpec = GetChangesetFullSpec( 40 repSpec, changesetInfo.ChangesetId); 41 42 LaunchTool.OpenChangesetDiffs( 43 showDownloadPlasticExeWindow, 44 processExecutor, 45 repSpec, 46 changesetFullSpec, 47 isGluonMode); 48 } 49 50 internal static void DiffSelectedChangesets( 51 LaunchTool.IShowDownloadPlasticExeWindow showDownloadPlasticExeWindow, 52 LaunchTool.IProcessExecutor processExecutor, 53 RepositorySpec repSpec, 54 ChangesetInfo cset1, 55 ChangesetInfo cset2, 56 bool isGluonMode) 57 { 58 ChangesetInfo srcChangesetInfo; 59 ChangesetInfo dstChangesetInfo; 60 61 GetSrcAndDstCangesets( 62 cset1, 63 cset2, 64 out srcChangesetInfo, 65 out dstChangesetInfo); 66 67 string srcChangesetFullSpec = GetChangesetFullSpec( 68 repSpec, srcChangesetInfo.ChangesetId); 69 70 string dstChangesetFullSpec = GetChangesetFullSpec( 71 repSpec, dstChangesetInfo.ChangesetId); 72 73 LaunchTool.OpenSelectedChangesetsDiffs( 74 showDownloadPlasticExeWindow, 75 processExecutor, 76 repSpec, 77 srcChangesetFullSpec, 78 dstChangesetFullSpec, 79 isGluonMode); 80 } 81 82 internal static void DiffBranch( 83 LaunchTool.IShowDownloadPlasticExeWindow showDownloadPlasticExeWindow, 84 LaunchTool.IProcessExecutor processExecutor, 85 RepositorySpec repSpec, 86 BranchInfo branchInfo, 87 bool isGluonMode) 88 { 89 if (branchInfo == null) 90 return; 91 92 string branchFullSpec = GetBranchFullSpec( 93 repSpec, branchInfo); 94 95 LaunchTool.OpenBranchDiffs( 96 showDownloadPlasticExeWindow, 97 processExecutor, 98 repSpec, 99 branchFullSpec, 100 isGluonMode); 101 } 102 103 internal static void DiffBranch( 104 LaunchTool.IShowDownloadPlasticExeWindow showDownloadPlasticExeWindow, 105 LaunchTool.IProcessExecutor processExecutor, 106 RepositorySpec repSpec, 107 ChangesetExtendedInfo changesetExtendedInfo, 108 bool isGluonMode) 109 { 110 if (changesetExtendedInfo == null) 111 return; 112 113 string branchFullSpec = GetBranchFullSpec( 114 repSpec, changesetExtendedInfo); 115 116 LaunchTool.OpenBranchDiffs( 117 showDownloadPlasticExeWindow, 118 processExecutor, 119 repSpec, 120 branchFullSpec, 121 isGluonMode); 122 } 123 124 static void GetSrcAndDstCangesets( 125 ChangesetInfo cset1, 126 ChangesetInfo cset2, 127 out ChangesetInfo srcChangesetInfo, 128 out ChangesetInfo dstChangesetInfo) 129 { 130 if (cset1.LocalTimeStamp < cset2.LocalTimeStamp) 131 { 132 srcChangesetInfo = cset1; 133 dstChangesetInfo = cset2; 134 return; 135 } 136 137 srcChangesetInfo = cset2; 138 dstChangesetInfo = cset1; 139 } 140 141 static string GetChangesetFullSpec( 142 RepositorySpec repSpec, 143 long changesetId) 144 { 145 return string.Format("cs:{0}@{1}", 146 changesetId, repSpec.ToString()); 147 } 148 149 static string GetBranchFullSpec( 150 RepositorySpec repSpec, 151 BranchInfo branchInfo) 152 { 153 return string.Format("br:{0}@{1}", 154 branchInfo.BranchName, 155 repSpec.ToString()); 156 } 157 158 static string GetBranchFullSpec( 159 RepositorySpec repSpec, 160 ChangesetExtendedInfo changesetExtendedInfo) 161 { 162 return string.Format("br:{0}@{1}", 163 changesetExtendedInfo.BranchName, 164 repSpec.ToString()); 165 } 166 } 167}