<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://178.140.10.58:8080/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://178.140.10.58:8080/feed.php">
        <title>Библиотека знаний - hg</title>
        <description>Заметки IT программиста</description>
        <link>http://178.140.10.58:8080/</link>
        <image rdf:resource="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-17T11:54:50+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:hg-clients"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:scrip1"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:scrip2"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:scrip3"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:start"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=hg:tips"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Библиотека знаний</title>
        <link>http://178.140.10.58:8080/</link>
        <url>http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-29T13:59:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Документация</title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;документация&quot;&gt;Документация&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg_init:%D1%87%D0%B0%D1%81%D1%82%D1%8C_1._%D0%BF%D0%B5%D1%80%D0%B5%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9_subversion&quot; class=&quot;wikilink1&quot; title=&quot;hg_init:часть_1._переобучение_для_пользователей_subversion&quot; data-wiki-id=&quot;hg_init:часть_1._переобучение_для_пользователей_subversion&quot;&gt;Часть 1. Переобучение для пользователей Subversion&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg_init:%D1%87%D0%B0%D1%81%D1%82%D1%8C_2._%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_mercurial&quot; class=&quot;wikilink1&quot; title=&quot;hg_init:часть_2._основы_mercurial&quot; data-wiki-id=&quot;hg_init:часть_2._основы_mercurial&quot;&gt;Часть 2. Основы Mercurial&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg_init:%D1%87%D0%B0%D1%81%D1%82%D1%8C_3._%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_mercurial&quot; class=&quot;wikilink1&quot; title=&quot;hg_init:часть_3._основы_mercurial&quot; data-wiki-id=&quot;hg_init:часть_3._основы_mercurial&quot;&gt;Часть 3. Привыкаем работать в команде&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg_init:%D1%87%D0%B0%D1%81%D1%82%D1%8C_4._%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8&quot; class=&quot;wikilink1&quot; title=&quot;hg_init:часть_4._исправляем_ошибки&quot; data-wiki-id=&quot;hg_init:часть_4._исправляем_ошибки&quot;&gt;Часть 4. Исправляем ошибки&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg_init:%D1%87%D0%B0%D1%81%D1%82%D1%8C_5._%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D1%8F&quot; class=&quot;wikilink1&quot; title=&quot;hg_init:часть_5._процесс_слияния&quot; data-wiki-id=&quot;hg_init:часть_5._процесс_слияния&quot;&gt;Часть 5. Процесс слияния&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg_init:%D1%87%D0%B0%D1%81%D1%82%D1%8C_6._%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B5%D0%B2&quot; class=&quot;wikilink1&quot; title=&quot;hg_init:часть_6._архитектура_репозиториев&quot; data-wiki-id=&quot;hg_init:часть_6._архитектура_репозиториев&quot;&gt;Часть 6. Архитектура репозиториев&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-21T15:27:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>There is a single prefix operator</title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;there_is_a_single_prefix_operator&quot;&gt;There is a single prefix operator&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;not x&lt;/strong&gt; Files not in x. Short form is &lt;strong&gt;! x&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;There is a single prefix operator&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;there_is_a_single_prefix_operator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-103&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;these_are_the_supported_infix_operators&quot;&gt;These are the supported infix operators&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;x and y&lt;/strong&gt; The intersection of files in x and y. Short form is &lt;strong&gt;x &amp;amp; y&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;x or y&lt;/strong&gt; The union of files in x and y. There are two alternative short forms: &lt;strong&gt;x | y&lt;/strong&gt; and &lt;strong&gt;x + y&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;x - y&lt;/strong&gt; Files in x but not in y.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;These are the supported infix operators&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;these_are_the_supported_infix_operators&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;104-387&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;the_following_predicates_are_supported&quot;&gt;The following predicates are supported&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 adds(pattern) Changesets that add a file matching pattern.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 all() All changesets, the same as 0:tip.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 ancestor(single, single) Greatest common ancestor of the two changesets.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 ancestors(set) Changesets that are ancestors of a changeset in set.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 author(string) Alias for user(string).
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 bisect(string) Changesets marked in the specified bisect status:
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
  good, bad, skip: csets explicitly marked as good/bad/skip
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;goods, bads : csets topologicaly good/bad
range : csets taking part in the bisection
pruned : csets that are goods, bads or skipped
untested : csets whose fate is yet unknown
ignored : csets ignored due to DAG topology&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; bookmark([name]) The named bookmark or all bookmarks.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; branch(string or set) All changesets belonging to the given branch or the branches of the given changesets.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; children(set) Child changesets of changesets in set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; closed() Changeset is closed&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; contains(pattern) Revision contains a file matching pattern. See hg help patterns for information about file patterns.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; date(interval) Changesets within the interval, see hg help dates.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; desc(string) Search commit message for string. The match is case-insensitive.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; descendants(set) Changesets which are descendants of changesets in set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; file(pattern) Changesets affecting files matched by pattern.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; filelog(pattern) Changesets connected to the specified filelog.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; first(set, [n]) An alias for limit().&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; follow([file]) An alias for ::. (ancestors of the working copy&amp;#039;s first parent). If a filename is specified, the history of the given file is followed, including copies.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; grep(regex) Like keyword(string) but accepts a regex. Use grep(r&amp;#039;…&amp;#039;) to ensure special escape characters are handled correctly. Unlike keyword(string), the match is case-sensitive.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; head() Changeset is a named branch head.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; heads(set) Members of set with no children in set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; id(string) Revision non-ambiguously specified by the given hex string prefix.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; keyword(string) Search commit message, user name, and names of changed files for string. The match is case-insensitive.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; last(set, [n]) Last n members of set, defaulting to 1.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; limit(set, [n]) First n members of set, defaulting to 1.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; max(set) Changeset with highest revision number in set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; merge() Changeset is a merge changeset.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; min(set) Changeset with lowest revision number in set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; modifies(pattern) Changesets modifying files matched by pattern.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; outgoing([path]) Changesets not found in the specified destination repository, or the default push location.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; p1([set]) First parent of changesets in set, or the working directory.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; p2([set]) Second parent of changesets in set, or the working directory.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; parents([set]) The set of all parents for all changesets in set, or the working directory.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; present(set) An empty set, if any revision in set isn&amp;#039;t found; otherwise, all revisions in set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; removes(pattern) Changesets which remove files matching pattern.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rev(number) Revision with the given numeric identifier.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; reverse(set) Reverse order of set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; roots(set) Changesets with no parent changeset in set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sort(set[, [-]key…]) Sort set by keys. The default sort order is ascending, specify a key as     -key to sort in descending order.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
  The keys can be:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;rev for the revision number,
branch for the branch name,
desc for the commit message (description),
user for user name (author can be used as an alias),
date for the commit date
  tag([name])
The specified tag by name, or all tagged revisions if no name is given.
user(string)
User name contains string. The match is case-insensitive.&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;The following predicates are supported&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;the_following_predicates_are_supported&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;388-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:hg-clients">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-25T12:05:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Клиенты</title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:hg-clients</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;клиенты&quot;&gt;Клиенты&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043b\u0438\u0435\u043d\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043b\u0438\u0435\u043d\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-30&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;windows&quot;&gt;Windows&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://tortoisehg.bitbucket.org&quot; class=&quot;urlextern&quot; title=&quot;http://tortoisehg.bitbucket.org&quot; rel=&quot;ugc nofollow&quot;&gt;http://tortoisehg.bitbucket.org&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Windows&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;windows&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;31-88&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;unix&quot;&gt;Unix&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://tortoisehg.bitbucket.org&quot; class=&quot;urlextern&quot; title=&quot;http://tortoisehg.bitbucket.org&quot; rel=&quot;ugc nofollow&quot;&gt;http://tortoisehg.bitbucket.org&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 apt-get install mercurial
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Unix&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;unix&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;89-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:scrip1">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-29T13:55:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:scrip1</link>
        <description>&lt;pre class=&quot;code&quot;&gt;#!/bin/bash
USER_NAME=&amp;quot;korodm&amp;quot;
USER_GROUP=&amp;quot;korodm&amp;quot;
WWW_DIR=&amp;quot;/home/korodm/Documents/sites/&amp;quot;
USER_REPO=&amp;quot;korodm&amp;quot;
PASS_REPO=&amp;quot;***&amp;quot;
REPO=&amp;quot;bitbucket.org/&amp;quot;
SQL_PASS=&amp;quot;***&amp;quot;

###################################################################################################################

# Проверка на права рута
if [ &amp;quot;${UID}&amp;quot; -ne 0 ]
then
    printf &amp;quot;Root:\t\t\t\t\t\033[0;31mнет\033[0m\n\nПриложение необходимо запустить от имени root!\n&amp;quot;
    exit
else
    printf &amp;quot;Root:\t\t\t\t\t\033[0;32mда\033[0m\n&amp;quot;
fi

# Проверка на наличие передаваемых параметров
if ! [ -n &amp;quot;${1}&amp;quot; ]
then
    printf &amp;quot;Параметры:\t\t\t\t\033[0;31mno\033[0m\n\nПриложение необходимо использовать так:\n%s site_name\n&amp;quot; ${0}
    exit
else
    printf &amp;quot;Параметры:\t\t\t\t\033[0;32m%s\033[0m\n&amp;quot; ${1}
    SITE=${1}
fi

# Проверка на существование рабочего каталога
if ! [ -d &amp;quot;${WWW_DIR}&amp;quot; ]
then
    printf &amp;quot;Рабочий каталог:\t\t\t\033[0;31mне существует\033[0m\n\nИзмените конфцигурацию скрипта.\n&amp;quot;
    exit
else
    printf &amp;quot;Рабочий каталог:\t\t\t\033[0;32m%s\033[0m\n&amp;quot; ${WWW_DIR}
fi

# Проверка на существование каталога для сайта в рабочем каталоге
if [ -d &amp;quot;${WWW_DIR}${SITE}&amp;quot; ]
then
    printf &amp;quot;Каталог для сайта:\t\t\t\033[0;31mуже существует\033[0m\n\nИзмените назваение сайта.\n&amp;quot;
    exit
else
    printf &amp;quot;Каталог для сайта:\t\t\t\033[0;32m%s%s\033[0m\n&amp;quot; ${WWW_DIR} ${SITE}
fi

# Проверка существования репозитария
REPO_TRUE=`curl &amp;quot;https://${REPO}${USER_REPO}/${SITE}&amp;quot; 2&amp;gt; /dev/null | grep -c &amp;quot;Bitbucket_404.png&amp;quot;`
if [[ &amp;quot;${REPO_TRUE}&amp;quot; -eq 1 ]]
then
    printf &amp;quot;Репозитарий:\t\t\t\t\033[0;31mне существует\033[0m\n\nСоздайте репозитарий.\n&amp;quot;
    exit
else
    printf &amp;quot;Репозитарий:\t\t\t\t\033[0;32mhttps://%s%s/%s\033[0m\n&amp;quot; ${REPO} ${USER_REPO} ${SITE}
fi

# Клонируем репозиторий
cd ${WWW_DIR}
hg clone &amp;quot;https://${USER_REPO}:${PASS_REPO}@${REPO}${USER_REPO}/${SITE}&amp;quot; &amp;gt; /dev/null
printf &amp;quot;Клонирование репозитария:\t\t\\033[0;32mзавершено\033[0m\n&amp;quot;
mkdir -p ${WWW_DIR}${SITE}/public_html
chown -R ${USER_NAME}:${USER_GROUP} ${WWW_DIR}${SITE}
printf &amp;quot;Локальная папка:\t\t\t\033[0;32m%s%s/public_html\033[0m\n&amp;quot; ${WWW_DIR} ${SITE}

# Создание виртуального хоста
printf &amp;quot;&amp;lt;VirtualHost *:80&amp;gt;
ServerAdmin webmaster@localhost
ServerName ${SITE}
DocumentRoot ${WWW_DIR}${SITE}/public_html

&amp;lt;Directory /&amp;gt;
Options FollowSymLinks
AllowOverride all
&amp;lt;/Directory&amp;gt;

&amp;lt;Directory ${WWW_DIR}${SITE}/public_html/&amp;gt;
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
&amp;lt;/Directory&amp;gt;

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
&amp;lt;Directory \&amp;quot;/usr/lib/cgi-bin\&amp;quot;&amp;gt;
AllowOverride all
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
&amp;lt;/Directory&amp;gt;

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ \&amp;quot;/usr/share/doc/\&amp;quot;

&amp;lt;Directory \&amp;quot;/usr/share/doc/\&amp;quot;&amp;gt;
Options Indexes MultiViews FollowSymLinks
AllowOverride all
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
&amp;lt;/Directory&amp;gt;

&amp;lt;/VirtualHost&amp;gt;\n&amp;quot; &amp;gt; /etc/apache2/sites-available/${SITE}

printf &amp;quot;Файл конфигурации Apache:\t\t\033[0;32mсоздан\033[0m\n&amp;quot;

# Активация сайта
a2ensite ${SITE} &amp;gt; /dev/nul
printf &amp;quot;Сайт \033[0;32m%s:\t\t\t\tактивирован\033[0m\n&amp;quot; ${SITE}

# Поиск свободного ip адреса
num=1
LIMIT=255

while [ &amp;quot;${num}&amp;quot; -lt &amp;quot;${LIMIT}&amp;quot; ]
do
    if [ `grep -c 127.0.1.${num} /etc/hosts` -ne 1 ]
    then
        echo &amp;quot;127.0.1.${num} ${SITE}&amp;quot; &amp;gt;&amp;gt; /etc/hosts
        break
    fi
    num=$((num+1))
done

printf &amp;quot;Поиск свободного ip адреса:\t\t\033[0;32m127.0.1.%s\033[0m\n&amp;quot; ${num}

# Перезагрузка Apache
/etc/init.d/apache2 reload &amp;gt; /dev/null
printf &amp;quot;Apache:\t\t\t\t\t\033[0;32mперезагружен\033[0m\n&amp;quot;

# Создание index.php
printf &amp;quot;&amp;lt;h1&amp;gt;Сайт %s работает!&amp;lt;/h1&amp;gt;
&amp;lt;h2&amp;gt;%s%s/public_html/index.php&amp;lt;/h2&amp;gt;
&amp;lt;?php phpinfo(); ?&amp;gt;&amp;quot; ${SITE} ${WWW_DIR} ${SITE} &amp;gt; ${WWW_DIR}${SITE}/public_html/index.php

chown ${USER_NAME}:${USER_GROUP} ${WWW_DIR}${SITE}/public_html/index.php

printf &amp;quot;Индексный файл:\t\t\t\t\033[0;32mhttp://%s/index.php\033[0m\n&amp;quot; ${SITE}

# Создание базы данных
mysql -uroot -p${SQL_PASS} --execute=&amp;quot;create database ${SITE};&amp;quot;
mysql -uroot -p${SQL_PASS} --execute=&amp;quot;GRANT ALL PRIVILEGES ON ${SITE}.* TO ${SITE}@localhost IDENTIFIED by &amp;#039;${SITE}&amp;#039; WITH GRANT OPTION;&amp;quot;
printf &amp;quot;База данных:\t\t\t\t\033[0;32m%s\033[0m\n&amp;quot; ${SITE}
printf &amp;quot;Имя пользователя:\t\t\t\033[0;32m%s\033[0m\n&amp;quot; ${SITE}
printf &amp;quot;Пароль:\t\t\t\t\t\033[0;32m%s\033[0m\n&amp;quot; ${SITE}

printf &amp;quot;\n\033[0;32mСайт готов!\033[0m\n\n&amp;quot;

exit&lt;/pre&gt;
</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:scrip2">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-29T14:05:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:scrip2</link>
        <description>&lt;pre class=&quot;code&quot;&gt;#!/bin/bash
WWW_DIR=/home/korodm/Documents/sites/
SQL_PASS=&amp;quot;***&amp;quot;

# Проверка на права рута
if [ &amp;quot;${UID}&amp;quot; -ne 0 ]
then
    printf &amp;quot;Root:\t\t\t\t\t\033[0;31mнет\033[0m\n\nПриложение необходимо запустить от имени root!\n&amp;quot;
    exit
else
    printf &amp;quot;Root:\t\t\t\t\t\033[0;32mда\033[0m\n&amp;quot;
fi

# Проверка на наличие передаваемых параметров
if ! [ -n &amp;quot;${1}&amp;quot; ]
then
    printf &amp;quot;Параметры:\t\t\t\t\033[0;31mno\033[0m\n\nПриложение необходимо использовать так:\n%s site_name\n&amp;quot; ${0}
    exit
else
    printf &amp;quot;Параметры:\t\t\t\t\033[0;32m%s\033[0m\n&amp;quot; ${1}
    SITE=${1}
fi

# Проверка на существование каталога для сайта в рабочем каталоге
if [ -d &amp;quot;${WWW_DIR}${SITE}&amp;quot; ]
then
    rm -r ${WWW_DIR}${SITE}
fi
printf &amp;quot;Каталог сайта:\t\t\t\t\033[0;32mудален\033[0m\n&amp;quot;

# Деактивация в настройках Apache
a2dissite ${SITE} &amp;gt; /dev/nul
rm /etc/apache2/sites-available/${SITE}
printf &amp;quot;Настройки Apache:\t\t\t\033[0;32mсайт деактивирован\033[0m\n&amp;quot;

# Очистка файла /etc/hosts
if [ `grep -c ${SITE} /etc/hosts` -ne 0 ]
then
    grep -v ${SITE} &amp;lt; /etc/hosts &amp;gt; /etc/hosts_new
    mv /etc/hosts_new /etc/hosts
fi
printf &amp;quot;Файл /etc/hosts:\t\t\t\033[0;32mсайт удален\033[0m\n&amp;quot;

# Перезагрузка Apache
/etc/init.d/apache2 reload &amp;gt; /dev/null
printf &amp;quot;Apache:\t\t\t\t\t\033[0;32mперезагружен\033[0m\n&amp;quot;

# Очистка базы данных
mysql -uroot -p${SQL_PASS} --execute=&amp;quot;drop database ${SITE};&amp;quot;
mysql -uroot -p${SQL_PASS} --execute=&amp;quot;USE mysql; DELETE FROM user WHERE User=&amp;#039;${SITE}&amp;#039;;&amp;quot;
printf &amp;quot;База данных:\t\t\t\t\033[0;32mудалена\033[0m\n&amp;quot;

printf &amp;quot;\n\033[0;32mСайт удален!\033[0m\n\n&amp;quot;

exit&lt;/pre&gt;
</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:scrip3">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-29T14:08:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:scrip3</link>
        <description>&lt;pre class=&quot;code&quot;&gt;#!/bin/bash
# Скрипт для работы с проектами
# Автор: Роман Коноплев (korodm@gmail.com)

# Функция вывода справки
function help() {
    echo &amp;quot;Скрипт для работы с проектами&amp;quot;
    echo
    echo &amp;quot;Использование: `basename ${0}` -options project_name&amp;quot;
    echo &amp;quot;Опции:&amp;quot;
    echo &amp;quot; -c       Создать проект&amp;quot;
    echo &amp;quot; -r       Удалить проект&amp;quot;
    echo &amp;quot; -h       Коммит проекта&amp;quot;
    echo &amp;quot; -m       Создание/удаление/коммит вместе с базой данных&amp;quot;
    echo &amp;quot;          (использовать с -c, -r или -h)&amp;quot;
    echo
    echo &amp;quot; -i       Вывод этой справки&amp;quot;
    echo
}

################################################################################
#                          Стандартные переменные
################################################################################

# Рабочий каталог
WORK_DIR=&amp;quot;/home/korodm/Documents/sites/&amp;quot;

# Форматирование вывода
END=$(tput hpa $(tput cols))$(tput cub 6)
RED=$(tput setf 4)
GREEN=$(tput setf 2)
RESET=$(tput sgr0)

################################################################################
#                                Проверки
################################################################################

# Проверка на наличие передаваемых параметров
if ! [ -n &amp;quot;${2}&amp;quot; ]
then
    help
    exit 1
else
    SITE=${2}
fi

# Проверка рабочего каталога
while [[ ! -d ${WORK_DIR} ]]
do
    printf &amp;quot;path to work dir: &amp;quot;
    read WORK_DIR
done

# Если рабочий каталог был указан без / вконце, добавим этот слэш
if [[ &amp;quot;${WORK_DIR: -1}&amp;quot; != &amp;quot;/&amp;quot; ]]
then
    WORK_DIR=${WORK_DIR}&amp;#039;&amp;#039;&amp;quot;/&amp;quot;
fi

################################################################################
#                               Блок функций
################################################################################

# Функция создания проекта
function create() {    
    # Проверка на существование каталога для сайта в рабочем каталоге
    while [[ -d &amp;quot;${WORK_DIR}${SITE}&amp;quot; ]]
    do
        printf &amp;quot;path to project dir: &amp;quot;
        read SITE
    done
    
    mkdir ${WORK_DIR}${SITE}
    
    # Создание index.php
    printf &amp;quot;&amp;lt;h1&amp;gt;Сайт %s работает!&amp;lt;/h1&amp;gt;
&amp;lt;h2&amp;gt;%s%s/index.php&amp;lt;/h2&amp;gt;
&amp;lt;?php phpinfo(); ?&amp;gt;&amp;quot; ${SITE} ${WORK_DIR} ${SITE} &amp;gt; ${WORK_DIR}${SITE}/index.php

    echo &amp;quot;Создание сайта ${SITE}${END}${GREEN}[OK]${RESET}&amp;quot;
}

# Функция удаления проекта
function delete() {
    # Проверка на существование каталога для сайта в рабочем каталоге
    while [[ ! -d &amp;quot;${WORK_DIR}${SITE}&amp;quot; ]]
    do
        printf &amp;quot;path to project dir: &amp;quot;
        read SITE
    done
    
    rm -R ${WORK_DIR}${SITE}
    
    echo &amp;quot;Удаление сайта ${SITE}${END}${GREEN}[OK]${RESET}&amp;quot;
}

# Функция коммита
function commit() {
    # Проверка на существование каталога для сайта в рабочем каталоге
    while [[ ! -d &amp;quot;${WORK_DIR}${SITE}/.hg&amp;quot; ]]
    do
        printf &amp;quot;path to project dir: &amp;quot;
        read SITE
    done
    
    cd ${WORK_DIR}${SITE}
    
    for i in $(find . -type f -name &amp;quot;*.php&amp;quot;)
    do
        if ! php -l ${i} &amp;gt; /dev/null
        then
            echo &amp;quot;Найдены ошибки ${SITE}${END}${RED}[FAIL]${RESET}&amp;quot;
            exit 1
        fi
    done
    
    hg addremove
    hg commit
    hg push
    
    cd - &amp;gt; /dev/null
    
    echo &amp;quot;Коммит сайта ${SITE}${END}${GREEN}[OK]${RESET}&amp;quot;
}

# Функция создания базы данных
function mysql_create() {
    
    mysql -uroot -p --execute=&amp;quot;create database ${SITE};&amp;quot;
    mysql -uroot -p --execute=&amp;quot;GRANT ALL PRIVILEGES ON ${SITE}.* TO ${SITE}@localhost IDENTIFIED by &amp;#039;${SITE}&amp;#039; WITH GRANT OPTION;&amp;quot;
    
    echo &amp;quot;Создание базы данных ${SITE}${END}${GREEN}[OK]${RESET}&amp;quot;
}

# Функция удаления базы данных
function mysql_delete() {

    mysql -uroot -p --execute=&amp;quot;drop database ${SITE};&amp;quot;
    mysql -uroot -p --execute=&amp;quot;USE mysql; DELETE FROM user WHERE User=&amp;#039;${SITE}&amp;#039;;&amp;quot;
    
    echo &amp;quot;Удаление базы данных ${SITE}${END}${GREEN}[OK]${RESET}&amp;quot;
}

# Функция бэкапа базы данных для последующего коммита
function mysql_backup() {
    
    # Проверка на существование каталога для сайта в рабочем каталоге
    while [[ ! -d &amp;quot;${WORK_DIR}${SITE}/.hg&amp;quot; ]]
    do
        printf &amp;quot;path to project dir: &amp;quot;
        read SITE
    done
    
    cd ${WORK_DIR}${SITE}
    
    mysqldump -uroot -p ${SITE} &amp;gt; mysql-`date +%m%d%y`.sql
    
    echo &amp;quot;Бэкап базы ${SITE}${END}${GREEN}[OK]${RESET}&amp;quot;
}

################################################################################
#                                 Основной скрипт
################################################################################

if [ $# -eq 0 ]  # Сценарий вызван без аргументов?
then
    help
    exit 65
fi

while getopts &amp;quot;:crhi&amp;quot; OPTION
do
    case ${OPTION} in
        
        c ) while getopts &amp;quot;:m&amp;quot; OTHER_OPTION
            do
                case ${OTHER_OPTION} in
                
                    m ) create
                        mysql_create
                        exit 0 ;;
                    
                    * ) echo &amp;quot;Недопустимый сценарий&amp;quot;
                        exit 1 ;;
                
                esac
            done
            
            create
            exit 0 ;;
        
        r ) while getopts &amp;quot;:m&amp;quot; OTHER_OPTION
            do
                case ${OTHER_OPTION} in
                
                    m ) delete
                        mysql_delete
                        exit 0 ;;
                    
                    * ) echo &amp;quot;Недопустимый сценарий&amp;quot;
                        exit 1 ;;
                
                esac
            done
            
            delete
            exit 0 ;;
        
        h ) while getopts &amp;quot;:m&amp;quot; OTHER_OPTION
            do
                case ${OTHER_OPTION} in
                
                    m ) mysql_backup
                        commit
                        exit 0 ;;
                    
                    * ) echo &amp;quot;Недопустимый сценарий&amp;quot;
                        exit 1 ;;
                
                esac
            done
            
            commit
            exit 0 ;;
        
        i ) help
            exit 0 ;;
        
        * ) echo &amp;quot;Недопустимый сценарий&amp;quot;
            exit 1 ;;
        
    esac
done

exit 0;&lt;/pre&gt;
</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:start">
        <dc:format>text/html</dc:format>
        <dc:date>2013-02-20T10:18:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mercurial</title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:start</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mercurial&quot;&gt;Mercurial&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:tips&quot; class=&quot;wikilink1&quot; title=&quot;hg:tips&quot; data-wiki-id=&quot;hg:tips&quot;&gt;TIPS&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F&quot; class=&quot;wikilink1&quot; title=&quot;hg:документация&quot; data-wiki-id=&quot;hg:документация&quot;&gt;Документация&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F&quot; class=&quot;wikilink1&quot; title=&quot;hg:фильтрация&quot; data-wiki-id=&quot;hg:фильтрация&quot;&gt;Фильтрация&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:mercurial_ssp_public_key&quot; class=&quot;wikilink2&quot; title=&quot;hg:mercurial_ssp_public_key&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;hg:mercurial_ssp_public_key&quot;&gt;Авторизация по ключу&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:mercurial_https&quot; class=&quot;wikilink2&quot; title=&quot;hg:mercurial_https&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;hg:mercurial_https&quot;&gt;https&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:mercurial_automated_deployment&quot; class=&quot;wikilink2&quot; title=&quot;hg:mercurial_automated_deployment&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;hg:mercurial_automated_deployment&quot;&gt;Mercurial automated deployment&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:hg-clients&quot; class=&quot;wikilink1&quot; title=&quot;hg:hg-clients&quot; data-wiki-id=&quot;hg:hg-clients&quot;&gt;Клиенты&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/blogs/webdev/114859&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/blogs/webdev/114859&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/blogs/webdev/114859&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/140347/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/140347/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/140347/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mercurial&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mercurial&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-422&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;server&quot;&gt;Server&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/post/164095/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/164095/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/164095/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://runeleaf.wordpress.com/2010/05/05/mercurial-mercurial%E3%81%A7gitosis%E3%81%BF%E3%81%9F%E3%81%84%E3%81%AA%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8Bmercurial-server%E3%82%92%E5%85%A5%E3%82%8C%E3%81%9F/&quot; class=&quot;urlextern&quot; title=&quot;http://runeleaf.wordpress.com/2010/05/05/mercurial-mercurial%E3%81%A7gitosis%E3%81%BF%E3%81%9F%E3%81%84%E3%81%AA%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8Bmercurial-server%E3%82%92%E5%85%A5%E3%82%8C%E3%81%9F/&quot; rel=&quot;ugc nofollow&quot;&gt;http://runeleaf.wordpress.com/2010/05/05/mercurial-mercurial%E3%81%A7gitosis%E3%81%BF%E3%81%9F%E3%81%84%E3%81%AA%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8Bmercurial-server%E3%82%92%E5%85%A5%E3%82%8C%E3%81%9F/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://kurtgrandis.com/blog/2010/03/20/gitosis-for-mercurial/&quot; class=&quot;urlextern&quot; title=&quot;http://kurtgrandis.com/blog/2010/03/20/gitosis-for-mercurial/&quot; rel=&quot;ugc nofollow&quot;&gt;http://kurtgrandis.com/blog/2010/03/20/gitosis-for-mercurial/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;423-772&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://www.selenic.com/mercurial/hg.1.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.selenic.com/mercurial/hg.1.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.selenic.com/mercurial/hg.1.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/blogs/nix/126468&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/blogs/nix/126468&quot; rel=&quot;ugc nofollow&quot;&gt;Bash + Apache + hg = удобная разработка сайтов и синхронизация с Mercurial. Часть 1&lt;/a&gt; - &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:scrip1&quot; class=&quot;wikilink1&quot; title=&quot;hg:scrip1&quot; data-wiki-id=&quot;hg:scrip1&quot;&gt;bash+hg+ap+script1&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/blogs/nix/126529&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/blogs/nix/126529&quot; rel=&quot;ugc nofollow&quot;&gt;Bash + Apache + hg = удобная разработка сайтов и синхронизация с Mercurial. Часть 2&lt;/a&gt; - &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:scrip2&quot; class=&quot;wikilink1&quot; title=&quot;hg:scrip2&quot; data-wiki-id=&quot;hg:scrip2&quot;&gt;bash+hg+ap+script2&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://habrahabr.ru/blogs/nix/126649&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/blogs/nix/126649&quot; rel=&quot;ugc nofollow&quot;&gt;Bash + Apache + hg = удобная разработка сайтов и синхронизация с Mercurial. Часть 3&lt;/a&gt; - &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=hg:scrip3&quot; class=&quot;wikilink1&quot; title=&quot;hg:scrip3&quot; data-wiki-id=&quot;hg:scrip3&quot;&gt;bash+hg+ap+script3&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;773-1471&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;файл_конфигурации&quot;&gt;Файл конфигурации&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Файл конфигурации имеет 2 расположения. Внутри репозитория и в домашней директории. Файл конфигурации называется &lt;strong&gt;hgrc&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0430\u0439\u043b_\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1472-1741&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;репозиторий&quot;&gt;Репозиторий&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[paths]
ssh = ssh://some-host/path
fedor = https://some-host:81/path&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1742-1862&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;ssh_private_key&quot;&gt;SSH + Private key&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[ui]
ssh = Plink.exe -i &amp;quot;path to private key&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SSH + Private key&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssh_private_key&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1863-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=hg:tips">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-29T13:59:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TIPS</title>
        <link>http://178.140.10.58:8080/doku.php?id=hg:tips</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;tips&quot;&gt;TIPS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg log -k &amp;lt;keyword&amp;gt;&lt;/strong&gt; to search your history for a keyword
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg archive -R myrepo -r 1.0 myrepo-1.0.zip&lt;/strong&gt; to build a zip file of your release.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg archive -r default ./myrepo-1.0.zip&lt;/strong&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg rollback&lt;/strong&gt; and &lt;strong&gt;hg strip&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg summary&lt;/strong&gt; to get a synopsis of your working directory
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg serve&lt;/strong&gt;, then browse your repository at &amp;#039;&lt;a href=&quot;http://localhost:8000/&quot; class=&quot;urlextern&quot; title=&quot;http://localhost:8000/&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost:8000/&lt;/a&gt;&amp;#039;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg log -k &amp;lt;keyword&amp;gt;&lt;/strong&gt; to search your history for a keyword
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg id -i -r &amp;lt;rev&amp;gt;&lt;/strong&gt; to find the changeset id for a given revision or tag
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg status –rev &amp;lt;X&amp;gt;:&amp;lt;Y&amp;gt;&lt;/strong&gt; to see files changes between two revisions
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg archive -R myrepo -r 1.0 myrepo-1.0.zip&lt;/strong&gt; to build a zip file of your release.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg tags&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg commit -m &amp;quot;merge&amp;quot;&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg id -i -r&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg tags -q&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;hg heads -q&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code&quot;&gt;# -q сокращенная информация
# -r ревизия (хаш тэг)&lt;/pre&gt;

&lt;/div&gt;
</description>
    </item>
</rdf:RDF>
