Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch bellon-unicode Excluding Merge-Ins
This is equivalent to a diff from 7a8938ab84 to e9954e588b
2012-11-26
| ||
18:55 | Merge commit warning enhancements (i.e. the 'unicode-glob' setting and the '--no-warnings' option to commit). check-in: cb856ccdb1 user: mistachkin tags: trunk | |
12:23 | - Make --force imply --no-warnings - Add --no-warnings to "fossil scrub" and "fossil clean" - Remove "--conflict" option for "fossil merge", use --force for that. Closed-Leaf check-in: 06e1b67270 user: jan.nijtmans tags: bellon-unicode-v2 | |
2012-11-25
| ||
22:58 | Merge commit warning enhancements (i.e. the 'unicode-glob' setting and the '--no-warnings' option to commit). Not yet approved for trunk. Closed-Leaf check-in: 02062c2b6a user: mistachkin tags: mistake | |
22:31 | During commit, instead of using the '--force' option to bypass file type warnings, add a new option '--no-warnings'. Closed-Leaf check-in: e9954e588b user: mistachkin tags: bellon-unicode | |
22:01 | Adjust check for bypassing Unicode/CR/NL warning. check-in: be15485aa6 user: mistachkin tags: bellon-unicode | |
21:42 | Patch provided by Stefan Bellon, >Attached you'll find a patch that adds the "unicode-glob" to the >settings and respects its setting in the check-in. Additionally I >disabled all the check-in warnings (crnl, binary and unicode) in case >--force/-f is set on commit. check-in: 0c2f705c80 user: jan.nijtmans tags: bellon-unicode | |
20:44 | merge trunk check-in: 22a543bcf5 user: jan.nijtmans tags: ticket-d17d6e5b17 | |
18:06 | Fix formatting of the Login Group screen. Ticket [f687f1eb987148]. check-in: 7a8938ab84 user: drh tags: trunk | |
17:05 | Fix an out-of-order variable declaration. check-in: 77dc754b98 user: drh tags: trunk | |
Changes to src/checkin.c.
888 889 890 891 892 893 894 895 896 897 898 899 900 901 ... 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 .... 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 .... 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 .... 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 |
** if a Unicode (UTF-16) byte-order-mark (BOM) or a \r\n line ending ** is seen in a text file. */ static void commit_warning( const Blob *p, /* The content of the file being committed. */ int crnlOk, /* Non-zero if CR/NL warnings should be disabled. */ int binOk, /* Non-zero if binary warnings should be disabled. */ const char *zFilename /* The full name of the file being committed. */ ){ int eType; /* return value of looks_like_utf8/utf16() */ int fUnicode; /* return value of starts_with_utf16_bom() */ char *zMsg; /* Warning message */ Blob fname; /* Relative pathname of the file */ static int allOk = 0; /* Set to true to disable this routine */ ................................................................................ eType = fUnicode ? looks_like_utf16(p) : looks_like_utf8(p); if( eType==0 || eType==-1 || fUnicode ){ const char *zWarning; Blob ans; char cReply; if( eType==-1 && fUnicode ){ zWarning = "Unicode and CR/NL line endings"; }else if( eType==-1 ){ if( crnlOk ){ return; /* We don't want CR/NL warnings for this file. */ } zWarning = "CR/NL line endings"; }else if( eType==0 ){ if( binOk ){ return; /* We don't want binary warnings for this file. */ } zWarning = "binary data"; }else{ zWarning = "Unicode"; } file_relative_name(zFilename, &fname, 0); blob_zero(&ans); zMsg = mprintf( "%s contains %s. commit anyhow (a=all/y/N)? ", blob_str(&fname), zWarning); ................................................................................ int nvid; /* Blob-id of the new check-in */ Blob comment; /* Check-in comment */ const char *zComment; /* Check-in comment */ Stmt q; /* Query to find files that have been modified */ char *zUuid; /* UUID of the new check-in */ int noSign = 0; /* True to omit signing the manifest using GPG */ int isAMerge = 0; /* True if checking in a merge */ int forceFlag = 0; /* Force a fork */ int forceDelta = 0; /* Force a delta-manifest */ int forceBaseline = 0; /* Force a baseline-manifest */ int allowConflict = 0; /* Allow unresolve merge conflicts */ int binaryOk = 0; /* The --binary-ok flag */ char *zManifestFile; /* Name of the manifest file */ int useCksum; /* True if checksums should be computed and verified */ ................................................................................ forceBaseline = find_option("baseline",0,0)!=0; if( forceDelta && forceBaseline ){ fossil_fatal("cannot use --delta and --baseline together"); } testRun = find_option("test",0,0)!=0; zComment = find_option("comment","m",1); forceFlag = find_option("force", "f", 0)!=0; zBranch = find_option("branch","b",1); zColor = find_option("bgcolor",0,1); zBrClr = find_option("branchcolor",0,1); binaryOk = find_option("binary-ok",0,0)!=0; while( (zTag = find_option("tag",0,1))!=0 ){ if( zTag[0]==0 ) continue; azTag = fossil_realloc((void *)azTag, sizeof(char*)*(nTag+2)); ................................................................................ } /* Step 1: Insert records for all modified files into the blob ** table. If there were arguments passed to this command, only ** the identified files are inserted (if they have been modified). */ db_prepare(&q, "SELECT id, %Q || pathname, mrid, %s, chnged, %s FROM vfile " "WHERE chnged==1 AND NOT deleted AND is_selected(id)", g.zLocalRoot, glob_expr("pathname", db_get("crnl-glob","")), glob_expr("pathname", db_get("binary-glob","")) ); while( db_step(&q)==SQLITE_ROW ){ int id, rid; const char *zFullname; Blob content; int crnlOk, binOk, chnged; id = db_column_int(&q, 0); zFullname = db_column_text(&q, 1); rid = db_column_int(&q, 2); crnlOk = db_column_int(&q, 3); chnged = db_column_int(&q, 4); binOk = binaryOk || db_column_int(&q, 5); blob_zero(&content); if( file_wd_islink(zFullname) ){ /* Instead of file content, put link destination path */ blob_read_link(&content, zFullname); }else{ blob_read_from_file(&content, zFullname); } commit_warning(&content, crnlOk, binOk, zFullname); if( chnged==1 && contains_merge_marker(&content) ){ Blob fname; /* Relative pathname of the file */ nConflict++; file_relative_name(zFullname, &fname, 0); fossil_print("possible unresolved merge conflict in %s\n", blob_str(&fname)); |
> > > > > > > > > | > | | > | > > > | > |
888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 ... 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 .... 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 .... 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 .... 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 |
** if a Unicode (UTF-16) byte-order-mark (BOM) or a \r\n line ending ** is seen in a text file. */ static void commit_warning( const Blob *p, /* The content of the file being committed. */ int crnlOk, /* Non-zero if CR/NL warnings should be disabled. */ int binOk, /* Non-zero if binary warnings should be disabled. */ int unicodeOk, /* Non-zero if unicode warnings should be disabled. */ const char *zFilename /* The full name of the file being committed. */ ){ int eType; /* return value of looks_like_utf8/utf16() */ int fUnicode; /* return value of starts_with_utf16_bom() */ char *zMsg; /* Warning message */ Blob fname; /* Relative pathname of the file */ static int allOk = 0; /* Set to true to disable this routine */ ................................................................................ eType = fUnicode ? looks_like_utf16(p) : looks_like_utf8(p); if( eType==0 || eType==-1 || fUnicode ){ const char *zWarning; Blob ans; char cReply; if( eType==-1 && fUnicode ){ if ( crnlOk && unicodeOk ){ return; /* We don't want Unicode/CR/NL warnings for this file. */ } zWarning = "Unicode and CR/NL line endings"; }else if( eType==-1 ){ if( crnlOk ){ return; /* We don't want CR/NL warnings for this file. */ } zWarning = "CR/NL line endings"; }else if( eType==0 ){ if( binOk ){ return; /* We don't want binary warnings for this file. */ } zWarning = "binary data"; }else{ if ( unicodeOk ){ return; /* We don't want unicode warnings for this file. */ } zWarning = "Unicode"; } file_relative_name(zFilename, &fname, 0); blob_zero(&ans); zMsg = mprintf( "%s contains %s. commit anyhow (a=all/y/N)? ", blob_str(&fname), zWarning); ................................................................................ int nvid; /* Blob-id of the new check-in */ Blob comment; /* Check-in comment */ const char *zComment; /* Check-in comment */ Stmt q; /* Query to find files that have been modified */ char *zUuid; /* UUID of the new check-in */ int noSign = 0; /* True to omit signing the manifest using GPG */ int isAMerge = 0; /* True if checking in a merge */ int noWarningFlag = 0; /* True if skipping all warnings */ int forceFlag = 0; /* Force a fork */ int forceDelta = 0; /* Force a delta-manifest */ int forceBaseline = 0; /* Force a baseline-manifest */ int allowConflict = 0; /* Allow unresolve merge conflicts */ int binaryOk = 0; /* The --binary-ok flag */ char *zManifestFile; /* Name of the manifest file */ int useCksum; /* True if checksums should be computed and verified */ ................................................................................ forceBaseline = find_option("baseline",0,0)!=0; if( forceDelta && forceBaseline ){ fossil_fatal("cannot use --delta and --baseline together"); } testRun = find_option("test",0,0)!=0; zComment = find_option("comment","m",1); forceFlag = find_option("force", "f", 0)!=0; noWarningFlag = find_option("no-warnings", 0, 0)!=0; zBranch = find_option("branch","b",1); zColor = find_option("bgcolor",0,1); zBrClr = find_option("branchcolor",0,1); binaryOk = find_option("binary-ok",0,0)!=0; while( (zTag = find_option("tag",0,1))!=0 ){ if( zTag[0]==0 ) continue; azTag = fossil_realloc((void *)azTag, sizeof(char*)*(nTag+2)); ................................................................................ } /* Step 1: Insert records for all modified files into the blob ** table. If there were arguments passed to this command, only ** the identified files are inserted (if they have been modified). */ db_prepare(&q, "SELECT id, %Q || pathname, mrid, %s, chnged, %s, %s FROM vfile " "WHERE chnged==1 AND NOT deleted AND is_selected(id)", g.zLocalRoot, glob_expr("pathname", db_get("crnl-glob","")), glob_expr("pathname", db_get("binary-glob","")), glob_expr("pathname", db_get("unicode-glob","")) ); while( db_step(&q)==SQLITE_ROW ){ int id, rid; const char *zFullname; Blob content; int crnlOk, binOk, unicodeOk, chnged; id = db_column_int(&q, 0); zFullname = db_column_text(&q, 1); rid = db_column_int(&q, 2); crnlOk = db_column_int(&q, 3); chnged = db_column_int(&q, 4); binOk = binaryOk || db_column_int(&q, 5); unicodeOk = db_column_int(&q, 6); blob_zero(&content); if( file_wd_islink(zFullname) ){ /* Instead of file content, put link destination path */ blob_read_link(&content, zFullname); }else{ blob_read_from_file(&content, zFullname); } /* Do not emit any warnings when they are disabled. */ if( !noWarningFlag ){ commit_warning(&content, crnlOk, binOk, unicodeOk, zFullname); } if( chnged==1 && contains_merge_marker(&content) ){ Blob fname; /* Relative pathname of the file */ nConflict++; file_relative_name(zFullname, &fname, 0); fossil_print("possible unresolved merge conflict in %s\n", blob_str(&fname)); |
Changes to src/configure.c.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
{ "project-name", CONFIGSET_PROJ }, { "project-description", CONFIGSET_PROJ }, { "manifest", CONFIGSET_PROJ }, { "binary-glob", CONFIGSET_PROJ }, { "ignore-glob", CONFIGSET_PROJ }, { "crnl-glob", CONFIGSET_PROJ }, { "empty-dirs", CONFIGSET_PROJ }, { "allow-symlinks", CONFIGSET_PROJ }, { "ticket-table", CONFIGSET_TKT }, { "ticket-common", CONFIGSET_TKT }, { "ticket-change", CONFIGSET_TKT }, { "ticket-newpage", CONFIGSET_TKT }, |
> |
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
{ "project-name", CONFIGSET_PROJ },
{ "project-description", CONFIGSET_PROJ },
{ "manifest", CONFIGSET_PROJ },
{ "binary-glob", CONFIGSET_PROJ },
{ "ignore-glob", CONFIGSET_PROJ },
{ "crnl-glob", CONFIGSET_PROJ },
{ "unicode-glob", CONFIGSET_PROJ },
{ "empty-dirs", CONFIGSET_PROJ },
{ "allow-symlinks", CONFIGSET_PROJ },
{ "ticket-table", CONFIGSET_TKT },
{ "ticket-common", CONFIGSET_TKT },
{ "ticket-change", CONFIGSET_TKT },
{ "ticket-newpage", CONFIGSET_TKT },
|
Changes to src/db.c.
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
....
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
|
{ "ssl-identity", 0, 40, 0, "" },
{ "ssh-command", 0, 40, 0, "" },
{ "th1-setup", 0, 40, 0, "" },
#ifdef FOSSIL_ENABLE_TCL
{ "tcl", 0, 0, 0, "off" },
{ "tcl-setup", 0, 40, 0, "" },
#endif
{ "web-browser", 0, 32, 0, "" },
{ "white-foreground", 0, 0, 0, "off" },
{ 0,0,0,0,0 }
};
/*
** COMMAND: settings
................................................................................
** tcl-setup This is the setup script to be evaluated after creating
** and initializing the Tcl interpreter. By default, this
** is empty and no extra setup is performed.
**
** th1-setup This is the setup script to be evaluated after creating
** and initializing the TH1 interpreter. By default, this
** is empty and no extra setup is performed.
**
** web-browser A shell command used to launch your preferred
** web browser when given a URL as an argument.
** Defaults to "start" on windows, "open" on Mac,
** and "firefox" on Unix.
**
** Options:
|
>
>
>
>
>
|
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
....
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
|
{ "ssl-identity", 0, 40, 0, "" }, { "ssh-command", 0, 40, 0, "" }, { "th1-setup", 0, 40, 0, "" }, #ifdef FOSSIL_ENABLE_TCL { "tcl", 0, 0, 0, "off" }, { "tcl-setup", 0, 40, 0, "" }, #endif { "unicode-glob", 0, 40, 1, "" }, { "web-browser", 0, 32, 0, "" }, { "white-foreground", 0, 0, 0, "off" }, { 0,0,0,0,0 } }; /* ** COMMAND: settings ................................................................................ ** tcl-setup This is the setup script to be evaluated after creating ** and initializing the Tcl interpreter. By default, this ** is empty and no extra setup is performed. ** ** th1-setup This is the setup script to be evaluated after creating ** and initializing the TH1 interpreter. By default, this ** is empty and no extra setup is performed. ** ** unicode-glob The VALUE is a comma or newline-separated list of ** (versionable) GLOB patterns of files that should not produce a Unicode ** warning. Set to "*" to disable Unicode checking. ** ** web-browser A shell command used to launch your preferred ** web browser when given a URL as an argument. ** Defaults to "start" on windows, "open" on Mac, ** and "firefox" on Unix. ** ** Options: |