| | @@ -314,10 +314,11 @@ |
| 314 | 314 | ** Pathnames are displayed according to the "relative-paths" setting, |
| 315 | 315 | ** unless overridden by the --abs-paths or --rel-paths options. |
| 316 | 316 | ** |
| 317 | 317 | ** Options: |
| 318 | 318 | ** --abs-paths Display absolute pathnames. |
| 319 | +** --case-sensitive <BOOL> override case-sensitive setting |
| 319 | 320 | ** --dotfiles include files beginning with a dot (".") |
| 320 | 321 | ** --ignore <CSG> ignore files matching patterns from the argument |
| 321 | 322 | ** --rel-paths Display pathnames relative to the current working |
| 322 | 323 | ** directory. |
| 323 | 324 | ** |
| | @@ -331,23 +332,26 @@ |
| 331 | 332 | unsigned scanFlags = find_option("dotfiles",0,0)!=0 ? SCAN_ALL : 0; |
| 332 | 333 | int cwdRelative = 0; |
| 333 | 334 | Glob *pIgnore; |
| 334 | 335 | Blob rewrittenPathname; |
| 335 | 336 | const char *zPathname, *zDisplayName; |
| 337 | + int caseSensitive; |
| 336 | 338 | |
| 337 | 339 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 340 | + capture_case_sensitive_option(); |
| 338 | 341 | db_must_be_within_tree(); |
| 342 | + caseSensitive = filenames_are_case_sensitive(); |
| 339 | 343 | cwdRelative = determine_cwd_relative_option(); |
| 340 | 344 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 341 | 345 | filename_collation()); |
| 342 | 346 | n = strlen(g.zLocalRoot); |
| 343 | 347 | blob_init(&path, g.zLocalRoot, n-1); |
| 344 | 348 | if( zIgnoreFlag==0 ){ |
| 345 | 349 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 346 | 350 | } |
| 347 | 351 | pIgnore = glob_create(zIgnoreFlag); |
| 348 | | - vfile_scan(&path, blob_size(&path), scanFlags, pIgnore); |
| 352 | + vfile_scan(&path, blob_size(&path), scanFlags, pIgnore, caseSensitive); |
| 349 | 353 | glob_free(pIgnore); |
| 350 | 354 | db_prepare(&q, |
| 351 | 355 | "SELECT x FROM sfile" |
| 352 | 356 | " WHERE x NOT IN (%s)" |
| 353 | 357 | " ORDER BY 1", |
| | @@ -391,10 +395,11 @@ |
| 391 | 395 | ** The GLOBPATTERN is a comma-separated list of GLOB expressions for |
| 392 | 396 | ** files that are ignored. The GLOBPATTERN specified by the "ignore-glob" |
| 393 | 397 | ** is used if the --ignore option is omitted. |
| 394 | 398 | ** |
| 395 | 399 | ** Options: |
| 400 | +** --case-sensitive <BOOL> override case-sensitive setting |
| 396 | 401 | ** --dotfiles include files beginning with a dot (".") |
| 397 | 402 | ** --force Remove files without prompting |
| 398 | 403 | ** --ignore <CSG> ignore files matching patterns from the |
| 399 | 404 | ** comma separated list of glob patterns. |
| 400 | 405 | ** --temp Remove only Fossil-generated temporary files |
| | @@ -408,26 +413,29 @@ |
| 408 | 413 | Blob path, repo; |
| 409 | 414 | Stmt q; |
| 410 | 415 | int n; |
| 411 | 416 | Glob *pIgnore; |
| 412 | 417 | int testFlag = 0; |
| 418 | + int caseSensitive; |
| 413 | 419 | |
| 414 | 420 | allFlag = find_option("force","f",0)!=0; |
| 415 | 421 | if( find_option("dotfiles",0,0)!=0 ) scanFlags |= SCAN_ALL; |
| 416 | 422 | if( find_option("temp",0,0)!=0 ) scanFlags |= SCAN_TEMP; |
| 417 | 423 | zIgnoreFlag = find_option("ignore",0,1); |
| 418 | 424 | testFlag = find_option("test",0,0)!=0; |
| 425 | + capture_case_sensitive_option(); |
| 419 | 426 | db_must_be_within_tree(); |
| 427 | + caseSensitive = filenames_are_case_sensitive(); |
| 420 | 428 | if( zIgnoreFlag==0 ){ |
| 421 | 429 | zIgnoreFlag = db_get("ignore-glob", 0); |
| 422 | 430 | } |
| 423 | 431 | db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)", |
| 424 | 432 | filename_collation()); |
| 425 | 433 | n = strlen(g.zLocalRoot); |
| 426 | 434 | blob_init(&path, g.zLocalRoot, n-1); |
| 427 | 435 | pIgnore = glob_create(zIgnoreFlag); |
| 428 | | - vfile_scan(&path, blob_size(&path), scanFlags, pIgnore); |
| 436 | + vfile_scan(&path, blob_size(&path), scanFlags, pIgnore, caseSensitive); |
| 429 | 437 | glob_free(pIgnore); |
| 430 | 438 | db_prepare(&q, |
| 431 | 439 | "SELECT %Q || x FROM sfile" |
| 432 | 440 | " WHERE x NOT IN (%s)" |
| 433 | 441 | " ORDER BY 1", |
| 434 | 442 | |