@@ -137,12 +137,19 @@
137 137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** command associated with file "zFName". zFName must be the filename
138 138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** relative to the root of the check-in - in other words a "tree name".
139 139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
140 140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** When this routine is called, we know that the mergestat table
141 141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** exists, but we do not know if zFName is mentioned in that table.
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The diffMode variable has these values:
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 0 Standard 3-way diff
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 12 2-way diff between baseline and local
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 13 2-way diff between baseline and merge-in
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 23 2-way diff between local and merge-in
142 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void merge_info_tcl(const char *zFName, int nContext){
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void merge_info_tcl(const char *zFName, int nContext, int diffMode){
144 151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTreename;/* Name of the file in the tree */
145 152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q; /* To query the MERGESTAT table */
146 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
MergeBuilder mb; /* The merge builder object */
147 154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob pivot,v1,v2,out; /* Blobs for holding content */
148 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFN; /* A filename */
@@ -163,134 +170,124 @@
163 170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
164 171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
165 172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
mergebuilder_init_tcl(&mb);
166 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
mb.nContext = nContext;
167 174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Set up the pivot or baseline */
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFN = db_column_text(&q, 0);
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zFN==0 ){
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* No pivot because the file was added */
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zPivot = "(no baseline)";
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&pivot);
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zPivot = mprintf("%s (baseline)", file_tail(zFN));
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rid = db_column_int(&q, 1);
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- content_get(rid, &pivot);
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.pPivot = &pivot;
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Set up the merge-in as V2 */
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFN = db_column_text(&q, 5);
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zFN==0 ){
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* File deleted in the merged-in branch */
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zV2 = "(deleted file)";
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&v2);
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zV2 = mprintf("%s (merge-in)", file_tail(zFN));
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rid = db_column_int(&q, 6);
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- content_get(rid, &v2);
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.pV2 = &v2;
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Set up the local content as V1 */
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFN = db_column_text(&q, 2);
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zFN==0 ){
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* File added by merge */
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zV1 = "(no original)";
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&v1);
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zV1 = mprintf("%s (local)", file_tail(zFN));
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rid = db_column_int(&q, 3);
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sz = db_column_int(&q, 4);
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( rid==0 && sz>0 ){
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* The origin file had been edited so we'll have to pull its
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** original content out of the undo buffer */
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Stmt q2;
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q2,
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT content FROM undo"
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE pathname=%Q AND octet_length(content)=%d",
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFN, sz
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&v1);
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( db_step(&q2)==SQLITE_ROW ){
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_column_blob(&q2, 0, &v1);
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zV1 = "(local content missing)";
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_finalize(&q2);
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* The origin file was unchanged when the merge first occurred */
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- content_get(rid, &v1);
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.pV1 = &v1;
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Set up the output */
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zFN = db_column_text(&q, 7);
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zFN==0 ){
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zOut = "(Merge Result)";
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.zOut = mprintf("%s (after merge)", file_tail(zFN));
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_zero(&out);
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mb.pOut = &out;
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- merge_three_blobs(&mb);
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_write_to_file(&out, "-");
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&pivot);
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diffMode!=23 ){
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Set up the pivot or baseline */
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFN = db_column_text(&q, 0);
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zFN==0 ){
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* No pivot because the file was added */
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zPivot = "(no baseline)";
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zPivot = mprintf("%s (baseline)", file_tail(zFN));
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = db_column_int(&q, 1);
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ content_get(rid, &pivot);
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.pPivot = &pivot;
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&v2);
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diffMode!=12 ){
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Set up the merge-in as V2 */
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFN = db_column_text(&q, 5);
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zFN==0 ){
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* File deleted in the merged-in branch */
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zV2 = "(deleted file)";
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zV2 = mprintf("%s (merge-in)", file_tail(zFN));
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = db_column_int(&q, 6);
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ content_get(rid, &v2);
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.pV2 = &v2;
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&v1);
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diffMode!=13 ){
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Set up the local content as V1 */
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFN = db_column_text(&q, 2);
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zFN==0 ){
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* File added by merge */
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zV1 = "(no original)";
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zV1 = mprintf("%s (local)", file_tail(zFN));
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = db_column_int(&q, 3);
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sz = db_column_int(&q, 4);
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rid==0 && sz>0 ){
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* The origin file had been edited so we'll have to pull its
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** original content out of the undo buffer */
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Stmt q2;
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q2,
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "SELECT content FROM undo"
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE pathname=%Q AND octet_length(content)=%d",
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFN, sz
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&v1);
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( db_step(&q2)==SQLITE_ROW ){
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_column_blob(&q2, 0, &v1);
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zV1 = "(local content missing)";
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_finalize(&q2);
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* The origin file was unchanged when the merge first occurred */
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ content_get(rid, &v1);
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.pV1 = &v1;
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_zero(&out);
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diffMode==0 ){
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Set up the output and do a 3-way diff */
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zFN = db_column_text(&q, 7);
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zFN==0 ){
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zOut = "(Merge Result)";
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.zOut = mprintf("%s (after merge)", file_tail(zFN));
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mb.pOut = &out;
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ merge_three_blobs(&mb);
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Set up to do a two-way diff */
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob *pLeft, *pRight;
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zTagLeft, *zTagRight;
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ DiffConfig cfg;
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ memset(&cfg, 0, sizeof(cfg));
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cfg.diffFlags = DIFF_TCL;
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cfg.nContext = mb.nContext;
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diffMode==12 || diffMode==13 ){
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pLeft = &pivot;
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTagLeft = "baselines";
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pLeft = &v1;
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTagLeft = "local";
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diffMode==12 ){
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pRight = &v1;
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTagRight = "local";
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pRight = &v2;
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTagRight = "merge-in";
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cfg.azLabel[0] = mprintf("%s (%s)", zFName, zTagLeft);
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cfg.azLabel[1] = mprintf("%s (%s)", zFName, zTagRight);
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diff_print_filenames("", "", &cfg, &out);
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ text_diff(pLeft, pRight, &out, &cfg);
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free((char*)cfg.azLabel[0]);
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free((char*)cfg.azLabel[1]);
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_write_to_file(&out, "-");
240 282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
mb.xDestroy(&mb);
241 283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&pivot);
242 284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&v1);
243 285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&v2);
244 286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&out);
245 287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
246 288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Respond to one of the options --diff12, --diff13, or --diff23.
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** The diffMode is one of 12, 13, or 23 according to which option provoked
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** this routine. zFile is the name of the file on which to run the
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** two-way diff.
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** This routine constructs a sub-command that runs "fossil diff" to show
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** the appropriate two-way diff.
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void merge_two_way_file_diff(
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int diffMode,
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zDiff2,
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int nContext,
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int bDark
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ){
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int ridLeft; /* RID for the left file */
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int ridRight; /* RID for the right file */
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zLeft;
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zRight;
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zCmd;
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ridLeft = db_int(0,
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT iif(%d,ridp,ridv) FROM mergestat"
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE coalesce(fnr,fn)=%Q",
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- diffMode<20, zDiff2
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ridRight = db_int(0,
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT iif(%d,ridv,ridm) FROM mergestat"
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE coalesce(fnr,fn)=%Q",
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (diffMode%10)==2, zDiff2
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zLeft = mprintf("%s (%s)", zDiff2, diffMode<20 ? "baseline" : "local");
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zRight = mprintf("%s (%s)", zDiff2,
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (diffMode%10)==2 ? "local" : "merge-in");
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zCmd = mprintf(
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "%!$ fdiff --tk --label %!$ --label %!$ -c %d%s rid:%d rid:%d &",
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.nameOfExe, zLeft, zRight, nContext,
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bDark ? " -dark" : "",
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ridLeft, ridRight);
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_system(zCmd);
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
292 289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
293 290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
294 291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: merge-info
295 292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
296 293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usage: %fossil merge-info [OPTIONS]
@@ -334,12 +331,12 @@
334 331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int cnt = 0;
335 332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zDiff2 = 0;
336 333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int diffMode = 0;
337 334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
338 335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_must_be_within_tree();
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zTcl = find_option("tcl", 0, 1);
340 336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
bTk = find_option("tk", 0, 0)!=0;
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTcl = find_option("tcl", 0, 1);
341 338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCnt = find_option("context", "c", 1);
342 339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
bDark = find_option("dark", 0, 0)!=0;
343 340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
bAll = find_option("all", "a", 0)!=0;
344 341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (zDiff2 = find_option("diff12", 0, 1))!=0 ){
345 342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
diffMode = 12;
@@ -348,11 +345,13 @@
348 345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
diffMode = 13;
349 346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
350 347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (zDiff2 = find_option("diff23", 0, 1))!=0 ){
351 348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
diffMode = 23;
352 349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
353 351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bTk==0 ){
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ find_option("v",0,0);
354 353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
verify_all_options();
355 354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc>2 ){
356 355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("[OPTIONS]");
357 356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
358 357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -373,15 +372,20 @@
373 372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bTk ){
374 373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
merge_info_tk(bDark, bAll, nContext);
375 374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
376 375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
377 376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTcl ){
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- merge_info_tcl(zTcl, nContext);
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diffMode ) zTcl = zDiff2;
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ merge_info_tcl(zTcl, nContext, diffMode);
379 379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
380 380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
381 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( diffMode ){
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- merge_two_way_file_diff(diffMode, zDiff2, nContext, bDark);
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zCmd;
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zCmd = mprintf("merge-info --diff%d %!$ -c %d%s",
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diffMode, zDiff2, nContext, bDark ? " --dark" : "");
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diff_tk(zCmd, g.argc);
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zCmd);
383 387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
384 388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
385 389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bAll ){
386 390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zWhere = "";
387 391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
388 392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!