@@ -1447,10 +1447,11 @@
1447 1447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** days=N Show events over the previous N days
1448 1448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** datefmt=N Override the date format
1449 1449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** bisect Show the check-ins that are in the current bisect
1450 1450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** showid Show RIDs
1451 1451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** showsql Show the SQL text
1452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** cherrypicks Show all cherrypicks
1452 1453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1453 1454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** p= and d= can appear individually or together. If either p= or d=
1454 1455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** appear, then u=, y=, a=, and b= are ignored.
1455 1456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1456 1457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If both a= and b= appear then both upper and lower bounds are honored.
@@ -1491,10 +1492,11 @@
1491 1492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zChng = P("chng"); /* List of GLOBs for files that changed */
1492 1493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int useDividers = P("nd")==0; /* Show dividers if "nd" is missing */
1493 1494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int renameOnly = P("namechng")!=0; /* Show only check-ins that rename files */
1494 1495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int forkOnly = PB("forks"); /* Show only forks and their children */
1495 1496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int bisectOnly = PB("bisect"); /* Show the check-ins of the bisect */
1497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int cpOnly = PB("cherrypicks"); /* Show all cherrypick checkins */
1496 1498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int tmFlags = 0; /* Timeline flags */
1497 1499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zThisTag = 0; /* Suppress links to this tag */
1498 1500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zThisUser = 0; /* Suppress links to this user */
1499 1501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HQuery url; /* URL for various branch links */
1500 1502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int from_rid = name_to_typed_rid(P("from"),"ci"); /* from= for paths */
@@ -1509,10 +1511,11 @@
1509 1511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zNewerButton = 0; /* URL for Newer button at the top */
1510 1512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int selectedRid = -9999999; /* Show a highlight on this RID */
1511 1513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int disableY = 0; /* Disable type selector on submenu */
1512 1514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int advancedMenu = 0; /* Use the advanced menu design */
1513 1515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zPlural; /* Ending for plural forms */
1516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int showCherrypicks = 1; /* True to show cherrypick merges */
1514 1517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1515 1518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Set number of rows to display */
1516 1519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cookie_read_parameter("n","n");
1517 1520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z = P("n");
1518 1521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( z==0 ) z = db_get("timeline-default-length",0);
@@ -1533,10 +1536,16 @@
1533 1536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_replace_query_parameter("n",z);
1534 1537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cookie_write_parameter("n","n",0);
1535 1538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags |= timeline_ss_submenu();
1536 1539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cookie_link_parameter("advm","advm","0");
1537 1540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
advancedMenu = atoi(PD("advm","0"));
1541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Omit all cherry-pick merge lines if the "ncp" query parameter is
1543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** present or if this repository lacks a "cherrypick" table. */
1544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( PB("ncp") || !db_table_exists("repository","cherrypick") ){
1545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ showCherrypicks = 0;
1546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1538 1547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1539 1548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* To view the timeline, must have permission to read project data.
1540 1549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1541 1550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pd_rid = name_to_typed_rid(P("dp"),"ci");
1542 1551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pd_rid ){
@@ -1796,10 +1805,19 @@
1796 1805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT INTO ok VALUES(%d);"
1797 1806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO ok SELECT pid FROM plink WHERE cid=%d;"
1798 1807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO ok SELECT cid FROM plink WHERE pid=%d;",
1799 1808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
f_rid, f_rid, f_rid
1800 1809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
1810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( showCherrypicks ){
1811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec(
1812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "INSERT OR IGNORE INTO ok SELECT parentid FROM cherrypick"
1813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE childid=%d;"
1814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "INSERT OR IGNORE INTO ok SELECT childid FROM cherrypick"
1815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE parentid=%d;",
1816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ f_rid, f_rid
1817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
1818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1801 1819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&sql, " AND event.objid IN ok");
1802 1820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec("%s", blob_sql_text(&sql));
1803 1821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( useDividers ) selectedRid = f_rid;
1804 1822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&desc, "Parents and children of check-in ");
1805 1823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", f_rid);
@@ -1827,10 +1845,18 @@
1827 1845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&cond, " AND event.objid IN rnfile ");
1828 1846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1829 1847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( forkOnly ){
1830 1848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&cond, " AND event.objid IN rnfork ");
1831 1849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( cpOnly && showCherrypicks ){
1851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec(
1852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "CREATE TABLE IF NOT EXISTS cpnodes(rid INTEGER PRIMARY KEY);"
1853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "INSERT OR IGNORE INTO cpnodes SELECT childid FROM cherrypick;"
1854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "INSERT OR IGNORE INTO cpnodes SELECT parentid FROM cherrypick;"
1855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
1856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&cond, " AND event.objid IN cpnodes ");
1857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1832 1858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bisectOnly ){
1833 1859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&cond, " AND event.objid IN (SELECT rid FROM bilog) ");
1834 1860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1835 1861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zYearMonth ){
1836 1862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&cond, " AND %Q=strftime('%%Y-%%m',event.mtime) ",
@@ -1907,22 +1933,24 @@
1907 1933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
1908 1934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO related_nodes"
1909 1935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT cid FROM selected_nodes CROSS JOIN plink"
1910 1936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE selected_nodes.rid=plink.pid;"
1911 1937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
1938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( showCherrypicks ){
1939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_multi_exec(
1940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "INSERT OR IGNORE INTO related_nodes"
1941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " SELECT childid FROM selected_nodes CROSS JOIN cherrypick"
1942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE selected_nodes.rid=cherrypick.parentid;"
1943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
1944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1912 1945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !PB("ncp") && db_table_exists("repository","cherrypick") ){
1946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( showCherrypicks ){
1914 1947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
1915 1948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT OR IGNORE INTO related_nodes"
1916 1949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT parentid FROM selected_nodes CROSS JOIN cherrypick"
1917 1950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE selected_nodes.rid=cherrypick.childid;"
1918 1951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
1919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_multi_exec(
1920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "INSERT OR IGNORE INTO related_nodes"
1921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " SELECT childid FROM selected_nodes CROSS JOIN cherrypick"
1922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " WHERE selected_nodes.rid=cherrypick.parentid;"
1923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
1924 1952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1925 1953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1926 1954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
1927 1955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"DELETE FROM related_nodes WHERE rid IN "
1928 1956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" (SELECT related_nodes.rid FROM related_nodes, tagxref"
@@ -2075,10 +2103,14 @@
2075 2103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags |= TIMELINE_DISJOINT;
2076 2104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2077 2105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bisectOnly ){
2078 2106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&desc, " in the most recent bisect");
2079 2107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags |= TIMELINE_DISJOINT;
2108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( cpOnly && showCherrypicks ){
2110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&desc, " that participate in a cherrypick merge");
2111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ tmFlags |= TIMELINE_CHPICK;
2080 2112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2081 2113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zUser ){
2082 2114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&desc, " by user %h", zUser);
2083 2115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tmFlags |= TIMELINE_DISJOINT;
2084 2116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2085 2117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!