Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch mvRmHardFix Excluding Merge-Ins
This is equivalent to a diff from d10b1e022a to 0b5b87ac84
2015-05-29
| ||
17:14 | Enhance file_tree_name() to be capable of producing absolute paths within the local tree. Fix --hard option to mv/rm to enable them to work properly with certain relative paths. check-in: c56a387d47 user: mistachkin tags: trunk | |
2015-05-28
| ||
17:05 | Fix a logic bug in the RSS page. check-in: 282ae5e4de user: drh tags: trunk | |
2015-05-27
| ||
19:17 | Add and refine tests, part 2. Closed-Leaf check-in: 0b5b87ac84 user: mistachkin tags: mvRmHardFix | |
18:37 | Have all appropriate tests use 'normalize_result' instead of a raw 'string map'. check-in: d2cf0713ef user: mistachkin tags: mvRmHardFix | |
03:58 | Add minimal 'lsearch' command to TH1. Only exact case-sensitive matching is supported. Closed-Leaf check-in: eabd7290fb user: mistachkin tags: lsearchCmd | |
03:26 | Prototype for a TH1 glob_match command. check-in: f3ae479002 user: mistachkin tags: th1GlobMatch | |
2015-05-26
| ||
21:46 | Enhance file_tree_name() to be capable of producing absolute paths within the local tree. Fix --hard option to mv/rm to enable it to work properly with relative paths. check-in: c2df31dae8 user: mistachkin tags: mvRmHardFix | |
20:07 | Fix SQLITE_ERROR as reported by Taylor Venable: [https://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg20645.html] Closed-Leaf check-in: 89212c5a69 user: jan.nijtmans tags: mvRmHardFix | |
2015-05-25
| ||
09:52 | Close <a> tag, as reported by Svyatoslav Mishyn check-in: d10b1e022a user: jan.nijtmans tags: trunk | |
2015-05-24
| ||
00:53 | Simplify the computation of descendants using a recursive CTE. check-in: 31fcde837d user: drh tags: trunk | |
Changes to src/add.c.
︙ | |||
89 90 91 92 93 94 95 | 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | - + | /* Cached setting "manifest" */ static int cachedManifest = -1; if( cachedManifest == -1 ){ Blob repo; cachedManifest = db_get_boolean("manifest",0); blob_zero(&repo); |
︙ | |||
199 200 201 202 203 204 205 | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | - + | int nAdd = 0; /* Number of files added */ int i; /* Loop counter */ const char *zReserved; /* Name of a reserved file */ Blob repoName; /* Treename of the repository */ Stmt loop; /* SQL to loop over all files to add */ int (*xCmp)(const char*,const char*); |
︙ | |||
305 306 307 308 309 310 311 | 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | - + | for(i=2; i<g.argc; i++){ char *zName; int isDir; Blob fullName; /* file_tree_name() throws a fatal error if g.argv[i] is outside of the ** checkout. */ |
︙ | |||
363 364 365 366 367 368 369 | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 | - + + - - - - - - - - - - + + + + + + + + + + + | static int tableCreated = 0; Blob fullOldName; if( !tableCreated ){ db_multi_exec("CREATE TEMP TABLE fremove(x TEXT PRIMARY KEY %s)", filename_collation()); tableCreated = 1; } |
︙ | |||
462 463 464 465 466 467 468 | 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | - + | } db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", filename_collation()); for(i=2; i<g.argc; i++){ Blob treeName; char *zTreeName; |
︙ | |||
744 745 746 747 748 749 750 | 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 | - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + | Blob fullOldName; Blob fullNewName; if( !tableCreated ){ db_multi_exec("CREATE TEMP TABLE fmove(x TEXT PRIMARY KEY %s, y TEXT %s)", filename_collation(), filename_collation()); tableCreated = 1; } |
︙ | |||
858 859 860 861 862 863 864 | 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 | - + - + - + | }else{ #if FOSSIL_ENABLE_LEGACY_MV_RM moveFiles = db_get_boolean("mv-rm-files",0); #else moveFiles = FOSSIL_MV_RM_FILE; #endif } |
︙ |
Changes to src/checkin.c.
︙ | |||
44 45 46 47 48 49 50 | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | - + | Blob where; const char *zName; int i; blob_zero(&where); for(i=2; i<g.argc; i++){ Blob fname; |
︙ | |||
294 295 296 297 298 299 300 | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | - + | int rid; int i; /* Handle given file names */ blob_zero(&where); for(i=2; i<g.argc; i++){ Blob fname; |
︙ | |||
407 408 409 410 411 412 413 | 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 | - + | zOrderBy = "mtime DESC"; } } verify_all_options(); blob_zero(&where); for(i=2; i<g.argc; i++){ Blob fname; |
︙ | |||
739 740 741 742 743 744 745 | 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 | - + | locate_unmanaged_files(g.argc-2, g.argv+2, scanFlags, pIgnore, 0); db_prepare(&q, "SELECT %Q || x FROM sfile" " WHERE x NOT IN (%s)" " ORDER BY 1", g.zLocalRoot, fossil_all_reserved_names(0) ); |
︙ | |||
1035 1036 1037 1038 1039 1040 1041 | 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 | - + | Stmt q; Bag toCommit; blob_zero(&fname); bag_init(&toCommit); for(ii=2; ii<g.argc; ii++){ int cnt = 0; |
︙ |
Changes to src/db.c.
︙ | |||
1256 1257 1258 1259 1260 1261 1262 | 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 | - + + | /* ** Return the name of the database "localdb", "configdb", or "repository". */ const char *db_name(const char *zDb){ assert( fossil_strcmp(zDb,"localdb")==0 || fossil_strcmp(zDb,"configdb")==0 |
︙ |
Changes to src/diff.c.
︙ | |||
2455 2456 2457 2458 2459 2460 2461 | 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 | - + | /* We should be done with options.. */ verify_all_options(); if( g.argc<3 ) { usage("FILENAME"); } |
︙ |
Changes to src/diffcmd.c.
︙ | |||
296 297 298 299 300 301 302 | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | - + | u64 diffFlags, /* Diff control flags */ const char *zFileTreeName ){ Blob fname; Blob content; int isLink; int isBin; |
︙ | |||
452 453 454 455 456 457 458 | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 | - + | ){ char *zName; Blob fname; Blob v1, v2; int isLink1, isLink2; int isBin1, isBin2; if( diffFlags & DIFF_BRIEF ) return; |
︙ |
Changes to src/file.c.
︙ | |||
1027 1028 1029 1030 1031 1032 1033 | 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 | + + + - - - - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + - + + + + + + + + + + - + + + + - + | file_relative_name(g.argv[i], &x, slashFlag); fossil_print("%s\n", blob_buffer(&x)); blob_reset(&x); } } /* ** Compute a full path name for a file in the local tree. If ** the absolute flag is non-zero, the computed path will be ** absolute, starting with the root path of the local tree; |
︙ |
Changes to src/finfo.c.
︙ | |||
71 72 73 74 75 76 77 | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | - + | if( g.argc!=3 ) usage("-s|--status FILENAME"); vid = db_lget_int("checkout", 0); if( vid==0 ){ fossil_fatal("no checkout to finfo files in"); } vfile_check_signature(vid, CKSIG_ENOTFILE); |
︙ | |||
120 121 122 123 124 125 126 | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | - + | Blob record; Blob fname; const char *zRevision = find_option("revision", "r", 1); /* We should be done with options.. */ verify_all_options(); |
︙ | |||
172 173 174 175 176 177 178 | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | - + | /* We should be done with options.. */ verify_all_options(); if( g.argc!=3 ){ usage("?-l|--log? ?-b|--brief? FILENAME"); } |
︙ | |||
257 258 259 260 261 262 263 | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | - + | db_find_and_open_repository(0, 0); zRev = find_option("r","r",1); /* We should be done with options.. */ verify_all_options(); for(i=2; i<g.argc; i++){ |
︙ |
Changes to src/stash.c.
︙ | |||
56 57 58 59 60 61 62 | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | - + | char *zTreename; /* Name of the file in the tree */ Blob fname; /* Filename relative to root */ Blob sql; /* Query statement text */ Stmt q; /* Query against the vfile table */ Stmt ins; /* Insert statement */ zFile = mprintf("%/", zFName); |
︙ |
Changes to src/timeline.c.
︙ | |||
2083 2084 2085 2086 2087 2088 2089 | 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 | - + | if( zFilePattern ){ if( zType==0 ){ /* When zFilePattern is specified and type is not specified, only show * file check-ins */ zType="ci"; } |
︙ |
Changes to src/undo.c.
︙ | |||
435 436 437 438 439 440 441 | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | - + | int i; if( undo_available==0 ){ fossil_fatal("nothing to %s", zCmd); } for(i=2; i<g.argc; i++){ const char *zFile = g.argv[i]; Blob path; |
Changes to src/update.c.
︙ | |||
350 351 352 353 354 355 356 | 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 | - + | int i; /* Loop counter */ const char *zSep; /* Term separator */ blob_zero(&sql); blob_append(&sql, "DELETE FROM fv WHERE ", -1); zSep = ""; for(i=3; i<g.argc; i++){ |
︙ | |||
736 737 738 739 740 741 742 | 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 | - + | undo_begin(); db_multi_exec("CREATE TEMP TABLE torevert(name UNIQUE);"); if( g.argc>2 ){ for(i=2; i<g.argc; i++){ Blob fname; zFile = mprintf("%/", g.argv[i]); |
︙ |
Changes to test/file1.test.
︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | + + + + + + + + + + + + + + + + + + | set i 1 foreach {subdir path result} $args { fossil test-relative-name --chdir $subdir $path test relative-name-$testname.$i {$::RESULT==$result} incr i } } proc relative-tree-name {testname args} { set i 1 foreach {subdir path result} $args { fossil test-tree-name --chdir $subdir $path test relative-tree-name-$testname.$i {$::RESULT==$result} incr i } } proc absolute-tree-name {testname args} { set i 1 foreach {subdir path result} $args { fossil test-tree-name --chdir $subdir --absolute $path test absolute-tree-name-$testname.$i {$::RESULT==$result} incr i } } simplify-name 100 . . .// . .. .. ..///// .. simplify-name 101 {} {} / / ///////// / ././././ . simplify-name 102 x x /x /x ///x //x simplify-name 103 a/b a/b /a/b /a/b a///b a/b ///a///b///// //a/b simplify-name 104 a/b/../c/ a/c /a/b/../c /a/c /a/b//../c /a/c /a/b/..///c /a/c simplify-name 105 a/b/../../x/y x/y /a/b/../../x/y /x/y |
︙ | |||
53 54 55 56 57 58 59 60 61 62 | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | + + + + + + + + + + + + + | # Those directories are only needed for the testcase being able to "--chdir" to it. file mkdir test1 file mkdir test1/test2 relative-name 100 . . . test1 [pwd] .. test1 [pwd]/ .. test1 [pwd]/test ../test relative-name 101 test1/test2 [pwd] ../.. test1/test2 [pwd]/ ../.. test1/test2 [pwd]/test ../../test relative-name 102 test1 [pwd]/test ../test . [pwd]/file1 ./file1 . [pwd]/file1/file2 ./file1/file2 relative-name 103 . [pwd] . relative-tree-name 100 . . file1 test1 [pwd] file1 test1 [pwd]/ file1 test1 [pwd]/test file1/test relative-tree-name 101 test1/test2 [pwd] file1 test1/test2 [pwd]/ file1 test1/test2 [pwd]/test file1/test relative-tree-name 102 test1 [pwd]/test file1/test . [pwd]/file1 file1/file1 . [pwd]/file1/file2 file1/file1/file2 relative-tree-name 103 . [pwd] file1 set dirname [file normalize [file dirname [pwd]]] absolute-tree-name 100 . . $dirname test1 [pwd] [pwd] test1 [pwd]/ $dirname/file1 test1 [pwd]/test $dirname/file1/test absolute-tree-name 101 test1/test2 [pwd] $dirname/file1 test1/test2 [pwd]/ $dirname/file1 test1/test2 [pwd]/test $dirname/file1/test absolute-tree-name 102 test1 [pwd]/test $dirname/file1/test . [pwd]/file1 $dirname/file1/file1 . [pwd]/file1/file2 $dirname/file1/file1/file2 absolute-tree-name 103 . [pwd] $dirname/file1 catch {file delete test1/test2} catch {file delete test1} |
Changes to test/merge6.test.
︙ | |||
21 22 23 24 25 26 27 | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | - + - + - + - + - + | #################################################################### # TEST 1: Handle multiple merges each with one or more ADDED files # #################################################################### repo_init fossil ls |
Changes to test/merge_renames.test.
︙ | |||
195 196 197 198 199 200 201 | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | - + | fossil update branch_for_f3 fossil merge trunk fossil commit -m "trunk merged, should have 3 files" fossil ls |
Added test/mv-rm.test.