@@ -243,11 +243,11 @@
243 243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If the randomize parameter is true, then the BLOBs are deliberately
244 244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** extracted in a random order. This feature is used to test the
245 245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ability of fossil to accept records in any order and still
246 246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** construct a sane repository.
247 247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rebuild_db(int randomize, int doOut){
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rebuild_db(int randomize, int doOut, int doClustering){
249 249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt s;
250 250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int errCnt = 0;
251 251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zTable;
252 252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int incrSize;
253 253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -328,11 +328,11 @@
328 328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rebuild_tag_trunk();
329 329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !g.fQuiet && totalSize>0 ){
330 330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
processCnt += incrSize;
331 331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
percent_complete((processCnt*1000)/totalSize);
332 332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- create_cluster();
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( doClustering ) create_cluster();
334 334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !g.fQuiet && totalSize>0 ){
335 335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
processCnt += incrSize;
336 336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
percent_complete((processCnt*1000)/totalSize);
337 337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
338 338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!g.fQuiet && ttyOutput ){
@@ -347,20 +347,29 @@
347 347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usage: %fossil rebuild ?REPOSITORY?
348 348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
349 349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Reconstruct the named repository database from the core
350 350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** records. Run this command after updating the fossil
351 351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** executable in a way that changes the database schema.
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Options:
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --noverify Skip the verification of changes to the BLOB table
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --force Force the rebuild to complete even if errors are seen
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --randomize Scan artifacts in a random order
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --cluster Compute clusters for unclustered artifacts
352 359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
353 360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void rebuild_database(void){
354 361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int forceFlag;
355 362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int randomizeFlag;
356 363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int errCnt;
357 364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int omitVerify;
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int doClustering;
358 366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
359 367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
omitVerify = find_option("noverify",0,0)!=0;
360 368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
forceFlag = find_option("force","f",0)!=0;
361 369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
randomizeFlag = find_option("randomize", 0, 0)!=0;
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ doClustering = find_option("cluster", 0, 0)!=0;
362 371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc==3 ){
363 372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_open_repository(g.argv[2]);
364 373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
365 374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_find_and_open_repository(OPEN_ANY_SCHEMA, 0);
366 375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=2 ){
@@ -369,11 +378,11 @@
369 378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_close(1);
370 379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_open_repository(g.zRepositoryName);
371 380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
372 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
373 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ttyOutput = 1;
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- errCnt = rebuild_db(randomizeFlag, 1);
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ errCnt = rebuild_db(randomizeFlag, 1, doClustering);
375 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
376 385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"REPLACE INTO config(name,value) VALUES('content-schema','%s');"
377 386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"REPLACE INTO config(name,value) VALUES('aux-schema','%s');",
378 387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CONTENT_SCHEMA, AUX_SCHEMA
379 388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
@@ -552,11 +561,11 @@
552 561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
553 562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !bNeedRebuild ){
554 563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
555 564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("VACUUM;");
556 565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rebuild_db(0, 1);
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rebuild_db(0, 1, 0);
558 567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
559 568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
560 569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
561 570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
562 571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
@@ -629,11 +638,11 @@
629 638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
630 639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("Reading files from directory \"%s\"...\n", g.argv[3]);
631 640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
recon_read_dir(g.argv[3]);
632 641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("\nBuilding the Fossil repository...\n");
633 642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rebuild_db(0, 1);
643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rebuild_db(0, 1, 1);
635 644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
636 645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Reconstruct the private table. The private table contains the rid
637 646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** of every manifest that is tagged with "private" and every file that
638 647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is not used by a manifest that is not private.
639 648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
640 649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!