annotate mercurial-vendor-branches.tex @ 305:1df5191d8e80

Fix front page
author Martin Geisler <mg@aragost.com>
date Wed, 08 Jun 2011 22:50:54 +0200
parents f73da41a4f51
children 7788b512c5bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
252
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
1 \begin{frame}{Vendor Branches in Mercurial}
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
2 High-level view of vendor branches:
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
3 \begin{center}
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
4 \begin{tikzpicture}[start chain]
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
5 \path[use as bounding box] (-2, 0) rectangle (8.5, 1);
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
6 \tikzstyle{rev}+=[on chain, minimum size=4mm]
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
7 \tikzstyle{libfoo}=[rev, draw=purple!50!black!50, top
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
8 color=white, bottom color=purple!50!black!20]
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
9 \tikzset{node distance=8mm and 10mm, on grid}
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
10 \tikzstyle{join-se}=[out=0, in=90]
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
11 \tikzstyle{join-ne}=[out=90, in=180]
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
12
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
13 \node<1->[left=of chain-1, anchor=west, xshift=-1cm] {default:};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
14 \node<1->[rev, join] {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
15 \node<1->[rev, join] (a) {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
16 \node<2->[libfoo, join=with a by join-ne, above right=of a] (v1) {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
17 %\draw<2->[thick] (v1.north) -- +(0, 0.2) node[tag,above] {libfoo 1.0};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
18
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
19 \node<2->[above left=of chain-1, anchor=west, xshift=-1cm] {libfoo:};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
20 \node<3->[rev, join=by join-se, join=with a, below right=of v1] {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
21 \node<4->[rev, join] {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
22 \node<5->[rev, join] (b) {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
23 \node<6->[libfoo, join=with v1, above right=of b] (v2) {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
24 %\draw<6->[thick] (v2.north) -- +(0, 0.2) node[tag,above] {libfoo 2.0};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
25 \node<7->[rev, join=by join-se, join=with b, below right=of v2] {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
26 \node<8->[rev, join] {};
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
27 \end{tikzpicture}
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
28 \end{center}
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
29
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
30 \onslide<9->
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
31
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
32 This workflow lets you:
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
33 \begin{itemize}
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
34 \item clearly distinguish between upstream code and your code
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
35 \item directly modify libraries in your codebase
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
36 \item<10-> Mercurial knows exactly what to merge
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
37 \end{itemize}
f73da41a4f51 Vendor branches in Mercurial
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
38 \end{frame}