Fossil

Check-in [4359bd8df2]
Login

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

Overview
Comment:Combine "fossil forks" with "fossil info" command
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | sync-forkwarn
Files: files | file ages | folders
SHA1: 4359bd8df2119799ce2380ba84775b1b9731c225
User & Date: jan.nijtmans 2015-04-26 17:12:08.830
Context
2015-04-26
17:26
Another "fork" -> "ambigeous branch" change check-in: fe7f6f3cc1 user: jan.nijtmans tags: sync-forkwarn
17:12
Combine "fossil forks" with "fossil info" command check-in: 4359bd8df2 user: jan.nijtmans tags: sync-forkwarn
2015-04-25
20:38
Add warning to "fossil sync", when a new fork is created during this sync. check-in: 560483f504 user: jan.nijtmans tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/checkin.c.
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
  }
  db_end_transaction(0);

  if( !g.markPrivate ){
    autosync_loop(SYNC_PUSH|SYNC_PULL, db_get_int("autosync-tries", 1));
  }
  if( count_nonbranch_children(vid)>1 ){
    fossil_print("**** warning: a fork has occurred *****\n");
  }
}







|


2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
  }
  db_end_transaction(0);

  if( !g.markPrivate ){
    autosync_loop(SYNC_PUSH|SYNC_PULL, db_get_int("autosync-tries", 1));
  }
  if( count_nonbranch_children(vid)>1 ){
    fossil_print("**** warning: an ambigeous branch has occurred *****\n");
  }
}
Changes to src/descendants.c.
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
  );
  print_timeline(&q, 0, width, 0);
  db_finalize(&q);
}

/*
** COMMAND: leaves*
** COMMAND: forks*
**
** Usage: %fossil leaves|forks ?OPTIONS?
**
** Find leaves/forks of all branches.  By default show only open leaves.
** The -a|--all flag causes all leaves (closed and open) to be shown.
** The -c|--closed flag shows only closed leaves.
**
** The --recompute flag causes the content of the "leaf" table in the
** repository database to be recomputed.
**
** Options:







<

|

|







338
339
340
341
342
343
344

345
346
347
348
349
350
351
352
353
354
355
  );
  print_timeline(&q, 0, width, 0);
  db_finalize(&q);
}

/*
** COMMAND: leaves*

**
** Usage: %fossil leaves ?OPTIONS?
**
** Find leaves of all branches.  By default show only open leaves.
** The -a|--all flag causes all leaves (closed and open) to be shown.
** The -c|--closed flag shows only closed leaves.
**
** The --recompute flag causes the content of the "leaf" table in the
** repository database to be recomputed.
**
** Options:
366
367
368
369
370
371
372
373
374

375
376
377
378
379
380
381
*/
void leaves_cmd(void){
  Stmt q;
  Blob sql;
  int showAll = find_option("all", "a", 0)!=0;
  int showClosed = find_option("closed", "c", 0)!=0;
  int recomputeFlag = find_option("recompute",0,0)!=0;
  int byBranch = find_option("bybranch",0,0)!=0;
  int showForks = g.argv[1][0]=='f';

  const char *zWidth = find_option("width","W",1);
  char *zLastBr = 0;
  int n, width;
  char zLineNo[10];

  if( zWidth ){
    width = atoi(zWidth);







<
|
>







365
366
367
368
369
370
371

372
373
374
375
376
377
378
379
380
*/
void leaves_cmd(void){
  Stmt q;
  Blob sql;
  int showAll = find_option("all", "a", 0)!=0;
  int showClosed = find_option("closed", "c", 0)!=0;
  int recomputeFlag = find_option("recompute",0,0)!=0;

  int showForks = g.argv[1][0]!='l';
  int byBranch = (find_option("bybranch",0,0)!=0) || showForks;
  const char *zWidth = find_option("width","W",1);
  char *zLastBr = 0;
  int n, width;
  char zLineNo[10];

  if( zWidth ){
    width = atoi(zWidth);
428
429
430
431
432
433
434

435
436
437
438
439
440
441
      z = mprintf("%s [%S] %s", zDate, zId, zCom);
      comment_print(z, zCom, 7, width, g.comFmtFlags);
      fossil_free(z);
    }
  }
  fossil_free(zLastBr);
  db_finalize(&q);

}

/*
** WEBPAGE:  leaves
**
** Find leaves of all branches.
*/







>







427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
      z = mprintf("%s [%S] %s", zDate, zId, zCom);
      comment_print(z, zCom, 7, width, g.comFmtFlags);
      fossil_free(z);
    }
  }
  fossil_free(zLastBr);
  db_finalize(&q);
  if( showForks && !zLastBr ) fossil_print("*** OK, no ambigeous branches found ***\n");
}

/*
** WEBPAGE:  leaves
**
** Find leaves of all branches.
*/
Changes to src/info.c.
242
243
244
245
246
247
248


249
250
251
252
253
254
255
    int rid;
    rid = name_to_rid(g.argv[2]);
    if( rid==0 ){
      fossil_fatal("no such object: %s\n", g.argv[2]);
    }
    show_common_info(rid, "uuid:", 1, 1);
  }


}

/*
** Show information about all tags on a given check-in.
*/
static void showTags(int rid){
  Stmt q;







>
>







242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
    int rid;
    rid = name_to_rid(g.argv[2]);
    if( rid==0 ){
      fossil_fatal("no such object: %s\n", g.argv[2]);
    }
    show_common_info(rid, "uuid:", 1, 1);
  }
  fossil_print("ambigeous branches:\n");
  leaves_cmd();
}

/*
** Show information about all tags on a given check-in.
*/
static void showTags(int rid){
  Stmt q;
Changes to src/xfer.c.
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
  if( nErr && go==2 ){
    db_multi_exec("DROP TABLE onremote");
    manifest_crosslink_end(MC_PERMIT_HOOKS);
    content_enable_dephantomize(1);
    db_end_transaction(0);
  }
  if( (syncFlags & SYNC_CLONE)==0 && fossil_any_has_fork(g.rcvid) ){
    fossil_warning("***** WARNING: a fork has occurred ***** use "
                   "\"fossil forks\" for more details.");
  }
  return nErr;
}







|
|



1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
  if( nErr && go==2 ){
    db_multi_exec("DROP TABLE onremote");
    manifest_crosslink_end(MC_PERMIT_HOOKS);
    content_enable_dephantomize(1);
    db_end_transaction(0);
  }
  if( (syncFlags & SYNC_CLONE)==0 && fossil_any_has_fork(g.rcvid) ){
    fossil_warning("***** WARNING: an ambigeous branch has occurred *****\n"
                   "Use \"fossil info\" for more details.");
  }
  return nErr;
}