add graphical explanations of various decentralisation schemes for ikiwiki

the wiki_edit_flow.svg file is slightly changed to make the box
designate the server boundaries so it can be reused in a coherent
manner in the other graphics.

the distributed_wikis page still needs an overhaul to clarify it's
about the third and fourth setups, but that will be easier to do in
separate commits.
master
Antoine Beaupré 2014-04-18 11:28:21 -04:00
parent 9e1ad9037f
commit e75fa67406
6 changed files with 3403 additions and 65 deletions

View File

@ -13,7 +13,7 @@
height="548.64734" height="548.64734"
id="svg2" id="svg2"
version="1.1" version="1.1"
inkscape:version="0.48.1 r9760" inkscape:version="0.48.4 r9939"
sodipodi:docname="wiki_edit_flow.svg"> sodipodi:docname="wiki_edit_flow.svg">
<defs <defs
id="defs4"> id="defs4">
@ -196,17 +196,17 @@
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="1.0885159" inkscape:zoom="1.0885159"
inkscape:cx="281.26331" inkscape:cx="281.26331"
inkscape:cy="219.65103" inkscape:cy="288.69374"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="false" showgrid="false"
showguides="true" showguides="true"
inkscape:guide-bbox="true" inkscape:guide-bbox="true"
inkscape:snap-global="true" inkscape:snap-global="true"
inkscape:window-width="1280" inkscape:window-width="1438"
inkscape:window-height="995" inkscape:window-height="872"
inkscape:window-x="1280" inkscape:window-x="0"
inkscape:window-y="0" inkscape:window-y="26"
inkscape:window-maximized="1" inkscape:window-maximized="1"
fit-margin-top="25" fit-margin-top="25"
fit-margin-left="25" fit-margin-left="25"
@ -228,7 +228,7 @@
<dc:format>image/svg+xml</dc:format> <dc:format>image/svg+xml</dc:format>
<dc:type <dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title> <dc:title />
</cc:Work> </cc:Work>
</rdf:RDF> </rdf:RDF>
</metadata> </metadata>
@ -240,104 +240,104 @@
<rect <rect
style="fill:none;stroke:#000000;stroke-width:0.70866144;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" style="fill:none;stroke:#000000;stroke-width:0.70866144;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3866" id="rect3866"
width="220.00006" width="442.32111"
height="79.999939" height="341.82434"
x="184.99994" x="184.99994"
y="142.36218" y="164.68744"
ry="10" ry="10"
rx="10" /> rx="10" />
<path <path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,182.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z" d="m 355,222.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989" id="path2989"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="368.57144" x="368.57144"
y="225.21931" y="251.21931"
id="text2995" id="text2995"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan2997" id="tspan2997"
x="368.57144" x="368.57144"
y="225.21931" /></text> y="251.21931" /></text>
<path <path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,322.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z" d="m 355,348.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-4" id="path2989-4"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,457.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z" d="m 355,483.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-1" id="path2989-1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,597.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z" d="m 355,623.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-5" id="path2989-5"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
style="opacity:0.48800001;fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="opacity:0.48800001;fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 475,597.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z" d="m 475,623.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-2" id="path2989-2"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
style="opacity:0.5;fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="opacity:0.5;fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 235,597.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z" d="m 235,623.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-8" id="path2989-8"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="386.06738" x="386.06738"
y="626.36218" y="652.36218"
id="text3868" id="text3868"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan3870" id="tspan3870"
x="386.06738" x="386.06738"
y="626.36218" y="652.36218"
style="font-size:20px;text-align:center;text-anchor:middle">working clones</tspan></text> style="font-size:20px;text-align:center;text-anchor:middle">working clones</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="524.37988" x="524.37988"
y="437.36218" y="463.36218"
id="text3874" id="text3874"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan3876" id="tspan3876"
x="524.37988" x="524.37988"
y="437.36218" y="463.36218"
style="font-size:20px;text-align:center;text-anchor:middle">repository</tspan></text> style="font-size:20px;text-align:center;text-anchor:middle">repository</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="525.35156" x="525.35156"
y="304.36218" y="330.36218"
id="text3878" id="text3878"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan3880" id="tspan3880"
x="525.35156" x="525.35156"
y="304.36218" y="330.36218"
style="font-size:20px;text-align:center;text-anchor:middle">srcdir</tspan></text> style="font-size:20px;text-align:center;text-anchor:middle">srcdir</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="525.1543" x="525.1543"
y="165.36218" y="201.36218"
id="text3882" id="text3882"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan3884" id="tspan3884"
x="525.1543" x="525.1543"
y="165.36218" y="201.36218"
style="font-size:20px;text-align:center;text-anchor:middle">destdir</tspan></text> style="font-size:20px;text-align:center;text-anchor:middle">destdir</tspan></text>
<g <g
id="g5440" id="g5440"
transform="translate(5,25.000003)"> transform="translate(5,51.000003)">
<path <path
sodipodi:nodetypes="cc" sodipodi:nodetypes="cc"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
@ -352,7 +352,7 @@
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" /> style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
</g> </g>
<g <g
transform="translate(5,-110)" transform="translate(5,-84)"
id="g5440-4"> id="g5440-4">
<path <path
sodipodi:nodetypes="cc" sodipodi:nodetypes="cc"
@ -368,7 +368,7 @@
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" /> style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
</g> </g>
<g <g
transform="matrix(0.71872744,0.69529193,-0.69529193,0.71872744,353.78964,-104.94206)" transform="matrix(0.71872744,0.69529193,-0.69529193,0.71872744,353.78964,-78.94206)"
id="g5440-47"> id="g5440-47">
<path <path
sodipodi:nodetypes="cc" sodipodi:nodetypes="cc"
@ -384,7 +384,7 @@
style="opacity:0.5;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" /> style="opacity:0.5;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
</g> </g>
<g <g
transform="matrix(-0.71872744,0.69529193,0.69529193,0.71872744,421.21036,-104.94206)" transform="matrix(-0.71872744,0.69529193,0.69529193,0.71872744,421.21036,-78.94206)"
id="g5440-47-9" id="g5440-47-9"
style="opacity:0.5"> style="opacity:0.5">
<path <path
@ -402,12 +402,12 @@
</g> </g>
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5532)" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5532)"
d="m 380,262.36218 0,-60" d="m 380,288.36218 0,-60"
id="path5558" id="path5558"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<g <g
id="g5810" id="g5810"
transform="translate(0,-9)"> transform="translate(0,17)">
<g <g
transform="translate(-230,-4.9999974)" transform="translate(-230,-4.9999974)"
id="g3784-7"> id="g3784-7">
@ -469,7 +469,7 @@
</g> </g>
<g <g
id="g5824" id="g5824"
transform="translate(0,-9)"> transform="translate(0,17)">
<g <g
transform="translate(-165,-9.9999974)" transform="translate(-165,-9.9999974)"
id="g3784-0"> id="g3784-0">
@ -522,7 +522,7 @@
sodipodi:cy="187.36218" sodipodi:cy="187.36218"
sodipodi:rx="5" sodipodi:rx="5"
sodipodi:ry="5" sodipodi:ry="5"
d="m 300,187.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z" d="m 300,187.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
transform="matrix(1.4,0,0,1.4,-120,-74.944873)" /> transform="matrix(1.4,0,0,1.4,-120,-74.944873)" />
</g> </g>
</g> </g>
@ -530,17 +530,17 @@
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="265" x="265"
y="211.36218" y="237.36218"
id="text5806" id="text5806"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan5808" id="tspan5808"
x="265" x="265"
y="211.36218" y="237.36218"
style="font-size:12px">ikiwiki.cgi</tspan></text> style="font-size:12px">ikiwiki.cgi</tspan></text>
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5532)" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5532)"
d="m 295,217.36218 c 10,40 25,65 55,85" d="m 295,243.36218 c 10,40 25,65 55,85"
id="path5834" id="path5834"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /> sodipodi:nodetypes="cc" />
@ -548,157 +548,157 @@
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="351.31982" x="351.31982"
y="362.36218" y="388.36218"
id="text6240" id="text6240"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6242" id="tspan6242"
x="351.31982" x="351.31982"
y="362.36218" y="388.36218"
style="font-size:14px;text-align:end;writing-mode:lr-tb;text-anchor:end">post-update</tspan><tspan style="font-size:14px;text-align:end;writing-mode:lr-tb;text-anchor:end">post-update</tspan><tspan
sodipodi:role="line" sodipodi:role="line"
x="351.31982" x="351.31982"
y="379.86218" y="405.86218"
style="font-size:14px;text-align:end;writing-mode:lr-tb;text-anchor:end" style="font-size:14px;text-align:end;writing-mode:lr-tb;text-anchor:end"
id="tspan6244">hook</tspan></text> id="tspan6244">hook</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="420" x="420"
y="362.36218" y="388.36218"
id="text6246" id="text6246"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6248" id="tspan6248"
x="420" x="420"
y="362.36218" y="388.36218"
style="font-size:14px">ikiwiki.cgi</tspan><tspan style="font-size:14px">ikiwiki.cgi</tspan><tspan
sodipodi:role="line" sodipodi:role="line"
x="420" x="420"
y="379.86218" y="405.86218"
id="tspan6250" id="tspan6250"
style="font-size:14px">push</tspan></text> style="font-size:14px">push</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="382" x="382"
y="316.36218" y="342.36218"
id="text6252" id="text6252"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6254" id="tspan6254"
x="382" x="382"
y="316.36218">.git</tspan></text> y="342.36218">.git</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="383" x="383"
y="592.36218" y="618.36218"
id="text6252-3" id="text6252-3"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6254-1" id="tspan6254-1"
x="383" x="383"
y="592.36218">.git</tspan></text> y="618.36218">.git</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="502" x="502"
y="591.36218" y="617.36218"
id="text6252-3-1" id="text6252-3-1"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6254-1-0" id="tspan6254-1-0"
x="502" x="502"
y="591.36218">.git</tspan></text> y="617.36218">.git</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="263" x="263"
y="592.36218" y="618.36218"
id="text6252-3-6" id="text6252-3-6"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6254-1-1" id="tspan6254-1-1"
x="263" x="263"
y="592.36218">.git</tspan></text> y="618.36218">.git</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="411" x="411"
y="456.36218" y="482.36218"
id="text6252-3-0" id="text6252-3-0"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6254-1-2" id="tspan6254-1-2"
x="411" x="411"
y="456.36218">.git</tspan></text> y="482.36218">.git</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="300" x="300"
y="262.36218" y="288.36218"
id="text6372" id="text6372"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6374" id="tspan6374"
x="300" x="300"
y="262.36218" y="288.36218"
style="font-size:14px">web-side</tspan><tspan style="font-size:14px">web-side</tspan><tspan
sodipodi:role="line" sodipodi:role="line"
x="300" x="300"
y="279.86218" y="305.86218"
id="tspan6376" id="tspan6376"
style="font-size:14px">edit</tspan></text> style="font-size:14px">edit</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="410" x="410"
y="232.36218" y="258.36218"
id="text6378" id="text6378"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6380" id="tspan6380"
x="410" x="410"
y="232.36218" y="258.36218"
style="font-size:14px">automatic</tspan><tspan style="font-size:14px">automatic</tspan><tspan
sodipodi:role="line" sodipodi:role="line"
x="410" x="410"
y="249.86218" y="275.86218"
id="tspan6382" id="tspan6382"
style="font-size:14px">rebuild</tspan></text> style="font-size:14px">rebuild</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="406.75635" x="406.75635"
y="501.15298" y="527.15295"
id="text6384" id="text6384"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6386" id="tspan6386"
x="406.75635" x="406.75635"
y="501.15298" y="527.15295"
style="font-size:14px">git</tspan><tspan style="font-size:14px">git</tspan><tspan
sodipodi:role="line" sodipodi:role="line"
x="406.75635" x="406.75635"
y="518.65295" y="544.65295"
id="tspan6388" id="tspan6388"
style="font-size:14px">pull</tspan></text> style="font-size:14px">pull</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="363.62955" x="363.62955"
y="504.39691" y="530.39691"
id="text6390" id="text6390"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan6392" id="tspan6392"
x="363.62955" x="363.62955"
y="504.39691" y="530.39691"
style="font-size:14px;text-align:end;text-anchor:end">git</tspan><tspan style="font-size:14px;text-align:end;text-anchor:end">git</tspan><tspan
sodipodi:role="line" sodipodi:role="line"
x="363.62955" x="363.62955"
y="521.89691" y="547.89691"
id="tspan6394" id="tspan6394"
style="font-size:14px;text-align:end;text-anchor:end">push</tspan></text> style="font-size:14px;text-align:end;text-anchor:end">push</tspan></text>
</g> </g>

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -3,6 +3,8 @@ server located at different hosts. Here's a description for such
a setup, using password-less SSH as a way of communication between a setup, using password-less SSH as a way of communication between
these two hosts. these two hosts.
[[!img separate-webserver.svg size=490x align=right]]
Git server Git server
========== ==========

