Mercurial > lilug > scm
changeset 16:2e127e825c42
Distributed things
author | Josef "Jeff" Sipek <jeffpc@optonline.net> |
---|---|
date | Mon, 12 Sep 2005 23:46:08 -0400 |
parents | 83c3364b9457 |
children | 5bad82f029f0 |
files | Makefile distributed-clone.dot distributed-commit.dot distributed-layout.dot distributed-modified.dot distributed.dot slideshow.tex |
diffstat | 7 files changed, 100 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile Mon Sep 12 21:10:40 2005 -0400 +++ b/Makefile Mon Sep 12 23:46:08 2005 -0400 @@ -13,6 +13,11 @@ dot -Tps client-server-modified.dot -o client-server-modified.ps dot -Tps client-server-commit.dot -o client-server-commit.ps dot -Tps client-server-layout.dot -o client-server-layout.ps + dot -Tps distributed.dot -o distributed.ps + dot -Tps distributed-clone.dot -o distributed-clone.ps + dot -Tps distributed-modified.dot -o distributed-modified.ps + dot -Tps distributed-commit.dot -o distributed-commit.ps + dot -Tps distributed-layout.dot -o distributed-layout.ps clean: rm -f *~ *.pdf *.ps *.dvi *.log *.out *.aux
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distributed-clone.dot Mon Sep 12 23:46:08 2005 -0400 @@ -0,0 +1,13 @@ +digraph G { + size ="3,3"; + { rank = same; RepoA [shape=box,style=filled,color="0.3 1.0 0.7",label="Repository A"]; + RepoB [shape=box,label="Repository B"]; } + { rank = same; RepoC [shape=box,label="Repository C"]; + RepoD [shape=box,style=filled,color="0.3 1.0 0.7",label="Repository D"]; } + RepoA -> RepoB [arrowhead=none,style=dashed]; + RepoA -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoD [arrowhead=none,style=dashed]; + RepoC -> RepoD [arrowhead=none,style=dashed]; + RepoA -> RepoD [style=dashed]; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distributed-commit.dot Mon Sep 12 23:46:08 2005 -0400 @@ -0,0 +1,13 @@ +digraph G { + size ="3,3"; + { rank = same; RepoA [shape=box,style=filled,color="0.3 1.0 0.7",label="Repository A"]; + RepoB [shape=box,label="Repository B"]; } + { rank = same; RepoC [shape=box,label="Repository C"]; + RepoD [shape=box,style=filled,color="1.0 0.7 0.7",label="Repository D"]; } + RepoA -> RepoB [arrowhead=none,style=dashed]; + RepoA -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoD [arrowhead=none,style=dashed]; + RepoC -> RepoD [arrowhead=none,style=dashed]; + RepoA -> RepoD [arrowhead=none,style=dashed]; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distributed-layout.dot Mon Sep 12 23:46:08 2005 -0400 @@ -0,0 +1,4 @@ +digraph G { + size ="1.5,1.5"; + repository1 [shape=Mrecord,label="{{Repository | {data store | interface}} | {Client | {interface | user}}}"]; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distributed-modified.dot Mon Sep 12 23:46:08 2005 -0400 @@ -0,0 +1,13 @@ +digraph G { + size ="3,3"; + { rank = same; RepoA [shape=box,style=filled,color="0.3 1.0 0.7",label="Repository A"]; + RepoB [shape=box,label="Repository B"]; } + { rank = same; RepoC [shape=box,label="Repository C"]; + RepoD [shape=box,style=filled,color="0.3 1.0 1.0",label="Repository D"]; } + RepoA -> RepoB [arrowhead=none,style=dashed]; + RepoA -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoD [arrowhead=none,style=dashed]; + RepoC -> RepoD [arrowhead=none,style=dashed]; + RepoA -> RepoD [arrowhead=none,style=dashed]; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distributed.dot Mon Sep 12 23:46:08 2005 -0400 @@ -0,0 +1,13 @@ +digraph G { + size ="3,3"; + { rank = same; RepoA [shape=box,style=filled,color="0.3 1.0 0.7",label="Repository A"]; + RepoB [shape=box,label="Repository B"]; } + { rank = same; RepoC [shape=box,label="Repository C"]; + RepoD [shape=box,label="Repository D"]; } + RepoA -> RepoB [arrowhead=none,style=dashed]; + RepoA -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoC [arrowhead=none,style=dashed]; + RepoB -> RepoD [arrowhead=none,style=dashed]; + RepoC -> RepoD [arrowhead=none,style=dashed]; + RepoD -> RepoA [arrowhead=none,style=dashed]; +}
--- a/slideshow.tex Mon Sep 12 21:10:40 2005 -0400 +++ b/slideshow.tex Mon Sep 12 23:46:08 2005 -0400 @@ -61,7 +61,7 @@ \end{slide}} \overlays{4}{ -\begin{slide}{Client-Server (eg. Subversion)} +\begin{slide}{Workflow Example} \begin{center} \vspace{1cm} \onlySlide*{1}{\includegraphics{client-server.ps}} % - server, client @@ -73,15 +73,51 @@ % DEMO: subversion checkout, modify, commit - oops! Access Denied -\overlays{2}{ -\begin{slide}{Client-Server - Issues} +\overlays{3}{ +\begin{slide}{Issues} \begin{itemstep} \item Non-commiters are \emph{second class citizens} +% DEMO: generate diff & email the maintainer \item Promotes use of patches - bad! % why bother with SCM when you force people to use patches?! + \item Minimal disconnected operation % SVN does support _some_ disconnected operation; commit, etc. must be connected \end{itemstep} \end{slide}} \overlays{2}{ +\begin{slide}{What now?} + \begin{tabular}{rc} + \begin{minipage}{4cm} + \begin{center} + \onlySlide*{1}{\includegraphics{client-server-layout.ps}} % client-server model + \fromSlide*{2}{\includegraphics{distributed-layout.ps}} % distributed + \end{center} + \end{minipage} & + \begin{minipage}{6cm} + \onlySlide*{1}{ + \begin{itemize} + \item Repository + \item Client + \end{itemize}} + \fromSlide*{2}{ + \begin{itemize} + \item Repository + client + \end{itemize}} + \end{minipage} + \end{tabular} +\end{slide}} + +\overlays{4}{ +\begin{slide}{Workflow Example} + \begin{center} + \vspace{1cm} + \onlySlide*{1}{\includegraphics{distributed.ps}} % - server, client + \onlySlide*{2}{\includegraphics{distributed-clone.ps}} % - client checks out a copy + \onlySlide*{3}{\includegraphics{distributed-modified.ps}} % - client modifies code + \onlySlide*{4}{\includegraphics{distributed-commit.ps}} % - client commits changes to server + \end{center} +\end{slide}} + +\overlays{2}{ \begin{slide}{Distributed (eg. Mercurial)} \begin{itemstep} \item Bazaar-NG, Cogito/git, Darcs, GNU Arch, Mercurial, Monotone and SVK