Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add the to2=LABEL query parameter to timeline. This is intended as a backup name for to=END in case the END label cannot be resolved. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
1ff12ea630642d49339a17e01feb16a5 |
| User & Date: | drh 2024-03-09 19:17:00.319 |
Context
|
2024-03-11
| ||
| 16:39 | Disable load-control for the /xfer page. This prevents real users with passwords from being denied autosync because of some misbehaving spider. check-in: 650305e94f user: drh tags: trunk | |
|
2024-03-09
| ||
| 19:17 | Add the to2=LABEL query parameter to timeline. This is intended as a backup name for to=END in case the END label cannot be resolved. check-in: 1ff12ea630 user: drh tags: trunk | |
| 18:52 | Update the built-in SQLite to the latest 3.46.0 pre-release for beta-testing. check-in: 3b99d2ca26 user: drh tags: trunk | |
Changes
Changes to src/name.c.
| ︙ | ︙ | |||
817 818 819 820 821 822 823 824 825 826 827 828 829 830 |
fossil_fatal("cannot resolve name: %s", zName);
}
return rid;
}
int name_to_rid(const char *zName){
return name_to_typed_rid(zName, "*");
}
/*
** WEBPAGE: ambiguous
** URL: /ambiguous?name=NAME&src=WEBPAGE
**
** The NAME given by the name parameter is ambiguous. Display a page
** that shows all possible choices and let the user select between them.
| > > > > > > > > > > > > > > > > > > > > > > > > | 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 |
fossil_fatal("cannot resolve name: %s", zName);
}
return rid;
}
int name_to_rid(const char *zName){
return name_to_typed_rid(zName, "*");
}
/*
** Try to resolve zQP1 into a check-in name. If zQP1 does not exist,
** return 0. If zQP1 exists but cannot be resolved, then also try to
** resolve zQP2 if it exists. If zQP1 cannot be resolved but zQP2 does
** not exist, then raise an error. If both zQP1 and zQP2 exists but
** neither can be resolved, also raise an error.
*/
int name_choice(const char *zQP1, const char *zQP2){
const char *zName, *zName2;
int rid;
zName = P(zQP1);
if( zName==0 || zName[0]==0 ) return 0;
rid = symbolic_name_to_rid(zName, "ci");
if( rid>0 ) return rid;
if( rid<0 ){
fossil_fatal("ambiguous name: %s", zName);
}
zName2 = P(zQP2);
if( zName2==0 || zName2[0]==0 ){
fossil_fatal("cannot resolve name: %s", zName);
}
return name_to_typed_rid(zName2, "ci");
}
/*
** WEBPAGE: ambiguous
** URL: /ambiguous?name=NAME&src=WEBPAGE
**
** The NAME given by the name parameter is ambiguous. Display a page
** that shows all possible choices and let the user select between them.
|
| ︙ | ︙ |
Changes to src/timeline.c.
| ︙ | ︙ | |||
1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 | ** nsm Omit the submenu ** nc Omit all graph colors other than highlights ** v Show details of files changed ** vfx Show complete text of forum messages ** f=CHECKIN Show family (immediate parents and children) of CHECKIN ** from=CHECKIN Path from... ** to=CHECKIN ... to this ** shortest ... show only the shortest path ** rel ... also show related checkins ** bt=PRIOR ... path from CHECKIN back to PRIOR ** ft=LATER ... path from CHECKIN forward to LATER ** uf=FILE_HASH Show only check-ins that contain the given file version ** All qualifying check-ins are shown unless there is ** also an n= or n1= query parameter. | > | 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 | ** nsm Omit the submenu ** nc Omit all graph colors other than highlights ** v Show details of files changed ** vfx Show complete text of forum messages ** f=CHECKIN Show family (immediate parents and children) of CHECKIN ** from=CHECKIN Path from... ** to=CHECKIN ... to this ** to2=CHECKIN ... backup name if to= doesn't resolve ** shortest ... show only the shortest path ** rel ... also show related checkins ** bt=PRIOR ... path from CHECKIN back to PRIOR ** ft=LATER ... path from CHECKIN forward to LATER ** uf=FILE_HASH Show only check-ins that contain the given file version ** All qualifying check-ins are shown unless there is ** also an n= or n1= query parameter. |
| ︙ | ︙ | |||
1835 1836 1837 1838 1839 1840 1841 |
const char *zBisect = P("bid"); /* Bisect description */
int cpOnly = PB("cherrypicks"); /* Show all cherrypick checkins */
int tmFlags = 0; /* Timeline flags */
const char *zThisTag = 0; /* Suppress links to this tag */
const char *zThisUser = 0; /* Suppress links to this user */
HQuery url; /* URL for various branch links */
int from_rid = name_to_typed_rid(P("from"),"ci"); /* from= for paths */
| | | 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 |
const char *zBisect = P("bid"); /* Bisect description */
int cpOnly = PB("cherrypicks"); /* Show all cherrypick checkins */
int tmFlags = 0; /* Timeline flags */
const char *zThisTag = 0; /* Suppress links to this tag */
const char *zThisUser = 0; /* Suppress links to this user */
HQuery url; /* URL for various branch links */
int from_rid = name_to_typed_rid(P("from"),"ci"); /* from= for paths */
int to_rid = name_choice("to","to2"); /* to= for path timelines */
int noMerge = P("shortest")==0; /* Follow merge links if shorter */
int me_rid = name_to_typed_rid(P("me"),"ci"); /* me= for common ancestory */
int you_rid = name_to_typed_rid(P("you"),"ci");/* you= for common ancst */
int pd_rid;
double rBefore, rAfter, rCirca; /* Boundary times */
const char *z;
char *zOlderButton = 0; /* URL for Older button at the bottom */
|
| ︙ | ︙ |