aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/fdp-primer/working-copy/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/fdp-primer/working-copy/_index.adoc')
-rw-r--r--documentation/content/ru/books/fdp-primer/working-copy/_index.adoc140
1 files changed, 140 insertions, 0 deletions
diff --git a/documentation/content/ru/books/fdp-primer/working-copy/_index.adoc b/documentation/content/ru/books/fdp-primer/working-copy/_index.adoc
new file mode 100644
index 0000000000..cd3c04e167
--- /dev/null
+++ b/documentation/content/ru/books/fdp-primer/working-copy/_index.adoc
@@ -0,0 +1,140 @@
+---
+description: 'Как получить рабочую копию проекта документации FreeBSD'
+next: books/fdp-primer/structure
+params:
+ path: /books/fdp-primer/working-copy/
+prev: books/fdp-primer/tools
+showBookMenu: true
+tags: ["working copy", "documentation", "manual pages", "git"]
+title: 'Глава 3. Рабочая копия'
+weight: 4
+---
+
+[[working-copy]]
+= Рабочая копия
+:doctype: book
+:toc: macro
+:toclevels: 1
+:icons: font
+:sectnums:
+:sectnumlevels: 6
+:sectnumoffset: 3
+:partnums:
+:source-highlighter: rouge
+:experimental:
+:images-path: books/fdp-primer/
+
+ifdef::env-beastie[]
+ifdef::backend-html5[]
+:imagesdir: ../../../../images/{images-path}
+endif::[]
+ifndef::book[]
+include::shared/authors.adoc[]
+include::shared/mirrors.adoc[]
+include::shared/releases.adoc[]
+include::shared/attributes/attributes-{{% lang %}}.adoc[]
+include::shared/{{% lang %}}/teams.adoc[]
+include::shared/{{% lang %}}/mailing-lists.adoc[]
+include::shared/{{% lang %}}/urls.adoc[]
+toc::[]
+endif::[]
+ifdef::backend-pdf,backend-epub3[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+endif::[]
+
+ifndef::env-beastie[]
+toc::[]
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+
+_Рабочая копия_ — это копия дерева документации репозитория FreeBSD, загруженная на локальный компьютер. Изменения вносятся в локальную рабочую копию, тестируются, а затем отправляются в виде патчей для включения в основной репозиторий.
+
+Полная копия дерева документации может занимать 550 мегабайт дискового пространства. Рекомендуется выделить не менее гигабайта, чтобы было место для временных файлов и тестовых версий в различных выходных форматах.
+
+link:https://git-scm.com/[Git] используется для управления файлами документации FreeBSD. Он устанавливается через package:devel/git[], который также имеет облегчённую версию под названием git-lite:
+
+[source, shell]
+....
+# pkg install git-lite
+....
+
+[[working-copy-doc-and-src]]
+== Документация и Справочник
+
+Документация FreeBSD — это не только книги и статьи. Справочник (man) для всех команд и конфигурационных файлов также являются частью документации и входят в сферу ответственности FDP. Используются два репозитория: `doc` для книг и статей и `src` для операционной системы и справочника. Для редактирования справочника необходимо отдельно получить репозиторий `src`.
+
+Репозитории могут содержать несколько версий документации и исходного кода. Новые изменения почти всегда вносятся только в последнюю версию, называемую `main`.
+
+[[working-copy-choosing-directory]]
+== Выбор каталога
+
+Документация FreeBSD традиционно хранится в [.filename]#/usr/doc/#, а исходный код системы с руководствами — в [.filename]#/usr/src/#. Эти деревья каталогов могут быть перемещены, и пользователи могут разместить рабочие копии в других местах, чтобы избежать конфликтов с существующей информацией в основных каталогах. В следующих примерах используются [.filename]#~/doc# и [.filename]#~/src# — подкаталоги домашнего каталога пользователя.
+
+[[working-copy-checking-out]]
+== Извлечение копии
+
+Загрузка рабочей копии из репозитория называется _клоном_ и выполняется командой `git clone`. В этом примере клонируется последняя версия (`main`) основного дерева документации:
+
+[source, shell]
+....
+% git clone https://git.FreeBSD.org/doc.git ~/doc
+....
+
+Получение исходного кода для работы со справочником (man) выполняется аналогично:
+
+[source, shell]
+....
+% git clone https://git.FreeBSD.org/src.git ~/src
+....
+
+[[working-copy-updating]]
+== Обновление рабочей копии
+
+Документы и файлы в репозитории FreeBSD изменяются ежедневно. Пользователи вносят изменения в файлы и фиксируют их довольно часто. Даже спустя короткое время после первоначального получения копии репозитория, между локальной рабочей копией и основным репозиторием FreeBSD уже могут появиться различия. Чтобы обновить локальную версию с учетом изменений, внесённых в основной репозиторий, используйте команду `git pull` в каталоге с локальной рабочей копией:
+
+[source, shell]
+....
+% cd ~/doc
+% git pull --ff-only
+....
+
+Приучите себя к полезной привычке использовать `git pull` перед редактированием файлов документации. Кто-то другой мог недавно изменить этот файл, и ваша локальная рабочая копия не будет содержать последних изменений, пока вы не обновите её. Редактировать самую свежую версию файла гораздо проще, чем пытаться объединить более старую, отредактированную локальную версию с новой версией из репозитория.
+
+[[working-copy-revert]]
+== Отмена изменений
+
+Иногда оказывается, что изменения были не нужны, или автор просто хочет начать заново. Файлы можно «сбросить» к их исходному состоянию с помощью `git restore`. Например, чтобы отменить правки, сделанные в [.filename]#_index.adoc#, и вернуть его в исходное состояние:
+
+[source, shell]
+....
+% git restore _index.adoc
+....
+
+[[working-copy-making-diff]]
+== Создание Diff
+
+После завершения редактирования файла или группы файлов, различия между локальной рабочей копией и версией в репозитории FreeBSD должны быть собраны в один файл для отправки. Эти _diff_-файлы создаются путём перенаправления вывода команды `git diff` в файл:
+
+[source, shell]
+....
+% cd ~/doc
+% git diff > doc-fix-spelling.diff
+....
+
+Присвойте файлу осмысленное имя, отражающее его содержимое. В приведенном примере указаны исправления орфографии для всего дерева документации.
+
+Если файл с различиями должен быть отправлен через веб-интерфейс "link:https://bugs.FreeBSD.org/bugzilla/enter_bug.cgi[Сообщить о проблеме в FreeBSD]", добавьте расширение [.filename]#.txt#, чтобы дать простой и прямолинейной веб-форме понять, что содержимое представляет собой обычный текст.
+
+Будьте осторожны: `git diff` включает все изменения в текущем каталоге и его подкаталогах. Если в рабочей копии есть файлы с правками, которые ещё не готовы к отправке, укажите список только тех файлов, которые нужно включить:
+
+[source, shell]
+....
+% cd ~/doc
+% git diff disks/_index.adoc printers/_index.adoc > disks-printers.diff
+....
+
+[[working-copy-git-references]]
+== Ссылки Git
+
+Эти примеры демонстрируют базовое использование Git. Более подробная информация доступна в https://git-scm.com/book/en/v2[Книге по Git] и https://git-scm.com/doc[документации Git].