[svnbook] r4615 committed - Translation-ru: ch04-branching-and-merging.xml, HACKING added.

svnbook at googlecode.com svnbook at googlecode.com
Wed Jan 8 13:10:10 CST 2014


Revision: 4615
Author:   nzeemin at gmail.com
Date:     Wed Jan  8 18:47:41 2014 UTC
Log:      Translation-ru: ch04-branching-and-merging.xml, HACKING added.
http://code.google.com/p/svnbook/source/detail?r=4615

Added:
  /branches/1.6/ru/HACKING
Modified:
  /branches/1.6/ru/TRANSLATION-STATUS
  /branches/1.6/ru/book/ch04-branching-and-merging.xml

=======================================
--- /dev/null
+++ /branches/1.6/ru/HACKING	Wed Jan  8 18:47:41 2014 UTC
@@ -0,0 +1,184 @@
+====================
+Общий стиль перевода
+====================
+
+Как и в английском оригинале, следует придерживаться стиля среднего
+между формальным и неформальным. Оригинал написан отличным живым
+английским языком, перевод также должен быть выполнен отличным живым
+русским языком.
+
+В переводе следует стремиться использовать русскоязычную терминологию
+(см. ниже "Глоссарий для переводчиков"). Глоссарий не является догмой, его
+задача -- обеспечить последовательность использования терминов по всему
+тексту книги, но в нём могут быть не учтены контекстуальные нюансы.
+
+Непереводимые фрагменты необходимо воспроизводить в точности так же, как
+в оригинале (например, использовать длинные названия команд: "checkout",
+а не "co").
+
+Используйте букву "ё" там, где это необходимо.
+
+
+=======================
+Руководство по разметке
+=======================
+
+- В работе с книгой используется Docbook Lite DTD от O'Reilly &
+  Associates. Копия DTD имеется в хранилище и также доступна по адресу
+  ftp://ftp.oreilly.com/pub/dblite/.
+
+- Перед публикацией *всегда* следует выполнять проверку правильности
+  разметки xml. Не следует помещать в хранилище файл, не проходящий
+  такую проверку. Подробнее см. файл README.
+
+- Фрагменты, содержащие вывод на экране и программный код, не должны
+  использовать строки длиннее, чем 78 символов. В качестве символа
+  продолжения строки следует использовать обратную косую черту ('\').
+
+- Используйте — а не дефис, где это необходимо.
+
+- Если в DTD имеется сущность, определённая для обозначения того или
+  иного специального символа, используйте сущность, а не символ
+  напрямую, например — вместо --.
+
+- В разметке следует использовать правильные отступы (2 символа), за
+  исключением блоков <screen></screen>, которые выравниваются по левому
+  краю. Текстовые узлы должны начинаться непосредственно после
+  открывающего тега и заканчиваться закрывающим тегом, без лишних
+  переносов строк. Например:
+
+<chapter id="svn-ch-pi">
+<title>Tips</title>
+
+  <!-- =================================================================  
-->
+  <!-- ======================== SECTION 1 ==============================  
-->
+  <!-- =================================================================  
-->
+  <sect1 id="svn-ch-pi-sect-1">
+    <title>Flornthorple Plathering</title>
+
+    <para>The real key to <firstterm>Plathering</firstterm> is to start  
with
+       a good glab. A good glab provides a solid thorpy foundation.</para>
+
+    <sect2 id="svn-ch-pi-sect-1.1">
+      <title>Cross-blather</title>
+
+      <para>Cross-blather tends to create a hoopy pile of crandy. You
+        can avoid this by using the cross-blather avoid
+        command.</para>
+
+      <screen>
+$ cb-avoid
+Avoiding blather......... Done
+$
+</screen> <!-- Note the closing tag at the left-most column? -->
+
+    </sect2>
+
+  </sect1>
+
+</chapter>
+
+============================================
+Отслеживание изменений в оригинальном тексте
+============================================
+
+- Для отслеживания изменений в оригинальном (английском) тексте книги мы
+  применяем метод разработанный норвежским переводчиком Ойвином Хольмом
+  [Øyvind A. Holm <sunny at sunbase.org>]. "Норвежский метод" использует
+  принцип реализованный в Subversion для внесения изменений. Собственно
+  говоря, ничего нового в сам механизм слияния Subversion не привнесла, так
+  как для отражения изменений использует единый формат записи различий
+  (unified diff). Смотри:
+
+   
http://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed%20Unified
+
+  При внесении изменений в целевой файл на основании diff-файлов алгоритм  
ищет
+  место, куда изменения были внесены. Зная о том, что алгоритм  
руководствуется
+  номерами строк и несколькими (обычно хватает трех) оставшимися без
+  измененный строками до и после блока измененных строк "викинги" этим
+  воспользовались.
+
+  Полагаясь на принципом "Ничего не удалять, только добавлять." при  
переводе
+  они стараются как можно меньше влиять на оригинальный текст, что бы не
+  сбивать с толку алгоритм наложения изменений. Так как книга оформлена при
+  помощи языка DocBook (облегченная версия используемая издательством
+  O'Reilly), а следовательно это XML, добавление в код сток вида
+===
+<!-- @ENGLISH {{{
+ at ENGLISH }}} -->
+===
+
+  позволяет исключить оригинальный текст из последующей обработки не удаляя
+  его физически. Если кто не понял, то это слегка модифицированные теги  
блока
+  комментариев используемые в XML. Сразу за оригиналом, помещенного в блок
+  комментариев, следует его перевод. При этом, все используемые в оригинале
+  теги DocBook используются и в переводе.
+
+  Обратите внимание, на два важных правила:
+  1) Обрамляемый тегами комментариев текст не должен нарушать "правильность
+     XML". То есть с точки зрения правил XML, файл должен оставаться
+     "wellformed".
+  2) Чем больше строк оригинального текста будет обрамлено за раз, тем
+     проще будет жизнь у алгоритма наложения изменений! Так что,
+     НЕ МЕЛЬЧИТЕ когда делаете перевод!
+
+  BTW, в оригинальном тексте могут встречаться последовательности из двух
+  дефисов вида
+===
+--
+===
+  В большинстве случаев, они возникают при описании параметров передаваемых
+  программе командной строки. Вот пример:
+===
+        <varlistentry>
+          <term><option>--auto-props</option></term>
+          <listitem>
+            <para>Enables auto-props, overriding the
+              <literal>enable-auto-props</literal> directive in the
+              <filename>config</filename> file.</para>
+          </listitem>
+        </varlistentry>
+===
+  В таком случае, для выполнения первого правила, приходится идти на
+  хитрости. Хитростей бывают двух видов: норвежская и наша.
+
+  "Варяги" разрывают последовательность двух дефисов Unicode-сущностью:
+===
+ﳢ
+===
+  мотивируя это тем, что этот символ находиться в "private use" Unicode
+  area. Смотри: http://www.unicode.org/charts/PDF/UE000.pdf
+
+  Наша хитрость того же плана, но в качестве "разделителя" используется
+  вот такая последовательность:
+===
+-><!-
+===
+  Будучи вставленной между уже существующими в оригинальном тексте
+  дефисами, она образует открывающий и закрывающий тег комментариев.
+
+==========================
+Глоссарий для переводчиков
+==========================
+
+Глоссарий для переводчиков находится в файле src/ru/ruGlossary.xml. Для
+преобразования его в форму HTML следует выполнить команды
+
+  $ cd src/ru
+  $ make dist-glossary
+  ...
+  $ ls ruGlossary.html
+  ruGlossary.html
+
+======
+Разное
+======
+
+- Всё, что требует внимания, или должно быть исправлено, должно быть
+  помечено с помощью ###TODO, чтобы такие места можно было легко найти.
+  Кроме того, не стесняйтесь добавлять своё имя в комментариях, чтобы
+  можно было вести обсуждение непосредственно в коде.
+
+
+$Id$
+vim: set tw=72 nowrap et sw=2 ts=2 sts=2 fo+=2w fenc=utf8 :
=======================================
--- /branches/1.6/ru/TRANSLATION-STATUS	Thu Jan  2 20:59:30 2014 UTC
+++ /branches/1.6/ru/TRANSLATION-STATUS	Wed Jan  8 18:47:41 2014 UTC
@@ -24,8 +24,8 @@
      Untranslated: 57.62% - 3220 lines in 20 blocks
      Need proofreading: 42.32% - 1514 lines in 20 blocks
  * book/ch04-branching-and-merging.xml