View File

@ -0,0 +1,714 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="493.90625"
height="548.64734"
id="svg2"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="separate-webserver.svg">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend"
style="overflow:visible">
<path
id="path3914"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible">
<path
id="path3896"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible">
<path
id="path3893"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
<linearGradient
id="linearGradient3767">
<stop
style="stop-color:#efbc00;stop-opacity:1;"
offset="0"
id="stop3769" />
<stop
id="stop3775"
offset="0.93150687"
style="stop-color:#ffcb10;stop-opacity:1;" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop3771" />
</linearGradient>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend-4"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3914-9"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5456"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5458"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3914-6"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5456-4"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5458-7"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend-5"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3914-92"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5456-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5458-78"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend-36"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3914-5"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5532"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5534"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.0885159"
inkscape:cx="281.26331"
inkscape:cy="288.69374"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-global="true"
inkscape:window-width="1438"
inkscape:window-height="872"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:window-maximized="1"
fit-margin-top="25"
fit-margin-left="25"
fit-margin-right="25"
fit-margin-bottom="25">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-159.65625,-106.875)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.70866144;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3866"
width="442.32111"
height="227.90776"
x="184.99994"
y="278.604"
ry="10"
rx="10" />
<path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,222.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="368.57144"
y="251.21931"
id="text2995"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2997"
x="368.57144"
y="251.21931" /></text>
<path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,348.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-4"
inkscape:connector-curvature="0" />
<path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,483.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-1"
inkscape:connector-curvature="0" />
<path
style="fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 355,623.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-5"
inkscape:connector-curvature="0" />
<path
style="opacity:0.48800001;fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 475,623.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-2"
inkscape:connector-curvature="0" />
<path
style="opacity:0.5;fill:#ffcb14;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 235,623.36218 55,0 0,-45 -25,0 -5,-5 -20,0 -5,5 z"
id="path2989-8"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="386.06738"
y="652.36218"
id="text3868"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3870"
x="386.06738"
y="652.36218"
style="font-size:20px;text-align:center;text-anchor:middle">working clones</tspan></text>
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="524.37988"
y="463.36218"
id="text3874"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3876"
x="524.37988"
y="463.36218"
style="font-size:20px;text-align:center;text-anchor:middle">repository</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="525.35156"
y="330.36218"
id="text3878"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3880"
x="525.35156"
y="330.36218"
style="font-size:20px;text-align:center;text-anchor:middle">srcdir</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="525.1543"
y="201.36218"
id="text3882"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3884"
x="525.1543"
y="201.36218"
style="font-size:20px;text-align:center;text-anchor:middle">destdir</tspan></text>
<g
id="g5440"
transform="translate(5,51.000003)">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3886"
d="m 370,512.36218 c -5,-24.99999 -5,-44.99999 0,-70"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Lend)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3888"
d="m 390,442.36218 c 5,25 5,45 0,70"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
</g>
<g
transform="translate(5,-84)"
id="g5440-4">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3886-8"
d="m 370,512.36218 c -5,-24.99999 -5,-44.99999 0,-70"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Lend)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3888-9"
d="m 390,442.36218 c 5,25 5,45 0,70"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
</g>
<g
transform="matrix(0.71872744,0.69529193,-0.69529193,0.71872744,353.78964,-78.94206)"
id="g5440-47">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3886-3"
d="m 370,512.36218 c -5,-24.99999 -0.0778,-66.9912 7.34379,-88.08431"
style="opacity:0.5;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Lend)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3888-6"
d="m 391.48399,424.51223 c 5,25 6.0155,63.74804 -1.48399,87.84995"
style="opacity:0.5;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
</g>
<g
transform="matrix(-0.71872744,0.69529193,0.69529193,0.71872744,421.21036,-78.94206)"
id="g5440-47-9"
style="opacity:0.5">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3886-3-3"
d="m 370,512.36218 c -5,-24.99999 -0.0778,-66.9912 7.34379,-88.08431"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Lend)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3888-6-3"
d="m 391.48399,424.51223 c 5,25 6.0155,63.74804 -1.48399,87.84995"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5532)"
d="m 380,288.36218 0,-60"
id="path5558"
inkscape:connector-curvature="0" />
<g
id="g5810"
transform="translate(0,17)">
<g
transform="translate(-230,-4.9999974)"
id="g3784-7">
<g
id="g3779-37">
<path
inkscape:connector-curvature="0"
id="path2993-5"
d="m 440,177.36218 10,0 0,-10"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0"
id="path2991-3"
d="m 440,177.36218 0,40 35,0 0,-50 -25,0 z"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path3777-8"
d="m 440,177.36218 10,0 0,-10"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
<g
transform="translate(-235,-9.9999974)"
id="g3784">
<g
id="g3779">
<path
inkscape:connector-curvature="0"
id="path2993"
d="m 440,177.36218 10,0 0,-10"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0"
id="path2991"
d="m 440,177.36218 0,40 35,0 0,-50 -25,0 z"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path3777"
d="m 440,177.36218 10,0 0,-10"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
<text
sodipodi:linespacing="125%"
id="text5762"
y="176.55017"
x="206.62401"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
style="font-size:8px"
y="176.55017"
x="206.62401"
id="tspan5764"
sodipodi:role="line">&lt;html&gt;</tspan></text>
</g>
<g
id="g5824"
transform="translate(0,17)">
<g
transform="translate(-165,-9.9999974)"
id="g3784-0">
<g
id="g3779-3">
<path
inkscape:connector-curvature="0"
id="path2993-2"
d="m 440,177.36218 10,0 0,-10"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0"
id="path2991-8"
d="m 440,177.36218 0,40 35,0 0,-50 -25,0 z"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path3777-7"
d="m 440,177.36218 10,0 0,-10"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
<g
transform="matrix(0.74161576,0,0,0.74161576,75.250882,53.354937)"
id="g5772">
<path
sodipodi:type="star"
style="fill:#939393;fill-opacity:1;stroke:#939393;stroke-width:0.70866144;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path5768"
sodipodi:sides="13"
sodipodi:cx="295"
sodipodi:cy="187.36218"
sodipodi:r1="10.889445"
sodipodi:r2="14.142136"
sodipodi:arg1="-2.3561945"
sodipodi:arg2="-2.1145335"
inkscape:flatsided="false"
inkscape:rounded="0.36"
inkscape:randomized="0"
d="m 287.3,179.66218 c 1.12496,-1.12496 -0.97775,-3.57952 0.38374,-4.40257 1.36149,-0.82305 2.55772,2.1795 4.07662,1.70619 1.5189,-0.47331 0.79773,-3.62389 2.38576,-3.71995 1.58803,-0.0961 1.25188,3.11848 2.81676,3.40526 1.56487,0.28677 2.39046,-2.83808 3.84123,-2.18514 1.45078,0.65294 -0.34074,3.34306 0.91162,4.32422 1.25235,0.98116 3.43557,-1.40209 4.41673,-0.14973 0.98116,1.25236 -1.85532,2.80178 -1.20238,4.25255 0.65294,1.45078 3.69363,0.35511 3.98041,1.91998 0.28677,1.56488 -2.94485,1.61865 -3.04091,3.20668 -0.0961,1.58803 3.10552,2.03094 2.63221,3.54984 -0.47331,1.5189 -3.35976,0.0647 -4.18281,1.42619 -0.82305,1.3615 1.80598,3.24152 0.68102,4.36648 -1.12496,1.12496 -3.00498,-1.50407 -4.36648,-0.68101 -1.36149,0.82305 0.0927,3.7095 -1.42619,4.1828 -1.5189,0.47331 -1.96181,-2.72827 -3.54984,-2.63221 -1.58803,0.0961 -1.64181,3.32768 -3.20668,3.04091 -1.56488,-0.28678 -0.4692,-3.32746 -1.91998,-3.9804 -1.45077,-0.65294 -3.00019,2.18353 -4.25255,1.20237 -1.25236,-0.98116 1.13089,-3.16437 0.14973,-4.41673 -0.98116,-1.25236 -3.67128,0.53916 -4.32422,-0.91161 -0.65294,-1.45078 2.47191,-2.27636 2.18513,-3.84124 -0.28677,-1.56488 -3.50131,-1.22873 -3.40525,-2.81676 0.096,-1.58803 3.24664,-0.86686 3.71995,-2.38576 0.47331,-1.5189 -2.52925,-2.71513 -1.70619,-4.07662 0.82305,-1.36149 3.27761,0.74122 4.40257,-0.38374 z"
inkscape:transform-center-x="-0.68364368"
inkscape:transform-center-y="0.68364368"
transform="translate(-2,0)" />
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-opacity:1;stroke:#939393;stroke-width:0.70866144;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path5770"
sodipodi:cx="295"
sodipodi:cy="187.36218"
sodipodi:rx="5"
sodipodi:ry="5"
d="m 300,187.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
transform="matrix(1.4,0,0,1.4,-120,-74.944873)" />
</g>
</g>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="265"
y="237.36218"
id="text5806"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5808"
x="265"
y="237.36218"
style="font-size:12px">ikiwiki.cgi</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5532)"
d="m 295,243.36218 c 10,40 25,65 55,85"
id="path5834"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="351.31982"
y="388.36218"
id="text6240"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6242"
x="351.31982"
y="388.36218"
style="font-size:14px;text-align:end;writing-mode:lr-tb;text-anchor:end">post-update</tspan><tspan
sodipodi:role="line"
x="351.31982"
y="405.86218"
style="font-size:14px;text-align:end;writing-mode:lr-tb;text-anchor:end"
id="tspan6244">hook</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="420"
y="388.36218"
id="text6246"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6248"
x="420"
y="388.36218"
style="font-size:14px">ikiwiki.cgi</tspan><tspan
sodipodi:role="line"
x="420"
y="405.86218"
id="tspan6250"
style="font-size:14px">push</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="382"
y="342.36218"
id="text6252"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6254"
x="382"
y="342.36218">.git</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="383"
y="618.36218"
id="text6252-3"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6254-1"
x="383"
y="618.36218">.git</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="502"
y="617.36218"
id="text6252-3-1"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6254-1-0"
x="502"
y="617.36218">.git</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="263"
y="618.36218"
id="text6252-3-6"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6254-1-1"
x="263"
y="618.36218">.git</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="411"
y="482.36218"
id="text6252-3-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6254-1-2"
x="411"
y="482.36218">.git</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="300"
y="288.36218"
id="text6372"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6374"
x="300"
y="288.36218"
style="font-size:14px">web-side</tspan><tspan
sodipodi:role="line"
x="300"
y="305.86218"
id="tspan6376"
style="font-size:14px">edit</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="410"
y="258.36218"
id="text6378"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6380"
x="410"
y="258.36218"
style="font-size:14px">automatic</tspan><tspan
sodipodi:role="line"
x="410"
y="275.86218"
id="tspan6382"
style="font-size:14px">rebuild</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="406.75635"
y="527.15295"
id="text6384"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6386"
x="406.75635"
y="527.15295"
style="font-size:14px">git</tspan><tspan
sodipodi:role="line"
x="406.75635"
y="544.65295"
id="tspan6388"
style="font-size:14px">pull</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="363.62955"
y="530.39691"
id="text6390"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan6392"
x="363.62955"
y="530.39691"
style="font-size:14px;text-align:end;text-anchor:end">git</tspan><tspan
sodipodi:role="line"
x="363.62955"
y="547.89691"
id="tspan6394"
style="font-size:14px;text-align:end;text-anchor:end">push</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.70866144;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3866-3"
width="442.32111"
height="84.593353"
x="184.76839"
y="160.39235"
ry="10"
rx="10" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -5,6 +5,53 @@ git, let's explore some possibilities for distributed wikis.
[[!toc levels=2]] [[!toc levels=2]]
## Overview
There are three possible level of decentralisation:
0. [[default setup|rcs/git]], no decentralisation
1. [[a simple HTML mirror|tips/Git_repository_and_web_server_on_different_hosts/]]
2. separate `srcdir`, still requires a central bare repo - uses [[plugin/pinger]]
3. completely distinct ikiwiki installs, synchronised with
[[plugin/gitpush]]
Here's a graphic overview of those:
### Default setup - one central server
[[!img rcs/git/wiki-edit-flow.svg size=490x align=center]]
In the default setup, all the resources are stored on the central
servers. Users can still clone and edit the git repo by hand and
contribute by git, but otherwise all the changes happen on a single
web interface.
### Separate webserver and git repository
[[!img tips/Git_repository_and_web_server_on_different_hosts/separate-webserver.svg align=center]]
In the configuration described in
[[tips/Git_repository_and_web_server_on_different_hosts]], the
webserver is separate from the git repository. The webserver part
hosts the HTML files, the ikiwiki [[cgi]] but everything else is on
the git server.
### Decentralised pinger setup
[[!img ping-setup.svg align=center]]
In this configuration, the mirrors all have their own `srcdir`, but
still need to push and pull from the same central bare git repo. The
[[plugins/pinger]] plugin is used to ping the mirrors from the central
server on edits.
### Fully decentralised setup
[[!img .svg align=center]]
In this configuration, each wiki is fully independent and pushes its
changes to other wikis using the [[plugins/gitpush]] plugin.
## a wiki mirror ## a wiki mirror
The simplest possibility is setting up a mirror. If a wiki exposes its git The simplest possibility is setting up a mirror. If a wiki exposes its git

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 45 KiB