Fossil

Check-in [b9da89a4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix the "fossil all add" command so that it works even if repos that are already known are added.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: b9da89a44ed8e0326a4e35eead1ad9737072fa3d
User & Date: drh 2016-11-26 01:26:41.242
Context
2016-11-28
16:44
New /file page that works like /artifact except takes a filename as an argument instead of a SHA1 hash of an artifact, and resolves to the most recent version of any file with that name. ... (check-in: d95f712f user: drh tags: trunk)
2016-11-26
01:26
Fix the "fossil all add" command so that it works even if repos that are already known are added. ... (check-in: b9da89a4 user: drh tags: trunk)
2016-11-22
22:26
Update the built-in SQLite to 3.16.0 alpha for testing. ... (check-in: 31ae6022 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/allrepo.c.
320
321
322
323
324
325
326

327
328
329
330

331
332

333
334
335
336
337
338
339
340
    for(j=3; j<g.argc; j++, blob_reset(&fn), blob_reset(&sql)){
      sqlite3 *db;
      int rc;
      const char *z;
      file_canonical_name(g.argv[j], &fn, 0);
      z = blob_str(&fn);
      if( !file_isfile(z) ) continue;

      rc = sqlite3_open(z, &db);
      if( rc!=SQLITE_OK ){ sqlite3_close(db); continue; }
      rc = sqlite3_exec(db, "SELECT rcvid FROM blob, delta LIMIT 1", 0, 0, 0);
      sqlite3_close(db);

      if( rc!=SQLITE_OK ) continue;
      blob_append_sql(&sql,

         "INSERT INTO global_config(name,value)VALUES('repo:%q',1)", z
      );
      if( dryRunFlag ){
        fossil_print("%s\n", blob_sql_text(&sql));
      }else{
        db_multi_exec("%s", blob_sql_text(&sql));
      }
    }







>

|


>


>
|







320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
    for(j=3; j<g.argc; j++, blob_reset(&fn), blob_reset(&sql)){
      sqlite3 *db;
      int rc;
      const char *z;
      file_canonical_name(g.argv[j], &fn, 0);
      z = blob_str(&fn);
      if( !file_isfile(z) ) continue;
      g.dbIgnoreErrors++;
      rc = sqlite3_open(z, &db);
      if( rc!=SQLITE_OK ){ sqlite3_close(db); g.dbIgnoreErrors--; continue; }
      rc = sqlite3_exec(db, "SELECT rcvid FROM blob, delta LIMIT 1", 0, 0, 0);
      sqlite3_close(db);
      g.dbIgnoreErrors--;
      if( rc!=SQLITE_OK ) continue;
      blob_append_sql(&sql,
         "INSERT OR IGNORE INTO global_config(name,value)"
         "VALUES('repo:%q',1)", z
      );
      if( dryRunFlag ){
        fossil_print("%s\n", blob_sql_text(&sql));
      }else{
        db_multi_exec("%s", blob_sql_text(&sql));
      }
    }