-    Untranslated: 68.02% - 2716 lines in 6 blocks
-    Need proofreading: 31.75% - 796 lines in 15 blocks
+    Untranslated: 62.94% - 2549 lines in 6 blocks
+    Need proofreading: 36.18% - 897 lines in 22 blocks
  * book/ch05-repository-admin.xml
      Untranslated: 77.12% - 2781 lines in 7 blocks
      Need proofreading: 23.02% - 595 lines in 4 blocks
@@ -47,4 +47,4 @@
  * book/copyright.xml
      Untranslated: 99.99% - 308 lines in 1 block

-Summa summarum: 23.64% translated, 19.23% need proofreading
+Summa summarum: 24.22% translated, 19.75% need proofreading
=======================================
--- /branches/1.6/ru/book/ch04-branching-and-merging.xml	Thu Jan  2  
20:59:30 2014 UTC
+++ /branches/1.6/ru/book/ch04-branching-and-merging.xml	Wed Jan  8  
18:47:41 2014 UTC
@@ -1001,11 +1001,8 @@
            позволяют избежать <quote>внезапных</quote> конфликтов
            когда придет время вам объединить ваши изменения с  
транком.</para>
        </tip>
-<!-- @CHK }} -->

-<!-- @TR {{ -->
        <!-- @ENGLISH {{{
-      @ENGLISH }}} -->
        <para>Subversion is aware of the history of your branch and
          knows when it divided away from the trunk.  To replicate the
          latest, greatest trunk changes to your branch, first make sure
@@ -1013,6 +1010,14 @@
          is <quote>clean</quote>—that it has no local
          modifications reported by <command>svn status</command>.  Then
          simply run:</para>
+      @ENGLISH }}} -->
+      <para>Subversion осведомлен обо всей истории изменений вашей ветки и
+        знает когда она отделилась от транка.  Для того чтобы скопировать
+        самые последние, величайшие изменения из транка в вашу ветку,
+        сначала убедитесь, что рабочая копия вашей ветки  
<quote>чиста</quote>
+        — то есть, не имеет локальных изменений, о которых сообщит
+        команда <command>svn status</command>.  Затем просто  
выполните:</para>
+<!-- @CHK }} -->

        <informalexample>
          <screen>
