aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2009-01-21 18:54:45 +0000
committerMichael Albinus2009-01-21 18:54:45 +0000
commit193e68284e7ba177fdfe991cf22aceb23a6ebe91 (patch)
treec63eb3d5d83a04277261497d3b1b940a27d8df48
parent6049d3a0bb10b1439f6d02198aebaa5215403a65 (diff)
downloademacs-193e68284e7ba177fdfe991cf22aceb23a6ebe91.tar.gz
emacs-193e68284e7ba177fdfe991cf22aceb23a6ebe91.zip
* tramp.texi (all): Harmonize usage of "external method",
"external transfer method" and "out-of-band method". (Connection types): Precise the differences of inline and external methods. Written by Adrian Phillips <a.phillips@met.no>.
-rw-r--r--doc/misc/ChangeLog7
-rw-r--r--doc/misc/tramp.texi107
2 files changed, 55 insertions, 59 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 5533d73b176..4ae8ec88213 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,10 @@
12009-01-21 Michael Albinus <michael.albinus@gmx.de>
2
3 * tramp.texi (all): Harmonize usage of "external method",
4 "external transfer method" and "out-of-band method".
5 (Connection types): Precise the differences of inline and external
6 methods. Written by Adrian Phillips <a.phillips@met.no>.
7
12009-01-19 Reiner Steib <Reiner.Steib@gmx.de> 82009-01-19 Reiner Steib <Reiner.Steib@gmx.de>
2 9
3 * gnus.texi (Limiting): `/ N' and `/ o' are not really limiting 10 * gnus.texi (Limiting): `/ N' and `/ o' are not really limiting
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 894760d562b..23a974906dc 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -187,7 +187,7 @@ Configuring @value{tramp} for use
187 187
188* Connection types:: Types of connections made to remote machines. 188* Connection types:: Types of connections made to remote machines.
189* Inline methods:: Inline methods. 189* Inline methods:: Inline methods.
190* External transfer methods:: External transfer methods. 190* External methods:: External methods.
191@ifset emacsgw 191@ifset emacsgw
192* Gateway methods:: Gateway methods. 192* Gateway methods:: Gateway methods.
193@end ifset 193@end ifset
@@ -365,7 +365,8 @@ For inline transfers, @value{tramp} issues a command like @samp{mimencode -b
365buffer that's used for communication, then decodes that output to 365buffer that's used for communication, then decodes that output to
366produce the file contents. 366produce the file contents.
367 367
368For out-of-band transfers, @value{tramp} issues a command like the following: 368For external transfers, @value{tramp} issues a command like the
369following:
369@example 370@example
370rcp user@@host:/path/to/remote/file /tmp/tramp.4711 371rcp user@@host:/path/to/remote/file /tmp/tramp.4711
371@end example 372@end example
@@ -378,9 +379,9 @@ behind the scenes. (Unless you have read this section, that is.) When
378you are finished, you type @kbd{C-x C-s} to save the buffer. 379you are finished, you type @kbd{C-x C-s} to save the buffer.
379 380
380@item 381@item
381Again, @value{tramp} transfers the file contents to the remote host either 382Again, @value{tramp} transfers the file contents to the remote host
382inline or out-of-band. This is the reverse of what happens when reading 383either inline or external. This is the reverse of what happens when
383the file. 384reading the file.
384@end itemize 385@end itemize
385 386
386I hope this has provided you with a basic overview of what happens 387I hope this has provided you with a basic overview of what happens
@@ -512,7 +513,7 @@ Method}.
512@menu 513@menu
513* Connection types:: Types of connections made to remote machines. 514* Connection types:: Types of connections made to remote machines.
514* Inline methods:: Inline methods. 515* Inline methods:: Inline methods.
515* External transfer methods:: External transfer methods. 516* External methods:: External methods.
516@ifset emacsgw 517@ifset emacsgw
517* Gateway methods:: Gateway methods. 518* Gateway methods:: Gateway methods.
518@end ifset 519@end ifset
@@ -549,34 +550,28 @@ the local machine. It is only when visiting files that the methods
549differ. 550differ.
550 551
551@cindex inline methods 552@cindex inline methods
552@cindex external transfer methods
553@cindex external methods 553@cindex external methods
554@cindex out-of-band methods
555@cindex methods, inline 554@cindex methods, inline
556@cindex methods, external transfer 555@cindex methods, external
557@cindex methods, out-of-band
558Loading or saving a remote file requires that the content of the file 556Loading or saving a remote file requires that the content of the file
559be transfered between the two machines. The content of the file can be 557be transfered between the two machines. The content of the file can
560transfered over the same connection used to log in to the remote 558be transfered using one of two methods: the @dfn{inline method} over
561machine or the file can be transfered through another connection using 559the same connection used to log in to the remote machine, or the
562a remote copy program such as @command{rcp}, @command{scp} or 560@dfn{external method} through another connection using a remote copy
563@command{rsync}. The former are called @dfn{inline methods}, the 561program such as @command{rcp}, @command{scp} or @command{rsync}.
564latter are called @dfn{out-of-band methods} or @dfn{external transfer 562
565methods} (@dfn{external methods} for short). 563The performance of the external methods is generally better than that
566 564of the inline methods, at least for large files. This is caused by
567The performance of the external transfer methods is generally better 565the need to encode and decode the data when transferring inline.
568than that of the inline methods, at least for large files. This is
569caused by the need to encode and decode the data when transferring
570inline.
571 566
572The one exception to this rule are the @command{scp} based transfer 567The one exception to this rule are the @command{scp} based transfer
573methods. While these methods do see better performance when actually 568methods. While these methods do see better performance when actually
574transferring files, the overhead of the cryptographic negotiation at 569transferring files, the overhead of the cryptographic negotiation at
575startup may drown out the improvement in file transfer times. 570startup may drown out the improvement in file transfer times.
576 571
577External transfer methods should be configured such a way that they 572External methods should be configured such a way that they don't
578don't require a password (with @command{ssh-agent}, or such alike). 573require a password (with @command{ssh-agent}, or such alike). Modern
579Modern @command{scp} implementations offer options to reuse existing 574@command{scp} implementations offer options to reuse existing
580@command{ssh} connections, see method @command{scpc}. If it isn't 575@command{ssh} connections, see method @command{scpc}. If it isn't
581possible, you should consider @ref{Password handling}, otherwise you 576possible, you should consider @ref{Password handling}, otherwise you
582will be prompted for a password every copy action. 577will be prompted for a password every copy action.
@@ -771,24 +766,22 @@ maybe somebody can improve the performance.
771@end table 766@end table
772 767
773 768
774@node External transfer methods 769@node External methods
775@section External transfer methods 770@section External methods
776@cindex methods, external transfer 771@cindex methods, external
777@cindex methods, out-of-band 772@cindex external methods
778@cindex external transfer methods
779@cindex out-of-band methods
780 773
781The external transfer methods operate through multiple channels, using 774The external methods operate through multiple channels, using the
782the remote shell connection for many actions while delegating file 775remote shell connection for many actions while delegating file
783transfers to an external transfer utility. 776transfers to an external transfer utility.
784 777
785This saves the overhead of encoding and decoding that multiplexing the 778This saves the overhead of encoding and decoding that multiplexing the
786transfer through the one connection has with the inline methods. 779transfer through the one connection has with the inline methods.
787 780
788Since external transfer methods need their own overhead opening a new 781Since external methods need their own overhead opening a new channel,
789channel, all files which are smaller than @var{tramp-copy-size-limit} 782all files which are smaller than @var{tramp-copy-size-limit} are still
790are still transferred with the corresponding inline method. It should 783transferred with the corresponding inline method. It should provide a
791provide a fair trade-off between both approaches. 784fair trade-off between both approaches.
792 785
793@table @asis 786@table @asis
794@item @option{rcp} --- @command{rsh} and @command{rcp} 787@item @option{rcp} --- @command{rsh} and @command{rcp}
@@ -1127,11 +1120,11 @@ the machine @samp{localhost}.
1127See the documentation for the variable 1120See the documentation for the variable
1128@code{tramp-default-method-alist} for more details. 1121@code{tramp-default-method-alist} for more details.
1129 1122
1130External transfer methods are normally preferable to inline transfer 1123External methods are normally preferable to inline methods, giving
1131methods, giving better performance. 1124better performance.
1132 1125
1133@xref{Inline methods}. 1126@xref{Inline methods}.
1134@xref{External transfer methods}. 1127@xref{External methods}.
1135 1128
1136Another consideration with the selection of transfer methods is the 1129Another consideration with the selection of transfer methods is the
1137environment you will use them in and, especially when used over the 1130environment you will use them in and, especially when used over the
@@ -1159,9 +1152,9 @@ maximum freedom instead. However, the reality is that some users would
1159like to have some guidance, so here I'll try to give you this guidance 1152like to have some guidance, so here I'll try to give you this guidance
1160without bossing you around. You tell me whether it works @dots{} 1153without bossing you around. You tell me whether it works @dots{}
1161 1154
1162My suggestion is to use an inline method. For large files, out-of-band 1155My suggestion is to use an inline method. For large files, external
1163methods might be more efficient, but I guess that most people will want 1156methods might be more efficient, but I guess that most people will
1164to edit mostly small files. 1157want to edit mostly small files.
1165 1158
1166I guess that these days, most people can access a remote machine by 1159I guess that these days, most people can access a remote machine by
1167using @command{ssh}. So I suggest that you use the @option{ssh} 1160using @command{ssh}. So I suggest that you use the @option{ssh}
@@ -1182,10 +1175,10 @@ shortened syntax for the @samp{root} account, like
1182 1175
1183People who edit large files may want to consider @option{scpc} instead 1176People who edit large files may want to consider @option{scpc} instead
1184of @option{ssh}, or @option{pscp} instead of @option{plink}. These 1177of @option{ssh}, or @option{pscp} instead of @option{plink}. These
1185out-of-band methods are faster than inline methods for large files. 1178external methods are faster than inline methods for large files.
1186Note, however, that out-of-band methods suffer from some limitations. 1179Note, however, that external methods suffer from some limitations.
1187Please try first whether you really get a noticeable speed advantage 1180Please try first whether you really get a noticeable speed advantage
1188from using an out-of-band method! Maybe even for large files, inline 1181from using an external method! Maybe even for large files, inline
1189methods are fast enough. 1182methods are fast enough.
1190 1183
1191 1184
@@ -1556,8 +1549,8 @@ machine melancholia port scp login daniel password geheim
1556@end example 1549@end example
1557 1550
1558The port can be any @value{tramp} method (@pxref{Inline methods}, 1551The port can be any @value{tramp} method (@pxref{Inline methods},
1559@pxref{External transfer methods}), to match only this method. When 1552@pxref{External methods}), to match only this method. When you omit
1560you omit the port, you match all @value{tramp} methods. 1553the port, you match all @value{tramp} methods.
1561 1554
1562 1555
1563@anchor{password-cache} 1556@anchor{password-cache}
@@ -1646,7 +1639,7 @@ function, including @command{ls}, @command{test}, @command{find} and
1646 1639
1647In addition to these required tools, there are various tools that may be 1640In addition to these required tools, there are various tools that may be
1648required based on the connection method. See @ref{Inline methods} and 1641required based on the connection method. See @ref{Inline methods} and
1649@ref{External transfer methods} for details on these. 1642@ref{External methods} for details on these.
1650 1643
1651Certain other tools, such as @command{perl} (or @command{perl5}) and 1644Certain other tools, such as @command{perl} (or @command{perl5}) and
1652@command{grep} will be used if they can be found. When they are 1645@command{grep} will be used if they can be found. When they are
@@ -2162,8 +2155,8 @@ connecting to @code{melancholia} as @code{daniel} and editing
2162@file{@trampfn{, daniel, melancholia, .emacs}}. 2155@file{@trampfn{, daniel, melancholia, .emacs}}.
2163 2156
2164It is also possible to specify other file transfer methods 2157It is also possible to specify other file transfer methods
2165(@pxref{Inline methods}, @pxref{External transfer methods}) as part of 2158(@pxref{Inline methods}, @pxref{External methods}) as part of the
2166the filename. 2159filename.
2167@ifset emacs 2160@ifset emacs
2168This is done by putting the method before the user and host name, as 2161This is done by putting the method before the user and host name, as
2169in @file{@value{prefix}@var{method}@value{postfixhop}} (Note the 2162in @file{@value{prefix}@var{method}@value{postfixhop}} (Note the
@@ -2600,7 +2593,7 @@ host as well as the time needed to perform the operations there count.
2600In order to speed up @value{tramp}, one could either try to avoid some 2593In order to speed up @value{tramp}, one could either try to avoid some
2601of the operations, or one could try to improve their performance. 2594of the operations, or one could try to improve their performance.
2602 2595
2603Use an external transfer method, like @option{scpc}. 2596Use an external method, like @option{scpc}.
2604 2597
2605Use caching. This is already enabled by default. Information about 2598Use caching. This is already enabled by default. Information about
2606the remote host as well as the remote files are cached for reuse. The 2599the remote host as well as the remote files are cached for reuse. The
@@ -3507,13 +3500,9 @@ for @value{emacsothername}.
3507@c shells. 3500@c shells.
3508@c * Explain how tramp.el works in principle: open a shell on a remote 3501@c * Explain how tramp.el works in principle: open a shell on a remote
3509@c host and then send commands to it. 3502@c host and then send commands to it.
3510@c * Make terminology "inline" vs "out-of-band" consistent. 3503@c * Use `filename' resp. `file name' consistently.
3511@c It seems that "external" is also used instead of "out-of-band". 3504@c * Use `host' resp. `machine' consistently.
3512 3505@c * Consistent small or capitalized words especially in menues.
3513@c * M. Albinus
3514@c ** Use `filename' resp. `file name' consistently.
3515@c ** Use `host' resp. `machine' consistently.
3516@c ** Consistent small or capitalized words especially in menues.
3517 3506
3518@ignore 3507@ignore
3519 arch-tag: f96dd66e-6dd3-4c92-8d77-9c56205ba808 3508 arch-tag: f96dd66e-6dd3-4c92-8d77-9c56205ba808