docs/tutorial/slides.md
changeset 4618 803d32f4e498
parent 4616 a78310b900e3
child 4619 93514c421528
equal deleted inserted replaced
4617:2cab06f5c4d4 4618:803d32f4e498
   850 
   850 
   851 ```raw-file
   851 ```raw-file
   852 output/edit-mid-stack.log
   852 output/edit-mid-stack.log
   853 ```
   853 ```
   854 
   854 
   855 The message `1 new orphan changesets` means that, by amending a changeset having a child, this child is now **unstable**, as we can see with the `hg stack` command:
   855 The message `1 new orphan changesets` means that, by amending a changeset having a child, this child is now **orphan**, as we can see with the `hg stack` command:
   856 
   856 
   857 ```raw-file
   857 ```raw-file
   858 output/edit-mid-stack-after-stack.log
   858 output/edit-mid-stack-after-stack.log
   859 ```
   859 ```
   860 
   860 
   907 
   907 
   908 ```raw-file
   908 ```raw-file
   909 output/basic-stabilize-before-log-obsolete.log
   909 output/basic-stabilize-before-log-obsolete.log
   910 ```
   910 ```
   911 
   911 
   912 A changeset can also be **unstable**, meaning that it could be subject to one or more **instabilities**:
   912 A changeset can also be **orphan**, meaning that it could be subject to one or more **instabilities**:
   913 
   913 
   914 * **orphan**, a changeset whose an ancestor is **obsolete**.
   914 * **orphan**, a changeset whose an ancestor is **obsolete**.
   915 * **content-divergent**, a changeset which has been rewritten in two different versions.
   915 * **content-divergent**, a changeset which has been rewritten in two different versions.
   916 * **phase-divergent**, a changeset which has been both rewritten and published.
   916 * **phase-divergent**, a changeset which has been both rewritten and published.
   917 
   917 
  1499 
  1499 
  1500 <pre>
  1500 <pre>
  1501 $> hg update --rev t1
  1501 $> hg update --rev t1
  1502 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1502 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1503 $> hg commit --amend -m "Step1"
  1503 $> hg commit --amend -m "Step1"
  1504 <span style="color:gold;">3 new unstable changesets</span>
  1504 <span style="color:gold;">3 new orphan changesets</span>
  1505 </pre>
  1505 </pre>
  1506 
  1506 
  1507 #### What have we done?
  1507 #### What have we done?
  1508 
  1508 
  1509 <pre>
  1509 <pre>
  1510 $> hg log -G -T compact
  1510 $> hg log -G -T compact
  1511 @  <span style="color:olive;">9</span>[tip]     1aa1be5ada40    Step1
  1511 @  <span style="color:olive;">9</span>[tip]     1aa1be5ada40    Step1
  1512 |
  1512 |
  1513 | o  <span style="color:olive;">8</span>        cf90b2de7e65    Step4 <span style="color:red;">(unstable)</span>
  1513 | o  <span style="color:olive;">8</span>        cf90b2de7e65    Step4 <span style="color:red;">(orphan)</span>
  1514 | |
  1514 | |
  1515 | o  <span style="color:olive;">7</span>        e208d4205c8e    Step3 <span style="color:red;">(unstable)</span>
  1515 | o  <span style="color:olive;">7</span>        e208d4205c8e    Step3 <span style="color:red;">(orphan)</span>
  1516 | |
  1516 | |
  1517 | o  <span style="color:olive;">6</span>        673ff300cf3a    Step2 <span style="color:red;">(unstable)</span>
  1517 | o  <span style="color:olive;">6</span>        673ff300cf3a    Step2 <span style="color:red;">(orphan)</span>
  1518 | |
  1518 | |
  1519 | <span style="color:grey;">x  5        8bb88a31dd28    Step</span>
  1519 | <span style="color:grey;">x  5        8bb88a31dd28    Step</span>
  1520 |/
  1520 |/
  1521 o  <span style="color:olive;">4</span>          3294c1730df7    Trunk
  1521 o  <span style="color:olive;">4</span>          3294c1730df7    Trunk
  1522 ~
  1522 ~
  1526 
  1526 
  1527 <pre>
  1527 <pre>
  1528 $> hg stack
  1528 $> hg stack
  1529 ###### topic: <span style="color:green;">myfeature</span>
  1529 ###### topic: <span style="color:green;">myfeature</span>
  1530 ###### branch: feature
  1530 ###### branch: feature
  1531 <span style="color:olive;">t4</span><span style="color:red;">$</span> Step4<span style="color:red;"> (unstable)</span>
  1531 <span style="color:olive;">t4</span><span style="color:red;">$</span> Step4<span style="color:red;"> (orphan)</span>
  1532 <span style="color:olive;">t3</span><span style="color:red;">$</span> Step3<span style="color:red;"> (unstable)</span>
  1532 <span style="color:olive;">t3</span><span style="color:red;">$</span> Step3<span style="color:red;"> (orphan)</span>
  1533 <span style="color:olive;">t2</span><span style="color:red;">$</span> Step2<span style="color:red;"> (unstable)</span>
  1533 <span style="color:olive;">t2</span><span style="color:red;">$</span> Step2<span style="color:red;"> (orphan)</span>
  1534 <span style="color:teal;">t1</span><span style="color:teal;font-weight:bold;">@</span> <span style="color:teal;">Step1</span><span style="color:teal;font-weight:bold;"> (current)</span>
  1534 <span style="color:teal;">t1</span><span style="color:teal;font-weight:bold;">@</span> <span style="color:teal;">Step1</span><span style="color:teal;font-weight:bold;"> (current)</span>
  1535 <span style="color:grey;">t0^ Trunk</span>
  1535 <span style="color:grey;">t0^ Trunk</span>
  1536 </pre>
  1536 </pre>
  1537 
  1537 
  1538 #### Don't panic
  1538 #### Don't panic
  1543 atop:[<span style="color:blue;">9</span>] Step1
  1543 atop:[<span style="color:blue;">9</span>] Step1
  1544 working directory now at <span style="color:olive;">d72473cbf9a6</span>
  1544 working directory now at <span style="color:olive;">d72473cbf9a6</span>
  1545 $> hg stack
  1545 $> hg stack
  1546 ###### topic: <span style="color:green;">myfeature</span>
  1546 ###### topic: <span style="color:green;">myfeature</span>
  1547 ###### branch: feature
  1547 ###### branch: feature
  1548 <span style="color:olive;">t4</span><span style="color:red;">$</span> Step4<span style="color:red;"> (unstable)</span>
  1548 <span style="color:olive;">t4</span><span style="color:red;">$</span> Step4<span style="color:red;"> (orphan)</span>
  1549 <span style="color:olive;">t3</span><span style="color:red;">$</span> Step3<span style="color:red;"> (unstable)</span>
  1549 <span style="color:olive;">t3</span><span style="color:red;">$</span> Step3<span style="color:red;"> (orphan)</span>
  1550 <span style="color:teal;">t2</span><span style="color:teal;font-weight:bold;">@</span> <span style="color:teal;">Step2</span><span style="color:teal;font-weight:bold;"> (current)</span>
  1550 <span style="color:teal;">t2</span><span style="color:teal;font-weight:bold;">@</span> <span style="color:teal;">Step2</span><span style="color:teal;font-weight:bold;"> (current)</span>
  1551 <span style="color:olive;">t1</span><span style="color:green;">:</span> Step1
  1551 <span style="color:olive;">t1</span><span style="color:green;">:</span> Step1
  1552 <span style="color:grey;">t0^ Trunk</span>
  1552 <span style="color:grey;">t0^ Trunk</span>
  1553 </pre>
  1553 </pre>
  1554 
  1554 
  1564 atop:[<span style="color:blue;">10</span>] Step2
  1564 atop:[<span style="color:blue;">10</span>] Step2
  1565 working directory now at <span style="color:olive;">4062d6ecd214</span>
  1565 working directory now at <span style="color:olive;">4062d6ecd214</span>
  1566 $> hg stack
  1566 $> hg stack
  1567 ###### topic: <span style="color:green;">myfeature</span>
  1567 ###### topic: <span style="color:green;">myfeature</span>
  1568 ###### branch: feature
  1568 ###### branch: feature
  1569 <span style="color:olive;">t4</span><span style="color:red;">$</span> Step4<span style="color:red;"> (unstable)</span>
  1569 <span style="color:olive;">t4</span><span style="color:red;">$</span> Step4<span style="color:red;"> (orphan)</span>
  1570 <span style="color:teal;">t3</span><span style="color:teal;font-weight:bold;">@</span> <span style="color:teal;">Step3</span><span style="color:teal;font-weight:bold;"> (current)</span>
  1570 <span style="color:teal;">t3</span><span style="color:teal;font-weight:bold;">@</span> <span style="color:teal;">Step3</span><span style="color:teal;font-weight:bold;"> (current)</span>
  1571 <span style="color:olive;">t2</span><span style="color:green;">:</span> Step2
  1571 <span style="color:olive;">t2</span><span style="color:green;">:</span> Step2
  1572 <span style="color:olive;">t1</span><span style="color:green;">:</span> Step1
  1572 <span style="color:olive;">t1</span><span style="color:green;">:</span> Step1
  1573 <span style="color:grey;">t0^ Trunk</span>
  1573 <span style="color:grey;">t0^ Trunk</span>
  1574 </pre>
  1574 </pre>
  1836 
  1836 
  1837 #### Summary
  1837 #### Summary
  1838 
  1838 
  1839 <pre>
  1839 <pre>
  1840 $> hg summary
  1840 $> hg summary
  1841 <span style="color:olive;">parent: 10:890ac95deb83 </span>tip (unstable)
  1841 <span style="color:olive;">parent: 10:890ac95deb83 </span>tip (orphan)
  1842  Head
  1842  Head
  1843 branch: feature
  1843 branch: feature
  1844 commit: (clean)
  1844 commit: (clean)
  1845 update: (current)
  1845 update: (current)
  1846 phases: 9 draft
  1846 phases: 9 draft
  1847 unstable: <span style="color:red;">1 changesets</span>
  1847 orphan: <span style="color:red;">1 changesets</span>
  1848 topic:  <span style="color:green;">myfeature</span>
  1848 topic:  <span style="color:green;">myfeature</span>
  1849 </pre>
  1849 </pre>
  1850 
  1850 
  1851 #### Topics
  1851 #### Topics
  1852 
  1852 
  1862    obsmarkerbitfield
  1862    obsmarkerbitfield
  1863    obsrangecacheiterative
  1863    obsrangecacheiterative
  1864    packaging
  1864    packaging
  1865    prev-next
  1865    prev-next
  1866    split
  1866    split
  1867    stack_unstable_bug
  1867    stack_orphan_bug
  1868    tutorial
  1868    tutorial
  1869  * tutorialtypos
  1869  * tutorialtypos
  1870 </pre>
  1870 </pre>
  1871 
  1871 
  1872 #### Topics age
  1872 #### Topics age
  1881    more-output            (3 weeks ago)
  1881    more-output            (3 weeks ago)
  1882    obsmarkerbitfield      (2 months ago)
  1882    obsmarkerbitfield      (2 months ago)
  1883    obscache               (2 months ago)
  1883    obscache               (2 months ago)
  1884    evolvecolor            (2 months ago)
  1884    evolvecolor            (2 months ago)
  1885    obsrangecacheiterative (2 months ago)
  1885    obsrangecacheiterative (2 months ago)
  1886    stack_unstable_bug     (2 months ago)
  1886    stack_orphan_bug     (2 months ago)
  1887    doc                    (3 months ago)
  1887    doc                    (3 months ago)
  1888    split                  (3 months ago)
  1888    split                  (3 months ago)
  1889    import-checker         (4 months ago)
  1889    import-checker         (4 months ago)
  1890    packaging              (4 months ago)
  1890    packaging              (4 months ago)
  1891 </pre>
  1891 </pre>
  1904    obsmarkerbitfield      (on branch: default, 1 changesets, <span style="color:teal;">324 behind</span>)
  1904    obsmarkerbitfield      (on branch: default, 1 changesets, <span style="color:teal;">324 behind</span>)
  1905    obsrangecacheiterative (on branch: default, 1 changesets, <span style="color:teal;">461 behind</span>)
  1905    obsrangecacheiterative (on branch: default, 1 changesets, <span style="color:teal;">461 behind</span>)
  1906    packaging              (on branch: default, 1 changesets, <span style="color:teal;">2521 behind</span>)
  1906    packaging              (on branch: default, 1 changesets, <span style="color:teal;">2521 behind</span>)
  1907    prev-next              (on branch: default, 4 changesets, <span style="color:teal;">72 behind</span>)
  1907    prev-next              (on branch: default, 4 changesets, <span style="color:teal;">72 behind</span>)
  1908    split                  (on branch: default, 1 changesets, <span style="color:teal;">492 behind</span>)
  1908    split                  (on branch: default, 1 changesets, <span style="color:teal;">492 behind</span>)
  1909    stack_unstable_bug     (on branch: default, 1 changesets, <span style="color:teal;">474 behind</span>)
  1909    stack_orphan_bug     (on branch: default, 1 changesets, <span style="color:teal;">474 behind</span>)
  1910    tutorial               (on branch: default, 2 changesets, <span style="color:teal;">492 behind</span>)
  1910    tutorial               (on branch: default, 2 changesets, <span style="color:teal;">492 behind</span>)
  1911 <span style="color:green;"> * </span><span style="color:green;">tutorialtypos         </span> (on branch: default, 3 changesets, <span style="color:red;">1 troubled</span>, <span style="color:olive;">2 heads</span>, <span style="color:teal;">2 behind</span>)
  1911 <span style="color:green;"> * </span><span style="color:green;">tutorialtypos         </span> (on branch: default, 3 changesets, <span style="color:red;">1 troubled</span>, <span style="color:olive;">2 heads</span>, <span style="color:teal;">2 behind</span>)
  1912 </pre>
  1912 </pre>
  1913 
  1913 
  1914 #### Log
  1914 #### Log
  1917 $ hg log -G --hidden -T '{node|short}\n{obsfate}\n'
  1917 $ hg log -G --hidden -T '{node|short}\n{obsfate}\n'
  1918 @  c55cb2ee8a91
  1918 @  c55cb2ee8a91
  1919 |
  1919 |
  1920 o  23abfc79b7ce
  1920 o  23abfc79b7ce
  1921 |
  1921 |
  1922 | o  4302274177b9 <span style="color:red;">(unstable)</span>
  1922 | o  4302274177b9 <span style="color:red;">(orphan)</span>
  1923 | |
  1923 | |
  1924 | <span style="color:grey;">x  fba593aaaa10</span>
  1924 | <span style="color:grey;">x  fba593aaaa10</span>
  1925 |/   rewritten as c55cb2ee8a91;
  1925 |/   rewritten as c55cb2ee8a91;
  1926 o  2ff53d8bf7d7
  1926 o  2ff53d8bf7d7
  1927 </pre>
  1927 </pre>
  1929 #### Evolve --list
  1929 #### Evolve --list
  1930 
  1930 
  1931 <pre>
  1931 <pre>
  1932 $> hg evolve --list
  1932 $> hg evolve --list
  1933 <span style="color:gold;">9ac0d376e01c</span>: changelog: introduce a 'tiprev' method
  1933 <span style="color:gold;">9ac0d376e01c</span>: changelog: introduce a 'tiprev' method
  1934   <span style="color:red;">unstable</span>: <span style="color:grey;">52ec3072fe46</span> (obsolete parent)
  1934   <span style="color:red;">orphan</span>: <span style="color:grey;">52ec3072fe46</span> (obsolete parent)
  1935 
  1935 
  1936 <span style="color:gold;">3efd3eab9860</span>: changelog: use 'tiprev()' in 'tip()'
  1936 <span style="color:gold;">3efd3eab9860</span>: changelog: use 'tiprev()' in 'tip()'
  1937   <span style="color:red;">unstable</span>: <span style="color:red;">9ac0d376e01c</span> (unstable parent)
  1937   <span style="color:red;">orphan</span>: <span style="color:red;">9ac0d376e01c</span> (orphan parent)
  1938 </pre>
  1938 </pre>
  1939 
  1939 
  1940 (see also `hg evolve --list --rev`)
  1940 (see also `hg evolve --list --rev`)
  1941 
  1941 
  1942 #### Obslog
  1942 #### Obslog
  2031 
  2031 
  2032 * Unlock powerful unique features
  2032 * Unlock powerful unique features
  2033 
  2033 
  2034 * Hide **most** of the complexity
  2034 * Hide **most** of the complexity
  2035 
  2035 
  2036 * Help with unstable situations
  2036 * Help with orphan situations
  2037 
  2037 
  2038     - Automatic detection
  2038     - Automatic detection
  2039 
  2039 
  2040     - Automated resolution `hg help evolve`
  2040     - Automated resolution `hg help evolve`
  2041 
  2041 
  2114         Obsolete [fillcolor="#DFDFFF"];
  2114         Obsolete [fillcolor="#DFDFFF"];
  2115         Root[shape="circle"];
  2115         Root[shape="circle"];
  2116     }
  2116     }
  2117 ~~~
  2117 ~~~
  2118 
  2118 
  2119 #### Unstable
  2119 #### Orphan
  2120 
  2120 
  2121 Now called `orphan`
  2121 Now called `orphan`
  2122 
  2122 
  2123 ~~~graphviz
  2123 ~~~graphviz
  2124     digraph G {
  2124     digraph G {
  2127         node[fixedsize=true, style="filled", width=1, height=1, fillcolor="#7F7FFF", shape="pentagon"];
  2127         node[fixedsize=true, style="filled", width=1, height=1, fillcolor="#7F7FFF", shape="pentagon"];
  2128 
  2128 
  2129         node[group=main];
  2129         node[group=main];
  2130         Root -> New;
  2130         Root -> New;
  2131         node[group=obsolete];
  2131         node[group=obsolete];
  2132         Root -> Obsolete -> Unstable;
  2132         Root -> Obsolete -> Orphan;
  2133 
  2133 
  2134         // Obsolescence links
  2134         // Obsolescence links
  2135         edge[dir=back, style=dotted, arrowtail=dot];
  2135         edge[dir=back, style=dotted, arrowtail=dot];
  2136         Obsolete -> New;
  2136         Obsolete -> New;
  2137 
  2137 
  2138         Obsolete [fillcolor="#DFDFFF"];
  2138         Obsolete [fillcolor="#DFDFFF"];
  2139         Unstable [fillcolor="#FF3535"];
  2139         Orphan [fillcolor="#FF3535"];
  2140         Root[shape="circle"];
  2140         Root[shape="circle"];
  2141     }
  2141     }
  2142 ~~~
  2142 ~~~
  2143 
  2143 
  2144 #### Bumped
  2144 #### Bumped