GNU Info

Info Node: (tramp)Back-end Versions

(tramp)Back-end Versions


Prev: Remote File Ownership Up: Miscellaneous Version Control
Enter node , (file) or (file)node

How VC determines what release your RCS is
------------------------------------------

VC needs to know what release your revision control binaries you are
running as not all features VC supports are available with older
versions of `rcs(1)', `cvs(1)' or `sccs(1)'.

   The default implementation of VC determines this value the first
time it is needed and then stores the value globally to avoid the
overhead of executing a process and parsing its output each time the
information is needed.

   Unfortunately, life is not quite so easy when remote version control
comes into the picture. Each remote machine may have a different version
of the version control tools and, while this is painful, we need to
ensure that unavailable features are not used remotely.

   To resolve this issue, TRAMP currently takes the sledgehammer
approach of making the release values of the revision control tools
local to each TRAMP buffer, forcing VC to determine these values again
each time a new file is visited.

   This has, quite obviously, some performance implications. Thankfully,
most of the common operations performed by VC do not actually require
that the remote version be known. This makes the problem far less
apparent.

   Eventually these values will be captured by TRAMP on a system by
system basis and the results cached to improve performance.


automatically generated by info2www version 1.2.2.9