[svnbook commit] r2647 - trunk/src/ru/book
dmitriy
noreply at red-bean.com
Sun Feb 4 08:01:42 CST 2007
Author: dmitriy
Date: Sun Feb 4 08:01:41 2007
New Revision: 2647
Added:
trunk/src/ru/book/ch-basic-usage.xml (props changed)
- copied unchanged from r2644, /trunk/src/ru/book/ch-guided-tour.xml
trunk/src/ru/book/ch-fundamental-concepts.xml (contents, props changed)
- copied, changed from r2646, /trunk/src/ru/book/ch-basic-concepts.xml
Removed:
trunk/src/ru/book/ch-basic-concepts.xml
trunk/src/ru/book/ch-guided-tour.xml
Modified:
trunk/src/ru/book/book.xml (contents, props changed)
trunk/src/ru/book/ch-advanced-topics.xml (contents, props changed)
trunk/src/ru/book/ch-branching-and-merging.xml (contents, props changed)
trunk/src/ru/book/ch-customizing-svn.xml (contents, props changed)
Log:
Book Russian. Merge with changes from r2572 of the src/en/book. More detail in log for r2572.
Modified: trunk/src/ru/book/book.xml
==============================================================================
--- trunk/src/ru/book/book.xml (original)
+++ trunk/src/ru/book/book.xml Sun Feb 4 08:01:41 2007
@@ -5,8 +5,8 @@
%vers;
<!ENTITY foreword SYSTEM "foreword.xml">
<!ENTITY ch00 SYSTEM "ch-preface.xml">
-<!ENTITY ch01 SYSTEM "ch-basic-concepts.xml">
-<!ENTITY ch02 SYSTEM "ch-guided-tour.xml">
+<!ENTITY ch01 SYSTEM "ch-fundamental-concepts.xml">
+<!ENTITY ch02 SYSTEM "ch-basic-usage.xml">
<!ENTITY ch03 SYSTEM "ch-advanced-topics.xml">
<!ENTITY ch04 SYSTEM "ch-branching-and-merging.xml">
<!ENTITY ch05 SYSTEM "ch-repository-admin.xml">
Modified: trunk/src/ru/book/ch-advanced-topics.xml
==============================================================================
--- trunk/src/ru/book/ch-advanced-topics.xml (original)
+++ trunk/src/ru/book/ch-advanced-topics.xml Sun Feb 4 08:01:41 2007
@@ -78,1125 +78,6 @@
</simplesect>
- <sect1 id="svn.advanced.confarea">
- <!-- @ENGLISH {{{
- <title>Runtime Configuration Area</title>
-
- <para>Subversion provides many optional behaviors that can be
- controlled by the user. Many of these options are of the kind
- that a user would wish to apply to all Subversion operations.
- So, rather than forcing users to remember command-line arguments
- for specifying these options, and to use them for each and every
- operation they perform, Subversion uses configuration files,
- segregated into a Subversion configuration area.</para>
-
- <para>The Subversion <firstterm>configuration area</firstterm> is
- a two-tiered hierarchy of option names and their values.
- Usually, this boils down to a special directory that contains
- <firstterm>configuration files</firstterm> (the first tier),
- which are just text files in standard INI format (with
- <quote>sections</quote> providing the second tier). These files
- can be easily edited using your favorite text editor (such as
- Emacs or vi), and contain directives read by the client to
- determine which of several optional behaviors the user
- prefers.</para>
- @ENGLISH }}} -->
- <title>Параметры времени выполнения</title>
-
- <para>Subversion имеет множество контролируемых пользователем
- опциональных параметров поведения. Возможно пользователь
- хотел бы применять некоторые из этих параметров во всех
- операциях Subversion. Поэтому для того, что бы не заставлять
- пользователей помнить ключи командной строки используемые для
- указания этих параметров и не указывать их при всех выполняемых
- операциях, Subversion использует конфигурационные файлы, выделенные
- в область конфигурации Subversion.</para>
-
- <para><firstterm>Область конфигурации</firstterm> Subversion
- имеет двухуровневую иерархию имен параметров и их значений.
- Как правило, она сводится к отдельной директории, содержащей
- <firstterm>конфигурационные файлы</firstterm> (первый уровень)
- являющиеся простыми текстовыми файлами в стандартном INI формате
- (с <quote>разделами</quote>, обеспечивающими второй уровень).
- Эти файлы содержат директивы используемые клиентом для определения
- поведения клиента предпочитаемого пользователем, и могут быть легко
- отредактированы используя ваш любимый редактор (например, Emacs
- или vi).</para>
-
- <!-- =============================================================== -->
- <sect2 id="svn.advanced.confarea.layout">
- <!-- @ENGLISH {{{
- <title>Configuration Area Layout</title>
-
- <para>The first time that the <command>svn</command>
- command-line client is executed, it creates a per-user
- configuration area. On Unix-like systems, this area appears
- as a directory named <filename>.subversion</filename> in the
- user's home directory. On Win32 systems, Subversion creates a
- folder named <filename>Subversion</filename>, typically inside
- the <filename>Application Data</filename> area of the user's
- profile directory (which, by the way, is usually a hidden
- directory). However, on this platform the exact location
- differs from system to system, and is dictated by the Windows
- registry.
- <footnote>
- <para>The <literal>APPDATA</literal> environment variable
- points to the <filename>Application Data</filename> area,
- so you can always refer to this folder as
- <filename>%APPDATA%\Subversion</filename>.</para>
- </footnote>
- We will refer to the per-user configuration area using its Unix
- name, <filename>.subversion</filename>.</para>
- @ENGLISH }}} -->
- <title>Структура области конфигурации</title>
-
- <para>Во время первого запуска клиент для командной строки
- <command>svn</command> создает отдельную для каждого пользователя
- область конфигурации. На Unix-подобных системах эта директория
- называется <filename>.subversion</filename> и находиться в домашней
- директории пользователя. На Win32 системах Subversion создает
- папку с именем <filename>Subversion</filename> в области
- <filename>Application Data</filename> директории с профилем
- пользователя (которая, кстати говоря, обычно является скрытой
- директорией). Однако на этой платформе точное местоположение
- отличается от системы к системе и указывается в реестре
- Windows. <footnote><para>Переменная среды окружения
- <literal>APPDATA</literal> указывает на папку <filename>Application
- Data</filename> поэтому к этой директории можно всегда обращаться
- как к <filename>%APPDATA%\Subversion</filename>.</para></footnote>
- При обращении к пользовательской области конфигурации мы будем
- использовать ее Unix-название.</para>
-
- <!-- @ENGLISH {{{
- <para>In addition to the per-user configuration area, Subversion
- also recognizes the existence of a system-wide configuration
- area. This gives system administrators the ability to
- establish defaults for all users on a given machine. Note
- that the system-wide configuration area does not alone dictate
- mandatory policy—the settings in the per-user
- configuration area override those in the system-wide one, and
- command-line arguments supplied to the <command>svn</command>
- program have the final word on behavior. On Unix-like
- platforms, the system-wide configuration area is
- expected to be the <filename>/etc/subversion</filename>
- directory; on Windows machines, it looks for a
- <filename>Subversion</filename> directory inside the common
- <filename>Application Data</filename> location (again, as
- specified by the Windows Registry). Unlike the per-user
- case, the <command>svn</command> program does not attempt
- to create the system-wide configuration area.</para>
- @ENGLISH }}} -->
- <para>В дополнение к пользовательской области конфигурации,
- Subversion использует общесистемную область конфигурации. Это
- дает возможность системным администраторам устанавливать
- параметры по умолчанию для всех пользователей отдельно взятой
- машины. Помните, что системная область конфигурации не
- устанавливает безоговорочные правила — параметры, заданные
- пользовательской конфигурацией переопределяют системные параметры,
- а аргументы командной строки, передаваемые программе
- <command>svn</command>, имеют последнее слово. На Unix-подобных
- платформах ожидаемым местоположением системной области конфигурации
- является директория <filename>/etc/subversion</filename>; на
- Windows машинах ищется директория <filename>Subversion</filename>
- внутри общесистемной области <filename>Application Data</filename>
- (также определяемой реестром). В отличие от пользовательской,
- системную область конфигурации <command>svn</command> не
- создает.</para>
-
- <!-- @ENGLISH {{{
- <para>The configuration area currently contains three
- files—two configuration files (<filename>config</filename> and
- <filename>servers</filename>), and a <filename>README.txt</filename>
- file which describes the INI format. At the time of their
- creation, the files contain default values for each of the
- supported Subversion options, mostly commented out and grouped
- with textual descriptions about how the values for the key
- affect Subversion's behavior. To change a certain behavior,
- you need only to load the appropriate configuration file into
- a text editor, and modify the desired option's value. If at
- any time you wish to have the default configuration settings
- restored, you can simply remove (or rename) your configuration
- directory and then run some innocuous <command>svn</command>
- command, such as <command>svn -ﳢ-version</command>. A new
- configuration directory with the default contents will be
- created.</para>
-
- <para>The per-user configuration area also contains a cache of
- authentication data. The <filename>auth</filename> directory
- holds a set of subdirectories that contain pieces of cached
- information used by Subversion's various supported
- authentication methods. This directory is created in such a
- way that only the user herself has permission to read its
- contents.</para>
- @ENGLISH }}} -->
- <para>На сегодняшний момент область конфигурации содержит три
- файла — два файла конфигурации (<filename>config</filename>
- и <filename>servers</filename>) и <filename>README.txt</filename>,
- который содержит описание INI формата. После их создания, эти файлы
- содержат значения по умолчанию для всех, поддерживаемых Subversion
- параметров, обычно закомментированных и объединенных с текстовым
- описанием значений ключей, влияющих на поведение Subversion.
- Для того, что бы изменить отдельный параметр все, что нужно, просто
- загрузить соответствующий файл в текстовый редактор и изменить
- значение нужного параметра. Если в какой-то момент вы захотите
- восстановить параметры по умолчанию, необходимо просто удалить
- (или переименовать) директорию с конфигурацией, после чего
- выполнить какую-то безобидную команду <command>svn</command>,
- например, <command>svn --version</command>. В результате будет
- создана новая директория с конфигурацией и содержимым по
- умолчанию.</para>
-
- <para>Кроме того, пользовательская область конфигурации содержит
- кеш идентификационной информации. Директория <filename>auth</filename>
- объединяет набор поддиректорий, содержащих кешированну информацию,
- используемую в различных, поддерживаемых Subversion методах
- авторизации. Эта директория создается так, что бы только сам
- пользователь имел право просматривать ее содержимое.</para>
-
- </sect2>
-
- <!-- =============================================================== -->
- <sect2 id="svn.advanced.confarea.windows-registry">
- <!-- @ENGLISH {{{
- <title>Configuration and the Windows Registry</title>
-
- <para>In addition to the usual INI-based configuration area,
- Subversion clients running on Windows platforms may also use
- the Windows registry to hold the configuration data. The
- option names and their values are the same as in the INI
- files. The <quote>file/section</quote> hierarchy is
- preserved as well, though addressed in a slightly different
- fashion—in this schema, files and sections are just
- levels in the registry key tree.</para>
-
- <para>Subversion looks for system-wide configuration values
- under the
- <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion</literal>
- key. For example, the <literal>global-ignores</literal> option,
- which is in the <literal>miscellany</literal> section of the
- <filename>config</filename> file, would be found at
- <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores</literal>.
- Per-user configuration values should be stored under
- <literal>HKEY_CURRENT_USER\Software\Tigris.org\Subversion</literal>.
- </para>
- @ENGLISH }}} -->
- <title>Конфигурация и реестр Windows</title>
-
- <para>В дополнение к обычным INI-настройкам, Subversion-клиент,
- работающий на платформе Windows, может использовать для
- хранения настроек Windows-реестр. Имена параметров и их значения
- точно такие же, как и в INI-файлах. Иерархия <quote>файлов</quote>
- сохраняется, только немного меняется способ адресации —
- файлы и разделы просто заменяются уровнями в дереве ключей
- реестра.</para>
-
- <para>За общесистемными настройками Subversion обращается к ключу
- <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion</literal>
- Например, параметр <literal>global-ignores</literal>, находящийся в
- разделе <literal>miscellany</literal> файла
- <filename>config</filename> будет находиться в <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores</literal>. Пользовательские настройки хранятся в ключе
- <literal>HKEY_CURRENT_USER\Software\Tigris.org\Subversion</literal>.
- </para>
-
- <!-- @ENGLISH {{{
- <para>Registry-based configuration options are parsed
- <emphasis>before</emphasis> their file-based counterparts,
- so are overridden by values found in the configuration
- files. In other words, configuration priority is granted in
- the following order on a Windows system:</para>
-
- <orderedlist>
- <listitem>
- <para>Command-line options</para>
- </listitem>
- <listitem>
- <para>The per-user INI files</para>
- </listitem>
- <listitem>
- <para>The per-user Registry values</para>
- </listitem>
- <listitem>
- <para>The system-wide INI files</para>
- </listitem>
- <listitem>
- <para>The system-wide Registry values</para>
- </listitem>
- </orderedlist>
- @ENGLISH }}} -->
- <para>Параметры конфигурации, указанные в реестре обрабатываются
- <emphasis>до</emphasis> эквивалентных параметров в файлах
- конфигурации, поэтому они заменяются значениями, найденными,
- в файлах конфигурации. Другими словами, на Windows-системе
- приоритеты расположены в следующем порядке:</para>
-
- <orderedlist>
- <listitem>
- <para>Параметры командной строки</para>
- </listitem>
- <listitem>
- <para>Пользовательские INI-файлы</para>
- </listitem>
- <listitem>
- <para>Параметры в реестре</para>
- </listitem>
- <listitem>
- <para>Системные INI-файлы</para>
- </listitem>
- <listitem>
- <para>Общесистемные параметры в реестре</para>
- </listitem>
- </orderedlist>
-
- <!-- @ENGLISH {{{
- <para>Also, the Windows Registry doesn't really support the
- notion of something being <quote>commented out</quote>.
- However, Subversion will ignore any option key whose name
- begins with a hash (<literal>#</literal>) character. This
- allows you to effectively comment out a Subversion option
- without deleting the entire key from the Registry, obviously
- simplifying the process of restoring that option.</para>
-
- <para>The <command>svn</command> command-line client never
- attempts to write to the Windows Registry, and will not
- attempt to create a default configuration area there. You can
- create the keys you need using the <command>REGEDIT</command>
- program. Alternatively, you can create a
- <filename>.reg</filename> file, and then double-click on that
- file from the Explorer shell, which will cause the data to be
- merged into your registry.</para>
-
- <example id="svn.advanced.confarea.windows-registry.ex-1">
- <title>Sample Registration Entries (.reg) File.</title>
- @ENGLISH }}} -->
- <para>Кроме того, реестр Windows не поддерживает механизма
- <quote>комментирования</quote>. Тем не менее, Subversion
- игнорирует параметры, у которых имена начинаются с
- символа <quote>решетка</quote> (<literal>#</literal>).
- Это позволяет закомментировать параметр, не удаляя ключ из
- реестра, что значительно упрощает процесс восстановления этого
- параметра.</para>
-
- <para>Клиент для командной строки <command>svn</command>
- никогда ничего не записывает и не создает первоначальные
- <quote>умолчательные</quote> параметры в реестре Windows.
- Нужные вам ключи вы можете создать используя программу
- <command>REGEDIT</command>. Либо, можно создать
- <filename>.reg</filename>-файл и двойным щелчком на этом файле
- в Explorer добавить информацию в реестр.</para>
-
- <example id="svn.advanced.confarea.windows-registry.ex-1">
- <title>Пример указания параметров в (.reg) файле реестра.</title>
-
- <programlisting>
-REGEDIT4
-
-[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\groups]
-
-[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global]
-"#http-proxy-host"=""
-"#http-proxy-port"=""
-"#http-proxy-username"=""
-"#http-proxy-password"=""
-"#http-proxy-exceptions"=""
-"#http-timeout"="0"
-"#http-compression"="yes"
-"#neon-debug-mask"=""
-"#ssl-authority-files"=""
-"#ssl-trust-default-ca"=""
-"#ssl-client-cert-file"=""
-"#ssl-client-cert-password"=""
-
-[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]
-"#store-auth-creds"="no"
-
-[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers]
-"#editor-cmd"="notepad"
-"#diff-cmd"=""
-"#diff3-cmd"=""
-"#diff3-has-program-arg"=""
-
-[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
-"#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store"
-"#log-encoding"=""
-"#use-commit-times"=""
-"#template-root"=""
-"#enable-auto-props"=""
-
-[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\tunnels]
-
-[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]
-</programlisting>
- </example>
-
- <!-- @ENGLISH {{{
- <para>The previous example shows the contents of a
- <filename>.reg</filename> file which contains some of the most
- commonly used configuration options and their default values.
- Note the presence of both system-wide (for network
- proxy-related options) and per-user settings (editor programs
- and password storage, among others). Also note that all the
- options are effectively commented out. You need only to
- remove the hash (<literal>#</literal>) character from the
- beginning of the option names, and set the values as you
- desire.</para>
- @ENGLISH }}} -->
- <para>В предыдущем примере показано содержимое
- <filename>.reg</filename>-файла, содержащего часто используемые
- параметры и их значения по умолчанию. Обратите внимание, что
- приведены как общесистемные (сетевые настройки, относящиеся к
- прокси-серверу) и пользовательские параметры (программы-редакторы
- и сохранение паролей, среди прочего). Так же обратите внимание,
- что все параметры закомментированы. Необходимо будет просто удалить
- символ <quote>решетка</quote> (<literal>#</literal>) и установить
- нужное значение.</para>
-
- </sect2>
-
- <!-- =============================================================== -->
- <sect2 id="svn.advanced.confarea.opts">
- <!-- @ENGLISH {{{
- <title>Configuration Options</title>
-
- <para>In this section, we will discuss the specific
- run-time configuration options that are currently supported
- by Subversion.</para>
- @ENGLISH }}} -->
- <title>Параметры конфигурации</title>
-
- <para>В этом разделе рассматриваются поддерживаемые
- Subversion параметры времени выполнения.</para>
-
- <sect3 id="svn.advanced.confarea.opts.servers">
- <title>Servers</title>
-
- <!-- @ENGLISH {{{
- <para>The <filename>servers</filename> file contains
- Subversion configuration options related to the network
- layers. There are two special section names in this
- file—<literal>groups</literal> and
- <literal>global</literal>. The <literal>groups</literal>
- section is essentially a cross-reference table. The keys in
- this section are the names of other sections in the file;
- their values are <firstterm>globs</firstterm>—textual
- tokens which possibly contain wildcard
- characters—that are compared against the hostnames of
- the machine to which Subversion requests are sent.</para>
- @ENGLISH }}} -->
- <para>В файле <filename>servers</filename> находятся настройки,
- относящиеся к работе Subversion через сеть. Он содержит
- два специальных раздела — <literal>groups</literal> и
- <literal>global</literal>. Раздел <literal>groups</literal>
- представляет собой просто перекрестную таблицу. Ключи этого
- раздела являются именами последующих разделов файла; значения
- ключей представляют собой <firstterm>обобщения</firstterm> —
- текстовые блоки, которые могут содержать подстановочные символы
- — сравниваемые с именами машин, к которым Subversion
- направляет запросы.</para>
-
- <programlisting>
-[groups]
-beanie-babies = *.red-bean.com
-collabnet = svn.collab.net
-
-[beanie-babies]
-…
-
-[collabnet]
-…
-</programlisting>
-
- <!-- @ENGLISH {{{
- <para>When Subversion is used over a network, it attempts to
- match the name of the server it is trying to reach with a
- group name under the <literal>groups</literal> section. If
- a match is made, Subversion then looks for a section in the
- <filename>servers</filename> file whose name is the matched
- group's name. From that section it reads the actual network
- configuration settings.</para>
-
- <para>The <literal>global</literal> section contains the
- settings that are meant for all of the servers not matched
- by one of the globs under the <literal>groups</literal>
- section. The options available in this section are
- exactly the same as those valid for the other server
- sections in the file (except, of course, the special
- <literal>groups</literal> section), and are as
- follows:</para>
- @ENGLISH }}} -->
- <para>При работе через сеть, Subversion ищет совпадения между
- именем сервера, с которым устанавливается связь и именем группы
- в разделе <literal>groups</literal>. Если найдено совпадение,
- Subversion обращается к файлу <filename>servers</filename>,
- к разделу с именем, совпадающим с именем группы. Из этого раздела
- берутся необходимые сетевые настройки.</para>
-
- <para>Раздел <literal>global</literal> содержит настройки,
- используемые для всех серверов, не подпадающих ни под одно
- обобщение раздела <literal>groups</literal>. Здесь указываются
- те-же, что и для остальных серверных разделов файла параметры
- (конечно, за исключением специального раздела
- <literal>groups</literal>), используемые параметры приведены
- ниже:</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>http-proxy-host</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the hostname of the proxy computer
- through which your HTTP-based Subversion requests must
- pass. It defaults to an empty value, which means that
- Subversion will not attempt to route HTTP requests
- through a proxy computer, and will instead attempt to
- contact the destination machine directly.</para>
- @ENGLISH }}} -->
- <para>Указывает имя компьютера-посредника, через который
- Subversion должна отправлять HTTP-запросы. По умолчанию,
- этот параметр имеет пустое значение, которое говорит
- Subversion о том, что она должна направлять HTTP-запросы
- не через компьютер-посредник, а связываться с целевой машиной
- напрямую.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>http-proxy-port</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the port number on the proxy host
- to use. It defaults to an empty value.</para>
- @ENGLISH }}} -->
- <para>Указывает номер используемого порта на промежуточном
- компьютере. По умолчанию имеет пустое значение.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>http-proxy-username</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the username to supply to the proxy
- machine. It defaults to an empty value.</para>
- @ENGLISH }}} -->
- <para>Указывает имя пользователя, передаваемого
- компьютеру-посреднику. По умолчанию имеет пустое
- значение.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>http-proxy-password</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the password to supply to the proxy
- machine. It defaults to an empty value.</para>
- @ENGLISH }}} -->
- <para>Указывает пароль, передаваемый
- компьютеру-посреднику. По умолчанию имеет пустое
- значение.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>http-timeout</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the amount of time, in seconds, to
- wait for a server response. If you experience
- problems with a slow network connection causing
- Subversion operations to timeout, you should increase
- the value of this option. The default value is
- <literal>0</literal>, which instructs the underlying
- HTTP library, Neon, to use its default timeout
- setting.</para>
- @ENGLISH }}} -->
- <para>Указывает, в секундах, промежуток времени ожидания
- ответа сервера. Если при низкоскоростном сетевом соединении
- у вас возникает проблема превышения времени ожидания,
- следует увеличить это значение. Значение по умолчанию
- <literal>0</literal> означает для низлежащей HTTP библиотеки,
- Neon, использовать свое собственное значение времени
- ожидания.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>http-compression</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies whether or not Subversion should
- attempt to compress network requests made to DAV-ready
- servers. The default value is <literal>yes</literal>
- (though compression will only occur if that capability
- is compiled into the network layer). Set this to
- <literal>no</literal> to disable compression, such as
- when debugging network transmissions.</para>
- @ENGLISH }}} -->
- <para>Указывает, должна или нет Subversion использовать
- сжатие сетевых запросов, выполняющихся к DAV-серверам.
- Значением по умолчанию является <literal>yes</literal>
- (однако выполняться сжатие будет только если такая
- возможность поддерживается сетевым слоем). Установите
- этот параметр в <literal>no</literal>, для отключения
- сжатия, например при отладке сетевых транзакций.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>neon-debug-mask</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This is an integer mask that the underlying HTTP
- library, Neon, uses for choosing what type of
- debugging output to yield. The default value is
- <literal>0</literal>, which will silence all debugging
- output. For more information about how Subversion
- makes use of Neon, see <xref linkend="svn.developer" />.</para>
- @ENGLISH }}} -->
- <para>Целочисленная маска, которая используется низлежащей
- HTTP-библиотекой, Neon, для определения типа выводимой
- отладочной информации. По умолчанию установлено значение
- <literal>0</literal>, скрывающие весь отладочный вывод.
- Подробнее о том как Subversion использует Neon читайте в
- разделе <xref linkend="svn.developer" />.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>ssl-authority-files</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This is a semicolon-delimited list of paths to files
- containing certificates of the certificate authorities
- (or CAs) that
- are accepted by the Subversion client when accessing the
- repository over HTTPS.</para>
- @ENGLISH }}} -->
- <para>Разделенный точкой с запятой перечень путей к файлам,
- содержащим сертификаты авторизации (или CAs), используемые
- Subversion-клиентом при обращении к хранилищу через
- HTTPS.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>ssl-trust-default-ca</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>Set this variable to <literal>yes</literal> if you
- want Subversion to automatically trust the set of
- default CAs that ship with OpenSSL.</para>
- @ENGLISH }}} -->
- <para>Установите значение этой переменной в
- <literal>yes</literal>, если хотите чтобы Subversion
- автоматически доверяла набору поставляемых вместе
- с OpenSSL сертификатов (CAs).</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>ssl-client-cert-file</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>If a host (or set of hosts) requires an SSL client
- certificate, you'll normally be prompted for a path to
- your certificate. By setting this variable to that
- same path, Subversion will be able to find your client
- certificate automatically without prompting you.
- There's no standard place to store your certificate on
- disk; Subversion will grab it from any path you
- specify.</para>
- @ENGLISH }}} -->
- <para>Если хост (или хосты) требуют SSL сертификат клиента,
- у вас будет запрошен путь к вашему сертификату. Установите
- значение этой переменной и Subversion сможет автоматически
- находить ваш сертификат, без запроса. Нет стандартного места
- для хранения сертификата на диске; Subversion будет
- использовать тот, который располагается по указанному вами
- пути.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>ssl-client-cert-password</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>If your SSL client certificate file is encrypted
- by a passphrase, Subversion will prompt you for the
- passphrase whenever the certificate is used. If you
- find this annoying (and don't mind storing the
- password in the <filename>servers</filename> file),
- then you can set this variable to the certificate's
- passphrase. You won't be prompted anymore.</para>
- @ENGLISH }}} -->
- <para>Если ваш клиентский SSL сертификат защищен паролем,
- при обращении к нему Subversion запросит у вас пароль.
- Если это вам надоедает (и вас не пугает хранить пароль
- в файле <filename>servers</filename>), можно присвоить
- значению этой переменной пароль сертификата. После этого
- пароль больше запрашиваться не будет.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect3>
- <sect3 id="svn.advanced.confarea.opts.config">
- <title>Config</title>
-
- <!-- @ENGLISH {{{
- <para>The <filename>config</filename> file contains the rest
- of the currently available Subversion run-time options,
- those not related to networking. There are only a few
- options in use at this time, but they are again grouped into
- sections in expectation of future additions.</para>
-
- <para>The <literal>auth</literal> section contains settings
- related to Subversion's authentication and authorization
- against the repository. It contains:</para>
- @ENGLISH }}} -->
- <para>Остальные доступные параметры времени выполнения Subversion,
- не относящиеся к сетевой работе, находятся в файле
- <filename>config</filename>. В данный момент существует всего
- несколько параметров, но они тоже сгруппированы в разделы,
- в расчете на их увеличение в будущем.</para>
-
- <para>Раздел <literal>auth</literal> содержит параметры, относящиеся
- к аутентификации и авторизации в хранилище. Он содержит:</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>store-passwords</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This instructs Subversion to cache, or not to
- cache, passwords that are supplied by the user in
- response to server authentication challenges. The
- default value is <literal>yes</literal>. Set this to
- <literal>no</literal> to disable this on-disk password
- caching. You can override this option for a single
- instance of the <command>svn</command> command using
- the <option>-ﳢ-no-auth-cache</option> command-line
- parameter (for those subcommands that support it).
- For more information, see <xref
- linkend="svn.serverconfig.netmodel.credcache"/>.</para>
- @ENGLISH }}} -->
- <para>Устанавливает, используется или не используется
- кеширование паролей, введенных пользователем в ответ на
- запрос при аутентификации на сервере. Значением по умолчанию
- является <literal>да</literal>. Для запрета кеширования
- паролей на диск установите этот параметр в
- <literal>нет</literal>. Для отдельного запуска
- <command>svn</command> этот параметр можно переопределить,
- используя параметр командной строки
- <option>--no-auth-cache</option> (для тех команд, которые его
- поддерживают). За более подробной информацией обратитесь к
- разделу <xref linkend="svn.serverconfig.netmodel.credcache"/>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>store-auth-creds</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This setting is the same as
- <literal>store-passwords</literal>, except that it
- enables or disables disk-caching of
- <emphasis>all</emphasis> authentication information:
- usernames, passwords, server certificates, and any
- other types of cacheable credentials.</para>
- @ENGLISH }}} -->
- <para>Этот параметр такой же как и
- <literal>store-passwords</literal>, за исключением того,
- что он разрешает или запрещает дисковое кеширование
- <emphasis>всей</emphasis> информации для аутентификации:
- имен пользователей, паролей, серверных сертификатов и всей
- другой кешируемой информации.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <!-- @ENGLISH {{{
- <para>The <literal>helpers</literal> section controls which
- external applications Subversion uses to accomplish its
- tasks. Valid options in this section are:</para>
- @ENGLISH }}} -->
- <para>Раздел <literal>helpers</literal> определяет, какие внешние
- приложения, при выполнении своих задач, будет использовать
- Subversion. Доступные параметры:</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>editor-cmd</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the program Subversion will use to
- query the user for a log message during a commit
- operation, such as when using <command>svn
- commit</command> without either the
- <option>-ﳢ-message</option> (<option>-m</option>) or
- <option>-ﳢ-file</option> (<option>-F</option>) options.
- This program is also used with the <command>svn
- propedit</command> command—a temporary file is
- populated with the current value of the property the
- user wishes to edit, and the edits take place right
- in the editor program (see <xref
- linkend="svn.advanced.props" />). This option's default
- value is empty. The order of priority for determining the
- editor command is:</para>
- <orderedlist>
- <listitem>
- <para>Command-line option <literal>-ﳢ-editor-cmd</literal></para>
- </listitem>
- <listitem>
- <para>Environment variable <literal>SVN_EDITOR</literal></para>
- </listitem>
- <listitem>
- <para>Configuration option <literal>editor-cmd</literal></para>
- </listitem>
- <listitem>
- <para>Environment variable <literal>VISUAL</literal></para>
- </listitem>
- <listitem>
- <para>Environment variable <literal>EDITOR</literal></para>
- </listitem>
- <listitem>
- <para>Possibly, a default value built in to Subversion
- (not present in the official builds)</para>
- </listitem>
- </orderedlist>
- <para>The value of any of these options or variables is
- (unlike <literal>diff-cmd</literal>) the beginning of a
- command line to be executed by the shell. Subversion
- appends a space and the pathname of the temporary file to be
- edited. The editor should modify the temporary file and
- return a zero exit code to indicate success.</para>
- @ENGLISH }}} -->
- <para>Определяет программу, которую будет использовать
- Subversion для ввода лог сообщений, в тех случаях, когда
- <command>svn commit</command> используется без параметров
- <option>--message</option> (<option>-m</option>) или
- <option>--file</option> (<option>-F</option>). Эта же
- программа используется с командой <command>svn
- propedit</command> — вызывается временный файл,
- содержащий текущее значение редактируемого пользователем
- свойства и редактирование выполняется прямо в
- программе-редакторе (см. <xref
- linkend="svn.advanced.props" />). По умолчанию значение
- этого свойства не установлено. Порядок определения
- используемого редактора следующий:</para>
- <orderedlist>
- <listitem>
- <para>Command-line option <literal>--editor-cmd</literal></para>
- </listitem>
- <listitem>
- <para>Environment variable <literal>SVN_EDITOR</literal></para>
- </listitem>
- <listitem>
- <para>Configuration option <literal>editor-cmd</literal></para>
- </listitem>
- <listitem>
- <para>Environment variable <literal>VISUAL</literal></para>
- </listitem>
- <listitem>
- <para>Environment variable <literal>EDITOR</literal></para>
- </listitem>
- <listitem>
- <para>Possibly, a default value built in to Subversion
- (not present in the official builds)</para>
- </listitem>
- </orderedlist>
- <para>The value of any of these options or variables is
- (unlike <literal>diff-cmd</literal>) the beginning of a
- command line to be executed by the shell. Subversion
- appends a space and the pathname of the temporary file to be
- edited. The editor should modify the temporary file and
- return a zero exit code to indicate success.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>diff-cmd</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the absolute path of a differencing
- program, used when Subversion generates
- <quote>diff</quote> output (such as when using the
- <command>svn diff</command> command). By default
- Subversion uses an internal differencing
- library—setting this option will cause it to
- perform this task using an external program. See
- <xref linkend="svn.advanced.externaldifftools"/> for
- more details on using such programs.</para>
- @ENGLISH }}} -->
- <para>Здесь указывается абсолютный путь к программе
- определения отличий, используемой, Subversion для
- <quote>diff</quote>-вывода (такого как при использовании
- команды <command>svn diff</command>). По умолчанию для
- определения отличий Subversion использует внутреннюю
- библиотеку — установка этого параметра
- заставит ее использовать внешнюю программу. Подробнее
- об использовании таких программ читайте в разделе
- <xref linkend="svn.advanced.externaldifftools"/>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>diff3-cmd</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This specifies the absolute path of a three-way
- differencing program. Subversion uses this program to
- merge changes made by the user with those received
- from the repository. By default Subversion uses an
- internal differencing library—setting this
- option will cause it to perform this task using an
- external program. See <xref
- linkend="svn.advanced.externaldifftools"/> for more
- details on using such programs.</para>
- @ENGLISH }}} -->
- <para>Здесь указывается абсолютный путь к программе
- трехстороннего сравнения. Subversion использует эту
- программу при объединении изменений, сделанных
- пользователем, с теми, которые были получены из
- хранилища. По умолчанию для определения отличий Subversion
- использует внутреннюю библиотеку — установка этого
- параметра заставит ее использовать внешнюю программу.
- Подробнее об использовании таких программ читайте в разделе
- <xref linkend="svn.advanced.externaldifftools"/>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>diff3-has-program-arg</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This flag should be set to <literal>true</literal>
- if the program specified by the
- <literal>diff3-cmd</literal> option accepts a
- <option>-ﳢ-diff-program</option> command-line
- parameter.</para>
- @ENGLISH }}} -->
- <para>Этот флаг должен быть установлен в
- <literal>true</literal> если программа, указанная в
- параметре <literal>diff3-cmd</literal> использует
- параметр командной строки
- <option>--diff-program</option>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <!-- @ENGLISH {{{
- <para>The <literal>tunnels</literal> section allows you to
- define new tunnel schemes for use with
- <command>svnserve</command> and <literal>svn://</literal>
- client connections. For more details, see <xref
- linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
-
- <para>The <literal>miscellany</literal> section is where
- everything that doesn't belong elsewhere winds up.
- <footnote>
- <para>Anyone for potluck dinner?</para>
- </footnote>
- In this section, you can find:</para>
- @ENGLISH }}} -->
- <para>Раздел <literal>tunnels</literal> позволяет определить
- новые схемы туннелирования при использовании
- <command>svnserve</command> и клиентских подключений через
- <literal>svn://</literal>. За более подробной информацией
- обращайтесь в раздел <xref
- linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
-
- <para>Все что не попало в другие разделы собирается в разделе
- <literal>miscellany</literal><footnote><para>Anyone for potluck
- dinner?</para></footnote>. В этом разделе можно найти:</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>global-ignores</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>When running the <command>svn status</command>
- command, Subversion lists unversioned files and
- directories along with the versioned ones, annotating
- them with a <literal>?</literal> character (see <xref
- linkend="svn.tour.cycle.examine.status" />). Sometimes, it can
- be annoying to see uninteresting, unversioned
- items—for example, object files that result from
- a program's compilation—in this display. The
- <literal>global-ignores</literal> option is a list of
- whitespace-delimited globs which describe the names of
- files and directories that Subversion should not
- display unless they are versioned. The default value
- is <literal>*.o *.lo *.la #*# .*.rej *.rej .*~ *~
- .#* .DS_Store</literal>.</para>
-
- <para>As well as <command>svn status</command>, the
- <command>svn add</command> and <command>svn import</command>
- commands also ignore files that match the list
- when they are scanning a directory. You can override this
- behaviour for a single instance of any of these commands
- by explicitly specifying the file name, or by using
- the <option>-ﳢ-no-ignore</option> command-line flag.</para>
-
- <para>For information on more fine-grained control of
- ignored items, see <xref linkend="svn.advanced.props.special.ignore"
- />.</para>
- @ENGLISH }}} -->
- <para>Про выполнении команды <command>svn status</command>,
- Subversion перечисляет не версионированные файлы и
- директории вместе с версионированными, отмечая их
- символом <literal>?</literal> (см. <xref
- linkend="svn.tour.cycle.examine.status" />). Просмотр
- не интересных, не версионированных элементов при просмотре
- может раздражать — например объектные файлы, полученные
- в результате компиляции программы. Параметр
- <literal>global-ignores</literal> является перечислением
- разделннных пробелом обобщений, представляющих имена файлов и
- директорий которые Subversion не должна показывать, если они
- не версионированны. Значением, присвоенным по умолчанию,
- является <literal>*.o *.lo *.la #*# .*.rej *.rej .*~ *~
- .#* .DS_Store</literal>.</para>
-
- <para>Также как и <command>svn status</command>, команды
- <command>svn add</command> и <command>svn import</command>
- при просмотре директорий тоже игнорируют файлы, подходящие
- к этому списку. Можно переопределить этот параметр, используя
- флаг командной строки <option>--no-ignore</option>. Более
- подробнее о контроле игнорирования см. <xref
- linkend="svn.advanced.props.special.ignore" />.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>enable-auto-props</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This instructs Subversion to automatically set
- properties on newly added or imported files. The
- default value is <literal>no</literal>, so set this to
- <literal>yes</literal> to enable Auto-props.
- The <literal>auto-props</literal> section of this file
- specifies which properties are to be set on which files.</para>
- @ENGLISH }}} -->
- <para>Определяет автоматическую установку свойств
- для вновь добавляемых или импортированных файлов.
- Значением по умолчанию является <literal>no</literal>,
- поэтому для разрешения авто-свойств установите
- <literal>yes</literal>. Раздел <literal>auto-props</literal>
- этого файла определяет, какие свойства и для каких файлов
- должны устанавливаться.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>log-encoding</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>This variable sets the default character set
- encoding for commit log messages. It's a permanent
- form of the <option>-ﳢ-encoding</option> option (see
- <xref linkend="svn.ref.svn.sw"/>). The Subversion
- repository stores log messages in UTF-8, and assumes
- that your log message is written using your operating
- system's native locale. You should specify a
- different encoding if your commit messages are written
- in any other encoding.</para>
- @ENGLISH }}} -->
- <para>Эта переменная задает набор символов кодировки для
- лог-сообщений фиксаций. Это перманентная форма параметра
- <option>--encoding</option> (см. <xref
- linkend="svn.ref.svn.sw"/>). Хранилище Subversion
- хранит лог-сообщения в UTF8, и предполагает, что ваше
- лог-сообщение написано используя родную локаль операционной
- ситемы. Кодировку необходимо указывать, если
- используется любая другая кодировка.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>use-commit-times</literal></term>
- <listitem>
- <!-- @ENGLISH {{{
- <para>Normally your working copy files have timestamps
- that reflect the last time they were touched by any
- process, whether that be your own editor or by some
- <command>svn</command> subcommand. This is generally
- convenient for people developing software, because
- build systems often look at timestamps as a way of
- deciding which files need to be recompiled.</para>
-
- <para>In other situations, however, it's sometimes nice
- for the working copy files to have timestamps that
- reflect the last time they were changed in the
- repository. The <command>svn export</command> command
- always places these <quote>last-commit
- timestamps</quote> on trees that it produces. By
- setting this config variable to
- <literal>yes</literal>, the <command>svn
- checkout</command>, <command>svn update</command>,
- <command>svn switch</command>, and <command>svn
- revert</command> commands will also set last-commit
- timestamps on files that they touch.</para>
- @ENGLISH }}} -->
- <para>Как правило, файлы рабочей копии имеют отметки
- времени, отражающие время последнего обращения к
- ним какого-либо процесса, был ли это ваш редактор,
- или подкоманды <command>svn</command>. Это должно
- быть близко людям, разрабатывающим программное
- обеспечение, потому, что как правило, системы
- сборки определяют по метке времени какие файлы
- требуют перекомпиляции.</para>
-
- <para>С другой стороны, иногда бывает выгодно, что бы
- рабочие файлы имели метки времени отражающие время их
- последнего изменения в хранилище. Команда <command>svn
- export</command> всегда устанавливает <quote>метку времени
- последней фиксации</quote> для создаваемого ею дерева
- файлов. При установке значения этой переменной в
- <literal>yes</literal> команды <command>svn
- checkout</command>, <command>svn update</command>,
- <command>svn switch</command> и <command>svn
- revert</command> для используемых ими файлов,
- так же будут устанавливать метку времени последней
- фиксации.</para>
- </listitem>
- </varlistentry>
-
- <!-- ###TODO add description of other options shown in example
- registry file, e.g., template-root -->
- </variablelist>
-
- <!-- @ENGLISH {{{
- <para>The <literal>auto-props</literal> section controls
- the Subversion client's ability to automatically set
- properties on files when they are added or imported.
- It contains any number of key-value pairs in the
- format <literal>PATTERN = PROPNAME=PROPVALUE</literal>
- where <literal>PATTERN</literal> is a file pattern
- that matches a set of filenames and the rest of the
- line is the property and its value. Multiple matches
- on a file will result in multiple propsets for that
- file; however, there is no guarantee that auto-props
- will be applied in the order in which they are listed
- in the config file, so you can't have one rule
- <quote>override</quote> another. You can find several
- examples of auto-props usage in the
- <filename>config</filename> file. Lastly, don't
- forget to set <literal>enable-auto-props</literal> to
- <literal>yes</literal> in the <literal>miscellany</literal>
- section if you want to enable auto-props.</para>
- @ENGLISH }}} -->
- <para>Раздел <literal>auto-props</literal> определяет возможность
- Subversion-клиента автоматически устанавливать свойства файлов,
- когда они добавлялись или импортировались. Он содержит любое
- количество пар ключ-значение, в формате
- <literal>PATTERN = PROPNAME=PROPVALUE</literal>, где
- <literal>PATTERN</literal> является файловым шаблоном,
- соответствующих набору имен файлов, а остальная часть строки
- является свойством и его значением. Множественные совпадения
- для одного файла приведут к множественной установке свойств для
- этого файла; однако не гарантируется, что порядок установки
- авто-свойств будет таким же в каком они указаны в файле
- конфигурации, поэтому нельзя будет одним правилом
- <quote>перекрыть</quote> другое. Несколько примеров использования
- авто-свойств можно найти в файле <filename>config</filename>.
- Наконец, если хотите использовать авто-свойства, не забудьте в
- разделе <literal>miscellany</literal> установить
- <literal>enable-auto-props</literal> в
- <literal>yes</literal>.</para>
-
- </sect3>
-
- </sect2>
- </sect1>
-
<!-- ================================================================= -->
<!-- ================================================================= -->
<!-- ================================================================= -->
@@ -3804,365 +2685,6 @@
the subcommand.</para>
</sect1>
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <sect1 id="svn.advanced.vendorbr">
- <title>Vendor branches</title>
-
- <para>As is especially the case when developing software, the data
- that you maintain under version control is often closely related
- to, or perhaps dependent upon, someone else's data. Generally,
- the needs of your project will dictate that you stay as
- up-to-date as possible with the data provided by that external
- entity without sacrificing the stability of your own project.
- This scenario plays itself out all the time—anywhere that
- the information generated by one group of people has a direct
- effect on that which is generated by another group.</para>
-
- <para>For example, software developers might be working on an
- application which makes use of a third-party library.
- Subversion has just such a relationship with the Apache Portable
- Runtime library (see <xref linkend="svn.developer.usingapi.apr" />). The
- Subversion source code depends on the APR library for all its
- portability needs. In earlier stages of Subversion's
- development, the project closely tracked APR's changing API,
- always sticking to the <quote>bleeding edge</quote> of the
- library's code churn. Now that both APR and Subversion have
- matured, Subversion attempts to synchronize with APR's library
- API only at well-tested, stable release points.</para>
-
- <para>Now, if your project depends on someone else's information,
- there are several ways that you could attempt to synchronize that
- information with your own. Most painfully, you could issue oral
- or written instructions to all the contributors of your project,
- telling them to make sure that they have the specific versions
- of that third-party information that your project needs. If the
- third-party information is maintained in a Subversion
- repository, you could also use Subversion's externals
- definitions to effectively <quote>pin down</quote> specific
- versions of that information to some location in your own
- working copy directory (see <xref linkend="svn.advanced.externals" />).</para>
-
- <para>But sometimes you want to maintain custom modifications to
- third-party data in your own version control system. Returning
- to the software development example, programmers might need to
- make modifications to that third-party library for their own
- purposes. These modifications might include new functionality
- or bug fixes, maintained internally only until they become part
- of an official release of the third-party library. Or the
- changes might never be relayed back to the library maintainers,
- existing solely as custom tweaks to make the library further
- suit the needs of the software developers.</para>
-
- <para>Now you face an interesting situation. Your project could
- house its custom modifications to the third-party data in some
- disjointed fashion, such as using patch files or full-fledged
- alternate versions of files and directories. But these quickly
- become maintenance headaches, requiring some mechanism by which
- to apply your custom changes to the third-party data, and
- necessitating regeneration of those changes with each successive
- version of the third-party data that you track.</para>
-
- <para>The solution to this problem is to use <firstterm>vendor
- branches</firstterm>. A vendor branch is a directory tree in
- your own version control system that contains information
- provided by a third-party entity, or vendor. Each version of
- the vendor's data that you decide to absorb into your project is
- called a <firstterm>vendor drop</firstterm>.</para>
-
- <para>Vendor branches provide two key benefits. First, by storing
- the currently supported vendor drop in your own version control
- system, the members of your project never need to question
- whether they have the right version of the vendor's data. They
- simply receive that correct version as part of their regular
- working copy updates. Secondly, because the data lives in your
- own Subversion repository, you can store your custom changes to
- it in-place—you have no more need of an automated (or
- worse, manual) method for swapping in your customizations.</para>
-
- <!-- =============================================================== -->
- <sect2 id="svn.advanced.vendorbr.general">
- <title>General Vendor Branch Management Procedure</title>
-
- <para>Managing vendor branches generally works like this. You
- create a top-level directory (such as
- <filename>/vendor</filename>) to hold the vendor branches.
- Then you import the third party code into a subdirectory of
- that top-level directory. You then copy that subdirectory
- into your main development branch (for example,
- <filename>/trunk</filename>) at the appropriate location. You
- always make your local changes in the main development branch.
- With each new release of the code you are tracking you bring
- it into the vendor branch and merge the changes into
- <filename>/trunk</filename>, resolving whatever conflicts
- occur between your local changes and the upstream
- changes.</para>
-
- <para>Perhaps an example will help to clarify this algorithm.
- We'll use a scenario where your development team is creating a
- calculator program that links against a third-party complex
- number arithmetic library, libcomplex. We'll begin with the
- initial creation of the vendor branch, and the import of the
- first vendor drop. We'll call our vendor branch directory
- <filename>libcomplex</filename>, and our code drops will go
- into a subdirectory of our vendor branch called
- <filename>current</filename>. And since <command>svn
- import</command> creates all the intermediate parent
- directories it needs, we can actually accomplish both of these
- steps with a single command.</para>
-
- <screen>
-$ svn import /path/to/libcomplex-1.0 \
- http://svn.example.com/repos/vendor/libcomplex/current \
- -m 'importing initial 1.0 vendor drop'
-…
-</screen>
-
- <para>We now have the current version of the libcomplex source
- code in <filename>/vendor/libcomplex/current</filename>. Now,
- we tag that version (see <xref linkend="svn.branchmerge.tags" />)
- and then copy it into the main development branch. Our copy
- will create a new directory called
- <filename>libcomplex</filename> in our existing
- <filename>calc</filename> project directory. It is in this
- copied version of the vendor data that we will make our
- customizations.</para>
-
- <screen>
-$ svn copy http://svn.example.com/repos/vendor/libcomplex/current \
- http://svn.example.com/repos/vendor/libcomplex/1.0 \
- -m 'tagging libcomplex-1.0'
-…
-$ svn copy http://svn.example.com/repos/vendor/libcomplex/1.0 \
- http://svn.example.com/repos/calc/libcomplex \
- -m 'bringing libcomplex-1.0 into the main branch'
-…
-</screen>
-
- <para>We check out our project's main branch—which now
- includes a copy of the first vendor drop—and we get to
- work customizing the libcomplex code. Before we know it, our
- modified version of libcomplex is now completely integrated
- into our calculator program.
- <footnote>
- <para>And entirely bug-free, of course!</para>
- </footnote>
- </para>
-
- <para>A few weeks later, the developers of libcomplex release a
- new version of their library—version 1.1—which
- contains some features and functionality that we really want.
- We'd like to upgrade to this new version, but without losing
- the customizations we made to the existing version. What we
- essentially would like to do is to replace our current
- baseline version of libcomplex 1.0 with a copy of libcomplex
- 1.1, and then re-apply the custom modifications we previously
- made to that library to the new version. But we actually
- approach the problem from the other direction, applying the
- changes made to libcomplex between versions 1.0 and 1.1 to our
- modified copy of it.</para>
-
- <para>To perform this upgrade, we checkout a copy of our vendor
- branch, and replace the code in the
- <filename>current</filename> directory with the new libcomplex
- 1.1 source code. We quite literally copy new files on top of
- existing files, perhaps exploding the libcomplex 1.1 release
- tarball atop our existing files and directories. The goal
- here is to make our <filename>current</filename> directory
- contain only the libcomplex 1.1 code, and to ensure that all
- that code is under version control. Oh, and we want to do
- this with as little version control history disturbance as
- possible.</para>
-
- <para>After replacing the 1.0 code with 1.1 code, <command>svn
- status</command> will show files with local modifications as
- well as, perhaps, some unversioned or missing files. If we
- did what we were supposed to do, the unversioned files are
- only those new files introduced in the 1.1 release of
- libcomplex—we run <command>svn add</command> on those to
- get them under version control. The missing files are files
- that were in 1.0 but not in 1.1, and on those paths we run
- <command>svn delete</command>. Finally, once our
- <filename>current</filename> working copy contains only the
- libcomplex 1.1 code, we commit the changes we made to get it
- looking that way.</para>
-
- <para>Our <filename>current</filename> branch now contains the
- new vendor drop. We tag the new version (in the same way we
- previously tagged the version 1.0 vendor drop), and then merge
- the differences between the tag of the previous version and
- the new current version into our main development
- branch.</para>
-
- <screen>
-$ cd working-copies/calc
-$ svn merge http://svn.example.com/repos/vendor/libcomplex/1.0 \
- http://svn.example.com/repos/vendor/libcomplex/current \
- libcomplex
-… # resolve all the conflicts between their changes and our changes
-$ svn commit -m 'merging libcomplex-1.1 into the main branch'
-…
-</screen>
-
- <para>In the trivial use case, the new version of our
- third-party tool would look, from a files-and-directories
- point of view, just like the previous version. None of the
- libcomplex source files would have been deleted, renamed or
- moved to different locations—the new version would
- contain only textual modifications against the previous one.
- In a perfect world, our modifications would apply cleanly to
- the new version of the library, with absolutely no
- complications or conflicts.</para>
-
- <para>But things aren't always that simple, and in fact it is
- quite common for source files to get moved around between
- releases of software. This complicates the process of
- ensuring that our modifications are still valid for the new
- version of code, and can quickly degrade into a situation
- where we have to manually recreate our customizations in the
- new version. Once Subversion knows about the history of a
- given source file—including all its previous
- locations—the process of merging in the new version of
- the library is pretty simple. But we are responsible for
- telling Subversion how the source file layout changed from
- vendor drop to vendor drop.</para>
-
- </sect2>
-
- <!-- TODO: Try to clarify some of the steps for svn_load_dirs.pl
- (Garrett sez they've been "glossed over". Also, consider
- another section on bypassing svn_load_dirs.pl altogether and
- running with just svn merge, now that it ignores ancestry. -->
-
- <!-- =============================================================== -->
- <sect2 id="svn.advanced.vendorbr.svn_load_dirs">
- <title><command>svn_load_dirs.pl</command></title>
-
- <para>Vendor drops that contain more than a few deletes,
- additions and moves complicate the process of upgrading to
- each successive version of the third-party data. So
- Subversion supplies the <command>svn_load_dirs.pl</command>
- script to assist with this process. This script automates the
- importing steps we mentioned in the general vendor branch
- management procedure to make sure that mistakes are minimized.
- You will still be responsible for using the merge commands to
- merge the new versions of the third-party data into your main
- development branch, but <command>svn_load_dirs.pl</command>
- can help you more quickly and easily arrive at that
- stage.</para>
-
- <para>In short, <command>svn_load_dirs.pl</command> is an
- enhancement to <command>svn import</command> that has several
- important characteristics:</para>
-
- <itemizedlist>
- <listitem>
- <para>It can be run at any point in time to bring an existing
- directory in the repository to exactly match an external
- directory, performing all the necessary adds and deletes,
- and optionally performing moves, too.</para>
- </listitem>
- <listitem>
- <para>It takes care of complicated series of operations between
- which Subversion requires an intermediate commit—such
- as before renaming a file or directory twice.</para>
- </listitem>
- <listitem>
- <para>It will optionally tag the newly imported directory.</para>
- </listitem>
- <listitem>
- <para>It will optionally add arbitrary properties to files and
- directories that match a regular expression.</para>
- </listitem>
- </itemizedlist>
-
- <para><command>svn_load_dirs.pl</command> takes three mandatory
- arguments. The first argument is the URL to the base
- Subversion directory to work in. This argument is followed by
- the URL—relative to the first argument—into which the
- current vendor drop will be imported. Finally, the third
- argument is the local directory to import. Using our previous
- example, a typical run of <command>svn_load_dirs.pl</command>
- might look like:</para>
-
- <screen>
-$ svn_load_dirs.pl http://svn.example.com/repos/vendor/libcomplex \
- current \
- /path/to/libcomplex-1.1
-…
-</screen>
-
- <para>You can indicate that you'd like
- <command>svn_load_dirs.pl</command> to tag the new vendor drop
- by passing the <option>-t</option> command-line option and
- specifying a tag name. This tag is another URL relative to
- the first program argument.</para>
-
- <screen>
-$ svn_load_dirs.pl -t libcomplex-1.1 \
- http://svn.example.com/repos/vendor/libcomplex \
- current \
- /path/to/libcomplex-1.1
-…
-</screen>
-
- <para>When you run <command>svn_load_dirs.pl</command>, it
- examines the contents of your existing <quote>current</quote>
- vendor drop, and compares them with the proposed new vendor
- drop. In the trivial case, there will be no files that are in
- one version and not the other, and the script will perform the
- new import without incident. If, however, there are
- discrepancies in the file layouts between versions,
- <command>svn_load_dirs.pl</command> will prompt you for how
- you would like to resolve those differences. For example, you
- will have the opportunity to tell the script that you know
- that the file <filename>math.c</filename> in version 1.0 of
- libcomplex was renamed to <filename>arithmetic.c</filename> in
- libcomplex 1.1. Any discrepancies not explained by moves
- are treated as regular additions and deletions.</para>
-
- <para>The script also accepts a separate configuration file for
- setting properties on files and directories matching a regular
- expression that are <emphasis>added</emphasis> to the
- repository. This configuration file is specified to
- <command>svn_load_dirs.pl</command> using the
- <option>-p</option> command-line option. Each line of the
- configuration file is a whitespace-delimited set of two or
- four values: a Perl-style regular expression to match the
- added path against, a control keyword (either
- <literal>break</literal> or <literal>cont</literal>), and then
- optionally a property name and value.</para>
-
- <screen>
-\.png$ break svn:mime-type image/png
-\.jpe?g$ break svn:mime-type image/jpeg
-\.m3u$ cont svn:mime-type audio/x-mpegurl
-\.m3u$ break svn:eol-style LF
-.* break svn:eol-style native
-</screen>
-
- <para>For each added path, the configured property changes whose
- regular expression matches the path are applied in order,
- unless the control specification is <literal>break</literal>
- (which means that no more property changes should be applied
- to that path). If the control specification is
- <literal>cont</literal>—an abbreviation for
- <literal>continue</literal>—then matching will continue
- with the next line of the configuration file.</para>
-
- <para>Any whitespace in the regular expression, property name,
- or property value must be surrounded by either single or
- double quote characters. You can escape quote characters that
- are not used for wrapping whitespace by preceding them with a
- backslash (<literal>\</literal>) character. The backslash
- escapes only quotes when parsing the configuration file, so do
- not protect any other characters beyond what is necessary for
- the regular expression.</para>
-
- </sect2>
- </sect1>
-
</chapter>
<!--
Modified: trunk/src/ru/book/ch-branching-and-merging.xml
==============================================================================
--- trunk/src/ru/book/ch-branching-and-merging.xml (original)
+++ trunk/src/ru/book/ch-branching-and-merging.xml Sun Feb 4 08:01:41 2007
@@ -3701,6 +3701,364 @@
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <sect1 id="svn.advanced.vendorbr">
+ <title>Vendor branches</title>
+
+ <para>As is especially the case when developing software, the data
+ that you maintain under version control is often closely related
+ to, or perhaps dependent upon, someone else's data. Generally,
+ the needs of your project will dictate that you stay as
+ up-to-date as possible with the data provided by that external
+ entity without sacrificing the stability of your own project.
+ This scenario plays itself out all the time—anywhere that
+ the information generated by one group of people has a direct
+ effect on that which is generated by another group.</para>
+
+ <para>For example, software developers might be working on an
+ application which makes use of a third-party library.
+ Subversion has just such a relationship with the Apache Portable
+ Runtime library (see <xref linkend="svn.developer.usingapi.apr" />). The
+ Subversion source code depends on the APR library for all its
+ portability needs. In earlier stages of Subversion's
+ development, the project closely tracked APR's changing API,
+ always sticking to the <quote>bleeding edge</quote> of the
+ library's code churn. Now that both APR and Subversion have
+ matured, Subversion attempts to synchronize with APR's library
+ API only at well-tested, stable release points.</para>
+
+ <para>Now, if your project depends on someone else's information,
+ there are several ways that you could attempt to synchronize that
+ information with your own. Most painfully, you could issue oral
+ or written instructions to all the contributors of your project,
+ telling them to make sure that they have the specific versions
+ of that third-party information that your project needs. If the
+ third-party information is maintained in a Subversion
+ repository, you could also use Subversion's externals
+ definitions to effectively <quote>pin down</quote> specific
+ versions of that information to some location in your own
+ working copy directory (see <xref linkend="svn.advanced.externals" />).</para>
+
+ <para>But sometimes you want to maintain custom modifications to
+ third-party data in your own version control system. Returning
+ to the software development example, programmers might need to
+ make modifications to that third-party library for their own
+ purposes. These modifications might include new functionality
+ or bug fixes, maintained internally only until they become part
+ of an official release of the third-party library. Or the
+ changes might never be relayed back to the library maintainers,
+ existing solely as custom tweaks to make the library further
+ suit the needs of the software developers.</para>
+
+ <para>Now you face an interesting situation. Your project could
+ house its custom modifications to the third-party data in some
+ disjointed fashion, such as using patch files or full-fledged
+ alternate versions of files and directories. But these quickly
+ become maintenance headaches, requiring some mechanism by which
+ to apply your custom changes to the third-party data, and
+ necessitating regeneration of those changes with each successive
+ version of the third-party data that you track.</para>
+
+ <para>The solution to this problem is to use <firstterm>vendor
+ branches</firstterm>. A vendor branch is a directory tree in
+ your own version control system that contains information
+ provided by a third-party entity, or vendor. Each version of
+ the vendor's data that you decide to absorb into your project is
+ called a <firstterm>vendor drop</firstterm>.</para>
+
+ <para>Vendor branches provide two key benefits. First, by storing
+ the currently supported vendor drop in your own version control
+ system, the members of your project never need to question
+ whether they have the right version of the vendor's data. They
+ simply receive that correct version as part of their regular
+ working copy updates. Secondly, because the data lives in your
+ own Subversion repository, you can store your custom changes to
+ it in-place—you have no more need of an automated (or
+ worse, manual) method for swapping in your customizations.</para>
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.advanced.vendorbr.general">
+ <title>General Vendor Branch Management Procedure</title>
+
+ <para>Managing vendor branches generally works like this. You
+ create a top-level directory (such as
+ <filename>/vendor</filename>) to hold the vendor branches.
+ Then you import the third party code into a subdirectory of
+ that top-level directory. You then copy that subdirectory
+ into your main development branch (for example,
+ <filename>/trunk</filename>) at the appropriate location. You
+ always make your local changes in the main development branch.
+ With each new release of the code you are tracking you bring
+ it into the vendor branch and merge the changes into
+ <filename>/trunk</filename>, resolving whatever conflicts
+ occur between your local changes and the upstream
+ changes.</para>
+
+ <para>Perhaps an example will help to clarify this algorithm.
+ We'll use a scenario where your development team is creating a
+ calculator program that links against a third-party complex
+ number arithmetic library, libcomplex. We'll begin with the
+ initial creation of the vendor branch, and the import of the
+ first vendor drop. We'll call our vendor branch directory
+ <filename>libcomplex</filename>, and our code drops will go
+ into a subdirectory of our vendor branch called
+ <filename>current</filename>. And since <command>svn
+ import</command> creates all the intermediate parent
+ directories it needs, we can actually accomplish both of these
+ steps with a single command.</para>
+
+ <screen>
+$ svn import /path/to/libcomplex-1.0 \
+ http://svn.example.com/repos/vendor/libcomplex/current \
+ -m 'importing initial 1.0 vendor drop'
+…
+</screen>
+
+ <para>We now have the current version of the libcomplex source
+ code in <filename>/vendor/libcomplex/current</filename>. Now,
+ we tag that version (see <xref linkend="svn.branchmerge.tags" />)
+ and then copy it into the main development branch. Our copy
+ will create a new directory called
+ <filename>libcomplex</filename> in our existing
+ <filename>calc</filename> project directory. It is in this
+ copied version of the vendor data that we will make our
+ customizations.</para>
+
+ <screen>
+$ svn copy http://svn.example.com/repos/vendor/libcomplex/current \
+ http://svn.example.com/repos/vendor/libcomplex/1.0 \
+ -m 'tagging libcomplex-1.0'
+…
+$ svn copy http://svn.example.com/repos/vendor/libcomplex/1.0 \
+ http://svn.example.com/repos/calc/libcomplex \
+ -m 'bringing libcomplex-1.0 into the main branch'
+…
+</screen>
+
+ <para>We check out our project's main branch—which now
+ includes a copy of the first vendor drop—and we get to
+ work customizing the libcomplex code. Before we know it, our
+ modified version of libcomplex is now completely integrated
+ into our calculator program.
+ <footnote>
+ <para>And entirely bug-free, of course!</para>
+ </footnote>
+ </para>
+
+ <para>A few weeks later, the developers of libcomplex release a
+ new version of their library—version 1.1—which
+ contains some features and functionality that we really want.
+ We'd like to upgrade to this new version, but without losing
+ the customizations we made to the existing version. What we
+ essentially would like to do is to replace our current
+ baseline version of libcomplex 1.0 with a copy of libcomplex
+ 1.1, and then re-apply the custom modifications we previously
+ made to that library to the new version. But we actually
+ approach the problem from the other direction, applying the
+ changes made to libcomplex between versions 1.0 and 1.1 to our
+ modified copy of it.</para>
+
+ <para>To perform this upgrade, we checkout a copy of our vendor
+ branch, and replace the code in the
+ <filename>current</filename> directory with the new libcomplex
+ 1.1 source code. We quite literally copy new files on top of
+ existing files, perhaps exploding the libcomplex 1.1 release
+ tarball atop our existing files and directories. The goal
+ here is to make our <filename>current</filename> directory
+ contain only the libcomplex 1.1 code, and to ensure that all
+ that code is under version control. Oh, and we want to do
+ this with as little version control history disturbance as
+ possible.</para>
+
+ <para>After replacing the 1.0 code with 1.1 code, <command>svn
+ status</command> will show files with local modifications as
+ well as, perhaps, some unversioned or missing files. If we
+ did what we were supposed to do, the unversioned files are
+ only those new files introduced in the 1.1 release of
+ libcomplex—we run <command>svn add</command> on those to
+ get them under version control. The missing files are files
+ that were in 1.0 but not in 1.1, and on those paths we run
+ <command>svn delete</command>. Finally, once our
+ <filename>current</filename> working copy contains only the
+ libcomplex 1.1 code, we commit the changes we made to get it
+ looking that way.</para>
+
+ <para>Our <filename>current</filename> branch now contains the
+ new vendor drop. We tag the new version (in the same way we
+ previously tagged the version 1.0 vendor drop), and then merge
+ the differences between the tag of the previous version and
+ the new current version into our main development
+ branch.</para>
+
+ <screen>
+$ cd working-copies/calc
+$ svn merge http://svn.example.com/repos/vendor/libcomplex/1.0 \
+ http://svn.example.com/repos/vendor/libcomplex/current \
+ libcomplex
+… # resolve all the conflicts between their changes and our changes
+$ svn commit -m 'merging libcomplex-1.1 into the main branch'
+…
+</screen>
+
+ <para>In the trivial use case, the new version of our
+ third-party tool would look, from a files-and-directories
+ point of view, just like the previous version. None of the
+ libcomplex source files would have been deleted, renamed or
+ moved to different locations—the new version would
+ contain only textual modifications against the previous one.
+ In a perfect world, our modifications would apply cleanly to
+ the new version of the library, with absolutely no
+ complications or conflicts.</para>
+
+ <para>But things aren't always that simple, and in fact it is
+ quite common for source files to get moved around between
+ releases of software. This complicates the process of
+ ensuring that our modifications are still valid for the new
+ version of code, and can quickly degrade into a situation
+ where we have to manually recreate our customizations in the
+ new version. Once Subversion knows about the history of a
+ given source file—including all its previous
+ locations—the process of merging in the new version of
+ the library is pretty simple. But we are responsible for
+ telling Subversion how the source file layout changed from
+ vendor drop to vendor drop.</para>
+
+ </sect2>
+
+ <!-- TODO: Try to clarify some of the steps for svn_load_dirs.pl
+ (Garrett sez they've been "glossed over". Also, consider
+ another section on bypassing svn_load_dirs.pl altogether and
+ running with just svn merge, now that it ignores ancestry. -->
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.advanced.vendorbr.svn_load_dirs">
+ <title><command>svn_load_dirs.pl</command></title>
+
+ <para>Vendor drops that contain more than a few deletes,
+ additions and moves complicate the process of upgrading to
+ each successive version of the third-party data. So
+ Subversion supplies the <command>svn_load_dirs.pl</command>
+ script to assist with this process. This script automates the
+ importing steps we mentioned in the general vendor branch
+ management procedure to make sure that mistakes are minimized.
+ You will still be responsible for using the merge commands to
+ merge the new versions of the third-party data into your main
+ development branch, but <command>svn_load_dirs.pl</command>
+ can help you more quickly and easily arrive at that
+ stage.</para>
+
+ <para>In short, <command>svn_load_dirs.pl</command> is an
+ enhancement to <command>svn import</command> that has several
+ important characteristics:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>It can be run at any point in time to bring an existing
+ directory in the repository to exactly match an external
+ directory, performing all the necessary adds and deletes,
+ and optionally performing moves, too.</para>
+ </listitem>
+ <listitem>
+ <para>It takes care of complicated series of operations between
+ which Subversion requires an intermediate commit—such
+ as before renaming a file or directory twice.</para>
+ </listitem>
+ <listitem>
+ <para>It will optionally tag the newly imported directory.</para>
+ </listitem>
+ <listitem>
+ <para>It will optionally add arbitrary properties to files and
+ directories that match a regular expression.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para><command>svn_load_dirs.pl</command> takes three mandatory
+ arguments. The first argument is the URL to the base
+ Subversion directory to work in. This argument is followed by
+ the URL—relative to the first argument—into which the
+ current vendor drop will be imported. Finally, the third
+ argument is the local directory to import. Using our previous
+ example, a typical run of <command>svn_load_dirs.pl</command>
+ might look like:</para>
+
+ <screen>
+$ svn_load_dirs.pl http://svn.example.com/repos/vendor/libcomplex \
+ current \
+ /path/to/libcomplex-1.1
+…
+</screen>
+
+ <para>You can indicate that you'd like
+ <command>svn_load_dirs.pl</command> to tag the new vendor drop
+ by passing the <option>-t</option> command-line option and
+ specifying a tag name. This tag is another URL relative to
+ the first program argument.</para>
+
+ <screen>
+$ svn_load_dirs.pl -t libcomplex-1.1 \
+ http://svn.example.com/repos/vendor/libcomplex \
+ current \
+ /path/to/libcomplex-1.1
+…
+</screen>
+
+ <para>When you run <command>svn_load_dirs.pl</command>, it
+ examines the contents of your existing <quote>current</quote>
+ vendor drop, and compares them with the proposed new vendor
+ drop. In the trivial case, there will be no files that are in
+ one version and not the other, and the script will perform the
+ new import without incident. If, however, there are
+ discrepancies in the file layouts between versions,
+ <command>svn_load_dirs.pl</command> will prompt you for how
+ you would like to resolve those differences. For example, you
+ will have the opportunity to tell the script that you know
+ that the file <filename>math.c</filename> in version 1.0 of
+ libcomplex was renamed to <filename>arithmetic.c</filename> in
+ libcomplex 1.1. Any discrepancies not explained by moves
+ are treated as regular additions and deletions.</para>
+
+ <para>The script also accepts a separate configuration file for
+ setting properties on files and directories matching a regular
+ expression that are <emphasis>added</emphasis> to the
+ repository. This configuration file is specified to
+ <command>svn_load_dirs.pl</command> using the
+ <option>-p</option> command-line option. Each line of the
+ configuration file is a whitespace-delimited set of two or
+ four values: a Perl-style regular expression to match the
+ added path against, a control keyword (either
+ <literal>break</literal> or <literal>cont</literal>), and then
+ optionally a property name and value.</para>
+
+ <screen>
+\.png$ break svn:mime-type image/png
+\.jpe?g$ break svn:mime-type image/jpeg
+\.m3u$ cont svn:mime-type audio/x-mpegurl
+\.m3u$ break svn:eol-style LF
+.* break svn:eol-style native
+</screen>
+
+ <para>For each added path, the configured property changes whose
+ regular expression matches the path are applied in order,
+ unless the control specification is <literal>break</literal>
+ (which means that no more property changes should be applied
+ to that path). If the control specification is
+ <literal>cont</literal>—an abbreviation for
+ <literal>continue</literal>—then matching will continue
+ with the next line of the configuration file.</para>
+
+ <para>Any whitespace in the regular expression, property name,
+ or property value must be surrounded by either single or
+ double quote characters. You can escape quote characters that
+ are not used for wrapping whitespace by preceding them with a
+ backslash (<literal>\</literal>) character. The backslash
+ escapes only quotes when parsing the configuration file, so do
+ not protect any other characters beyond what is necessary for
+ the regular expression.</para>
+
+ </sect2>
+ </sect1>
<!-- ================================================================= -->
<!-- ================================================================= -->
Modified: trunk/src/ru/book/ch-customizing-svn.xml
==============================================================================
--- trunk/src/ru/book/ch-customizing-svn.xml (original)
+++ trunk/src/ru/book/ch-customizing-svn.xml Sun Feb 4 08:01:41 2007
@@ -13,6 +13,1125 @@
</simplesect>
+ <sect1 id="svn.advanced.confarea">
+ <!-- @ENGLISH {{{
+ <title>Runtime Configuration Area</title>
+
+ <para>Subversion provides many optional behaviors that can be
+ controlled by the user. Many of these options are of the kind
+ that a user would wish to apply to all Subversion operations.
+ So, rather than forcing users to remember command-line arguments
+ for specifying these options, and to use them for each and every
+ operation they perform, Subversion uses configuration files,
+ segregated into a Subversion configuration area.</para>
+
+ <para>The Subversion <firstterm>configuration area</firstterm> is
+ a two-tiered hierarchy of option names and their values.
+ Usually, this boils down to a special directory that contains
+ <firstterm>configuration files</firstterm> (the first tier),
+ which are just text files in standard INI format (with
+ <quote>sections</quote> providing the second tier). These files
+ can be easily edited using your favorite text editor (such as
+ Emacs or vi), and contain directives read by the client to
+ determine which of several optional behaviors the user
+ prefers.</para>
+ @ENGLISH }}} -->
+ <title>Параметры времени выполнения</title>
+
+ <para>Subversion имеет множество контролируемых пользователем
+ опциональных параметров поведения. Возможно пользователь
+ хотел бы применять некоторые из этих параметров во всех
+ операциях Subversion. Поэтому для того, что бы не заставлять
+ пользователей помнить ключи командной строки используемые для
+ указания этих параметров и не указывать их при всех выполняемых
+ операциях, Subversion использует конфигурационные файлы, выделенные
+ в область конфигурации Subversion.</para>
+
+ <para><firstterm>Область конфигурации</firstterm> Subversion
+ имеет двухуровневую иерархию имен параметров и их значений.
+ Как правило, она сводится к отдельной директории, содержащей
+ <firstterm>конфигурационные файлы</firstterm> (первый уровень)
+ являющиеся простыми текстовыми файлами в стандартном INI формате
+ (с <quote>разделами</quote>, обеспечивающими второй уровень).
+ Эти файлы содержат директивы используемые клиентом для определения
+ поведения клиента предпочитаемого пользователем, и могут быть легко
+ отредактированы используя ваш любимый редактор (например, Emacs
+ или vi).</para>
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.advanced.confarea.layout">
+ <!-- @ENGLISH {{{
+ <title>Configuration Area Layout</title>
+
+ <para>The first time that the <command>svn</command>
+ command-line client is executed, it creates a per-user
+ configuration area. On Unix-like systems, this area appears
+ as a directory named <filename>.subversion</filename> in the
+ user's home directory. On Win32 systems, Subversion creates a
+ folder named <filename>Subversion</filename>, typically inside
+ the <filename>Application Data</filename> area of the user's
+ profile directory (which, by the way, is usually a hidden
+ directory). However, on this platform the exact location
+ differs from system to system, and is dictated by the Windows
+ registry.
+ <footnote>
+ <para>The <literal>APPDATA</literal> environment variable
+ points to the <filename>Application Data</filename> area,
+ so you can always refer to this folder as
+ <filename>%APPDATA%\Subversion</filename>.</para>
+ </footnote>
+ We will refer to the per-user configuration area using its Unix
+ name, <filename>.subversion</filename>.</para>
+ @ENGLISH }}} -->
+ <title>Структура области конфигурации</title>
+
+ <para>Во время первого запуска клиент для командной строки
+ <command>svn</command> создает отдельную для каждого пользователя
+ область конфигурации. На Unix-подобных системах эта директория
+ называется <filename>.subversion</filename> и находиться в домашней
+ директории пользователя. На Win32 системах Subversion создает
+ папку с именем <filename>Subversion</filename> в области
+ <filename>Application Data</filename> директории с профилем
+ пользователя (которая, кстати говоря, обычно является скрытой
+ директорией). Однако на этой платформе точное местоположение
+ отличается от системы к системе и указывается в реестре
+ Windows. <footnote><para>Переменная среды окружения
+ <literal>APPDATA</literal> указывает на папку <filename>Application
+ Data</filename> поэтому к этой директории можно всегда обращаться
+ как к <filename>%APPDATA%\Subversion</filename>.</para></footnote>
+ При обращении к пользовательской области конфигурации мы будем
+ использовать ее Unix-название.</para>
+
+ <!-- @ENGLISH {{{
+ <para>In addition to the per-user configuration area, Subversion
+ also recognizes the existence of a system-wide configuration
+ area. This gives system administrators the ability to
+ establish defaults for all users on a given machine. Note
+ that the system-wide configuration area does not alone dictate
+ mandatory policy—the settings in the per-user
+ configuration area override those in the system-wide one, and
+ command-line arguments supplied to the <command>svn</command>
+ program have the final word on behavior. On Unix-like
+ platforms, the system-wide configuration area is
+ expected to be the <filename>/etc/subversion</filename>
+ directory; on Windows machines, it looks for a
+ <filename>Subversion</filename> directory inside the common
+ <filename>Application Data</filename> location (again, as
+ specified by the Windows Registry). Unlike the per-user
+ case, the <command>svn</command> program does not attempt
+ to create the system-wide configuration area.</para>
+ @ENGLISH }}} -->
+ <para>В дополнение к пользовательской области конфигурации,
+ Subversion использует общесистемную область конфигурации. Это
+ дает возможность системным администраторам устанавливать
+ параметры по умолчанию для всех пользователей отдельно взятой
+ машины. Помните, что системная область конфигурации не
+ устанавливает безоговорочные правила — параметры, заданные
+ пользовательской конфигурацией переопределяют системные параметры,
+ а аргументы командной строки, передаваемые программе
+ <command>svn</command>, имеют последнее слово. На Unix-подобных
+ платформах ожидаемым местоположением системной области конфигурации
+ является директория <filename>/etc/subversion</filename>; на
+ Windows машинах ищется директория <filename>Subversion</filename>
+ внутри общесистемной области <filename>Application Data</filename>
+ (также определяемой реестром). В отличие от пользовательской,
+ системную область конфигурации <command>svn</command> не
+ создает.</para>
+
+ <!-- @ENGLISH {{{
+ <para>The configuration area currently contains three
+ files—two configuration files (<filename>config</filename> and
+ <filename>servers</filename>), and a <filename>README.txt</filename>
+ file which describes the INI format. At the time of their
+ creation, the files contain default values for each of the
+ supported Subversion options, mostly commented out and grouped
+ with textual descriptions about how the values for the key
+ affect Subversion's behavior. To change a certain behavior,
+ you need only to load the appropriate configuration file into
+ a text editor, and modify the desired option's value. If at
+ any time you wish to have the default configuration settings
+ restored, you can simply remove (or rename) your configuration
+ directory and then run some innocuous <command>svn</command>
+ command, such as <command>svn -ﳢ-version</command>. A new
+ configuration directory with the default contents will be
+ created.</para>
+
+ <para>The per-user configuration area also contains a cache of
+ authentication data. The <filename>auth</filename> directory
+ holds a set of subdirectories that contain pieces of cached
+ information used by Subversion's various supported
+ authentication methods. This directory is created in such a
+ way that only the user herself has permission to read its
+ contents.</para>
+ @ENGLISH }}} -->
+ <para>На сегодняшний момент область конфигурации содержит три
+ файла — два файла конфигурации (<filename>config</filename>
+ и <filename>servers</filename>) и <filename>README.txt</filename>,
+ который содержит описание INI формата. После их создания, эти файлы
+ содержат значения по умолчанию для всех, поддерживаемых Subversion
+ параметров, обычно закомментированных и объединенных с текстовым
+ описанием значений ключей, влияющих на поведение Subversion.
+ Для того, что бы изменить отдельный параметр все, что нужно, просто
+ загрузить соответствующий файл в текстовый редактор и изменить
+ значение нужного параметра. Если в какой-то момент вы захотите
+ восстановить параметры по умолчанию, необходимо просто удалить
+ (или переименовать) директорию с конфигурацией, после чего
+ выполнить какую-то безобидную команду <command>svn</command>,
+ например, <command>svn --version</command>. В результате будет
+ создана новая директория с конфигурацией и содержимым по
+ умолчанию.</para>
+
+ <para>Кроме того, пользовательская область конфигурации содержит
+ кеш идентификационной информации. Директория <filename>auth</filename>
+ объединяет набор поддиректорий, содержащих кешированну информацию,
+ используемую в различных, поддерживаемых Subversion методах
+ авторизации. Эта директория создается так, что бы только сам
+ пользователь имел право просматривать ее содержимое.</para>
+
+ </sect2>
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.advanced.confarea.windows-registry">
+ <!-- @ENGLISH {{{
+ <title>Configuration and the Windows Registry</title>
+
+ <para>In addition to the usual INI-based configuration area,
+ Subversion clients running on Windows platforms may also use
+ the Windows registry to hold the configuration data. The
+ option names and their values are the same as in the INI
+ files. The <quote>file/section</quote> hierarchy is
+ preserved as well, though addressed in a slightly different
+ fashion—in this schema, files and sections are just
+ levels in the registry key tree.</para>
+
+ <para>Subversion looks for system-wide configuration values
+ under the
+ <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion</literal>
+ key. For example, the <literal>global-ignores</literal> option,
+ which is in the <literal>miscellany</literal> section of the
+ <filename>config</filename> file, would be found at
+ <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores</literal>.
+ Per-user configuration values should be stored under
+ <literal>HKEY_CURRENT_USER\Software\Tigris.org\Subversion</literal>.
+ </para>
+ @ENGLISH }}} -->
+ <title>Конфигурация и реестр Windows</title>
+
+ <para>В дополнение к обычным INI-настройкам, Subversion-клиент,
+ работающий на платформе Windows, может использовать для
+ хранения настроек Windows-реестр. Имена параметров и их значения
+ точно такие же, как и в INI-файлах. Иерархия <quote>файлов</quote>
+ сохраняется, только немного меняется способ адресации —
+ файлы и разделы просто заменяются уровнями в дереве ключей
+ реестра.</para>
+
+ <para>За общесистемными настройками Subversion обращается к ключу
+ <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion</literal>
+ Например, параметр <literal>global-ignores</literal>, находящийся в
+ разделе <literal>miscellany</literal> файла
+ <filename>config</filename> будет находиться в <literal>HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores</literal>. Пользовательские настройки хранятся в ключе
+ <literal>HKEY_CURRENT_USER\Software\Tigris.org\Subversion</literal>.
+ </para>
+
+ <!-- @ENGLISH {{{
+ <para>Registry-based configuration options are parsed
+ <emphasis>before</emphasis> their file-based counterparts,
+ so are overridden by values found in the configuration
+ files. In other words, configuration priority is granted in
+ the following order on a Windows system:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Command-line options</para>
+ </listitem>
+ <listitem>
+ <para>The per-user INI files</para>
+ </listitem>
+ <listitem>
+ <para>The per-user Registry values</para>
+ </listitem>
+ <listitem>
+ <para>The system-wide INI files</para>
+ </listitem>
+ <listitem>
+ <para>The system-wide Registry values</para>
+ </listitem>
+ </orderedlist>
+ @ENGLISH }}} -->
+ <para>Параметры конфигурации, указанные в реестре обрабатываются
+ <emphasis>до</emphasis> эквивалентных параметров в файлах
+ конфигурации, поэтому они заменяются значениями, найденными,
+ в файлах конфигурации. Другими словами, на Windows-системе
+ приоритеты расположены в следующем порядке:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Параметры командной строки</para>
+ </listitem>
+ <listitem>
+ <para>Пользовательские INI-файлы</para>
+ </listitem>
+ <listitem>
+ <para>Параметры в реестре</para>
+ </listitem>
+ <listitem>
+ <para>Системные INI-файлы</para>
+ </listitem>
+ <listitem>
+ <para>Общесистемные параметры в реестре</para>
+ </listitem>
+ </orderedlist>
+
+ <!-- @ENGLISH {{{
+ <para>Also, the Windows Registry doesn't really support the
+ notion of something being <quote>commented out</quote>.
+ However, Subversion will ignore any option key whose name
+ begins with a hash (<literal>#</literal>) character. This
+ allows you to effectively comment out a Subversion option
+ without deleting the entire key from the Registry, obviously
+ simplifying the process of restoring that option.</para>
+
+ <para>The <command>svn</command> command-line client never
+ attempts to write to the Windows Registry, and will not
+ attempt to create a default configuration area there. You can
+ create the keys you need using the <command>REGEDIT</command>
+ program. Alternatively, you can create a
+ <filename>.reg</filename> file, and then double-click on that
+ file from the Explorer shell, which will cause the data to be
+ merged into your registry.</para>
+
+ <example id="svn.advanced.confarea.windows-registry.ex-1">
+ <title>Sample Registration Entries (.reg) File.</title>
+ @ENGLISH }}} -->
+ <para>Кроме того, реестр Windows не поддерживает механизма
+ <quote>комментирования</quote>. Тем не менее, Subversion
+ игнорирует параметры, у которых имена начинаются с
+ символа <quote>решетка</quote> (<literal>#</literal>).
+ Это позволяет закомментировать параметр, не удаляя ключ из
+ реестра, что значительно упрощает процесс восстановления этого
+ параметра.</para>
+
+ <para>Клиент для командной строки <command>svn</command>
+ никогда ничего не записывает и не создает первоначальные
+ <quote>умолчательные</quote> параметры в реестре Windows.
+ Нужные вам ключи вы можете создать используя программу
+ <command>REGEDIT</command>. Либо, можно создать
+ <filename>.reg</filename>-файл и двойным щелчком на этом файле
+ в Explorer добавить информацию в реестр.</para>
+
+ <example id="svn.advanced.confarea.windows-registry.ex-1">
+ <title>Пример указания параметров в (.reg) файле реестра.</title>
+
+ <programlisting>
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\groups]
+
+[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global]
+"#http-proxy-host"=""
+"#http-proxy-port"=""
+"#http-proxy-username"=""
+"#http-proxy-password"=""
+"#http-proxy-exceptions"=""
+"#http-timeout"="0"
+"#http-compression"="yes"
+"#neon-debug-mask"=""
+"#ssl-authority-files"=""
+"#ssl-trust-default-ca"=""
+"#ssl-client-cert-file"=""
+"#ssl-client-cert-password"=""
+
+[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]
+"#store-auth-creds"="no"
+
+[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers]
+"#editor-cmd"="notepad"
+"#diff-cmd"=""
+"#diff3-cmd"=""
+"#diff3-has-program-arg"=""
+
+[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
+"#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store"
+"#log-encoding"=""
+"#use-commit-times"=""
+"#template-root"=""
+"#enable-auto-props"=""
+
+[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\tunnels]
+
+[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]
+</programlisting>
+ </example>
+
+ <!-- @ENGLISH {{{
+ <para>The previous example shows the contents of a
+ <filename>.reg</filename> file which contains some of the most
+ commonly used configuration options and their default values.
+ Note the presence of both system-wide (for network
+ proxy-related options) and per-user settings (editor programs
+ and password storage, among others). Also note that all the
+ options are effectively commented out. You need only to
+ remove the hash (<literal>#</literal>) character from the
+ beginning of the option names, and set the values as you
+ desire.</para>
+ @ENGLISH }}} -->
+ <para>В предыдущем примере показано содержимое
+ <filename>.reg</filename>-файла, содержащего часто используемые
+ параметры и их значения по умолчанию. Обратите внимание, что
+ приведены как общесистемные (сетевые настройки, относящиеся к
+ прокси-серверу) и пользовательские параметры (программы-редакторы
+ и сохранение паролей, среди прочего). Так же обратите внимание,
+ что все параметры закомментированы. Необходимо будет просто удалить
+ символ <quote>решетка</quote> (<literal>#</literal>) и установить
+ нужное значение.</para>
+
+ </sect2>
+
+ <!-- =============================================================== -->
+ <sect2 id="svn.advanced.confarea.opts">
+ <!-- @ENGLISH {{{
+ <title>Configuration Options</title>
+
+ <para>In this section, we will discuss the specific
+ run-time configuration options that are currently supported
+ by Subversion.</para>
+ @ENGLISH }}} -->
+ <title>Параметры конфигурации</title>
+
+ <para>В этом разделе рассматриваются поддерживаемые
+ Subversion параметры времени выполнения.</para>
+
+ <sect3 id="svn.advanced.confarea.opts.servers">
+ <title>Servers</title>
+
+ <!-- @ENGLISH {{{
+ <para>The <filename>servers</filename> file contains
+ Subversion configuration options related to the network
+ layers. There are two special section names in this
+ file—<literal>groups</literal> and
+ <literal>global</literal>. The <literal>groups</literal>
+ section is essentially a cross-reference table. The keys in
+ this section are the names of other sections in the file;
+ their values are <firstterm>globs</firstterm>—textual
+ tokens which possibly contain wildcard
+ characters—that are compared against the hostnames of
+ the machine to which Subversion requests are sent.</para>
+ @ENGLISH }}} -->
+ <para>В файле <filename>servers</filename> находятся настройки,
+ относящиеся к работе Subversion через сеть. Он содержит
+ два специальных раздела — <literal>groups</literal> и
+ <literal>global</literal>. Раздел <literal>groups</literal>
+ представляет собой просто перекрестную таблицу. Ключи этого
+ раздела являются именами последующих разделов файла; значения
+ ключей представляют собой <firstterm>обобщения</firstterm> —
+ текстовые блоки, которые могут содержать подстановочные символы
+ — сравниваемые с именами машин, к которым Subversion
+ направляет запросы.</para>
+
+ <programlisting>
+[groups]
+beanie-babies = *.red-bean.com
+collabnet = svn.collab.net
+
+[beanie-babies]
+…
+
+[collabnet]
+…
+</programlisting>
+
+ <!-- @ENGLISH {{{
+ <para>When Subversion is used over a network, it attempts to
+ match the name of the server it is trying to reach with a
+ group name under the <literal>groups</literal> section. If
+ a match is made, Subversion then looks for a section in the
+ <filename>servers</filename> file whose name is the matched
+ group's name. From that section it reads the actual network
+ configuration settings.</para>
+
+ <para>The <literal>global</literal> section contains the
+ settings that are meant for all of the servers not matched
+ by one of the globs under the <literal>groups</literal>
+ section. The options available in this section are
+ exactly the same as those valid for the other server
+ sections in the file (except, of course, the special
+ <literal>groups</literal> section), and are as
+ follows:</para>
+ @ENGLISH }}} -->
+ <para>При работе через сеть, Subversion ищет совпадения между
+ именем сервера, с которым устанавливается связь и именем группы
+ в разделе <literal>groups</literal>. Если найдено совпадение,
+ Subversion обращается к файлу <filename>servers</filename>,
+ к разделу с именем, совпадающим с именем группы. Из этого раздела
+ берутся необходимые сетевые настройки.</para>
+
+ <para>Раздел <literal>global</literal> содержит настройки,
+ используемые для всех серверов, не подпадающих ни под одно
+ обобщение раздела <literal>groups</literal>. Здесь указываются
+ те-же, что и для остальных серверных разделов файла параметры
+ (конечно, за исключением специального раздела
+ <literal>groups</literal>), используемые параметры приведены
+ ниже:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><literal>http-proxy-host</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the hostname of the proxy computer
+ through which your HTTP-based Subversion requests must
+ pass. It defaults to an empty value, which means that
+ Subversion will not attempt to route HTTP requests
+ through a proxy computer, and will instead attempt to
+ contact the destination machine directly.</para>
+ @ENGLISH }}} -->
+ <para>Указывает имя компьютера-посредника, через который
+ Subversion должна отправлять HTTP-запросы. По умолчанию,
+ этот параметр имеет пустое значение, которое говорит
+ Subversion о том, что она должна направлять HTTP-запросы
+ не через компьютер-посредник, а связываться с целевой машиной
+ напрямую.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>http-proxy-port</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the port number on the proxy host
+ to use. It defaults to an empty value.</para>
+ @ENGLISH }}} -->
+ <para>Указывает номер используемого порта на промежуточном
+ компьютере. По умолчанию имеет пустое значение.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>http-proxy-username</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the username to supply to the proxy
+ machine. It defaults to an empty value.</para>
+ @ENGLISH }}} -->
+ <para>Указывает имя пользователя, передаваемого
+ компьютеру-посреднику. По умолчанию имеет пустое
+ значение.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>http-proxy-password</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the password to supply to the proxy
+ machine. It defaults to an empty value.</para>
+ @ENGLISH }}} -->
+ <para>Указывает пароль, передаваемый
+ компьютеру-посреднику. По умолчанию имеет пустое
+ значение.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>http-timeout</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the amount of time, in seconds, to
+ wait for a server response. If you experience
+ problems with a slow network connection causing
+ Subversion operations to timeout, you should increase
+ the value of this option. The default value is
+ <literal>0</literal>, which instructs the underlying
+ HTTP library, Neon, to use its default timeout
+ setting.</para>
+ @ENGLISH }}} -->
+ <para>Указывает, в секундах, промежуток времени ожидания
+ ответа сервера. Если при низкоскоростном сетевом соединении
+ у вас возникает проблема превышения времени ожидания,
+ следует увеличить это значение. Значение по умолчанию
+ <literal>0</literal> означает для низлежащей HTTP библиотеки,
+ Neon, использовать свое собственное значение времени
+ ожидания.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>http-compression</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies whether or not Subversion should
+ attempt to compress network requests made to DAV-ready
+ servers. The default value is <literal>yes</literal>
+ (though compression will only occur if that capability
+ is compiled into the network layer). Set this to
+ <literal>no</literal> to disable compression, such as
+ when debugging network transmissions.</para>
+ @ENGLISH }}} -->
+ <para>Указывает, должна или нет Subversion использовать
+ сжатие сетевых запросов, выполняющихся к DAV-серверам.
+ Значением по умолчанию является <literal>yes</literal>
+ (однако выполняться сжатие будет только если такая
+ возможность поддерживается сетевым слоем). Установите
+ этот параметр в <literal>no</literal>, для отключения
+ сжатия, например при отладке сетевых транзакций.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>neon-debug-mask</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This is an integer mask that the underlying HTTP
+ library, Neon, uses for choosing what type of
+ debugging output to yield. The default value is
+ <literal>0</literal>, which will silence all debugging
+ output. For more information about how Subversion
+ makes use of Neon, see <xref linkend="svn.developer" />.</para>
+ @ENGLISH }}} -->
+ <para>Целочисленная маска, которая используется низлежащей
+ HTTP-библиотекой, Neon, для определения типа выводимой
+ отладочной информации. По умолчанию установлено значение
+ <literal>0</literal>, скрывающие весь отладочный вывод.
+ Подробнее о том как Subversion использует Neon читайте в
+ разделе <xref linkend="svn.developer" />.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>ssl-authority-files</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This is a semicolon-delimited list of paths to files
+ containing certificates of the certificate authorities
+ (or CAs) that
+ are accepted by the Subversion client when accessing the
+ repository over HTTPS.</para>
+ @ENGLISH }}} -->
+ <para>Разделенный точкой с запятой перечень путей к файлам,
+ содержащим сертификаты авторизации (или CAs), используемые
+ Subversion-клиентом при обращении к хранилищу через
+ HTTPS.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>ssl-trust-default-ca</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>Set this variable to <literal>yes</literal> if you
+ want Subversion to automatically trust the set of
+ default CAs that ship with OpenSSL.</para>
+ @ENGLISH }}} -->
+ <para>Установите значение этой переменной в
+ <literal>yes</literal>, если хотите чтобы Subversion
+ автоматически доверяла набору поставляемых вместе
+ с OpenSSL сертификатов (CAs).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>ssl-client-cert-file</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>If a host (or set of hosts) requires an SSL client
+ certificate, you'll normally be prompted for a path to
+ your certificate. By setting this variable to that
+ same path, Subversion will be able to find your client
+ certificate automatically without prompting you.
+ There's no standard place to store your certificate on
+ disk; Subversion will grab it from any path you
+ specify.</para>
+ @ENGLISH }}} -->
+ <para>Если хост (или хосты) требуют SSL сертификат клиента,
+ у вас будет запрошен путь к вашему сертификату. Установите
+ значение этой переменной и Subversion сможет автоматически
+ находить ваш сертификат, без запроса. Нет стандартного места
+ для хранения сертификата на диске; Subversion будет
+ использовать тот, который располагается по указанному вами
+ пути.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>ssl-client-cert-password</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>If your SSL client certificate file is encrypted
+ by a passphrase, Subversion will prompt you for the
+ passphrase whenever the certificate is used. If you
+ find this annoying (and don't mind storing the
+ password in the <filename>servers</filename> file),
+ then you can set this variable to the certificate's
+ passphrase. You won't be prompted anymore.</para>
+ @ENGLISH }}} -->
+ <para>Если ваш клиентский SSL сертификат защищен паролем,
+ при обращении к нему Subversion запросит у вас пароль.
+ Если это вам надоедает (и вас не пугает хранить пароль
+ в файле <filename>servers</filename>), можно присвоить
+ значению этой переменной пароль сертификата. После этого
+ пароль больше запрашиваться не будет.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect3>
+ <sect3 id="svn.advanced.confarea.opts.config">
+ <title>Config</title>
+
+ <!-- @ENGLISH {{{
+ <para>The <filename>config</filename> file contains the rest
+ of the currently available Subversion run-time options,
+ those not related to networking. There are only a few
+ options in use at this time, but they are again grouped into
+ sections in expectation of future additions.</para>
+
+ <para>The <literal>auth</literal> section contains settings
+ related to Subversion's authentication and authorization
+ against the repository. It contains:</para>
+ @ENGLISH }}} -->
+ <para>Остальные доступные параметры времени выполнения Subversion,
+ не относящиеся к сетевой работе, находятся в файле
+ <filename>config</filename>. В данный момент существует всего
+ несколько параметров, но они тоже сгруппированы в разделы,
+ в расчете на их увеличение в будущем.</para>
+
+ <para>Раздел <literal>auth</literal> содержит параметры, относящиеся
+ к аутентификации и авторизации в хранилище. Он содержит:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><literal>store-passwords</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This instructs Subversion to cache, or not to
+ cache, passwords that are supplied by the user in
+ response to server authentication challenges. The
+ default value is <literal>yes</literal>. Set this to
+ <literal>no</literal> to disable this on-disk password
+ caching. You can override this option for a single
+ instance of the <command>svn</command> command using
+ the <option>-ﳢ-no-auth-cache</option> command-line
+ parameter (for those subcommands that support it).
+ For more information, see <xref
+ linkend="svn.serverconfig.netmodel.credcache"/>.</para>
+ @ENGLISH }}} -->
+ <para>Устанавливает, используется или не используется
+ кеширование паролей, введенных пользователем в ответ на
+ запрос при аутентификации на сервере. Значением по умолчанию
+ является <literal>да</literal>. Для запрета кеширования
+ паролей на диск установите этот параметр в
+ <literal>нет</literal>. Для отдельного запуска
+ <command>svn</command> этот параметр можно переопределить,
+ используя параметр командной строки
+ <option>--no-auth-cache</option> (для тех команд, которые его
+ поддерживают). За более подробной информацией обратитесь к
+ разделу <xref linkend="svn.serverconfig.netmodel.credcache"/>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>store-auth-creds</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This setting is the same as
+ <literal>store-passwords</literal>, except that it
+ enables or disables disk-caching of
+ <emphasis>all</emphasis> authentication information:
+ usernames, passwords, server certificates, and any
+ other types of cacheable credentials.</para>
+ @ENGLISH }}} -->
+ <para>Этот параметр такой же как и
+ <literal>store-passwords</literal>, за исключением того,
+ что он разрешает или запрещает дисковое кеширование
+ <emphasis>всей</emphasis> информации для аутентификации:
+ имен пользователей, паролей, серверных сертификатов и всей
+ другой кешируемой информации.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <!-- @ENGLISH {{{
+ <para>The <literal>helpers</literal> section controls which
+ external applications Subversion uses to accomplish its
+ tasks. Valid options in this section are:</para>
+ @ENGLISH }}} -->
+ <para>Раздел <literal>helpers</literal> определяет, какие внешние
+ приложения, при выполнении своих задач, будет использовать
+ Subversion. Доступные параметры:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><literal>editor-cmd</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the program Subversion will use to
+ query the user for a log message during a commit
+ operation, such as when using <command>svn
+ commit</command> without either the
+ <option>-ﳢ-message</option> (<option>-m</option>) or
+ <option>-ﳢ-file</option> (<option>-F</option>) options.
+ This program is also used with the <command>svn
+ propedit</command> command—a temporary file is
+ populated with the current value of the property the
+ user wishes to edit, and the edits take place right
+ in the editor program (see <xref
+ linkend="svn.advanced.props" />). This option's default
+ value is empty. The order of priority for determining the
+ editor command is:</para>
+ <orderedlist>
+ <listitem>
+ <para>Command-line option <literal>-ﳢ-editor-cmd</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>SVN_EDITOR</literal></para>
+ </listitem>
+ <listitem>
+ <para>Configuration option <literal>editor-cmd</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>VISUAL</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>EDITOR</literal></para>
+ </listitem>
+ <listitem>
+ <para>Possibly, a default value built in to Subversion
+ (not present in the official builds)</para>
+ </listitem>
+ </orderedlist>
+ <para>The value of any of these options or variables is
+ (unlike <literal>diff-cmd</literal>) the beginning of a
+ command line to be executed by the shell. Subversion
+ appends a space and the pathname of the temporary file to be
+ edited. The editor should modify the temporary file and
+ return a zero exit code to indicate success.</para>
+ @ENGLISH }}} -->
+ <para>Определяет программу, которую будет использовать
+ Subversion для ввода лог сообщений, в тех случаях, когда
+ <command>svn commit</command> используется без параметров
+ <option>--message</option> (<option>-m</option>) или
+ <option>--file</option> (<option>-F</option>). Эта же
+ программа используется с командой <command>svn
+ propedit</command> — вызывается временный файл,
+ содержащий текущее значение редактируемого пользователем
+ свойства и редактирование выполняется прямо в
+ программе-редакторе (см. <xref
+ linkend="svn.advanced.props" />). По умолчанию значение
+ этого свойства не установлено. Порядок определения
+ используемого редактора следующий:</para>
+ <orderedlist>
+ <listitem>
+ <para>Command-line option <literal>--editor-cmd</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>SVN_EDITOR</literal></para>
+ </listitem>
+ <listitem>
+ <para>Configuration option <literal>editor-cmd</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>VISUAL</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>EDITOR</literal></para>
+ </listitem>
+ <listitem>
+ <para>Possibly, a default value built in to Subversion
+ (not present in the official builds)</para>
+ </listitem>
+ </orderedlist>
+ <para>The value of any of these options or variables is
+ (unlike <literal>diff-cmd</literal>) the beginning of a
+ command line to be executed by the shell. Subversion
+ appends a space and the pathname of the temporary file to be
+ edited. The editor should modify the temporary file and
+ return a zero exit code to indicate success.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>diff-cmd</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the absolute path of a differencing
+ program, used when Subversion generates
+ <quote>diff</quote> output (such as when using the
+ <command>svn diff</command> command). By default
+ Subversion uses an internal differencing
+ library—setting this option will cause it to
+ perform this task using an external program. See
+ <xref linkend="svn.advanced.externaldifftools"/> for
+ more details on using such programs.</para>
+ @ENGLISH }}} -->
+ <para>Здесь указывается абсолютный путь к программе
+ определения отличий, используемой, Subversion для
+ <quote>diff</quote>-вывода (такого как при использовании
+ команды <command>svn diff</command>). По умолчанию для
+ определения отличий Subversion использует внутреннюю
+ библиотеку — установка этого параметра
+ заставит ее использовать внешнюю программу. Подробнее
+ об использовании таких программ читайте в разделе
+ <xref linkend="svn.advanced.externaldifftools"/>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>diff3-cmd</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This specifies the absolute path of a three-way
+ differencing program. Subversion uses this program to
+ merge changes made by the user with those received
+ from the repository. By default Subversion uses an
+ internal differencing library—setting this
+ option will cause it to perform this task using an
+ external program. See <xref
+ linkend="svn.advanced.externaldifftools"/> for more
+ details on using such programs.</para>
+ @ENGLISH }}} -->
+ <para>Здесь указывается абсолютный путь к программе
+ трехстороннего сравнения. Subversion использует эту
+ программу при объединении изменений, сделанных
+ пользователем, с теми, которые были получены из
+ хранилища. По умолчанию для определения отличий Subversion
+ использует внутреннюю библиотеку — установка этого
+ параметра заставит ее использовать внешнюю программу.
+ Подробнее об использовании таких программ читайте в разделе
+ <xref linkend="svn.advanced.externaldifftools"/>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>diff3-has-program-arg</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This flag should be set to <literal>true</literal>
+ if the program specified by the
+ <literal>diff3-cmd</literal> option accepts a
+ <option>-ﳢ-diff-program</option> command-line
+ parameter.</para>
+ @ENGLISH }}} -->
+ <para>Этот флаг должен быть установлен в
+ <literal>true</literal> если программа, указанная в
+ параметре <literal>diff3-cmd</literal> использует
+ параметр командной строки
+ <option>--diff-program</option>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <!-- @ENGLISH {{{
+ <para>The <literal>tunnels</literal> section allows you to
+ define new tunnel schemes for use with
+ <command>svnserve</command> and <literal>svn://</literal>
+ client connections. For more details, see <xref
+ linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
+
+ <para>The <literal>miscellany</literal> section is where
+ everything that doesn't belong elsewhere winds up.
+ <footnote>
+ <para>Anyone for potluck dinner?</para>
+ </footnote>
+ In this section, you can find:</para>
+ @ENGLISH }}} -->
+ <para>Раздел <literal>tunnels</literal> позволяет определить
+ новые схемы туннелирования при использовании
+ <command>svnserve</command> и клиентских подключений через
+ <literal>svn://</literal>. За более подробной информацией
+ обращайтесь в раздел <xref
+ linkend="svn.serverconfig.svnserve.sshauth"/>.</para>
+
+ <para>Все что не попало в другие разделы собирается в разделе
+ <literal>miscellany</literal><footnote><para>Anyone for potluck
+ dinner?</para></footnote>. В этом разделе можно найти:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><literal>global-ignores</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>When running the <command>svn status</command>
+ command, Subversion lists unversioned files and
+ directories along with the versioned ones, annotating
+ them with a <literal>?</literal> character (see <xref
+ linkend="svn.tour.cycle.examine.status" />). Sometimes, it can
+ be annoying to see uninteresting, unversioned
+ items—for example, object files that result from
+ a program's compilation—in this display. The
+ <literal>global-ignores</literal> option is a list of
+ whitespace-delimited globs which describe the names of
+ files and directories that Subversion should not
+ display unless they are versioned. The default value
+ is <literal>*.o *.lo *.la #*# .*.rej *.rej .*~ *~
+ .#* .DS_Store</literal>.</para>
+
+ <para>As well as <command>svn status</command>, the
+ <command>svn add</command> and <command>svn import</command>
+ commands also ignore files that match the list
+ when they are scanning a directory. You can override this
+ behaviour for a single instance of any of these commands
+ by explicitly specifying the file name, or by using
+ the <option>-ﳢ-no-ignore</option> command-line flag.</para>
+
+ <para>For information on more fine-grained control of
+ ignored items, see <xref linkend="svn.advanced.props.special.ignore"
+ />.</para>
+ @ENGLISH }}} -->
+ <para>Про выполнении команды <command>svn status</command>,
+ Subversion перечисляет не версионированные файлы и
+ директории вместе с версионированными, отмечая их
+ символом <literal>?</literal> (см. <xref
+ linkend="svn.tour.cycle.examine.status" />). Просмотр
+ не интересных, не версионированных элементов при просмотре
+ может раздражать — например объектные файлы, полученные
+ в результате компиляции программы. Параметр
+ <literal>global-ignores</literal> является перечислением
+ разделннных пробелом обобщений, представляющих имена файлов и
+ директорий которые Subversion не должна показывать, если они
+ не версионированны. Значением, присвоенным по умолчанию,
+ является <literal>*.o *.lo *.la #*# .*.rej *.rej .*~ *~
+ .#* .DS_Store</literal>.</para>
+
+ <para>Также как и <command>svn status</command>, команды
+ <command>svn add</command> и <command>svn import</command>
+ при просмотре директорий тоже игнорируют файлы, подходящие
+ к этому списку. Можно переопределить этот параметр, используя
+ флаг командной строки <option>--no-ignore</option>. Более
+ подробнее о контроле игнорирования см. <xref
+ linkend="svn.advanced.props.special.ignore" />.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>enable-auto-props</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This instructs Subversion to automatically set
+ properties on newly added or imported files. The
+ default value is <literal>no</literal>, so set this to
+ <literal>yes</literal> to enable Auto-props.
+ The <literal>auto-props</literal> section of this file
+ specifies which properties are to be set on which files.</para>
+ @ENGLISH }}} -->
+ <para>Определяет автоматическую установку свойств
+ для вновь добавляемых или импортированных файлов.
+ Значением по умолчанию является <literal>no</literal>,
+ поэтому для разрешения авто-свойств установите
+ <literal>yes</literal>. Раздел <literal>auto-props</literal>
+ этого файла определяет, какие свойства и для каких файлов
+ должны устанавливаться.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>log-encoding</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>This variable sets the default character set
+ encoding for commit log messages. It's a permanent
+ form of the <option>-ﳢ-encoding</option> option (see
+ <xref linkend="svn.ref.svn.sw"/>). The Subversion
+ repository stores log messages in UTF-8, and assumes
+ that your log message is written using your operating
+ system's native locale. You should specify a
+ different encoding if your commit messages are written
+ in any other encoding.</para>
+ @ENGLISH }}} -->
+ <para>Эта переменная задает набор символов кодировки для
+ лог-сообщений фиксаций. Это перманентная форма параметра
+ <option>--encoding</option> (см. <xref
+ linkend="svn.ref.svn.sw"/>). Хранилище Subversion
+ хранит лог-сообщения в UTF8, и предполагает, что ваше
+ лог-сообщение написано используя родную локаль операционной
+ ситемы. Кодировку необходимо указывать, если
+ используется любая другая кодировка.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>use-commit-times</literal></term>
+ <listitem>
+ <!-- @ENGLISH {{{
+ <para>Normally your working copy files have timestamps
+ that reflect the last time they were touched by any
+ process, whether that be your own editor or by some
+ <command>svn</command> subcommand. This is generally
+ convenient for people developing software, because
+ build systems often look at timestamps as a way of
+ deciding which files need to be recompiled.</para>
+
+ <para>In other situations, however, it's sometimes nice
+ for the working copy files to have timestamps that
+ reflect the last time they were changed in the
+ repository. The <command>svn export</command> command
+ always places these <quote>last-commit
+ timestamps</quote> on trees that it produces. By
+ setting this config variable to
+ <literal>yes</literal>, the <command>svn
+ checkout</command>, <command>svn update</command>,
+ <command>svn switch</command>, and <command>svn
+ revert</command> commands will also set last-commit
+ timestamps on files that they touch.</para>
+ @ENGLISH }}} -->
+ <para>Как правило, файлы рабочей копии имеют отметки
+ времени, отражающие время последнего обращения к
+ ним какого-либо процесса, был ли это ваш редактор,
+ или подкоманды <command>svn</command>. Это должно
+ быть близко людям, разрабатывающим программное
+ обеспечение, потому, что как правило, системы
+ сборки определяют по метке времени какие файлы
+ требуют перекомпиляции.</para>
+
+ <para>С другой стороны, иногда бывает выгодно, что бы
+ рабочие файлы имели метки времени отражающие время их
+ последнего изменения в хранилище. Команда <command>svn
+ export</command> всегда устанавливает <quote>метку времени
+ последней фиксации</quote> для создаваемого ею дерева
+ файлов. При установке значения этой переменной в
+ <literal>yes</literal> команды <command>svn
+ checkout</command>, <command>svn update</command>,
+ <command>svn switch</command> и <command>svn
+ revert</command> для используемых ими файлов,
+ так же будут устанавливать метку времени последней
+ фиксации.</para>
+ </listitem>
+ </varlistentry>
+
+ <!-- ###TODO add description of other options shown in example
+ registry file, e.g., template-root -->
+ </variablelist>
+
+ <!-- @ENGLISH {{{
+ <para>The <literal>auto-props</literal> section controls
+ the Subversion client's ability to automatically set
+ properties on files when they are added or imported.
+ It contains any number of key-value pairs in the
+ format <literal>PATTERN = PROPNAME=PROPVALUE</literal>
+ where <literal>PATTERN</literal> is a file pattern
+ that matches a set of filenames and the rest of the
+ line is the property and its value. Multiple matches
+ on a file will result in multiple propsets for that
+ file; however, there is no guarantee that auto-props
+ will be applied in the order in which they are listed
+ in the config file, so you can't have one rule
+ <quote>override</quote> another. You can find several
+ examples of auto-props usage in the
+ <filename>config</filename> file. Lastly, don't
+ forget to set <literal>enable-auto-props</literal> to
+ <literal>yes</literal> in the <literal>miscellany</literal>
+ section if you want to enable auto-props.</para>
+ @ENGLISH }}} -->
+ <para>Раздел <literal>auto-props</literal> определяет возможность
+ Subversion-клиента автоматически устанавливать свойства файлов,
+ когда они добавлялись или импортировались. Он содержит любое
+ количество пар ключ-значение, в формате
+ <literal>PATTERN = PROPNAME=PROPVALUE</literal>, где
+ <literal>PATTERN</literal> является файловым шаблоном,
+ соответствующих набору имен файлов, а остальная часть строки
+ является свойством и его значением. Множественные совпадения
+ для одного файла приведут к множественной установке свойств для
+ этого файла; однако не гарантируется, что порядок установки
+ авто-свойств будет таким же в каком они указаны в файле
+ конфигурации, поэтому нельзя будет одним правилом
+ <quote>перекрыть</quote> другое. Несколько примеров использования
+ авто-свойств можно найти в файле <filename>config</filename>.
+ Наконец, если хотите использовать авто-свойства, не забудьте в
+ разделе <literal>miscellany</literal> установить
+ <literal>enable-auto-props</literal> в
+ <literal>yes</literal>.</para>
+
+ </sect3>
+
+ </sect2>
+ </sect1>
+
<!-- ================================================================= -->
<!-- ================================================================= -->
<!-- ================================================================= -->
Copied: trunk/src/ru/book/ch-fundamental-concepts.xml (from r2646, /trunk/src/ru/book/ch-basic-concepts.xml)
==============================================================================
--- /trunk/src/ru/book/ch-basic-concepts.xml (original)
+++ trunk/src/ru/book/ch-fundamental-concepts.xml Sun Feb 4 08:01:41 2007
@@ -2,9 +2,9 @@
<chapter id="svn.basic">
<!-- @ENGLISH {{{
- <title>Basic Concepts</title>
+ <title>Fundamental Concepts</title>
@ENGLISH }}} -->
- <title>Основные понятия</title>
+ <title>Фундаментальные понятия</title>
<chapterinfo>
<!-- See also svn.preface.organization -->
<othername id="svn.basic.accusative-case" role="title-variant">главу
More information about the svnbook-dev
mailing list