[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