[svnbook commit] r2820 - in trunk/src/ru: . book
dmitriy
noreply at red-bean.com
Sat Jul 7 17:03:07 CDT 2007
Author: dmitriy
Date: Sat Jul 7 17:03:06 2007
New Revision: 2820
Log:
* src/ru - add external definition nb-bin that points to src/nb/bin
* src/ru/ruGlossary.xml - add glossentry for ''external definition''
* src/ru/book/ch-advanced-topics.xml - re-translate ''svn.advanced.externals''
* src/ru/book/app-third-party-tools.xml - re-translate
Modified:
trunk/src/ru/ (props changed)
trunk/src/ru/book/app-third-party-tools.xml
trunk/src/ru/book/ch-advanced-topics.xml
trunk/src/ru/ruGlossary.xml
Modified: trunk/src/ru/book/app-third-party-tools.xml
==============================================================================
--- trunk/src/ru/book/app-third-party-tools.xml (original)
+++ trunk/src/ru/book/app-third-party-tools.xml Sat Jul 7 17:03:06 2007
@@ -17,15 +17,15 @@
Subversion website (<ulink
url="http://subversion.tigris.org/project_links.html"/>).</para>
@ENGLISH }}} -->
- <para>Модульный дизайн Subversion (обсуждаемый в <xref
- linkend="svn.developer.layerlib"/>) и доступность подключения языков
- (как описанно в <xref linkend="svn.developer.usingapi.otherlangs"/>)
- делает ее хорошим кандидатом для использования как расширения или основы
- для других частей программ. Список множества инструментов от
- сторонних разработчиков которые используют функциональность
- Subversion <quote>под капотом</quote> находится на странице Links
- (Ссылки) веб-сайта Subversion (<ulink
- url="http://subversion.tigris.org/links.html"/>).</para>
+ <para>Модульная архитектура Subversion (рассмотренная в разделе
+ <xref linkend="svn.developer.layerlib"/>) и наличие надстроек для
+ различных языков программирования (см. раздел
+ <xref linkend="svn.developer.usingapi.otherlangs"/>) делает её
+ перспективным кандидатом в качестве дополнения или бекенда для других
+ программ. На странице Ссылки веб-сайта Subversion
+ <ulink url="http://subversion.tigris.org/project_links.html"/> есть
+ перечень большого количества программ от сторонних разработчиков,
+ использующих возможности Subversion <quote>под капотом</quote>.</para>
</appendix>
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 Sat Jul 7 17:03:06 2007
@@ -2699,7 +2699,10 @@
<sect1 id="svn.advanced.externals">
<!-- @ENGLISH {{{
<title>Externals Definitions</title>
+ @ENGLISH }}} -->
+ <title>Внешние зависимости</title>
+ <!-- @ENGLISH {{{
<para>Sometimes it is useful to construct a working copy that is
made out of a number of different checkouts. For example, you
may want different subdirectories to come from different
@@ -2711,19 +2714,15 @@
uses your repository, every other user will need to perform the
same checkout operations that you did.</para>
@ENGLISH }}} -->
- <title>Внешние определения</title>
+ <para>Иногда полезно иметь рабочую копию, собранную из разных источников.
+ К примеру, когда нужно чтобы некоторые рабочие подкаталоги
+ соответствовали разным частям вашего или чужого хранилища. Безусловно,
+ всё это можно сделать вручную — с помощью вызовов команды
+ <command>svn checkout</command> создать рабочую копию с нужной структурой.
+ Но, ели подобная структура требуется всем пользователям хранилища,
+ каждому из них нужно будет повторить все эти вызовы.</para>
- <para>Иногда полезно сконструировать рабочую копию так, чтобы делать
- несколько различных извлечений. Например, вы хотите иметь
- различные подпапки соответствующие различным путям в
- хранилище, или возможно из различных хранилищ. Конечно, вы можете
- выполнить этот сценарий вручную — используя <command>svn
- checkout</command> для создания требуемой вложенной структуры рабочей
- копии. Но если этот формат важен для всех кто использует
- хранилище, каждый новый пользователь нуждается в выполнении тех
- же операций извлечения что делали и вы.</para>
-
- <!-- @ENGLISH {{{
+ <!-- @ENGLISH {{{
<para>Fortunately, Subversion provides support for
<firstterm>externals definitions</firstterm>. An externals
definition is a mapping of a local directory to the
@@ -2738,18 +2737,19 @@
directory on which the property is set) and fully qualified,
absolute Subversion repository URLs.</para>
@ENGLISH }}} -->
- <para>Ксчастью, Subversion предоставляет поддержку
- <firstterm>внешних определений</firstterm>. Внешние определения
- это отображение локальной папки в URL — и возможно
- конкретной ревизии — версионировнанной директории. В
- Subversion вы декларируете внешние определения в группах используя
- свойство <literal>svn:externals</literal>. Вы можете создать или
- изменить это свойство используя <command>svn propset</command> или
- <command>svn propedit</command> (смотри <xref linkend="svn.advanced.props.manip"/>). Оно может быть установлено на любой версионированной папке,
- и его значение многостроковая таблица подпапок (относительно
- версионированной папки для которой устанавливается значение) и
- полные, абсолютные URL в хранилище Subversion.</para>
-
+ <para>Чтобы этого избежать у Subversion есть поддержка
+ <firstterm>внешних зависимостей</firstterm>. Внешняя зависимость
+ является сопоставлением локального каталога к URL другого
+ версионированного каталога (или к его конкретной правке). Групповое
+ объявление внешних зависимостей делается в Subversion при помощи
+ свойства <literal>svn:externals</literal>. Установка и редактирование
+ этого свойства выполняется с помощью команд
+ <command>svn propset</command> и <command>svn propedit</command>
+ (см. <xref linkend="svn.advanced.props.manip" />). Свойство может быть
+ установлено для любого версионированного каталога, значение свойства
+ представляет собой таблицу с путями к подкаталогам (относительно того
+ каталога, для которого это свойство устанавливается) и полными
+ абсолютными URL в Subversion-хранилище.</para>
<screen>
$ svn propget svn:externals calc
@@ -2758,7 +2758,7 @@
third-party/skins/toolkit -r21 http://svn.red-bean.com/repos/skin-maker
</screen>
- <!-- @ENGLISH {{{
+ <!-- @ENGLISH {{{
<para>The convenience of the <literal>svn:externals</literal>
property is that once it is set on a versioned directory,
everyone who checks out a working copy with that directory also
@@ -2767,25 +2767,26 @@
working copy checkouts, no one else has to
bother—Subversion will, upon checkout of the original
working copy, also checkout the external working copies.</para>
+ @ENGLISH }}} -->
+ <para>Удобство свойства <literal>svn:external</literal> заключается в том,
+ что после его установки для версионированного каталога, всё кто будет
+ создавать рабочую копию с этим каталогом получат возможность пользоваться
+ преимуществами внешней зависимости. Другими словами, после того как
+ кто-то из участников проекта обозначил необходимую структуру рабочей
+ копии, больше никому об этом беспокоиться не придется — при
+ создании рабочей копии, Subversion, кроме оригинальных данных, сделает
+ копии данных, определенных как внешние зависимости.</para>
+ <!-- @ENGLISH {{{
<para>Note the previous externals definition example. When
someone checks out a working copy of the
<filename>calc</filename> directory, Subversion also continues
to checkout the items found in its externals definition.</para>
@ENGLISH }}} -->
- <para>Удобство свойства <literal>svn:externals</literal> заключается
- в том что однажды установленное на версионную папку, любой кто
- извлекает рабочую копию с такой папкой также получает преимущества
- внешнего представления. Другими словами, однажды один человек
- сделал усилие для определения этих вложенных извлечений рабочих
- копии, никто другой не беспокоится об этом — Subversion при
- извлечении оригинальной рабочей копии, будет также извлекать
- внешнии рабочие копии.</para>
-
- <para>Примечание к предыдущему примеру внешнего определения. Когда
- кто-то извлекает рабочую копию папки <filename>calc</filename>,
- Subversion также продолжает извлекать элементы найденные в его
- внешних определениях.</para>
+ <para>Посмотрите на предыдущий пример для внешних зависимостей. Когда
+ кто-нибудь будет создавать рабочую копию каталога
+ <filename>calc</filename>, Subversion создаст, в том числе, и копии
+ элементов, определенных как внешние зависимости.</para>
<screen>
$ svn checkout http://svn.example.com/repos/calc
@@ -2808,7 +2809,7 @@
…
</screen>
- <!-- @ENGLISH {{{
+ <!-- @ENGLISH {{{
<para>If you need to change the externals definition, you can do
so using the regular property modification subcommands. When
you commit a change to the <literal>svn:externals</literal>
@@ -2817,31 +2818,31 @@
<command>svn update</command>. The same thing will happen when
others update their working copies and receive your changes to
the externals definition.</para>
+ @ENGLISH }}} -->
+ <para>Если необходимо изменить внешние зависимости, сделать это можно с
+ помощью обычных команд редактирования свойств. При фиксации изменений
+ свойства <literal>svn:externals</literal>, при следующем запуске
+ <command>svn update</command> Subversion синхронизирует
+ существующие копии элементов, в соответствии с внесенными во внешние
+ зависимости изменениями. Тоже самое произойдет и когда другие
+ участники проекта обновят свои рабочие копии и получат изменения во
+ внешних зависимостях.</para>
<tip>
+ <!-- @ENGLISH {{{
<para>Because the <literal>svn:externals</literal> property has
a multiline value, we strongly recommend that you use
<command>svn propedit</command> instead of <command>svn
propset</command>.</para>
+ @ENGLISH }}} -->
+ <para>Учитывая, что свойство <literal>svn:externals</literal> имеет
+ многострочное значение, крайне рекомендуется вместо команды
+ <command>svn propset</command> использовать
+ <command>svn propedit</command>.</para>
</tip>
- @ENGLISH }}} -->
- <para>Если вы нуждаетесь в изменении внешних определений, вы можете
- их делать используя обычные подкоманды изменения свойств. Когда вы
- фиксируете изменения в свойстве <literal>svn:externals</literal>,
- Subversion будет синхронизировать извлекаемые элементы измененные
- во внешнем определении при следующем выполнении <command>svn
- update</command>. Тоже самое будет происходить когда другие
- обновляют свои рабочие копии и получать ваши изменения во внешнем
- определении.</para>
-
- <para>Команда <command>svn status</command> также распознает внешние
- определения, отображая код статуса <literal>X</literal> для
- нарушающих структуру подпапок в которые внешние извлечены, и затем
- рекурсивно по этим подпапкам для отображения статуса самих внешних
- элементов.</para>
<tip>
- <!-- @ENGLISH {{{
+ <!-- @ENGLISH {{{
<para>You should strongly consider using explicit revision
numbers in all of your externals definitions. Doing so means
that you get to decide when to pull down a different snapshot
@@ -2858,31 +2859,36 @@
be the difference between a successful and a failed build of
an older snapshot of your complex codebase.</para>
@ENGLISH }}} -->
- <para>Вы должны тщательно подумать пред использованием конкретной
- ревизии во всех ваших внешних определениях. Делая так, при
- переходе к другому снимку внешней информации, вы должны решить к
- какому конкретно снимку перейти. Помимо этого общего аспекта, вы
- не должны удивляться изменениям происходящим в хранилищах над
- которыми вы не имеете никакого контроля, использование
- конкретной ревизии означает что если вы возвращаете вашу рабочую
- копию к предыдущей ревизии задним числом, ваши внешние
- определения также будут возвращены в тот вид, как они выглядели
- в этой предыдущей ревизии, что в свою очередь означает что
- внешние рабочие копии будут обновлены для соответствия тому как
- <emphasis>они</emphasis> выглядели когда ваше хранилище было я
- в предыдущей ревизии. Для программных проектов это может быть
- различием между успешной и не успешной сборкой на старых снимках
- вашей комплексной базы кода. </para>
+ <para>Вам стоит всерьез подумать про использование явно указанного
+ номера правки для всех внешних зависимостей. Поступая таким образом,
+ вы сможете выбирать момент перехода на другой снимок внешней
+ информации и явно указывать какой это будет снимок. Кроме того что это
+ позволяет избежать получения неожиданных изменений из сторонних
+ хранилищ, которые вы, возможно, никак не контролируете, явное указание
+ номера правки означает, что откат вашей рабочей копии к более ранней
+ правке приведет к откату и для внешних зависимостей, к тому состоянию,
+ в котором они были в той, предыдущей, правке, то есть это значит, что
+ внешние рабочие копии будут выглядеть так, как <emphasis>они</emphasis>
+ выглядели на момент той правки вашего хранилища. Для программных
+ проектов это может быть вопросом удачной или не удачной сборки старого
+ снимка сложной и запутанной базы кода.</para>
</tip>
+ <!-- @ENGLISH {{{
<para>The <command>svn status</command> command also recognizes
externals definitions, displaying a status code of
<literal>X</literal> for the disjoint subdirectories into which
externals are checked out, and then recursing into those
subdirectories to display the status of the external items
themselves.</para>
+ @ENGLISH }}} -->
+ <para>Команда <command>svn status</command> умеет определять внешние
+ зависимости, показывая код статуса <literal>X</literal> для
+ подкатологов, в которых находятся внешние зависимости и рекурсивно
+ проходит по этим подкаталогам, показывая статус самих внешних
+ элементов.</para>
- <!-- @ENGLISH {{{
+ <!-- @ENGLISH {{{
<para>The support that exists for externals definitions in
Subversion today can be a little misleading, though. First, an
externals definition can only point to directories, not files.
@@ -2898,7 +2904,23 @@
commit</command> explicitly on those working
copies—committing on the primary working copy will not
recurse into any external ones.</para>
+ @ENGLISH }}} -->
+ <para>Существующая сегодня в Subversion поддержка внешних зависимостей
+ может вводить в заблуждение. Во первых, внешние зависимости
+ могут указывать только на папки, но не на файлы. Во вторых, внешние
+ зависимости не могут указывать на относительные пути (например,
+ подобные <filename>../../skins/myskin</filename>). В третьих,
+ рабочие копии созданные через внешние зависимости являются оторванными от
+ первичной рабочей копии (от того каталога, для которого установлено
+ свойство <literal>svn:externals</literal>). А Subversion полноценно
+ работает только на не отсоединенных рабочих копиях. Это означает, что
+ если вы захотите зафиксировать изменения, сделанные в одной или
+ нескольких таких рабочих копиях, вам придется принудительно выполнять
+ команду <command>svn commit</command> для этих рабочих копий —
+ фиксирование первичной рабочей копии не распространяется на внешние
+ зависимости.</para>
+ <!-- @ENGLISH {{{
<para>Also, since the definitions themselves use absolute URLs,
moving or copying a directory to which they are attached will
not affect what gets checked out as an external (though the
@@ -2912,33 +2934,17 @@
latest revision of another of its subdirectories
(<filename>my-project/external-dir</filename>).</para>
@ENGLISH }}} -->
- <para>Поддержка существующих внешних определений в Subversion
- сегодня может вводить в заблуждение. Во первых, внешние определения
- могут указывать только на папки, не на файлы. Во вторых, внешние
- определения не могут указывать на относительные пути (пути
- подобные <filename>../../skins/myskin</filename>). В третьих,
- рабочие копии созданные через внешние определения поддерживаются
- отсоединенными от первичной рабочей копии (на чьи версионированные
- папки установлено свойство <literal>svn:externals</literal>). И
- Subversion продолжает по-прежнему оперировать на неотстоединенных
- (non-disjoint) рабочих копиях. Та что, например, если вы хотите
- зафиксировать изменения которые вы сделали в одной или более
- внешней рабочей копии, вы должны явно выполнить
- <command>svn commit</command> на этих рабочих копиях — фиксация
- первичной рабочей копии не выполняется рекурсивно на любых внешних
- определениях.</para>
-
- <para>Кроме того, так как подобные определения используют абсолютные URL,
+ <para>Кроме того, так как зависимости используют абсолютные URL,
перемещение или копирование папки к которой они присоединены не
- будет влиять на то, что будет вытаскиваться из хранилища как
- внешнее определение (при этом, локальные поддирекотрии, назначенные
- как целевые для внешних определений, при переименовании родительской
- директории будут, естественно, перемещенны вместе с ней).
+ будет влиять на то, что будет вытаскиваться из хранилища в виде
+ внешней зависимости (при этом, локальные подкаталоги, назначенные
+ как целевые для внешних зависимостей, при переименовании родительского
+ каталога будут, естественно, перемещены вместе с ним).
В определенных ситуациях это может сбивать с толку и запутывать.
- Например, у вас есть корневая директория <filename>my-project</filename>
- и одну из её поддиректорий (<filename>my-project/some-dir</filename>)
- вы делаете внешним определением, отслеживающим изменения другой
- поддиректории (<filename>my-project/external-dir</filename>).</para>
+ Например, у вас есть корневой каталог <filename>my-project</filename>
+ и для одного из его подкаталогов (<filename>my-project/some-dir</filename>)
+ вы назначаете внешнюю зависимость, отслеживающую изменения другого
+ подкаталога (<filename>my-project/external-dir</filename>).</para>
<screen>
$ svn co http://svn.example.com/projects .
@@ -2956,11 +2962,18 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>Now you use <command>svn move</command> to rename the
<filename>my-project</filename> directory. At this point, your
externals definition will still refer to a path under the
<filename>my-project</filename> directory, even though that
directory no longer exists.</para>
+ @ENGLISH }}} -->
+ <para>Переименуем с помощью команды <command>svn move</command>
+ каталог <filename>my-project</filename>. Теперь
+ внешние зависимости продолжают продолжают указывать на путь в каталоге
+ <filename>my-project</filename>, а самого этого каталога уже не
+ существует.</para>
<screen>
$ svn mv -q my-project renamed-project
@@ -2976,6 +2989,7 @@
$
</screen>
+ <!-- @ENGLISH {{{
<para>Also, the fact that externals definitions use absolute URLs
can cause problems with repositories that are available via
multiple URL schemes. For example, if your Subversion server is
@@ -2991,9 +3005,26 @@
<literal>http://</literal> because their client doesn't support
<literal>https://</literal> will be unable to fetch the external
items. Be aware, too, that if you need to re-parent your
- working copy (using <command>svn switch --relocate</command>),
+ working copy (using <command>svn switch -&64738;-relocate</command>),
externals definitions will <emphasis>not</emphasis> also be
re-parented.</para>
+ @ENGLISH }}} -->
+ <para>Тот факт, что внешние зависимости используют абсолютные URL может
+ вызвать проблемы при работе с хранилищами, доступными через несколько
+ URL-схем. Интересная проблема может возникнуть если, например, Subversion
+ сервер позволяет любому пользователю создать рабочую копию подключившись
+ через <literal>http://</literal> или <literal>https://</literal>, а
+ фиксации позволяет выполнять только через <literal>https://</literal>.
+ Если внешние зависимости используют <literal>http://</literal> вариант
+ URL хранилища, то для рабочих копий, созданных для этих внешних
+ зависимостей, нельзя будет выполнить фиксацию изменений. С другой
+ стороны, если использовался <literal>https://</literal> вариант URL, то
+ пользователи которые создают рабочую копию через
+ <literal>http://</literal> по тому, что их клиент не поддерживает
+ <literal>https://</literal>, не смогут получить внешние элементы.
+ Обратите внимание и на то, что при переопределении рабочей копии
+ (с помощью команды <command>svn --relocate</command>), внешние
+ зависимости <emphasis>не</emphasis> будут переопределены.</para>
<!-- @ENGLISH {{{
<para>Finally, there might be times when you would prefer that
@@ -3005,7 +3036,7 @@
@ENGLISH }}} -->
<para>Наконец, могут буть ситуации в которых предпочтительно, чтобы
подкоманды <command>svn</command> не идентифицировали и не оперировали
- над рабочими копиями, созданными как внешние определения. Для таких
+ над рабочими копиями, созданными как внешние зависимости. Для таких
случаев, при вызове подкоманды можно использовать параметр
<option>--ignore-externals</option>.</para>
Modified: trunk/src/ru/ruGlossary.xml
==============================================================================
--- trunk/src/ru/ruGlossary.xml (original)
+++ trunk/src/ru/ruGlossary.xml Sat Jul 7 17:03:06 2007
@@ -507,6 +507,12 @@
<glossseealso otherterm="environment"/>
</glossdef>
</glossentry>
+ <glossentry id="external-definition">
+ <glossterm>external definition</glossterm>
+ <glossdef>
+ <para>внешняя зависимость</para>
+ </glossdef>
+ </glossentry>
</glossdiv>
<glossdiv>
<title>F</title>
More information about the svnbook-dev
mailing list