@@ -1027,6 +1032,8 @@
  </screen>
        </informalexample>

+<!-- @CHK {{ -->
+      <!-- @ENGLISH {{{
        <para>This basic syntax—<userinput>svn merge
          <replaceable>URL</replaceable></userinput>—tells
          Subversion to merge all recent changes from the URL to the
@@ -1035,11 +1042,27 @@
          (<literal>^</literal>) syntax<footnote><para>This was
          introduced in svn 1.6.</para></footnote> to avoid having to
          type out the entire <filename>/trunk</filename> URL.</para>
+      @ENGLISH }}} -->
+      <para>Этот базовый синтаксис — <userinput>svn merge
+        <replaceable>URL</replaceable></userinput> — указывает
+        Subversion слить все последние изменения из указанного URL
+        в текущий рабочий каталог (обычно это корень вашей рабочей копии).
+        Также заметим что мы использовали синтаксис с галочкой
+        (<literal>^</literal>)<footnote><para>Этот синтаксис был
+        введен в svn 1.6.</para></footnote> для того чтобы не писать  
полностью
+        весь URL для <filename>/trunk</filename>.</para>

+      <!-- @ENGLISH {{{
        <para>After running the prior example, your branch working copy
          now contains new local modifications, and these edits are
          duplications of all of the changes that have happened on the
          trunk since you first created your branch:</para>
+      @ENGLISH }}} -->
+      <para>После запуска предыдущего примера, рабочая копия вашей ветки
+        теперь содержит новые локальные изменения, и эти правки дублируют
+        все изменения которые произошли на транке с тех пор как вы создали
+        свою ветку:</para>
+<!-- @CHK }} -->

        <informalexample>
          <screen>
@@ -1051,6 +1074,8 @@
  </screen>
        </informalexample>

