# # # patch "monotone.texi" # from [3d8c5196889a958e75477bbf9bc4031938820dcb] # to [a24e9157bb1f02847392167d9f7c74fe4de2e2f2] # ============================================================ --- monotone.texi 3d8c5196889a958e75477bbf9bc4031938820dcb +++ monotone.texi a24e9157bb1f02847392167d9f7c74fe4de2e2f2 @@ -1785,19 +1785,16 @@ @section Synchronising Databases @smallexample @group -$ mtn --db=abe.mtn sync jim-laptop.juicebot.co.jp "jp.co.juicebot.jb7*" -mtn: setting default server to jim-laptop.juicebot.co.jp -mtn: setting default branch include pattern to 'jp.co.juicebot.jb7*' -mtn: setting default branch exclude pattern to '' -mtn: connecting to jim-laptop.juicebot.co.jp -mtn: first time connecting to server jim-laptop.juicebot.co.jp:4691 +$ mtn --db=abe.mtn sync "mtn://jim-laptop.juicebot.co.jp?jp.co.juicebot.jb7*" +mtn: connecting to mtn://jim-laptop.juicebot.co.jp +mtn: first time connecting to server mtn://jim-laptop.juicebot.co.jp mtn: I'll assume it's really them, but you might want to double-check mtn: their key's fingerprint: 9e9e9ef1d515ad58bfaa5cf282b4a872d8fda00c mtn: warning: saving public key for jim@@juicebot.co.jp to database mtn: finding items to synchronize: mtn: bytes in | bytes out | revs in | revs out | revs written mtn: 2587 | 1025 | 1 | 0 | 1 -mtn: successful exchange with jim-laptop.juicebot.co.jp +mtn: successful exchange with mtn://jim-laptop.juicebot.co.jp @end group @end smallexample @@ -1943,13 +1940,13 @@ @section Making Changes @smallexample @group $ mtn sync -mtn: connecting to jim-laptop.juicebot.co.jp +mtn: connecting to mtn://jim-laptop.juicebot.co.jp mtn: finding items to synchronize: mtn: certs | keys | revisions mtn: 8 | 2 | 2 mtn: bytes in | bytes out | revs in | revs out | revs written mtn: 615 | 2822 | 0 | 1 | 0 -mtn: successful exchange with jim-laptop.juicebot.co.jp +mtn: successful exchange with mtn://jim-laptop.juicebot.co.jp @end group @end smallexample @@ -1958,12 +1955,9 @@ @section Making Changes @smallexample @group -$ mtn --db=:beth sync jim-laptop.juicebot.co.jp "jp.co.juicebot.jb7*" -mtn: setting default server to jim-laptop.juicebot.co.jp -mtn: setting default branch include pattern to 'jp.co.juicebot.jb7*' -mtn: setting default branch exclude pattern to '' -mtn: connecting to jim-laptop.juicebot.co.jp -mtn: first time connecting to server jim-laptop.juicebot.co.jp:4691 +$ mtn --db=:beth sync "mtn://jim-laptop.juicebot.co.jp?jp.co.juicebot.jb7*" +mtn: connecting to mtn://jim-laptop.juicebot.co.jp +mtn: first time connecting to server mtn://jim-laptop.juicebot.co.jp mtn: I'll assume it's really them, but you might want to double-check mtn: their key's fingerprint: 9e9e9ef1d515ad58bfaa5cf282b4a872d8fda00c mtn: warning: saving public key for jim@@juicebot.co.jp to database @@ -1973,7 +1967,7 @@ @section Making Changes mtn: verifying new revisions (this may take a while) mtn: bytes in | bytes out | revs in | revs out | revs written mtn: 4601 | 1285 | 2 | 0 | 2 -mtn: successful exchange with jim-laptop.juicebot.co.jp +mtn: successful exchange with mtn://jim-laptop.juicebot.co.jp @end group @end smallexample @@ -2039,13 +2033,13 @@ @section Making Changes @smallexample @group $ mtn sync -mtn: connecting to jim-laptop.juicebot.co.jp +mtn: connecting to mtn://jim-laptop.juicebot.co.jp mtn: finding items to synchronize: mtn: certs | keys | revisions mtn: 12 | 3 | 3 mtn: bytes in | bytes out | revs in | revs out | revs written mtn: 709 | 2879 | 0 | 1 | 0 -mtn: successful exchange with jim-laptop.juicebot.co.jp +mtn: successful exchange with mtn://jim-laptop.juicebot.co.jp @end group @end smallexample @@ -4502,7 +4496,7 @@ @heading Checking Out a Tree @tab @smallexample @group -$ mtn pull www.foo.com com.foo.wobbler* +$ mtn pull "mtn://www.foo.com?com.foo.wobbler*" $ mtn checkout --revision=fe37 wobbler @end group @end smallexample @@ -4535,7 +4529,7 @@ @heading Committing Changes @smallexample @group $ mtn commit --message="log message" -$ mtn push www.foo.com com.foo.wobbler* +$ mtn push "mtn://www.foo.com?com.foo.wobbler*" @end group @end smallexample @end multitable @@ -4590,7 +4584,7 @@ @heading Incorporating New Changes @tab @smallexample @group -$ mtn pull www.foo.com com.foo.wobbler* +$ mtn pull "mtn://www.foo.com?com.foo.wobbler*" $ mtn merge $ mtn update @end group @@ -5654,19 +5648,49 @@ @section Network authentication and authorization facilities. The @var{uri-or-address} arguments given to @command{push}, address@hidden, and @command{sync} can be of two possible forms. If -the argument is a URI, a Lua hook may transform the URI into a -connection command, and execute the command as a transport channel for -netsync. If the argument is a simple hostname (with optional port -number), monotone will use a TCP socket to the specified host and port -as a transport channel for netsync. address@hidden, and @command{sync} can be of two possible forms. -The @var{glob} parameters indicate a set of branches to exchange. -Multiple @var{glob} and @option{--exclude} options can be specified; -every branch which matches a @var{glob} exactly, and does not match an address@hidden, will be indexed and made available for -synchronization. +If the argument is an URI, the Lua hook @code{get_netsync_connect_command} +may transform it into a connection command, which is later executed as +transport channel for netsync. The URI itself consists of a connection +scheme (defaults to @code{mtn}), an optional user (only used for address@hidden transports), a host with an optional port (which both +might be optional as well, f.e. for the @code{file} scheme), a path and +a query part, which denotes one or more branches and optionally also exclude +patterns for the exchange: address@hidden address@hidden +://[[@@][:]][/][?[,-[...]]] address@hidden group address@hidden smallexample + +Valid examples of URIs monotone accepts are: + address@hidden address@hidden +mtn://my.server:4690?my.branch +mtn://my.server/project?my.other.branch*,-my.other.branch.test +file:///path/to/database.mtn?my.branch +ssh://joe@@my.server/~/db.mtn?joes.branch address@hidden group address@hidden smallexample + +If the server has a multi-host setup, the path component of the URI +might be used to distinguish between different databases (please ask the +provider of the setup for details). + +If the argument is a simple hostname (with optional port number), monotone +will fall back to the @code{mtn} URI scheme, i.e. use a TCP socket to the +specified host and port. The @var{glob} parameters then indicate a set of +branches to exchange. Multiple @var{glob} and @option{--exclude} options +can be specified. @strong{Important notice:} This call syntax is deprecated +and subject of removal in future versions of monotone! + +For both syntaxes, every branch which matches a @var{glob} or branch pattern +exactly, and does not match an @var{exclude-glob} or exclude pattern, will be +indexed and made available for synchronization. + For example, perhaps Bob and Alice wish to synchronize their @code{net.venge.monotone.win32} and @code{net.venge.monotone.i18n} branches. Supposing Alice's computer has hostname @@ -5682,7 +5706,7 @@ @section Network @smallexample @group -$ mtn sync alice.someisp.com "net.venge.monotone*" +$ mtn sync "mtn://alice.someisp.com?net.venge.monotone*" @end group @end smallexample @@ -8391,7 +8415,7 @@ @section Automation @verbatim 0:p:62:doing anonymous pull; use -kKEYNAME if you need authentication -0:p:25:connecting to monotone.ca0:0:p:29:finding items to synchronize: +0:p:31:connecting to mtn://monotone.ca0:0:p:29:finding items to synchronize: 0:t:34:c:certificates;k:keys;r:revisions; 0:t:12:c=0;k=0;r=0; 0:t:13:c#0;k#0;r#64; @@ -8409,7 +8433,7 @@ @section Automation 0:t:24:>#20839;<#14882;c#6;r#2; 0:t:24:>#20863;<#14930;c#8;r#2; 0:t:8:<;>;c;r; -0:p:36:successful exchange with monotone.ca +0:p:36:successful exchange with mtn://monotone.ca 0:l:1:0 @end verbatim