Fossil SCM

make "fossil rm FOO" work as expected on case-insensitive file systems, where committed files "foo/*" exist.

jan.nijtmans 2013-06-05 08:12 trunk
Commit fa6311a5078112d1fcb92f93859f54b2dddd9e11
1 file changed +6 -4
+6 -4
--- src/add.c
+++ src/add.c
@@ -346,13 +346,14 @@
346346
zTreeName = blob_str(&treeName);
347347
db_multi_exec(
348348
"INSERT OR IGNORE INTO sfile"
349349
" SELECT pathname FROM vfile"
350350
" WHERE (pathname=%Q %s"
351
- " OR (pathname>'%q/' AND pathname<'%q0'))"
351
+ " OR (pathname>'%q/' %s AND pathname<'%q0' %s))"
352352
" AND NOT deleted",
353
- zTreeName, filename_collation(), zTreeName, zTreeName
353
+ zTreeName, filename_collation(), zTreeName,
354
+ filename_collation(), zTreeName, filename_collation()
354355
);
355356
blob_reset(&treeName);
356357
}
357358
358359
db_prepare(&loop, "SELECT x FROM sfile");
@@ -649,13 +650,14 @@
649650
zOrig = blob_str(&orig);
650651
nOrig = blob_size(&orig);
651652
db_prepare(&q,
652653
"SELECT pathname FROM vfile"
653654
" WHERE vid=%d"
654
- " AND (pathname='%q' %s OR (pathname>'%q/' AND pathname<'%q0'))"
655
+ " AND (pathname='%q' %s OR (pathname>'%q/' %s AND pathname<'%q0' %s))"
655656
" ORDER BY 1",
656
- vid, zOrig, filename_collation(), zOrig, zOrig
657
+ vid, zOrig, filename_collation(), zOrig, filename_collation(),
658
+ zOrig, filename_collation()
657659
);
658660
while( db_step(&q)==SQLITE_ROW ){
659661
const char *zPath = db_column_text(&q, 0);
660662
int nPath = db_column_bytes(&q, 0);
661663
const char *zTail;
662664
--- src/add.c
+++ src/add.c
@@ -346,13 +346,14 @@
346 zTreeName = blob_str(&treeName);
347 db_multi_exec(
348 "INSERT OR IGNORE INTO sfile"
349 " SELECT pathname FROM vfile"
350 " WHERE (pathname=%Q %s"
351 " OR (pathname>'%q/' AND pathname<'%q0'))"
352 " AND NOT deleted",
353 zTreeName, filename_collation(), zTreeName, zTreeName
 
354 );
355 blob_reset(&treeName);
356 }
357
358 db_prepare(&loop, "SELECT x FROM sfile");
@@ -649,13 +650,14 @@
649 zOrig = blob_str(&orig);
650 nOrig = blob_size(&orig);
651 db_prepare(&q,
652 "SELECT pathname FROM vfile"
653 " WHERE vid=%d"
654 " AND (pathname='%q' %s OR (pathname>'%q/' AND pathname<'%q0'))"
655 " ORDER BY 1",
656 vid, zOrig, filename_collation(), zOrig, zOrig
 
657 );
658 while( db_step(&q)==SQLITE_ROW ){
659 const char *zPath = db_column_text(&q, 0);
660 int nPath = db_column_bytes(&q, 0);
661 const char *zTail;
662
--- src/add.c
+++ src/add.c
@@ -346,13 +346,14 @@
346 zTreeName = blob_str(&treeName);
347 db_multi_exec(
348 "INSERT OR IGNORE INTO sfile"
349 " SELECT pathname FROM vfile"
350 " WHERE (pathname=%Q %s"
351 " OR (pathname>'%q/' %s AND pathname<'%q0' %s))"
352 " AND NOT deleted",
353 zTreeName, filename_collation(), zTreeName,
354 filename_collation(), zTreeName, filename_collation()
355 );
356 blob_reset(&treeName);
357 }
358
359 db_prepare(&loop, "SELECT x FROM sfile");
@@ -649,13 +650,14 @@
650 zOrig = blob_str(&orig);
651 nOrig = blob_size(&orig);
652 db_prepare(&q,
653 "SELECT pathname FROM vfile"
654 " WHERE vid=%d"
655 " AND (pathname='%q' %s OR (pathname>'%q/' %s AND pathname<'%q0' %s))"
656 " ORDER BY 1",
657 vid, zOrig, filename_collation(), zOrig, filename_collation(),
658 zOrig, filename_collation()
659 );
660 while( db_step(&q)==SQLITE_ROW ){
661 const char *zPath = db_column_text(&q, 0);
662 int nPath = db_column_bytes(&q, 0);
663 const char *zTail;
664

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button