[svnbook commit] r1724 - trunk/src/ru/book
dmitriy
svnbook-dev at red-bean.com
Fri Oct 7 12:27:41 CDT 2005
Author: dmitriy
Date: Fri Oct 7 12:27:40 2005
New Revision: 1724
Modified:
trunk/src/ru/book/ch02.xml (props changed)
trunk/src/ru/book/ch07.xml (contents, props changed)
Log:
Book Russian. Translated some parts from chapter 7
Modified: trunk/src/ru/book/ch07.xml
==============================================================================
--- trunk/src/ru/book/ch07.xml (original)
+++ trunk/src/ru/book/ch07.xml Fri Oct 7 12:27:40 2005
@@ -28,7 +28,7 @@
<para>Если эту книгу вы читали главу за главой, от начала до
конца, то к настоящему моменту должны иметь достаточно знаний
для использования Subversion клиента при выполнении типичных
- для управления версиями операций. Вы понимаете, как создавать
+ управлению версиями операций. Вы понимаете, как создавать
рабочую копию. Знаете как используя команды <command>svn
commit</command> и <command>svn update</command> отправлять и
получать изменения. Возможно у вас уже даже выработался рефлекс
@@ -69,7 +69,7 @@
серверные инструменты, входящие в поставку Subversion.</para>
<para>Перед чтением этой главы, необходимо хорошо представлять
- механизмы версионирования файлов и директорий в Subversion.
+ механизмы версионированния файлов и директорий в Subversion.
Если вы еще этого не прочитали или просто хотите освежить в памяти
эту информацию, рекомендуем просмотреть <xref linkend="svn.basic" />
и <xref linkend="svn.tour" />. После того как вы овладеете
@@ -113,8 +113,8 @@
в область конфигурации Subversion.</para>
<para><firstterm>Область конфигурации</firstterm> Subversion
- имеет двух уровневую иерархию имен параметров их значений.
- Как правило, она сводиться к отдельной директории содержащей
+ имеет двух уровневую иерархию имен параметров и их значений.
+ Как правило, она сводиться к отдельной директории, содержащей
<firstterm>конфигурационные файлы</firstterm> (первый уровень)
являющиеся простыми текстовыми файлами в стандартном INI формате
(с <quote>разделами</quote>, обеспечивающими второй уровень).
@@ -241,14 +241,14 @@
значение нужного параметра. Если в какой-то момент вы захотите
восстановить параметры по умолчанию, необходимо просто удалить
(или переименовать) директорию с конфигурацией, после чего
- выполнить несколько безобидных команд <command>svn</command>,
- например, <command>svn --version</command>. Будет создана
- новая директория с конфигурацией и содержимым по
+ выполнить какую-то безобидную команду <command>svn</command>,
+ например, <command>svn --version</command>. В результате будет
+ создана новая директория с конфигурацией и содержимым по
умолчанию.</para>
<para>Кроме того, пользовательская область конфигурации содержит
кеш идентификационной информации. Директория <filename>auth</filename>
- объединяет набор поддиректорий содержащих кешированну информацию,
+ объединяет набор поддиректорий, содержащих кешированну информацию,
используемую в различных, поддерживаемых Subversion методах
авторизации. Эта директория создается так, что бы только сам
пользователь имел право просматривать ее содержимое.</para>
@@ -463,12 +463,13 @@
@ENGLISH }}} -->
<title>Параметры конфигурации</title>
- <para>В этом разделе рассматриваются некоторые, поддерживаемые
+ <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
@@ -480,6 +481,17 @@
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]
@@ -493,6 +505,7 @@
…
</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
@@ -509,43 +522,81 @@
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
@@ -554,11 +605,20 @@
<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>
@@ -566,40 +626,69 @@
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
@@ -608,11 +697,20 @@
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
@@ -620,6 +718,13 @@
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>
@@ -628,6 +733,7 @@
<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
@@ -637,11 +743,21 @@
<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
@@ -649,39 +765,66 @@
<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
+ 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
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.
+ <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
@@ -694,11 +837,29 @@
<literal>VISUAL</literal>, and
<literal>EDITOR</literal> (in that order) for an
editor command.</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" />). По умолчанию значение
+ этого свойства не установлено. Если этот параметр не задан,
+ для определения редактора Subversion возвращается к проверке
+ переменных среды <literal>SVN_EDITOR</literal>,
+ <literal>VISUAL</literal> и <literal>EDITOR</literal>
+ (именно в такой последовательности).</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
@@ -708,11 +869,22 @@
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
@@ -722,20 +894,38 @@
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
+ <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>
@@ -748,11 +938,23 @@
<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
@@ -773,43 +975,86 @@
commands also ignore files that match the list.
You can override this option for a single instance
of any of these commands by using
- the <option>--no-ignore</option> command-line flag.
+ the <option>-ﳢ-no-ignore</option> command-line flag.
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
+ form of the <option>-ﳢ-encoding</option> option (see
<xref linkend="svn.ref.svn.sw"/>.) The Subversion
repository stores log messages in UTF8, 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
@@ -830,6 +1075,28 @@
<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>
@@ -837,6 +1104,7 @@
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.
@@ -855,6 +1123,25 @@
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>
@@ -865,6 +1152,7 @@
<!-- ================================================================= -->
<!-- ================================================================= -->
<sect1 id="svn.advanced.props">
+ <!-- @ENGLISH {{{
<title>Properties</title>
<para>We've already covered in detail how Subversion stores and
@@ -890,8 +1178,35 @@
changes as easily as committing textual changes. And you
receive other people's property changes as you update your
working copy.</para>
+ @ENGLISH }}} -->
+ <title>Свойства</title>
+
+ <para>Мы уже рассмотрели как Subversion сохраняет и получает
+ разные версии файлов и директорий из хранилища. Целые главы были
+ посвящены этой самой фундаментальной части функциональных
+ возможностей этого инструмента. И если поддержка версионирования
+ этим ограничится, Subversion все равно останется полноценным
+ инструментом с точки зрения управления версиями. Однако
+ версионирование этим не ограничивается.</para>
+
+ <para>Дополнительно к версионированнию директорий и файлов,
+ Subversion предоставляет для каждой версионированной директории
+ и файла интерфейс для добавления, изменения и удаления
+ версионированных метаданных. К этим метаданным мы обращаемся как
+ к <firstterm>свойствам</firstterm>, присоединенным к каждому
+ элементу рабочей копии, которые можно представить
+ в виде таблицы с двумя столбцами, которая сопоставляет
+ имена свойств соответствующим значениям. Вообще, имена
+ и значения свойств могут быть тем, чем вы хотите чтобы они были,
+ за исключением того, что имена должны быть читаемым текстом.
+ И лучшим из всего является то, что они тоже версионированы
+ также как и текстовое содержимое файлов. Можно также просто как и
+ для текстовых изменений изменять, фиксировать и отменять изменения
+ свойств. При обновлении рабочей копии также получаются
+ и изменения свойств.</para>
<sidebar>
+ <!-- @ENGLISH {{{
<title>Other Properties in Subversion</title>
<para>Properties show up elsewhere in Subversion, too. Just as
@@ -902,8 +1217,20 @@
binary values—except that revision properties are not
versioned. See <xref linkend="svn.reposadmin.basics.revprops" /> for more
information on these unversioned properties.</para>
+ @ENGLISH }}} -->
+ <title>Еще один тип свойств в Subversion</title>
+
+ <para>Подобные приведенным выше, свойства используются и Subversion.
+ Так же как и произвольные имена свойств и соответствующие им значения,
+ имеются у файлов и директорий, каждая правка может иметь
+ произвольные свойства, присоединенные к ней. С теми же исключениями
+ — читаемое, текстовое имя и любое бинарное значение —
+ исключая версионирование свойств правок. Подробнее о таких
+ неверсионированных свойствах см. <xref
+ linkend="svn.reposadmin.basics.revprops" />.</para>
</sidebar>
+ <!-- @ENGLISH {{{
<para>In this section, we will examine the utility—both to
users of Subversion, and to Subversion itself—of property
support. You'll learn about the property-related
@@ -911,9 +1238,17 @@
modifications affect your normal Subversion workflow.
Hopefully, you'll be convinced that Subversion properties can
enhance your version control experience.</para>
+ @ENGLISH }}} -->
+ <para>В этом разделе мы рассмотрим полезность — как для
+ пользователя, так и для самой Subversion — поддержки
+ свойств. Вы узнаете о командах <command>svn</command>, относящихся к
+ свойствам и том как модификация свойств влияет на привычный рабочий
+ цикл. Надеемся, вы убедитесь в том, что свойства в Subversion
+ расширяют возможности контроля версий.</para>
<!-- =============================================================== -->
<sect2 id="svn.advanced.props.why">
+ <!-- @ENGLISH {{{
<title>Why Properties?</title>
<para>Properties can be very useful additions to your working
@@ -941,7 +1276,33 @@
separated from the original image file. Soon, your tree of
files is a mess, and grows in multiples with each new photo
added to the site.</para>
+ @ENGLISH }}} -->
+ <title>Зачем нужны свойства?</title>
+ <para>Свойства могут быть очень полезной добавкой к рабочей копии.
+ Фактически, сама Subversion использует свойства для хранения
+ служебной информации и определения того, какие действия необходимо
+ выполнить. Подобным образом и вы можете использовать свойства для
+ своих целей. Конечно, все для чего можно использовать свойства
+ можно делать, используя обычные версионированные файлы, однако
+ обратите внимание на приведенный ниже пример использования
+ Subversion-свойств.</para>
+
+ <para>Скажем, вы хотите разработать веб-сайт, содержащий много
+ цифровых фотографий и показывающий их с подписью и датой.
+ Набор этих фотографий постоянно изменяется и вы захотите
+ по возможности максимально автоматизировать этот сайт. Фотографии
+ могут быть большого размера и как обычно делают на таких
+ сайтах, для своих посетителей вам будет необходимо показывать
+ миниатюры изображений. Сделать это вы можете с помощью обычных
+ файлов. То есть рядом, в директории, вы можете иметь файлы
+ <filename>image123.jpg</filename> и
+ <filename>image123-thumbnail.jpg</filename>. Подобным образом,
+ отдельно от графического файла, можно хранить и дату. В результате
+ ваше дерево файлов будет захламлено и будет многократно увеличиваться
+ при каждом добавлении на сайт фотографии.</para>
+
+ <!-- @ENGLISH {{{
<para>Now consider the same setup using Subversion's file
properties. Imagine having a single image file,
<filename>image123.jpg</filename>, and then properties set on
@@ -962,11 +1323,33 @@
which we'll discuss a little later in this chapter. But
first, let's discuss how to manipulate options using the
<command>svn</command> program.</para>
+ @ENGLISH }}} -->
+ <para>Представим эту же ситуацию при использовании Subversion-свойств
+ файлов. Допустим, имеется файл <filename>image123.jpg</filename>
+ и у этого файла установлено свойство
+ <literal>caption</literal>, <literal>datestamp</literal> и даже
+ <literal>thumbnail</literal>. В этом случае рабочая копия выглядит
+ гораздо более управляемо — фактически она будет выглядеть
+ так, как-будто она ничего кроме графических файлов не содержит.
+ Однако ваш скрипт автоматизации знает больше. Он знает, что может
+ воспользоваться <command>svn</command> (а еще лучше языковой обвязкой
+ Subversion — см. <xref
+ linkend="svn.developer.usingapi.otherlangs" />) для получения
+ дополнительной, необходимой для показа на сайте информации,
+ не занимаясь чтением индексного файла или играми с путями
+ файлов.</para>
+
+ <para>Как (и для чего) использовать Subversion-свойства вы решаете
+ самостоятельно. Как уже говорилось, Subversion имеет свои применения
+ свойств, которые мы рассмотрим в этой главе немного позже. А с начала
+ давйте поговорим как работать со свойствами используя программу
+ <command>svn</command>.</para>
</sect2>
<!-- =============================================================== -->
<sect2 id="svn.advanced.props.manip">
+ <!-- @ENGLISH {{{
<title>Manipulating Properties</title>
<para>The <command>svn</command> command affords a few ways to
@@ -975,6 +1358,14 @@
add a new property is to specify the property name and value
on the command-line of the <command>propset</command>
subcommand.</para>
+ @ENGLISH }}} -->
+ <title>Использование свойств</title>
+
+ <para>Команда <command>svn</command> предоставляет несколько
+ способов добавления или изменения свойств файлов и директорий.
+ Возможно для свойств с коротким, читаемым значением, проще всего
+ добавить новое свойство, указав его имя и значение в командной строке
+ подкоманды <command>propset</command>.</para>
<screen>
$ svn propset copyright '(c) 2003 Red-Bean Software' calc/button.c
@@ -982,14 +1373,23 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>But we've been touting the flexibility that Subversion
offers for your property values. And if you are planning to
have a multi-line textual, or even binary, property value, you
probably do not want to supply that value on the command-line.
So the <command>propset</command> subcommand takes a
- <option>--file</option> (<option>-F</option>) option for
+ <option>-ﳢ-file</option> (<option>-F</option>) option for
specifying the name of
a file which contains the new property value.</para>
+ @ENGLISH }}} -->
+ <para>Однако мы уже знаем о гибкости, предлагаемой Subversion
+ для значений свойств. И если вам необходимо иметь многострочное
+ текстовое, или даже бинарное значение свойства, передавать
+ такое значение через командную строку вы не захотите. Для
+ таких случаев команда <command>propset</command> принимает
+ параметр <option>--file</option> (<option>-F</option>), с
+ именем файла, содержащего новое значение свойства.</para>
<screen>
$ svn propset license -F /path/to/LICENSE calc/button.c
@@ -997,6 +1397,7 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>In addition to the <command>propset</command> command, the
<command>svn</command> program supplies the
<command>propedit</command> command. This command uses the
@@ -1013,6 +1414,21 @@
accept that as the new property value. If you exit your
editor without making any changes, no property modification
will occur.</para>
+ @ENGLISH }}} -->
+ <para>Дополнительно к команде <command>propset</command>,
+ <command>svn</command> имеет команду <command>propedit</command>.
+ Эта команда использует для добавления или изменения свойств указанную
+ программу-редактор (см. <xref
+ linkend="svn.advanced.confarea.opts.config" />). При выполнении
+ команды, <command>svn</command> вызывает редактор с временным файлом,
+ содержащим текущее значение свойства (или с пустым файлом, если
+ добавляется новое свойство). Затем вы просто меняете в редакторе
+ значение, пока оно не станет таким, каким бы вы хотели его видеть,
+ сохраняете временный файл и выходите из редактора. Если Subversion
+ обнаружит, что вы действительно изменили существующие значение
+ свойства, будет установлено новое значение. Если вы вышли из
+ редактора не внеся изменений, модификации свойства не
+ произойдет.</para>
<screen>
$ svn propedit copyright calc/button.c ### exit the editor without changes
@@ -1020,11 +1436,18 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>We should note that, as with other <command>svn</command>
subcommands, those related to properties can act on multiple
paths at once. This enables you to modify properties on whole
sets of files with a single command. For example, we could
have done:</para>
+ @ENGLISH }}} -->
+ <para>Обращаем ваше внимание на то, что как и другие команды
+ <command>svn</command>, команды, относящиеся к свойствам
+ могут применяться к нескольким путям за раз. Это дает возможность
+ одной командой изменять свойства целого набора файлов. Например,
+ можно выполнить:</para>
<screen>
$ svn propset copyright '(c) 2002 Red-Bean Software' calc/*
@@ -1035,6 +1458,7 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>All of this property adding and editing isn't really very
useful if you can't easily get the stored property value. So
the <command>svn</command> program supplies two subcommands
@@ -1046,6 +1470,17 @@
propget</command>. This command will, given a path (or set of
paths) and a property name, print the value of the property to
the standard output stream.</para>
+ @ENGLISH }}} -->
+ <para>Все эти добавления и редактирования свойств не очень полезны,
+ если нельзя просто узнать значение свойства. Поэтому для показа
+ сохраненных для файлов и директорий имен и значений свойств,
+ программа <command>svn</command> предлагает две подкоманды.
+ Команда <command>svn proplist</command> перечисляет существующие
+ для указанного пути свойства. После того как вы знаете имя свойства,
+ можно, используя <command>svn propget</command>, запросить его
+ значение. Эта команда выведет на стандартный поток ввода-вывода
+ значение свойства для элемента по указанному пути (или путями) и с
+ указанным именем.</para>
<screen>
$ svn proplist calc/button.c
@@ -1056,10 +1491,16 @@
(c) 2003 Red-Bean Software
</screen>
+ <!-- @ENGLISH {{{
<para>There's even a variation of the
<command>proplist</command> command that will list both the
name and value of all of the properties. Simply supply the
- <option>--verbose</option> (<option>-v</option>) option.</para>
+ <option>-ﳢ-verbose</option> (<option>-v</option>) option.</para>
+ @ENGLISH }}} -->
+ <para>Существует даже вариант команды <command>proplist</command>,
+ который перечисляет как имена, так и значения свойств. Просто
+ добавьте параметр <option>--verbose</option>
+ (<option>-v</option>).</para>
<screen>
$ svn proplist --verbose calc/button.c
@@ -1078,12 +1519,20 @@
…
</screen>
+ <!-- @ENGLISH {{{
<para>The last property-related subcommand is
<command>propdel</command>. Since Subversion allows you to
store properties with empty values, you can't remove a
property altogether using <command>propedit</command> or
<command>propset</command>. For example, this command will
<emphasis>not</emphasis> yield the desired effect:</para>
+ @ENGLISH }}} -->
+ <para>Последней, относящейся к свойствам подкомандой является
+ <command>propdel</command>. Не смотря на то, что Subversion
+ позволяет сохранять свойства с пустыми значениями, полностью
+ удалить свойство, используя <command>propedit</command> или
+ <command>propset</command>, нельзя. Например, такая команда
+ не даст желаемого эффекта:</para>
<screen>
$ svn propset license '' calc/button.c
@@ -1095,9 +1544,14 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>You need to use the <command>propdel</command> command to
delete properties altogether. The syntax is similar to the
other property commands:</para>
+ @ENGLISH }}} -->
+ <para>Для полного удаления свойств необходимо использовать
+ команду <command>propdel</command>. Ее синтаксис такой же
+ как и у других команд работы со свойствами:</para>
<screen>
$ svn propdel license calc/button.c
@@ -1108,6 +1562,7 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>Now that you are familiar with all of the
property-related <command>svn</command> subcommands, let's see
how property modifications affect the usual Subversion
@@ -1116,13 +1571,23 @@
result, Subversion provides the same opportunities for
merging—in cleanly or conflicting fashions—someone
else's modifications into your own.</para>
+ @ENGLISH }}} -->
+ <para>Теперь, когда вы познакомились со всеми <command>svn</command>
+ командами, имеющими отношение к свойствам, давайте посмотрим
+ как модификация свойств влияет на привычный порядок работы с
+ Subversion. Как мы уже говорили, так же как и содержимое файлов,
+ свойства файлов и директорий версионированы. В результате,
+ Subversion предоставляет те-же возможности по слиянию
+ — в случае конфликтных ситуаций — чужих изменений
+ с вашими собственными.</para>
<sidebar>
+ <!-- @ENGLISH {{{
<title>Modifying Revision Properties</title>
<para>Remember those unversioned revision properties? You can
modify those, too, with the <command>svn</command> program.
- Simply add the <option>--revprop</option> command-line
+ Simply add the <option>-ﳢ-revprop</option> command-line
parameter, and specify the revision whose property you wish
to modify. Since revisions are global, you don't need to
specify a path in this case as long as you are positioned in
@@ -1133,8 +1598,23 @@
<para>Fixing spelling errors, grammatical gotchas, and
<quote>just-plain-wrongness</quote> in commit log
messages is perhaps the most common use case for the
- <option>--revprop</option> option.</para>
+ <option>-ﳢ-revprop</option> option.</para>
</footnote></para>
+ @ENGLISH }}} -->
+ <title>Редактирование свойств правок</title>
+
+ <para>Помните, мы говорили о неверсионированных свойствах
+ правок? Их то же можно менять с помощью <command>svn</command>.
+ Просто добавьте параметр командной строки <option>--revprop</option>
+ и укажите правку, чье свойство вы хотите изменить. Учитывая
+ глобальность правок, в этом случае не нужно указывать путь, так как
+ вы находитесь в рабочей копии хранилища, в котором вы хотите
+ изменить свойство правки. Например, может понадобиться заменить
+ лог-сообщение фиксации в существующей правке. <footnote>
+ <para>Исправление в лог сообщениях орфографических, грамматических
+ ошибок, <quote>просто ошибочных</quote> записей, наверно,
+ самые распространенные случаи использования параметра
+ <option>--revprop</option>.</para></footnote></para>
<screen>
$ svn propset svn:log '* button.c: Fix a compiler warning.' -r11 --revprop
@@ -1142,6 +1622,7 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>Note that the ability to modify these unversioned
properties must be explicitly added by the repository
administrator (see <xref linkend="svn.reposadmin.create.hooks" />).
@@ -1150,9 +1631,20 @@
The repository administrator can setup methods to protect
against this loss, and by default, modification of
unversioned properties is disabled.</para>
+ @ENGLISH }}} -->
+ <para>Обратите внимание на то, что изменение этих
+ неверсионированных свойств должно быть явно разрешено
+ администратором (см. <xref
+ linkend="svn.reposadmin.create.hooks" />). Учитывая то, что
+ свойства не версионируются, при не аккуратном редактировании,
+ вы рискуете потерять информацию. Для исключения потери информации,
+ администратор хранилища может принять меры предосторожности и
+ по умолчанию, изменение неверсионированных свойств
+ запрещено.</para>
</sidebar>
+ <!-- @ENGLISH {{{
<para>And as with file contents, your property changes are local
modifications, only made permanent when you commit them to the
repository with <command>svn commit</command>. Your property
@@ -1163,6 +1655,17 @@
the state of your file and directory properties by using the
<command>svn status</command> and <command>svn diff</command>
commands.</para>
+ @ENGLISH }}} -->
+ <para>Так же как и в случае с содержимым файлов, изменение свойств
+ является локальной модификацией и становится постоянной при ее
+ фиксации в хранилище с помощью <command>svn commit</command>.
+ Изменение свойств можно легко отменить — команда
+ <command>svn revert</command> восстановит файлы и директории
+ до их первоначального состояния, включая содержимое, свойства и
+ все остальное. Кроме того, интересную информацию о состоянии
+ свойств файлов и директорий можно получить с помощью команд
+ <command>svn status</command> и <command>svn
+ diff</command>.</para>
<screen>
$ svn status calc/button.c
@@ -1176,6 +1679,7 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>Notice how the <command>status</command> subcommand
displays <literal>M</literal> in the second column instead of
the first. That is because we have modified the properties on
@@ -1183,8 +1687,16 @@
textual contents. Had we changed both, we would have seen
<literal>M</literal> in the first column, too (see <xref
linkend="svn.tour.cycle.examine.status" />).</para>
+ @ENGLISH }}} -->
+ <para>Обратите внимание на то, что подкоманда <command>status</command>
+ показывает <literal>M</literal> не в первой, а во второй колонке.
+ Это потому, что в <filename>calc/button.c</filename> изменились
+ свойства, а текстовое содержимое нет. Если бы мы изменили и то и
+ другое, в первой колонке то же была бы буква <literal>M</literal>
+ (см. <xref linkend="svn.tour.cycle.examine.status" />).</para>
<sidebar>
+ <!-- @ENGLISH {{{
<title>Property Conflicts</title>
<para>As with file contents, local property modifications can
@@ -1193,6 +1705,15 @@
changes on a versioned resource that clash with your own,
Subversion will report that the resource is in a conflicted
state.</para>
+ @ENGLISH }}} -->
+ <title>Конфликты свойств</title>
+
+ <para>Так же как и в случае с содержимым файлов, локальные
+ модификации свойств могут конфликтовать с изменениями,
+ зафиксированными кем-то другим. При обновлении рабочей копии
+ директории и получении изменений свойств для версионированного
+ элемента, которые идут в разрез вашими собственными, Subversion
+ сообщит о конфликтном состоянии элемента.</para>
<screen>
% svn update calc
@@ -1202,6 +1723,7 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>Subversion will also create, in the same directory as
the conflicted resource, a file with a
<filename>.prej</filename> extension which contains the
@@ -1211,6 +1733,15 @@
<literal>C</literal> in the second column of <command>svn
status</command> output for that resource, and attempts to
commit your local modifications will fail.</para>
+ @ENGLISH }}} -->
+ <para>В директории с конфликтующим элементом Subversion
+ создает файл с расширением <filename>.prej</filename>,
+ с подробностями о конфликте. Для разрешения конфликта
+ необходимо познакомиться с содержимым этого файла. Пока
+ не будет решен конфликт, во второй колонке вывода
+ команды <command>svn status</command> будет присутствовать
+ буква <literal>C</literal>, а попытки фиксации локальных
+ изменений будут отклоняться.</para>
<screen>
$ svn status calc
@@ -1221,14 +1752,21 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>To resolve property conflicts, simply ensure that the
conflicting properties contain the values that they should,
and then use the <command>svn resolved</command> command to
alert Subversion that you have manually resolved the
problem.</para>
+ @ENGLISH }}} -->
+ <para>Для разрешения конфликтующих свойств, просто убедитесь,
+ что свойства имеют нужные значения, после чего, с помощь команды
+ <command>svn resolved</command>, уведомьте Subversion о том, что
+ вы решили проблему вручную.</para>
</sidebar>
+ <!-- @ENGLISH {{{
<para>You might also have noticed the non-standard way that
Subversion currently displays property differences. You can
still run <command>svn diff</command> and redirect the output
@@ -1248,12 +1786,31 @@
presence or absence of properties. The <command>svn</command>
program has some additional subcommands for actually making
property changes, but that is the only noticeable asymmetry.</para>
+ @ENGLISH }}} -->
+ <para>Кроме того нужно помнить о нестандартном подходе, используемом
+ Subversion при выводе различий для свойств. Безусловно, можно
+ запустить <command>svn diff</command> перенправить вывод, для создания
+ работоспособного файла отличий. Програма <command>patch</command>
+ будет просто игнорировать различия свойств — как правило,
+ она игнорирует любой мусор, который неможет обработать. К сожалению,
+ это значит, что для полного применения отличий, сгенерированных
+ <command>svn diff</command>, изменения свойств нужно вносить в
+ ручную.</para>
+
+ <para>Как видите, наличие измененных свойств никак не отражается
+ на привычном рабочем цикле. Операции обновления рабочей копии,
+ проверки статуса файлов и директорий, вывод сообщений о сделанных
+ изменениях и фиксация этих измениий в хранилище никак не зависят от
+ наличия или отсутствия свойств. У <command>svn</command> просто
+ имеется несколько дополнительных подкоманд для внесения изменений в
+ свойства однако это просто достойное внимания отличие.</para>
</sect2>
<!-- =============================================================== -->
<sect2 id="svn.advanced.props.special">
+ <!-- @ENGLISH {{{
<title>Special Properties</title>
<para>Subversion has no particular policy regarding
@@ -1265,10 +1822,23 @@
directories to which they are attached. In this section,
we'll untangle the mystery, and describe how these special
properties make your life just a little easier.</para>
+ @ENGLISH }}} -->
+ <title>Специальные свойства</title>
+
+ <para>У Subversion нет каких то отдельных правил для свойств
+ — использовать их можно как угодно. Единственно
+ что Subversion требует от вас не использовать в названиях
+ свойств префикс <literal>svn:</literal>. Потому, что это
+ пространство имен для ее личного использования. Subversion
+ выделяет несколько свойств, имеющих особый магический эффект
+ для файлов и директорий, для которых они установлены.
+ В этом разделе мы раскроем тайну и расскажем, как эти
+ специальные свойства делают жизнь немного проще.</para>
<sect3 id="svn.advanced.props.special.executable">
<title><literal>svn:executable</literal></title>
+ <!-- @ENGLISH {{{
<para>The <literal>svn:executable</literal> property is used
to control a versioned file's filesystem-level execute
permission bit in a semi-automated way. This property has
@@ -1289,7 +1859,29 @@
its execute bit might get disabled. So, Subversion provides
the <literal>svn:executable</literal> property as a way to
keep the execute bit enabled.</para>
+ @ENGLISH }}} -->
+ <para>Свойство <literal>svn:executable</literal> для версионированного
+ файла контролирует в полуавтоматическом режиме бит файловой
+ системы, разрешающий исполнение. Это свойство не имеет определенного
+ значения — просто его наличие говорит о необходимости для
+ Subversion выставлять бит разрешения выполнения. Удаление этого
+ свойства востанавливает полный контроль операционной системы над
+ битом выполнения.</para>
+
+ <para>На многих операционных системах возможность выполнения файла
+ как команды определяется битом разрешения выполнения. Обычно по
+ умолчанию этот бит не установлен и для файлов которым это
+ необходимо, он должен быть явно установлен пользователем.
+ Файлы в рабочей копии при обновлении создаются каждый раз
+ заново если во время обновления получается новая версия.
+ Это значит, что вы можете установить бит разрешения выполнения,
+ а если при выполнении обновления обновился и этот файл,
+ бит разрешения выполнения может оказаться опять сброшеным.
+ Для таких случаев Subversion и предлагает использовать
+ свойство <literal>svn:executable</literal>, как способ сохранения
+ бита разрешения выполнения.</para>
+ <!-- @ENGLISH {{{
<para>This property has no effect on filesystems that have no
concept of an executable permission bit, such as FAT32 and
NTFS.
@@ -1303,12 +1895,24 @@
its value to <literal>*</literal> when setting this property.
Finally, this property is valid only on files, not on
directories.</para>
+ @ENGLISH }}} -->
+ <para>Это свойство не имеет ни какой силы на таких файловых
+ системах, как FAT32 и NTFS, не имеющих понятия бита разрешения
+ выполнения<footnote><para>Для определения исполняемых файлов,
+ файловая система Windows использует расширения файлов (такие, как
+ <literal>.EXE</literal>, <literal>.BAT</literal> и
+ <literal>.COM</literal>).</para></footnote>. Кроме того,
+ так как оно не имеет определенного значения, при его установке
+ Subversion принудительно устанавливает значение
+ <literal>*</literal>. Наконец, это свойство действительно только
+ для файлов, не для директорий.</para>
</sect3>
<sect3 id="svn.advanced.props.special.mime-type">
<title><literal>svn:mime-type</literal></title>
+ <!-- @ENGLISH {{{
<para>The <literal>svn:mime-type</literal> property serves
many purposes in Subversion. Besides being a
general-purpose storage location for a file's Multipurpose
@@ -1338,12 +1942,44 @@
against failed attempts at performing contextual merges on
files that simply cannot be contextually merged.</para>
+
<para>Also, if the <literal>svn:mime-type</literal>
property is set, then the Subversion Apache module will use
its value to populate the <literal>Content-type:</literal>
HTTP header when responding to GET requests. This gives a
crucial clue about how to display a file when perusing
your repository with a web browser.</para>
+ @ENGLISH }}} -->
+ <para>Свойство <literal>svn:mime-type</literal> имеет в Subversion
+ несколько значений. Кроме общего назначения хранения информации о
+ файле согласно Универсальному Расширению Интернет Почты (MIME),
+ значение этого свойства определяет некоторые правила поведения самой
+ Subversion.</para>
+
+ <para>Например, если у файла свойство <literal>svn:mime-type</literal>
+ имеет не текстовый MIME-тип (проще говоря, кроме некоторых
+ исключений, не начинается с чего то вроде <literal>text/</literal>)
+ Subversion предпологает бинарное — не читаемое —
+ содержимое файла. Одной из положительных характеристик, предлагаемых
+ Subversion, является контекстное, построчное объединение изменений,
+ полученых с сервера при обновлении, с рабочим файлом. Однако файлы,
+ считающиеся бинарными, не имеют понятия <quote>строка</quote>.
+ Следовательно для таких файлов, при обновлении, Subversion не
+ пытается выполнить контекстное объединение. Вместо этого, при
+ локально измененной рабочей копии бинарного файла, для которого
+ выполняется обновление, файл рабочей копии переименовывается
+ добавлением расширения <filename>.orig</filename>, после чего,
+ под первоначальным именем, Subversion сохраняет новую рабочую копию,
+ содержащую изменения, полученные при обновлении и не содержащую ваших
+ собственных изменений. Такой подход используется для того, чтобы защитить
+ пользователя от попыток контекстного объединения файлов, которые просто
+ не могут быть контекстно объединены.</para>
+
+ <para>Кроме того, если уствновлено свойство <literal>svn:mime-type</literal>,
+ Apache-модуль будет использовать это значение при заполнении HTTP
+ заголовка <literal>Content-type:</literal> при ответе на GET-запросы.
+ Это имеет ключевой значение при определении того, как показывать файл
+ при просмотре хранилища используя web-браузер.</para>
</sect3>
@@ -3789,7 +4425,7 @@
character:</para>
<screen>
-$ svn checkout "http://host/path with space/project/espaц╠a"
+$ svn checkout "http://host/path with space/project/españa"
</screen>
<para>…then Subversion will escape the unsafe characters
More information about the svnbook-dev
mailing list