Fossil SCM

Fix the "fossil all add" command so that it works even if repos that are already known are added.

drh 2016-11-26 01:26 trunk
Commit b9da89a44ed8e0326a4e35eead1ad9737072fa3d
1 file changed +5 -2
+5 -2
--- src/allrepo.c
+++ src/allrepo.c
@@ -322,17 +322,20 @@
322322
int rc;
323323
const char *z;
324324
file_canonical_name(g.argv[j], &fn, 0);
325325
z = blob_str(&fn);
326326
if( !file_isfile(z) ) continue;
327
+ g.dbIgnoreErrors++;
327328
rc = sqlite3_open(z, &db);
328
- if( rc!=SQLITE_OK ){ sqlite3_close(db); continue; }
329
+ if( rc!=SQLITE_OK ){ sqlite3_close(db); g.dbIgnoreErrors--; continue; }
329330
rc = sqlite3_exec(db, "SELECT rcvid FROM blob, delta LIMIT 1", 0, 0, 0);
330331
sqlite3_close(db);
332
+ g.dbIgnoreErrors--;
331333
if( rc!=SQLITE_OK ) continue;
332334
blob_append_sql(&sql,
333
- "INSERT INTO global_config(name,value)VALUES('repo:%q',1)", z
335
+ "INSERT OR IGNORE INTO global_config(name,value)"
336
+ "VALUES('repo:%q',1)", z
334337
);
335338
if( dryRunFlag ){
336339
fossil_print("%s\n", blob_sql_text(&sql));
337340
}else{
338341
db_multi_exec("%s", blob_sql_text(&sql));
339342
--- src/allrepo.c
+++ src/allrepo.c
@@ -322,17 +322,20 @@
322 int rc;
323 const char *z;
324 file_canonical_name(g.argv[j], &fn, 0);
325 z = blob_str(&fn);
326 if( !file_isfile(z) ) continue;
 
327 rc = sqlite3_open(z, &db);
328 if( rc!=SQLITE_OK ){ sqlite3_close(db); continue; }
329 rc = sqlite3_exec(db, "SELECT rcvid FROM blob, delta LIMIT 1", 0, 0, 0);
330 sqlite3_close(db);
 
331 if( rc!=SQLITE_OK ) continue;
332 blob_append_sql(&sql,
333 "INSERT INTO global_config(name,value)VALUES('repo:%q',1)", z
 
334 );
335 if( dryRunFlag ){
336 fossil_print("%s\n", blob_sql_text(&sql));
337 }else{
338 db_multi_exec("%s", blob_sql_text(&sql));
339
--- src/allrepo.c
+++ src/allrepo.c
@@ -322,17 +322,20 @@
322 int rc;
323 const char *z;
324 file_canonical_name(g.argv[j], &fn, 0);
325 z = blob_str(&fn);
326 if( !file_isfile(z) ) continue;
327 g.dbIgnoreErrors++;
328 rc = sqlite3_open(z, &db);
329 if( rc!=SQLITE_OK ){ sqlite3_close(db); g.dbIgnoreErrors--; continue; }
330 rc = sqlite3_exec(db, "SELECT rcvid FROM blob, delta LIMIT 1", 0, 0, 0);
331 sqlite3_close(db);
332 g.dbIgnoreErrors--;
333 if( rc!=SQLITE_OK ) continue;
334 blob_append_sql(&sql,
335 "INSERT OR IGNORE INTO global_config(name,value)"
336 "VALUES('repo:%q',1)", z
337 );
338 if( dryRunFlag ){
339 fossil_print("%s\n", blob_sql_text(&sql));
340 }else{
341 db_multi_exec("%s", blob_sql_text(&sql));
342

Keyboard Shortcuts

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