+<!-- @CHK {{ -->
+      <!-- @ENGLISH {{{
        <para>At this point, the wise thing to do is look at the changes
          carefully with <command>svn diff</command>, and then build and
          test your branch.  Notice that the current working directory
@@ -1062,7 +1087,19 @@
          be needed by future <command>svn merge</command> commands.
          (We'll learn more about this metadata later in the
          chapter.)</para>
+      @ENGLISH }}} -->
+      <para>В данный момент разумным делом было бы внимательно посмотреть
+        на изменения с помощью команды <command>svn diff</command>, а затем
+        собрать и протестировать вашу ветку.  Заметим, что текущий рабочий
+        каталог (<quote><filename>.</filename></quote>) также был  
модифицирован;
+        команда <command>svn diff</command> покажет, что его свойство
+        <literal>svn:mergeinfo</literal> было создано либо изменено.
+        Это важные метаданные, описывающие информацию о слиянии, которые вы
+        <emphasis>не должны</emphasis> трогать, поскольку в будущем они
+        могут понадобиться для команд <command>svn merge</command>.
+        (Мы еще изучим подробнее метаданные далее в этой главе.)</para>

+      <!-- @ENGLISH {{{
        <para>After performing the merge, you might also need to resolve
          some conflicts (just as you do with <command>svn
          update</command>) or possibly make some small edits to get
@@ -1075,6 +1112,20 @@
          long <quote>what's going on?</quote> discussion with your
          collaborators.  If things look good, however, you can
          submit these changes into the repository:</para>
+      @ENGLISH }}} -->
+      <para>После выполнения слияния, вам может понадобиться также  
разрешить
+        несколько конфликтов (так же, как вы это делаете после команды
+        <command>svn update</command>) или возможно сделать несколько  
мелких
+        правок, с тем чтобы все стало как надо.  (Помните, то что нет
+        <emphasis>синтаксических</emphasis> конфликтов не означает что
+        нет <emphasis>семантических</emphasis> конфликтов!)  Если вы
+        столкнетесь с серьезными трудностями, вы всегда можете выбросить
+        локальные изменения, выполнив <userinput>svn revert .  
-R</userinput>
+        (эта команда отменит все локальные изменения), и начать с вашими
+        коллегами продолжительную дискуссию на тему <quote>что вообще
+        происходит?</quote>  Но если все выглядит хорошо, вы можете  
передать
+        эти изменения в репозиторий:</para>
+<!-- @CHK }} -->

        <informalexample>
          <screen>
@@ -1088,20 +1139,40 @@
  </screen>
        </informalexample>

+<!-- @CHK {{ -->
+      <!-- @ENGLISH {{{
        <para>At this point, your private branch is now <quote>in
            sync</quote> with the trunk, so you can rest easier knowing
            that as you continue to work in isolation, you're not
            drifting too far away from what everyone else is
            doing.</para>
+      @ENGLISH }}} -->
+      <para>С этого момента ваша личная ветка  
<quote>синхронизирована</quote>
+          с транком, и вам будет спокойнее, зная что пока вы работаете
+          в изоляции вы не отдалитесь слишком далеко от того что делают
+          другие.</para>
+<!-- @CHK }} -->

+<!-- @CHK {{ -->
        <sidebar>
+        <!-- @ENGLISH {{{
          <title>Why Not Use Patches Instead?</title>
+        @ENGLISH }}} -->
+        <title>Почему бы просто не использовать патчи?</title>

+        <!-- @ENGLISH {{{
          <para>A question may be on your mind, especially if you're a
            Unix user: why bother to use <command>svn merge</command> at
            all?  Why not simply use the operating system's
            <command>patch</command> command to accomplish the same job?
            For example:</para>
+        @ENGLISH }}} -->
+        <para>Возможно, у вас в голове крутится один вопрос, особенно если
+          вы пользователь Unix: зачем вообще заморачиваться с командой
+          <command>svn merge</command>?  Почему бы просто не использовать
+          команду операционной системы <command>patch</command> для того
+          чтобы проделать ту же работу?  Например:</para>
+<!-- @CHK }} -->

          <informalexample>
            <screen>
@@ -1118,6 +1189,8 @@
  </screen>
          </informalexample>

