The unified diff between revisions [4e765783..] and [244e519e..] is displayed below. It can also be downloaded as a raw diff.

#
#
# add_file "Makefile"
#  content [fce47b95f7658be53776cdaa88bccff91d3b7e56]
#
# patch "distributed-version-control-systems.texinfo"
#  from [de8285cf876044d9f6052b00df52cffd2cb5cd26]
#    to [bd40cd657b7bbfe4de12fc5a32e77a8537ec08d3]
#
============================================================
--- Makefile	fce47b95f7658be53776cdaa88bccff91d3b7e56
+++ Makefile	fce47b95f7658be53776cdaa88bccff91d3b7e56
@@ -0,0 +1,25 @@
+.SUFFIXES:
+
+EXTENSIONS := pdf html txt info
+DOCUMENT := distributed-version-control-systems
+
+all: $(foreach e,$(EXTENSIONS),$(DOCUMENT).$(e))
+
+%.pdf: %.texinfo
+	texi2pdf $<
+
+%.txt: %.texinfo
+	makeinfo --no-split --plaintext -o $@ $<
+
+%.html: %.texinfo
+	makeinfo --no-split --html -o $@ $<
+
+%.info: %.texinfo
+	makeinfo --no-split -o $@ $<
+
+clean:
+	-rm $(foreach e,aux cp fn ky log pg toc tp vr,$(DOCUMENT).$(e))
+	-rm *~
+
+realclean: clean
+	-rm $(foreach e,$(EXTENSIONS),$(DOCUMENT).$(e))
============================================================
--- distributed-version-control-systems.texinfo	de8285cf876044d9f6052b00df52cffd2cb5cd26
+++ distributed-version-control-systems.texinfo	bd40cd657b7bbfe4de12fc5a32e77a8537ec08d3
@@ -546,7 +546,7 @@ $ cd ../upstream; hg pull; hg tag --loca
 $ cd ../upstream; hg pull; hg tag --local UPSTREAM_2

 (review upstream changes:)
-$ hg diff -r UPSTREAM -r UPSTREAM_2
+$ hg diff -r UPSTREAM_1 -r UPSTREAM_2
 $ cd ../private; hg pull; hg update --merge
 (resolve conflicts)
 $ hg commit -m "private 2: merge from upstream 2"
@@ -577,7 +577,7 @@ The four branches (four repositories) to
 many files diverge between branches, even if the divergence is small.

 The four branches (four repositories) together use 686 megabytes of
-stoage; this is 45% more than Meta-CVS.
+storage; this is 45% more than Meta-CVS.

 Checkout time is however much faster, thanks to the delta-compressed
 storage: 5 minutes.
@@ -602,16 +602,24 @@ Serves selected branches over an efficie
 The conventional dots in branch names have no special meaning.

 Serves selected branches over an efficient, special-purpose protocol
-called netsync; uses up one TCP port per repository served.  Access to
-the database is concurrent, but has not yet been stress-tested for
-large repositories with many branches and connections.  It is also not
-currently possible to host repositories on general-purpose HTTP
-servers, nor on SourceForge, Tigris, Alioth, Berlios or the like.
+called netsync; thus it is not possible to host repositories on
+general-purpose HTTP servers, nor on SourceForge, Tigris, Alioth,
+Berlios or the like.  There are now several free hosting services
+using Monotone.

-There is a contributed tool, ``usher'', that allows serving several
-databases on one port number.  Usher comes bundled with the Monotone
-source tarballs, and as source in the monotone package for Debian.
+Uses one TCP port per repository served; however, there is a
+contributed tool, ``usher'', that allows serving several databases on
+one port number.  Usher comes bundled with the Monotone source
+tarballs, and as source in the monotone package for Debian.  When the
+client specifies a branch, Usher finds the database that contains the
+branch and forwards the connection to the corresponding instance of
+Monotone.

+Can also serve branches over SSH; the client needs an SSH account on
+the server machine and spawns a private server remotely for the
+duration of the transaction.  This server locks the database for
+exclusive use.
+
 The repository is a single file, containing an SQLite database.  This
 is good for backups, and SQLite has a command-line tool that allows
 massaging the database in case of emergencies (I know SQL, so this
@@ -625,6 +633,8 @@ No local tags, i.e. upstream will see al
 Tags and branches are cheap.  This is good.

 No local tags, i.e. upstream will see all of my tags after I push.
+See @url{http://savannah.nongnu.org/bugs/?18317,Bug #18317 on
+Savannah}.

 Branching can only happen after making local changes; this is
 counter-intuitive to me and error-prone; it is all too easy to make