@@ -500,22 +500,26 @@
500 500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
501 501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
502 502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** WEBPAGE: zip
503 503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** URL: /zip
504 504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Generate a ZIP archive for the check-in specified by the "uuid"
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Generate a ZIP archive for the check-in specified by the "r"
506 506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** query parameter. Return that ZIP archive as the HTTP reply content.
507 507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
508 508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Query parameters:
509 509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
510 510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** name=NAME[.zip] The base name of the output file. The default
511 511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** value is a configuration parameter in the project
512 512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** settings. A prefix of the name, omitting the
513 513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** extension, is used as the top-most directory name.
514 514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** uuid=TAG The check-in that is turned into a ZIP archive.
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Defaults to "trunk".
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** r=TAG The check-in that is turned into a ZIP archive.
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Defaults to "trunk". This query parameter used to
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** be called "uuid" and the older "uuid" name is still
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** accepted for backwards compatibility. If this
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** query paramater is omitted, the latest "trunk"
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** check-in is used.
517 521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
518 522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** in=PATTERN Only include files that match the comma-separate
519 523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** list of GLOB patterns in PATTERN, as with ex=
520 524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
521 525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ex=PATTERN Omit any file that match PATTERN. PATTERN is a
@@ -523,10 +527,11 @@
523 527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** pattern can optionally be quoted using ".." or '..'.
524 528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Any file matching both ex= and in= is excluded.
525 529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
526 530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void baseline_zip_page(void){
527 531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rid;
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *z;
528 533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zName, *zRid, *zKey;
529 534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nName, nRid;
530 535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zInclude; /* The in= query parameter */
531 536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zExclude; /* The ex= query parameter */
532 537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob cacheKey; /* The key to cache */
@@ -537,11 +542,14 @@
537 542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
538 543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !g.perm.Zip ){ login_needed(g.anon.Zip); return; }
539 544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
load_control();
540 545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zName = mprintf("%s", PD("name",""));
541 546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nName = strlen(zName);
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zRid = mprintf("%s", PD("uuid","trunk"));
547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ z = P("r");
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( z==0 ) z = P("uuid");
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( z==0 ) z = "trunk";
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zRid = fossil_strdup(z);
543 551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nRid = strlen(zRid);
544 552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zInclude = P("in");
545 553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zInclude ) pInclude = glob_create(zInclude);
546 554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zExclude = P("ex");
547 555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zExclude ) pExclude = glob_create(zExclude);
548 556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!