+<!-- @CHK {{ -->
+        <!-- @ENGLISH {{{
          <para>In this particular example, there really isn't much
            difference.  But <command>svn merge</command> has special
            abilities that surpass the <command>patch</command> program.
@@ -1132,7 +1205,24 @@
            all.  <command>svn diff</command> outputs only the limited
            patch format, so there are some ideas it simply can't
            express.</para>
+        @ENGLISH }}} -->
+        <para>Для этого конкретного примера действительно нет большой
+          разницы.  Но <command>svn merge</command> имеет особые
+          возможности, которые превосходят возможности программы
+          <command>patch</command>.  Формат файла, используемый
+          <command>patch</command>, несколько ограничен; он подходит только
+          для того, чтобы отслеживать изменение содержимого файла.
+          Нет возможности представить изменения в <emphasis>дереве
+          каталогов</emphasis>, такие как добавления, удаления или
+          переименования файлов и каталогов. Также программа
+          <command>patch</command> не заметит изменения свойств.
+          Например, если в изменении Салли добавился новый каталог,
+          в выводе команды <command>svn diff</command> это не отразится
+          вовсе.  <command>svn diff</command> выдает только ограниченный
+          формат патча, поэтому есть некоторые вещи которые он не может
+          передать.</para>

+        <!-- @ENGLISH {{{
          <para>The <command>svn merge</command> command, however, can
            express changes in tree structure and properties by directly
            applying them to your working copy.  Even more important,
@@ -1144,15 +1234,38 @@
            usable; without it, users would have to manually keep notes
            on which sets of changes have or haven't been merged
            yet.</para>
-
+        @ENGLISH }}} -->
+        <para>С другой стороны, команда <command>svn merge</command>
+          учитывает изменения в структуре дерева и в свойствах,
+          непосредственно применяя их к вашей рабочей копии.
+          И что еще более важно, эта команда записывает, какие изменения
+          были продублированы в вашу ветку, и тем самым Subversion
+          заботится о том чтобы в точности знать, какие изменения где
+          проведены
+          (см. <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/>).
+          Это важная особенность, которая делает управление ветками
+          удобным; без этого, пользователям пришлось бы вести записи, чтобы
+          вручную отслеживать, какие наборы изменений были или не были
+          уже применены.</para>
+<!-- @CHK }} -->
        </sidebar>

+<!-- @CHK {{ -->
+      <!-- @ENGLISH {{{
        <para>Suppose that another week has passed.  You've committed
          more changes to your branch, and your comrades have continued
          to improve the trunk as well.  Once again, you'd like to
          replicate the latest trunk changes to your branch and bring
          yourself in sync.  Just run the same merge command
          again!</para>
+      @ENGLISH }}} -->
+      <para>Допустим, прошла еще одна неделя.  Вы внесли еще несколько
+        изменений в вашу ветку, и ваши товарищи также продолжали
+        вносить изменения в транк.  И снова, вам захотелось продублировать
+        последние изменения из транка в вашу ветку, с тем чтобы вернуться
+        к синхронизированному состоянию.  Просто выполните ту же команду
+        по слиянию еще раз!</para>
+<!-- @CHK }} -->

        <informalexample>
          <screen>
@@ -1165,14 +1278,24 @@
  </screen>
        </informalexample>

+<!-- @CHK {{ -->
+      <!-- @ENGLISH {{{
        <para>Subversion knows which trunk changes you've already
          replicated to your branch, so it carefully replicates only
          those changes you don't yet have.  Once again, you'll have to
          build, test, and <command>svn commit</command> the local
          modifications to your branch.</para>
+      @ENGLISH }}} -->
+      <para>Subversion знает какие изменения транка вы уже скопировали
+        себе в вашу ветку, поэтому он аккуратно копирует только те
+        изменения, которых в вашей ветке еще нет.  И вновь, вам нужно
+        собрать, протестировать и выполнить <command>svn commit</command>
+        для локальных изменений в вашей ветке.</para>
+<!-- @CHK }} -->

      </sect2>

+<!-- @TR {{ -->
      <!-- ===============================================================  
-->
      <sect2 id="svn.branchemerge.basicmerging.reintegrate">
        <title>Reintegrating a Branch</title>


More information about the svnbook-dev mailing list