/usr/share/doc/ubuntu-packaging-guide-html-uk/udd-merging.html is in ubuntu-packaging-guide-html-uk 0.3.8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>9. Злиття — оновлення з Debian та апстріму — Ubuntu Packaging Guide</title>
<link rel="shortcut icon" href="./_static/images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="./_static/reset.css" type="text/css" />
<link rel="stylesheet" href="./_static/960.css" type="text/css" />
<link rel="stylesheet" href="./_static/base.css" type="text/css" />
<link rel="stylesheet" href="./_static/home.css" type="text/css" />
<link rel="stylesheet" href="./_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="./_static/guide.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.3.8',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="./_static/jquery.js"></script>
<script type="text/javascript" src="./_static/underscore.js"></script>
<script type="text/javascript" src="./_static/doctools.js"></script>
<script type="text/javascript" src="./_static/main.js"></script>
<link rel="top" title="Ubuntu Packaging Guide" href="./index.html" />
<link rel="next" title="10. Використання chroot-оточень" href="chroots.html" />
<link rel="prev" title="8. Отримання останніх змін" href="udd-latest.html" />
</head>
<body class="home">
<a name="top"></a>
<div class="header-navigation">
<div>
<nav role="navigation">
<ul>
<li class="page_item current_page_item"><a title="Contents" href="index.html">Contents</a>
<li>
<form id="form-search" method="get" action="search.html">
<fieldset>
<input id="input-search" type="text" name="q" value="Search" />
</fieldset>
</form>
</li>
</ul>
</nav>
<a class="logo-ubuntu" href="http://packaging.ubuntu.com/">
<img src="./_static/images/logo-ubuntu.png" width="119" height="27" alt="Ubuntu logo" />
</a>
<a href="http://packaging.ubuntu.com/"><h2>Packaging Guide</h2></a>
</div>
</div>
<div class="header-content">
<div class="clearfix">
<div class="header-navigation-secondary">
<div>
<nav role="navigation">
<ul class="clearfix">
<li class="page_item"><a style="margin-right: 10px"
href="chroots.html" title="10. Використання chroot-оточень"
accesskey="N">наступний</a></li>
<li class="page_item"><a
href="udd-latest.html" title="8. Отримання останніх змін"
accesskey="P">попередній</a></li>
<li class="page_item"><a class="sub-nav-item" href="index.html">Ubuntu Packaging Guide »</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="content" class="body container_12">
<div class="grid_12">
<!--<section id="main-section">-->
<div class="grid_9 alpha">
<div class="section" id="merging-updating-from-debian-and-upstream">
<h1>9. Злиття — оновлення з Debian та апстріму<a class="headerlink" href="#merging-updating-from-debian-and-upstream" title="Постійне посилання на цей заголовок">¶</a></h1>
<p>Злиття — це одна з найсильніших сторін Bazaar, й ми часто виконуємо його у процесі розробки Ubuntu. Злиття може бути виконано з оновленнями з Debian, з нового випуску у апстрімі й від інших розробників Ubuntu. Зробити це в Bazaar дуже просто, усе засновано на команді <code class="docutils literal"><span class="pre">bzr</span> <span class="pre">merge</span></code> <a class="footnote-reference" href="#id3" id="id1">[1]</a>.</p>
<p>Знаходячись у робочому каталозі будь-якої гілки, Ви можете виконати злиття змін з гілки у іншому місці. Спочатку перевірте, що в Вас немає незафіксованих змін:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr status
</pre></div>
</div>
<p>Якщо з’явиться звіт, то Вам потрібно або застосувати зміни, зробити відкат, або відкласти вирішення (й повернутися до їх вирішення пізніше).</p>
<div class="section" id="merging-from-debian">
<h2>9.1. Злиття з Debian<a class="headerlink" href="#merging-from-debian" title="Постійне посилання на цей заголовок">¶</a></h2>
<p>Потім запустіть <code class="docutils literal"><span class="pre">bzr</span> <span class="pre">merge</span></code>, передаючи URL гілки для злиття. Наприклад, щоб виконати злиття версій пакунку в Debian Unstable запустіть <a class="footnote-reference" href="#id4" id="id2">[2]</a>:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr merge lp:debian/tomboy
</pre></div>
</div>
<p>Це додасть зміни, внесені з миті останнього злиття й дасть Вам усі зміни для огляду. Це може потягнути конфлікти. Ви можете побачити усі дії, виконані командою <code class="docutils literal"><span class="pre">merge</span></code>, запустивши:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr status
$ bzr diff
</pre></div>
</div>
<p>Якщо з’явиться звіт про конфлікти, Вам потрібно відредагувати відповідні файли, щоб привести їх до потрібного вигляду, прибравши конфліктуючі маркери (<em>conflict markers</em>). Як тільки Ви це зробите, виконайте:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr resolve
$ bzr conflicts
</pre></div>
</div>
<p>Це вирішить проблему з конфліктуючими файлами, які Ви виправляли, й повідомить що ще Вам потрібно зробити.</p>
<p>Після того, як усі конфлікти вирішено, й Ви внесли усі інші необхідні зміни, потрібно додати новий запис у changelog й виконати фіксацію:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ dch -i
$ bzr commit
</pre></div>
</div>
<p>як був опис вище.</p>
<p>Втім перед фіксацією завжди бажано перевірити усі зміни, зроблені в Ubuntu, виконавши:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr diff -r tag:0.6.10-5
</pre></div>
</div>
<p>Ця команда покаже відмінності між версіями в Debian (0.6.10-5) і Ubuntu (0.6.10-5ubuntu1). Подібно Ви можете виконати порівняння з будь-якими іншими версіями. Щоб побачити усі доступні версії, виконайте:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr tags
</pre></div>
</div>
<p>Після перевірки та фіксації злиття, Вам потрібно знайти поручителя або вивантажити пакунок у архів у звичний спосіб.</p>
<p>Якщо Ви збираєтеся створити джерельний пакунок з цієї об’єднаної гілки, то потрібно використовувати опцію <code class="docutils literal"><span class="pre">-S</span></code> команди <code class="docutils literal"><span class="pre">bd</span></code>. Також Вам закортить розглянути використання опції <code class="docutils literal"><span class="pre">--package-merge</span></code>. Це додасть відповідні опції <code class="docutils literal"><span class="pre">-v</span></code> і <code class="docutils literal"><span class="pre">-sa</span></code> до джерельного пакунку, щоб усі записи у лозі змін після останніх змін в Ubuntu були включені у Ваш файл <code class="docutils literal"><span class="pre">_source.changes</span></code>. Наприклад:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr builddeb -S --package-merge
</pre></div>
</div>
</div>
<div class="section" id="merging-a-new-upstream-version">
<h2>9.2. Злиття з новою версією з апстріму<a class="headerlink" href="#merging-a-new-upstream-version" title="Постійне посилання на цей заголовок">¶</a></h2>
<p>Коли в апстрімі випускається нова версія (або Ви бажаєте запакувати зняток), Вам потрібно виконати злиття tar-архіву й Вашої гілки.</p>
<p>Це робиться командою <code class="docutils literal"><span class="pre">bzr</span> <span class="pre">merge-upstream</span></code>. Якщо у Вашому пакунку є файл <code class="docutils literal"><span class="pre">debian/watch</span></code> з правильним вмістом, то з каталогу гілки, у яку Ви збираєтеся злити зміни, просто наберіть:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr merge-upstream
</pre></div>
</div>
<p>Команда завантажить тарбол й зіллє його у Вашу гілку, автоматично додавши запис в <code class="docutils literal"><span class="pre">debian/changelog</span></code>. <code class="docutils literal"><span class="pre">bzr-builddeb</span></code> продивляється файл <code class="docutils literal"><span class="pre">debian/watch</span></code>, щоб визначити місцезнаходження тарболу з апстріму.</p>
<p>Якщо в Вас <em>відсутній</em> файл <code class="docutils literal"><span class="pre">debian/watch</span></code>, то Вам потрібно вручну вказати місцезнаходження тарболу з апстріму й версію:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr merge-upstream --version 1.2 http://example.org/releases/foo-1.2.tar.gz
</pre></div>
</div>
<p>Опція <code class="docutils literal"><span class="pre">--version</span></code> використовується для вказування версії апстріму, з якої виконується злиття, оскільки команда не здатна (поки) дізнатися її самостійно.</p>
<p>Останній параметр — це місцезнаходження тарболу, на який виконується оновлення: це може бути шлях у локальній файловій системі, http, ftp, sftp або інша URI, як показано у прикладі. Команда автоматично завантажить тарбол для Вас, перейменує його відповідним чином й, якщо потрібно, перетворить у <code class="docutils literal"><span class="pre">.gz</span></code>.</p>
<p>Команда <code class="docutils literal"><span class="pre">merge-upstream</span></code> повідомить або про своє вдале завершення, або про те, що є конфлікти. У будь-якому випадку в Вас буде можливість перевірити зміни перед їх фіксацією у звичний спосіб.</p>
<p>Якщо Ви об’єднуєте реліз апстріму з існуючою гілкою Bazaar, у якій ще не використовуалася розмітка UDD, <code class="docutils literal"><span class="pre">bzr</span> <span class="pre">merge-upstream</span></code> пройде невдало й з помилкою, що тег попередніх версій апстріму недоступний. Злиття неможна виконати без знання базової версії для злиття. Для роботи з цим, створіть тег у своєму існуючому репозиторії для останньої версії апстріму що там є; наприклад, якщо останній реліз Ubuntu був <em>1.1-0ubuntu3</em>, створіть тег <em>upstream-1.1</em>, вказуючи на зміну bzr, яку Ви бажаєте використовувати як підказку для гілки апстріму.</p>
<table class="docutils footnote" frame="void" id="id3" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><p class="first last">Для роботи з командою <code class="docutils literal"><span class="pre">merge</span></code> Вам знадобляться новіші версії <code class="docutils literal"><span class="pre">bzr</span></code> та <code class="docutils literal"><span class="pre">bzr-builddeb</span></code>. Використовуйте версії з Ubuntu 12.04 (Precise) або розроблювані версії з PPA <code class="docutils literal"><span class="pre">bzr</span></code>. Точніше кажучи, Вам знадобиться <code class="docutils literal"><span class="pre">bzr</span></code> версії 2.5 beta 5 або новішої, а також <code class="docutils literal"><span class="pre">bzr-builddeb</span></code> версії 2.8.1 або новішої. Для старих версій використовуйте назамін команду <code class="docutils literal"><span class="pre">bzr</span> <span class="pre">merge-package</span></code>.</p>
</td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id4" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td><p class="first last">Щоб перевірити наявність інших гілок пакунку в Debian, див. сторінку коду пакунку. Наприклад: <a class="reference external" href="https://code.launchpad.net/debian/+source/tomboy">https://code.launchpad.net/debian/+source/tomboy</a></p>
</td></tr>
</tbody>
</table>
</div>
</div>
<div class="divide"></div>
</div>
<div id="sidebar" class="grid_3 omega">
<div class="container-tweet">
<h3>Зміст</h3>
<div class="toc">
<ul>
<li><a class="reference internal" href="#">9. Злиття — оновлення з Debian та апстріму</a><ul>
<li><a class="reference internal" href="#merging-from-debian">9.1. Злиття з Debian</a></li>
<li><a class="reference internal" href="#merging-a-new-upstream-version">9.2. Злиття з новою версією з апстріму</a></li>
</ul>
</li>
</ul>
</div>
<div class="browse-guide">
<h3>Browse The Guide:</h3>
<ul>
<li class="prev">
<a href="udd-latest.html"
title="Попередній розділ: 8. Отримання останніх змін">Go Previous</a>
</li>
<li class="center">
<a title="Back to Index" href="index.html">Index Guide</a>
</li>
<li class="next">
<a href="chroots.html"
title="Наступна тема: 10. Використання chroot-оточень">Go Next</a>
</li>
</ul>
<span>Ця сторінка:</span> <a href="./_sources/udd-merging.txt"
rel="nofollow">Відобразити вихідний текст</a>
</div>
</div>
<div id="back_top"><a href="#top">Back to Top</a></div>
</div>
<!--</section>-->
</div>
</div>
<div class="shadow"></div>
<footer>
<div>
Version: 0.3.8.
<a href="https://bugs.launchpad.net/ubuntu-packaging-guide">Report bugs</a> or
<a href="https://code.launchpad.net/~ubuntu-packaging-guide-team/ubuntu-packaging-guide/trunk">grab the source code</a> from Launchpad.
Створено з використанням <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.4.
<br />
© Copyright 2010-2016, Ubuntu Developers, Creative Commons Attribution-ShareAlike 3.0.
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
<img alt="Creative Commons License" style="border-width:0"
src="./_static/images/cc-by-sa.png" /></a>
<br />
<a href="http://people.ubuntu.com/~mitya57/ubuntu-packaging-guide-readme.html#translating">Help translate</a> or
<a href="./_static/translators.html">view the list of translators</a>.
</div>
</footer>
</body>
</html>
|