@@ -384,10 +384,30 @@
384 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| strncmp(zTag,"tkt-",4)==0
385 385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| strncmp(zTag,"event-",6)==0)){
386 386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("Invalid prefix for tag name: %s", zTag);
387 387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
388 388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Internal helper for the tag command. Fetches rid_root_parent(rid)
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** and if it differs from the input, assigns *zSym to the root object's
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** UUID (intentionally leaking it).
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int tag_cmd_root(int rid, char const **zSym, int bVerbose){
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const int origRid = rid;
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = rid_root_parent(rid);
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( rid>0 );
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( origRid!=rid ){
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char const *zOrig = *zSym;
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ *zSym = rid_to_uuid(rid)/*intentional leak*/;
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( bVerbose ){
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("Redirecting tag from %!S to root ancestor %!S.\n",
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zOrig, *zSym);
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return rid;
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
389 409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
390 410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
391 411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: tag
392 412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
393 413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usage: %fossil tag SUBCOMMAND ...
@@ -409,19 +429,30 @@
409 429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** actually insert it into the database
410 430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --propagate Propagating tag
411 431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --raw Raw tag name. Ignored for
412 432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** non-CHECK-IN artifacts.
413 433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --user-override USER Name USER when adding the tag
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --root If ARTIFACT-ID refers to an artifact
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** with a P-card, it gets translated to the
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** oldest parent of that artifact and
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --propagate is assumed. This is
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** most useful with forum posts, wiki
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** pages, and tech notes, where tags are
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** most easliy managed via their initial
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** version.
414 442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
415 443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The --date-override and --user-override options support
416 444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** importing history from other SCM systems. DATETIME has
417 445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the form 'YYYY-MM-DD HH:MM:SS'.
418 446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
419 447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Note that fossil uses some tag prefixes internally and this
420 448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** command will reject tags with these prefixes to avoid
421 449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** causing problems or confusion: "wiki-", "tkt-", "event-".
422 450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** When tagging forum posts, the ARTIFACT-ID is translated to
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the initial version of that post and --propagate is implied.
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
423 454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** > fossil tag cancel ?--raw? TAGNAME ARTIFACT-ID
424 455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
425 456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Remove the tag TAGNAME from the artifact referenced by
426 457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ARTIFACT-ID, and also remove the propagation of the tag to
427 458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** any descendants. Use the -n|--dry-run option to see
@@ -433,10 +464,11 @@
433 464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** -n|--dry-run Display the control artifact, but do
434 465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** not insert it into the database
435 466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --raw Raw tag name. Ignored for
436 467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** non-CHECK-IN artifacts.
437 468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --user-override USER Name USER when deleting the tag
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --root As described for 'add'.
438 470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
439 471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** > fossil tag find ?OPTIONS? TAGNAME
440 472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
441 473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** List all objects that use TAGNAME.
442 474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -452,12 +484,11 @@
452 484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** if --raw is used.
453 485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
454 486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** > fossil tag list|ls ?OPTIONS? ?ARTIFACT-ID?
455 487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
456 488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** List all tags or, if ARTIFACT-ID is supplied, all tags and
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** their values for that artifact. The tagtype option accepts
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** one of: propagated, singleton, cancel. For historical
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** their values for that artifact. For historical
459 490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** scripting compatibility, the internal tag types "wiki-",
460 491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** "tkt-", and "event-" (technote) are elided by default
461 492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** unless the --raw or --prefix options are used.
462 493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
463 494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Options:
@@ -475,10 +506,12 @@
475 506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** be one of: cancel, singleton, propagated
476 507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --values List tag values
477 508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If --sep is supplied, list all values of a tag on
478 509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the same line, separated by SEP; otherwise list
479 510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** each value on its own line.
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --root As described for 'add' and only if ARTIFACT-ID is
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** provided.
480 513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
481 514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The option --raw allows the manipulation of all types of tags
482 515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** used for various internal purposes in fossil. It also shows
483 516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** "cancel" tags for the "find" and "list" subcommands. You should
484 517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** not use this option to make changes unless you are sure what
@@ -512,34 +545,38 @@
512 545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
513 546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strncmp(g.argv[2],"add",n)==0 ){
514 547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zValue;
515 548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int dryRun = 0;
516 549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int fRaw = find_option("raw","",0)!=0;
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zPrefix = "";
518 550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int fPropagate = find_option("propagate","",0)!=0;
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fRoot = find_option("root","",0)!=0;
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int objType;
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rid;
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zPrefix = "";
519 555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zDateOvrd = find_option("date-override",0,1);
520 556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zUserOvrd = find_option("user-override",0,1);
521 557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTag;
522 558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zObjId;
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int objType;
524 559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("dry-run","n",0)!=0 ) dryRun = TAG_ADD_DRYRUN;
525 560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=5 && g.argc!=6 ){
526 561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("add ?options? TAGNAME ARTIFACT-ID ?VALUE?");
527 562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
528 563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTag = g.argv[3];
529 564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tag_cmd_tagname_check(zTag);
530 565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zObjId = g.argv[4];
531 566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zValue = g.argc==6 ? g.argv[5] : 0;
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- objType = whatis_rid_type(symbolic_name_to_rid(zObjId, 0));
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch(objType){
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case 0:
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("Cannot resolve artifact ID: %s", zObjId);
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case CFTYPE_MANIFEST:
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zPrefix = fRaw ? "" : "sym-";
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- default: break;
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = symbolic_name_to_rid(zObjId, 0);
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rid<=0 ){
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("Cannot resolve artifact ID: %s", zObjId);
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fRoot ){
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = tag_cmd_root(rid, &zObjId, dryRun);
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fPropagate = 1;
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ objType = whatis_rid_type(rid);
576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( CFTYPE_MANIFEST==objType ){
577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPrefix = fRaw ? "" : "sym-";
541 578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
542 579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
543 580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tag_add_artifact(zPrefix, zTag, zObjId, zValue,
544 581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1+fPropagate+dryRun,zDateOvrd,zUserOvrd);
545 582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
@@ -551,32 +588,35 @@
551 588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
552 589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
553 590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strncmp(g.argv[2],"cancel",n)==0 ){
554 591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int dryRun = 0;
555 592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int fRaw = find_option("raw","",0)!=0;
593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fRoot = find_option("root","",0)!=0;
594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int objType;
595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rid;
556 596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zPrefix = "";
557 597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zDateOvrd = find_option("date-override",0,1);
558 598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zUserOvrd = find_option("user-override",0,1);
559 599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTag;
560 600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zObjId;
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int objType;
562 601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("dry-run","n",0)!=0 ) dryRun = TAG_ADD_DRYRUN;
563 602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=5 ){
564 603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("cancel ?options? TAGNAME ARTIFACT-ID");
565 604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
566 605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTag = g.argv[3];
567 606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tag_cmd_tagname_check(zTag);
568 607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zObjId = g.argv[4];
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- objType = whatis_rid_type(symbolic_name_to_rid(zObjId, 0));
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch(objType){
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case 0:
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("Cannot resolve artifact ID: %s", zObjId);
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case CFTYPE_MANIFEST:
575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zPrefix = fRaw ? "" : "sym-";
576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- default: break;
608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = symbolic_name_to_rid(zObjId, 0);
609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rid<=0 ){
610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("Cannot resolve artifact ID: %s", zObjId);
611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fRoot ){
613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = tag_cmd_root(rid, &zObjId, dryRun);
614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ objType = whatis_rid_type(rid);
616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( CFTYPE_MANIFEST==objType ){
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPrefix = fRaw ? "" : "sym-";
578 618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
579 619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
580 620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tag_add_artifact(zPrefix, zTag, zObjId, 0, dryRun,
581 621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDateOvrd, zUserOvrd);
582 622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
@@ -639,10 +679,11 @@
639 679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTagType = find_option("tagtype","t",1);
640 680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const int fInverse = find_option("inverse","v",0)!=0;
641 681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTagPrefix = find_option("prefix","",1);
642 682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nTagType = fRaw ? -1 : 0;
643 683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int fValues = find_option("values","",0)!=0;
684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fRoot = find_option("root","",0)!=0;
644 685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zSep = find_option("sep","",1);
645 686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
646 687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
647 688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTagType!=0 ){
648 689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int l = strlen(zTagType);
@@ -712,15 +753,19 @@
712 753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
713 754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
714 755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
715 756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( g.argc==4 ){
716 757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char const *zObjId = g.argv[3];
717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const int rid = name_to_rid(zObjId);
718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const int objType = whatis_rid_type(rid);
758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int rid = name_to_rid(zObjId);
759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int objType;
719 760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nTagOffset = 0;
720 761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fRoot ){
763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid = tag_cmd_root(rid, &zObjId, 0);
764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
721 765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTagPrefix = 0;
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ objType = rid>=0 ? whatis_rid_type(rid) : 0;
722 767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(objType<=0){
723 768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal("Cannot resolve artifact ID: %s", zObjId);
724 769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if(fRaw==0){
725 770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Figure out the tag prefix to strip */
726 771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
switch(objType){
727 772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!