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