@@ -246,76 +246,20 @@
246 246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
247 247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tag_insert(zTag, tagtype, zValue, -1, 0.0, rid);
248 248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
249 249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
250 250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Prepare an artifact that describes a fork from a certain baseline.
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Furthermore a propagating symbolic tag will be inserted and
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** all other propagating symbolic tags will be cancelled.
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** The changes are appended at the Blob pCtrl. However the manifest
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** is not complete at that stage.
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tag_prepare_fork(
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob *pCtrl,
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zTagname,
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rid,
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int preflen /* Tag prefix length to adjust name if reqd */
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ){
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Stmt q;
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Manifest origin;
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob originContent;
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zDate;
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i;
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(pCtrl, "C Create\\snamed\\sfork\\s%s\n", zTagname+preflen);
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- content_get(rid, &originContent);
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- manifest_parse(&origin, &originContent);
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDate = db_text(0, "SELECT datetime('now')");
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDate[10] = 'T';
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(pCtrl, "D %s\n", zDate);
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; i<origin.nFile; ++i){
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(pCtrl, "F %s %s %s\n",
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- origin.aFile[i].zName,
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- origin.aFile[i].zUuid,
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- origin.aFile[i].zPerm);
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( origin.nParent>0 ){
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(pCtrl, "P %s\n", origin.azParent[0]);
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(pCtrl, "R %s\n", origin.zRepoCksum);
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(pCtrl, "T *%F *", zTagname);
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Cancel any sym- tags that propagate */
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q,
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT tagname FROM tagxref, tag"
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE tagxref.rid=%d AND tagxref.tagid=tag.tagid"
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND tagtype>0 AND tagname LIKE 'sym-%%'"
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY tagname",
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rid);
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( db_step(&q)==SQLITE_ROW ){
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zTag = db_column_text(&q, 0);
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(pCtrl, "\nT -%s *", zTag);
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_finalize(&q);
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Cleanup */
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- manifest_clear(&origin);
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
306 251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
307 252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Add a control record to the repository that either creates
308 253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** or cancels a tag.
309 254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
310 255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void tag_add_artifact(
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zPrefix, /* Prefix to prepend to tag name */
311 257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTagname, /* The tag to add or cancel */
312 258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zObjName, /* Name of object attached to */
313 259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zValue, /* Value for the tag. Might be NULL */
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int tagtype, /* 0:cancel 1:singleton 2:propagated */
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int fork, /* Should a fork created from zObjName? */
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int preflen /* Tag prefix length to adjust name if reqd */
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int tagtype /* 0:cancel 1:singleton 2:propagated */
317 261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
318 262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rid;
319 263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nrid;
320 264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zDate;
321 265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob uuid;
@@ -331,26 +275,25 @@
331 275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
332 276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
333 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rid = name_to_rid(blob_str(&uuid));
334 278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&ctrl);
335 279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #if 0
336 281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( validate16(zTagname, strlen(zTagname)) ){
337 282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_fatal(
338 283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"invalid tag name \"%s\" - might be confused with"
339 284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" a hexadecimal artifact ID",
340 285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTagname
341 286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
342 287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( fork ){
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tag_prepare_fork(&ctrl, zTagname, rid, preflen);
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDate = db_text(0, "SELECT datetime('now')");
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDate[10] = 'T';
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&ctrl, "D %s\n", zDate);
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&ctrl, "T %c%F %b", zTagtype[tagtype], zTagname, &uuid);
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( tagtype && zValue && zValue[0] ){
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zDate = db_text(0, "SELECT datetime('now')");
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zDate[10] = 'T';
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&ctrl, "D %s\n", zDate);
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&ctrl, "T %c%s%F %b",
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTagtype[tagtype], zPrefix, zTagname, &uuid);
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( tagtype>0 && zValue && zValue[0] ){
352 295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&ctrl, " %F\n", zValue);
353 296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
354 297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&ctrl, "\n");
355 298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
356 299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&ctrl, "U %F\n", g.zLogin);
@@ -369,43 +312,30 @@
369 312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: tag
370 313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usage: %fossil tag SUBCOMMAND ...
371 314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
372 315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Run various subcommands to control tags and properties
373 316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** %fossil tag add ?--raw? TAGNAME BASELINE ?VALUE?
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Add a new tag or property to BASELINE. The tag will
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** be usable instead of a BASELINE in commands such as
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** update and merge.
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** %fossil tag branch ?--raw? ?--nofork? TAGNAME BASELINE ?VALUE?
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** A fork will be created so that the new checkin
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** is a sibling of BASELINE and identical to it except
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** for a generated comment. Then the new tag will
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** be added to the new checkin and propagated to
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** all direct children. Additionally all symbolic
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** tags of that checkin inherited from BASELINE will
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** be cancelled.
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** However, if the option --nofork is given, no
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** fork will be created and the tag/property will be
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** added to BASELINE directly. No tags will be canceled.
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** %fossil tag cancel ?--raw? TAGNAME BASELINE
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Remove the tag TAGNAME from BASELINE, and also remove
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** %fossil tag add ?--raw? ?--propagate? TAGNAME CHECK-IN ?VALUE?
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Add a new tag or property to CHECK-IN. The tag will
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** be usable instead of a CHECK-IN in commands such as
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** update and merge. If the --propagate flag is present,
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the tag value propages to all descendants of CHECK-IN
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** %fossil tag cancel ?--raw? TAGNAME CHECK-IN
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Remove the tag TAGNAME from CHECK-IN, and also remove
397 327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the propagation of the tag to any descendants.
398 328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
399 329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** %fossil tag find ?--raw? TAGNAME
400 330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** List all baselines that use TAGNAME
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** List all check-ins that use TAGNAME
402 332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** %fossil tag list ?--raw? ?BASELINE?
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** %fossil tag list ?--raw? ?CHECK-IN?
404 334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** List all tags, or if BASELINE is supplied, list
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** all tags and their values for BASELINE.
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** List all tags, or if CHECK-IN is supplied, list
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** all tags and their values for CHECK-IN.
407 337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
408 338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The option --raw allows the manipulation of all types of tags
409 339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** used for various internal purposes in fossil. It also shows
410 340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** "cancel" tags for the "find" and "list" subcommands. You should
411 341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** not use this option to make changes unless you are sure what
@@ -425,15 +355,13 @@
425 355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** will assume that "decaf" is a tag/branch name.
426 356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
427 357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
428 358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void tag_cmd(void){
429 359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n;
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int raw = find_option("raw","",0)!=0;
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int fork = find_option("nofork","",0)==0;
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *prefix = raw ? "" : "sym-";
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int preflen = strlen(prefix);
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob tagname;
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fRaw = find_option("raw","",0)!=0;
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fPropagate = find_option("propagate","",0)!=0;
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zPrefix = fRaw ? "" : "sym-";
435 363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
436 364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_find_and_open_repository(1);
437 365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc<3 ){
438 366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto tag_cmd_usage;
439 367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -440,78 +368,83 @@
440 368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n = strlen(g.argv[2]);
441 369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( n==0 ){
442 370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto tag_cmd_usage;
443 371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
444 372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_set(&tagname, prefix);
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
447 373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strncmp(g.argv[2],"add",n)==0 ){
448 374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zValue;
449 375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=5 && g.argc!=6 ){
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- usage("add ?--raw? TAGNAME BASELINE ?VALUE?");
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ usage("add ?--raw? ?--propagate? TAGNAME CHECK-IN ?VALUE?");
451 377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&tagname, g.argv[3], strlen(g.argv[3]));
453 378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zValue = g.argc==6 ? g.argv[5] : 0;
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tag_add_artifact(blob_str(&tagname), g.argv[4], zValue, 1, 0, 0);
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ tag_add_artifact(zPrefix, g.argv[3], g.argv[4], zValue, 1+fPropagate);
455 380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
456 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
457 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strncmp(g.argv[2],"branch",n)==0 ){
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zValue;
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.argc!=5 && g.argc!=6 ){
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- usage("branch ?--raw? ?--nofork? TAGNAME BASELINE ?VALUE?");
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&tagname, g.argv[3], strlen(g.argv[3]));
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zValue = g.argc==6 ? g.argv[5] : 0;
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tag_add_artifact(blob_str(&tagname), g.argv[4], zValue, 2, fork!=0,
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- preflen);
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( fork ){
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zUuid = db_text(0, "SELECT uuid, MAX(rowid) FROM blob");
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- printf("New_Fork \"%s\": %s\n", g.argv[3], zUuid);
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("the \"fossil tag branch\" command is discontinued\n"
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Use the \"fossil branch new\" command instead.");
470 385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
471 386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
472 387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strncmp(g.argv[2],"cancel",n)==0 ){
473 388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=5 ){
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- usage("cancel ?--raw? TAGNAME BASELINE");
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ usage("cancel ?--raw? TAGNAME CHECK-IN");
475 390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&tagname, g.argv[3], strlen(g.argv[3]));
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tag_add_artifact(blob_str(&tagname), g.argv[4], 0, 0, 0, 0);
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ tag_add_artifact(zPrefix, g.argv[3], g.argv[4], 0, 0);
478 392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
479 393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
480 394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strncmp(g.argv[2],"find",n)==0 ){
481 395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
482 396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc!=4 ){
483 397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("find ?--raw? TAGNAME");
484 398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&tagname, g.argv[3], strlen(g.argv[3]));
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_prepare(&q,
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT blob.uuid FROM tagxref, blob"
488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%B)"
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND tagxref.tagtype > %d"
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND blob.rid=tagxref.rid", &tagname, raw ? -1 : 0
491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( db_step(&q)==SQLITE_ROW ){
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- printf("%s\n", db_column_text(&q, 0));
494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_finalize(&q);
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fRaw ){
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q,
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "SELECT blob.uuid FROM tagxref, blob"
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND tagxref.tagtype>0"
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND blob.rid=tagxref.rid",
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.argv[3]
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( db_step(&q)==SQLITE_ROW ){
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("%s\n", db_column_text(&q, 0));
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_finalize(&q);
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int tagid = db_int(0, "SELECT tagid FROM tag WHERE tagname='sym-%q'",
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.argv[3]);
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( tagid>0 ){
415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_prepare(&q,
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "%s"
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND blob.rid IN ("
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT rid FROM tagxref"
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE tagtype>0 AND tagid=%d"
420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ")"
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " ORDER BY event.mtime DESC",
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ timeline_query_for_tty(), tagid
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ print_timeline(&q, 2000);
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_finalize(&q);
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
496 428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
497 429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
498 430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strncmp(g.argv[2],"list",n)==0 ){
499 431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
500 432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc==3 ){
501 433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_prepare(&q,
502 434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT tagname FROM tag"
503 435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE EXISTS(SELECT 1 FROM tagxref"
504 436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE tagid=tag.tagid"
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " AND tagtype>%d)"
506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY tagname",
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- raw ? -1 : 0
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " AND tagtype>0)"
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " ORDER BY tagname"
508 439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
509 440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( db_step(&q)==SQLITE_ROW ){
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *name = db_column_text(&q, 0);
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( raw || strncmp(name, prefix, preflen)==0 ){
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- printf("%s\n", name+preflen);
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zName = db_column_text(&q, 0);
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fRaw ){
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("%s\n", zName);
444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( strncmp(zName, "sym-", 4)==0 ){
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("%s\n", &zName[4]);
513 446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
514 447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
515 448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
516 449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( g.argc==4 ){
517 450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rid = name_to_rid(g.argv[3]);
@@ -519,36 +452,35 @@
519 452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT tagname, value FROM tagxref, tag"
520 453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE tagxref.rid=%d AND tagxref.tagid=tag.tagid"
521 454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND tagtype>%d"
522 455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ORDER BY tagname",
523 456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rid,
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- raw ? -1 : 0
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fRaw ? -1 : 0
525 458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
526 459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( db_step(&q)==SQLITE_ROW ){
527 460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName = db_column_text(&q, 0);
528 461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zValue = db_column_text(&q, 1);
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zValue ){
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( raw || strncmp(zName, prefix, preflen)==0 ){
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- printf("%s=%s\n", zName+preflen, zValue);
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fRaw==0 ){
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( strncmp(zName, "sym-", 4)!=0 ) continue;
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zName += 4;
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zValue && zValue[0] ){
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("%s=%s\n", zName, zValue);
533 468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( raw || strncmp(zName, prefix, preflen)==0 ){
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- printf("%s\n", zName+preflen);
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("%s\n", zName);
537 470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
538 471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
539 472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
540 473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- usage("tag list ?BASELINE?");
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ usage("tag list ?CHECK-IN?");
542 475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
543 476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
544 477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{
545 478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto tag_cmd_usage;
546 479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
547 480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
548 481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Cleanup */
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&tagname);
550 482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
551 483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
552 484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tag_cmd_usage:
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- usage("add|branch|cancel|find|list ...");
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ usage("add|cancel|find|list ...");
554 486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
555 487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!