#LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 370
+\lyxformat 374
\begin_document
\begin_header
\textclass scrbook
\end_local_layout
\language english
\inputencoding latin1
+\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\use_geometry false
\use_amsmath 0
\use_esint 0
+\use_mhchem 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperpagestyle headings
\tracking_changes false
\output_changes false
+\html_use_mathml true
+\html_be_strict true
\end_header
\begin_body
\end_inset
-
-\begin_inset Foot
-status collapsed
-
-\begin_layout Plain Layout
-On Windows,
+, (except on Windows, where
\emph on
local
\emph default
\end_inset
-.
-\end_layout
-
-\end_inset
-
- and have the names
+) and have the names
\begin_inset Quotes eld
\end_inset
\end_inset
wrapper accordingly.
- You are advised to select in
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Preferences\SpecialChar \menuseparator
-Paths
-\end_layout
-
-\end_inset
-
- a temporary directory whose name does not contain spaces, otherwise inverse
- search will fail.
\end_layout
\begin_layout Standard
is the previous wrapper.
If SumatraPDF.exe is not in your command PATH, use its full file name.
- Again, make sure that the LyX temporary directory name does not contain
- spaces, otherwise inverse search will fail.
\end_layout
\begin_layout Standard
status collapsed
\begin_layout Plain Layout
-lyxclient.exe
+lyxeditor.exe
\end_layout
\end_inset
- program.
+ program (which is installed by default on Cygwin along with the LyX executable).
Select
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-lyxclient.exe
+lyxeditor.exe
\end_layout
\end_inset
- and then specify the program arguments as as
+ and then specify the program arguments as
\begin_inset Flex CharStyle:Code
status collapsed
\emph on
lyxpipe
\emph default
-, select
+, omit the
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-bash.exe
+-g
\end_layout
\end_inset
- instead of
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxclient.exe
-\end_layout
-
-\end_inset
-
- and specify
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
--c 'lyxeditor.sh "%f" %l'
-\end_layout
-
-\end_inset
-
- as program arguments (here, don't forget the double quotes around
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-%f
-\end_layout
-
-\end_inset
-
- as they are essential), where
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxeditor.sh
-\end_layout
-
-\end_inset
-
- is the previously introduced shell script (make sure that
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxeditor.sh
-\end_layout
-
-\end_inset
-
- is in the bash command PATH, otherwise use its full posix name).
+ option and be sure to specify the LyXServer pipe path in the LyX preferences.
\end_layout
\begin_layout Standard
\begin_inset Newline newline
\end_inset
-SumatraPDF -inverse-search "lyxclient -g %f %l" $(basename $1)
+SumatraPDF -inverse-search "lyxeditor -g %f %l" $(basename $1)
\end_layout
\begin_layout Standard
-This is needed because SumatraPDF is a native Windows application and does
- not understand the posix paths used by the Cygwin version of LyX.
- If SumatraPDF is not in your command PATH, use its full posix path in the
- script above.
- Again, if you want to use the
-\emph on
-lyxpipe
-\emph default
- instead of the
-\emph on
-lyxsocket
-\emph default
-, replace
+This wrapper script is needed because SumatraPDF is a native Windows application
+ and does not understand the posix paths used by the Cygwin version of LyX.
+ If SumatraPDF.exe is not in your command PATH, use its full posix path in
+ the script above.
+ The
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-"lyxclient -g %f %l"
+-g
\end_layout
\end_inset
- with
+ enables communication via the
+\emph on
+lyxsocket
+\emph default
+.
+ Again, omit the
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-"bash -c 'lyxeditor.sh
-\backslash
-"%f
-\backslash
-" %l'"
+-g
\end_layout
\end_inset
-.
+ option if you want to use the
+\emph on
+lyxpipe
+\emph default
+, and be sure to specify the LyXServer pipe path in the LyX preferences.
\end_layout
\begin_layout Standard
submenu.
Please note that if you use password protected access to repository via
ssh, you will be asked in terminal window.
- LyX was tested against SVN 1.4 and 1.5.
+ LyX was tested against SVN 1.5 and 1.6
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Most of the commands will work with 1.4 too, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:SVN-Repo-Update"
+
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+
\end_layout
\begin_layout Subsubsection
\begin_layout Standard
SVN command that is run:
\family typewriter
-snv add -q
+svn add -q
\begin_inset Quotes eld
\end_inset
\end_layout
+\begin_layout Subsubsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:SVN-Repo-Update"
+
+\end_inset
+
+Update of the local directory checkout from repository
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Note that this command will work only with subversion
+\begin_inset Formula $\geqq1.5$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+All the commands above have one shortcomming - they deal with the current
+ document only.
+ Once your document contains pictures, includes external
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.tex
+\end_layout
+
+\end_inset
+
+ files and so on administration becomes more complicated.
+ LyX now supports updating the whole tree in which resides the document
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+One need to organize the files structure so that all external files are
+ in the same directory or subdirectories of the document.
+
+\end_layout
+
+\end_inset
+
+.
+ This become especially useful once you cooperate with people which neither
+ know about subversion management nor they have ambition to commit additional
+ material to the repository.
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Update local directory from repository
+\end_layout
+
+\end_inset
+
+ command updates the whole directory and in case of merge conflicts local
+ version of the files are left, so no unintended data loss occurs.
+ If local changes are detected user is warned before update starts.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+SVN
+\begin_inset space ~
+\end_inset
+
+commands:
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn diff $path
+\end_layout
+
+\end_inset
+
+ (Ask if changes are detected.)
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn update --accept mine-full $path
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+where
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+$path
+\end_layout
+
+\end_inset
+
+ stands for the path to the document.
+\end_layout
+
\begin_layout Subsubsection
\family sans
client program from a command prompt.
\end_layout
+\begin_layout Subsubsection
+SSH tunel used with SVN under Windows
+\end_layout
+
+\begin_layout Standard
+Compared to linux setting svn client to communicate over ssh under Windows
+ is rather troublesome task.
+ We will at least make some hints how to setup client side but former knowledge
+ about ssh and Windows command line is needed, also be prepared for a great
+ deal of frustration...
+\end_layout
+
+\begin_layout Enumerate
+Get svn client for windows, as described in previous sections.
+ When it is fresh install run some svn command (e.g.
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn --version
+\end_layout
+
+\end_inset
+
+) to have created config files, which you will need to change later on.
+\end_layout
+
+\begin_layout Enumerate
+Choose ssh client for Windows.
+ There are more possibilities, we will use the one from Putty tools
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+.
+ You will need to automatize connection, so client doesn't ask for any password
+ from you.
+ To keep things easy we will use only keys without any additional password
+ protection etc.
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Generate keys by
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+puttygen
+\end_layout
+
+\end_inset
+
+.
+ Save your private .ppk key file and put the public one on the server side.
+ In case the SVN server runs on linux, note that the format of the public
+ key is not compatible with linux openssh and you will need to direcly copy-past
+e the key from the “
+\begin_inset Flex CharStyle:Emph
+status collapsed
+
+\begin_layout Plain Layout
+Public key for pasting into OpenSSH authorized_keys file:
+\end_layout
+
+\end_inset
+
+” edit field into the server's
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+~/.ssh/authorized_keys
+\end_layout
+
+\end_inset
+
+/
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+authorized_keys2
+\end_layout
+
+\end_inset
+
+ file.
+\end_layout
+
+\begin_layout Enumerate
+Get the Putty's
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+plink
+\end_layout
+
+\end_inset
+
+.
+ In the SVN config file
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Exact path depends on Windows version, usually somewhere around
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+c:
+\backslash
+Documents and Settings
+\backslash
+user
+\backslash
+Application Data
+\backslash
+Subversion
+\backslash
+config
+\end_layout
+
+\end_inset
+
+ /
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+AppData
+\backslash
+Roaming
+\backslash
+Subversion
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+, section [tunnels], setup ssh command, e.g.
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+ssh=c:/path/plink.exe -i c:/path/private_key.ppk
+\end_layout
+
+\end_inset
+
+.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+It will usually take a lot of time to get exact command right and it depends
+ on many things.
+ For example do not have some remote server saved as a default session in
+ Putty etc.
+ If things fail, try to connect via plink without SVN first.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Checkout the SVN archive, e.g.
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn co svn+ssh://user@server/repository_path
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
\begin_layout Subsection
Further tuning
\end_layout