@@ -1191,10 +1191,31 @@
1191 1191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1192 1192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1193 1193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1194 1194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return zResult;
1195 1195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
1198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Return true if it reasonable to run "diff -tk" for "gdiff".
1199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Details: Return true if all of the following are true:
1201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** (1) The isGDiff flags is true
1203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** (2) The "gdiff-command" setting is undefined
1204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** (3) There is a "tclsh" on PATH
1205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** (4) There is a "wish" on PATH
1206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
1207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int gdiff_using_tk(int isGdiff){
1208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isGdiff
1209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && db_get("gdiff-command","")[0]==0
1210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && fossil_app_on_path("tclsh",0)
1211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && fossil_app_on_path("wish",0)
1212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ){
1213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 1;
1214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 0;
1216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1196 1217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1197 1218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1198 1219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Show diff output in a Tcl/Tk window, in response to the --tk option
1199 1220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** to the diff command.
1200 1221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -1292,11 +1313,12 @@
1292 1313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usage: %fossil diff|gdiff ?OPTIONS? ?FILE1? ?FILE2 ...?
1293 1314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1294 1315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Show the difference between the current version of each of the FILEs
1295 1316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** specified (as they exist on disk) and that same file as it was checked-
1296 1317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** out. Or if the FILE arguments are omitted, show all unsaved changes
1297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** currently in the working check-out.
1318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** currently in the working check-out. The "gdiff" variant means to
1319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** to use a GUI diff.
1298 1320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1299 1321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The default output format is a "unified patch" (the same as the
1300 1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** output of "diff -u" on most unix systems). Many alternative formats
1301 1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** are available. A few of the more useful alternatives:
1302 1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -1386,15 +1408,15 @@
1386 1408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int againstUndo = 0; /* Diff against files in the undo buffer */
1387 1409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
FileDirList *pFileDir = 0; /* Restrict the diff to these files */
1388 1410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
DiffConfig DCfg; /* Diff configuration object */
1389 1411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int bFromIsDir = 0; /* True if zFrom is a directory name */
1390 1412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( find_option("tk",0,0)!=0 || has_option("tclsh") ){
1413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ isGDiff = g.argv[1][0]=='g';
1414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( find_option("tk",0,0)!=0|| has_option("tclsh") ){
1392 1415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
diff_tk("diff", 2);
1393 1416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1394 1417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- isGDiff = g.argv[1][0]=='g';
1396 1418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFrom = find_option("from", "r", 1);
1397 1419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTo = find_option("to", 0, 1);
1398 1420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCheckin = find_option("checkin", "ci", 1);
1399 1421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zBranch = find_option("branch", 0, 1);
1400 1422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
againstUndo = find_option("undo",0,0)!=0;
@@ -1406,10 +1428,11 @@
1406 1428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTo || zFrom || zCheckin ){
1407 1429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("cannot use --from, --to, or --checkin with --branch");
1408 1430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1409 1431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTo = zBranch;
1410 1432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFrom = mprintf("root:%s", zBranch);
1433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zBranch = 0;
1411 1434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1412 1435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zCheckin!=0 && (zFrom!=0 || zTo!=0) ){
1413 1436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("cannot use --checkin together with --from or --to");
1414 1437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1415 1438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0==zCheckin ){
@@ -1420,10 +1443,19 @@
1420 1443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1421 1444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_find_and_open_repository(0, 0);
1422 1445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1423 1446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1424 1447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_find_and_open_repository(0, 0);
1448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( gdiff_using_tk(isGDiff) ){
1450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ restore_option("--from", zFrom, 1);
1451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ restore_option("--to", zTo, 1);
1452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ restore_option("--checkin", zCheckin, 1);
1453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ restore_option("--branch", zBranch, 1);
1454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( againstUndo ) restore_option("--undo", 0, 0);
1455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diff_tk("diff", 2);
1456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return;
1425 1457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1426 1458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
determine_exec_relative_option(1);
1427 1459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zFrom!=file_tail(zFrom)
1428 1460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& file_isdir(zFrom, ExtFILE)==1
1429 1461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& !db_exists("SELECT 1 FROM tag WHERE tagname='sym-%q'", zFrom)
1430 1462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!