<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.svn.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'function.svn-status.php',
    1 => 'svn_status',
    2 => 'Возвращает SVN-статус файлов и директорий рабочей копии',
  ),
  'up' => 
  array (
    0 => 'ref.svn.php',
    1 => 'Функции SVN',
  ),
  'prev' => 
  array (
    0 => 'function.svn-revert.php',
    1 => 'svn_revert',
  ),
  'next' => 
  array (
    0 => 'function.svn-update.php',
    1 => 'svn_update',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/svn/functions/svn-status.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.svn-status" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">svn_status</h1>
  <p class="verinfo">(PECL svn &gt;= 0.1.0)</p><p class="refpurpose"><span class="refname">svn_status</span> &mdash; <span class="dc-title">Возвращает SVN-статус файлов и директорий рабочей копии</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.svn-status-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>svn_status</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$path</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$flags</code><span class="initializer"> = 0</span></span>): <span class="type"><a href="language.types.array.php" class="type array">array</a></span></div>

  <p class="simpara">
   Возвращает SVN статус файлов и директорий рабочей копии, подвергнувшихся модификации,
   добавлению, удалению и прочим изменениям.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.svn-status-parameters">
  <h3 class="title">Список параметров</h3>
  <dl>
   
    <dt><code class="parameter">path</code></dt>
    <dd>
     <span class="simpara">
      Локальный путь к файлу или директории для получения статуса.
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
<span class="simpara">
Функция вычислит относительные пути так, как если бы текущая рабочая директория была домашней папкой самого PHP.
Чтобы использовать рабочую директорию вызывающего скрипта, пользуются функцией <span class="function"><a href="function.realpath.php" class="function">realpath()</a></span>
или dirname(__FILE__).
</span>
</p></blockquote>
    </dd>
   
   
    <dt><code class="parameter">flags</code></dt>
    <dd>
     <span class="simpara">
      Любая комбинация флагов <strong><code>Svn::NON_RECURSIVE</code></strong>,
      <strong><code>Svn::ALL</code></strong> (вне зависимости от статуса модификации),
      <strong><code>Svn::SHOW_UPDATES</code></strong> (к записям будут добавлены пункты
      со старыми правками), <strong><code>Svn::NO_IGNORE</code></strong> (игнорирование
      <code class="literal">svn:ignore</code> свойств при сканировании новых файлов)
      и <strong><code>Svn::IGNORE_EXTERNALS</code></strong>.
     </span>
    </dd>
   
  </dl>

 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.svn-status-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="simpara">
   Возвращает пронумерованный массив, состоящий из ассоциативных массивов с
   подробными статусами элементов в репозитории:
  </p>
  <div class="example-contents screen">
<div class="returnvaluescode"><pre class="returnvaluescode">Array (
    [0] =&gt; Array (
        // информация об элементе
    )
    [1] =&gt; ...
)</pre>
</div>
  </div>
  <p class="simpara">
   Информация об элементе может быть получена из ассоциативного массива по
   двум ключам:
  </p>
  <dl>
   
    <dt><var class="varname">path</var></dt>
    <dd>
     <span class="simpara">
      Путь к файлу/директории в локальной файловой системе.
     </span>
    </dd>
   
   
    <dt><var class="varname">text_status</var></dt>
    <dd>
     <span class="simpara">
      Код текстового статуса элемента. Смотрите Для информации о возможных значениях, обратитесь
к <a href="svn.constants.php#svn.constants.status" class="link">константам статусов</a>.
     </span>
    </dd>
   
   
    <dt><var class="varname">repos_text_status</var></dt>
    <dd>
     <span class="simpara">
      Код текстового статуса элемента в репозитории. Отображается
      если <code class="parameter">update</code> установлен в <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
      Смотрите Для информации о возможных значениях, обратитесь
к <a href="svn.constants.php#svn.constants.status" class="link">константам статусов</a>.
     </span>
    </dd>
   
   
    <dt><var class="varname">prop_status</var></dt>
    <dd>
     <span class="simpara">
      Код текстового статуса свойств элемента. Смотрите Для информации о возможных значениях, обратитесь
к <a href="svn.constants.php#svn.constants.status" class="link">константам статусов</a>.
     </span>
    </dd>
   
   
    <dt><var class="varname">repos_prop_status</var></dt>
    <dd>
     <span class="simpara">
      Код текстового статуса свойств элемента в репозитории. Отображается
      если <code class="parameter">update</code> установлен в <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>. Смотрите Для информации о возможных значениях, обратитесь
к <a href="svn.constants.php#svn.constants.status" class="link">константам статусов</a>.
     </span>
    </dd>
   
   
    <dt><var class="varname">locked</var></dt>
    <dd>
     <span class="simpara">
      Будет ли заблокирован элемент или нет. (Устанавливается при <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">copied</var></dt>
    <dd>
     <span class="simpara">
      Будет ли скопирован элемент (запланирован для добавления в истории
      правок). (Устанавливается при <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">switched</var></dt>
    <dd>
     <span class="simpara">
      Будет ли элемент переключён используя команду переключения.
      (Устанавливается при <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>)
     </span>
    </dd>
   
  </dl>
  <p class="simpara">
   Следующие ниже ключи устанавливаются только если элемент имеет версию:
  </p>
  <dl>
   
    <dt><var class="varname">name</var></dt>
    <dd>
     <span class="simpara">
      Имя элемента в репозитории.
     </span>
    </dd>
   
   
    <dt><var class="varname">url</var></dt>
    <dd>
     <span class="simpara">
      URL-адрес элемента в репозитории.
     </span>
    </dd>
   
   
    <dt><var class="varname">repos</var></dt>
    <dd>
     <span class="simpara">
      URL-адрес репозитория.
     </span>
    </dd>
   
   
    <dt><var class="varname">revision</var></dt>
    <dd>
     <span class="simpara">
      Номер ревизии рабочей копии.
     </span>
    </dd>
   
   
    <dt><var class="varname">kind</var></dt>
    <dd>
     <span class="simpara">
      Тип элемента, т.е. файл или директория. Смотрите Для информации о возможных значениях, обратитесь
к <a href="svn.constants.php#svn.constants.type" class="link">константам типов</a>.
     </span>
    </dd>
   
   
    <dt><var class="varname">schedule</var></dt>
    <dd>
     <span class="simpara">
      Запланированное действия для элемента, т.е. добавление или удаления.
      Константы для данных магических чисел не доступны, они эмулируются,
      согласно правилу:
     </span>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">if (!</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'svn_wc_schedule_normal'</span><span style="color: #007700">)) {<br />    </span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'svn_wc_schedule_normal'</span><span style="color: #007700">,  </span><span style="color: #0000BB">0</span><span style="color: #007700">); </span><span style="color: #FF8000">// никаких изменений<br />    </span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'svn_wc_schedule_add'</span><span style="color: #007700">,     </span><span style="color: #0000BB">1</span><span style="color: #007700">); </span><span style="color: #FF8000">// элемент будет добавлен<br />    </span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'svn_wc_schedule_delete'</span><span style="color: #007700">,  </span><span style="color: #0000BB">2</span><span style="color: #007700">); </span><span style="color: #FF8000">// элемент будет удалён<br />    </span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'svn_wc_schedule_replace'</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">); </span><span style="color: #FF8000">// элемент будет удалён и добавлен<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

    </dd>
   
   
    <dt><var class="varname">deleted</var></dt>
    <dd>
     <span class="simpara">
      Будет или нет элемент будет удалён, но ревизия родителя не увеличится
      (Установлено при <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">absent</var></dt>
    <dd>
     <span class="simpara">
      Будет или нет элемент помечен отсутствующим. Subversion будет помнить, что
      в этом месте что-то расположено, но не будет знать что именно.
      (Устанавливается при <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">incomplete</var></dt>
    <dd>
     <span class="simpara">
      Будет или нет содержимое директории считаться неполным.
      (Устанавливается при <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">cmt_date</var></dt>
    <dd>
     <span class="simpara">
      Отметка времени в формате Unix о дате последней правки (Не зависит от <code class="parameter">update</code>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">cmt_rev</var></dt>
    <dd>
     <span class="simpara">
      Номер ревизии последнего обновления. (Не зависит от <code class="parameter">update</code>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">cmt_author</var></dt>
    <dd>
     <span class="simpara">
      Имя автора последней правки. (Не зависит от <code class="parameter">update</code>.)
     </span>
    </dd>
   
   
    <dt><var class="varname">prop_time</var></dt>
    <dd>
     <span class="simpara">
      Отметка времени в формате Unix о последней актуальной версии свойств.
     </span>
    </dd>
   
   
    <dt><var class="varname">text_time</var></dt>
    <dd>
     <span class="simpara">
      Отметка времени в формате Unix о последней актуальной версии текста.
     </span>
    </dd>
   
   
  </dl>
 </div>


 

 

 <div class="refsect1 examples" id="refsect1-function.svn-status-examples">
  <h3 class="title">Примеры</h3>
  <div class="example" id="example-1">
   <p><strong>Пример #1 Простой пример</strong></p>
   <div class="example-contents"><p>
    Приведённый ниже пример иллюстрирует базовое, теоретическое использование данной функции
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">svn_status</span><span style="color: #007700">(</span><span style="color: #0000BB">realpath</span><span style="color: #007700">(</span><span style="color: #DD0000">'wc'</span><span style="color: #007700">)));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   
<div class="example-contents"><p>
 Вывод приведённого примера будет похож на:
</p></div>

   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Array (
    [0] =&gt; Array (
        [path] =&gt; /home/bob/wc/sandwich.txt
        [text_status] =&gt; 8 // элемент был изменён
        [repos_text_status] =&gt; 1 // нет доступной информации, выполнить update
        [prop_status] =&gt; 3 // нет изменений
        [repos_prop_status] =&gt; 1 // нет доступной информации, выполнить update
        [name] =&gt; sandwich.txt
        [url] =&gt; http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] =&gt; http://www.example.com/svnroot/
        [revision] =&gt; 123
        [kind] =&gt; 1 // file
        [schedule] =&gt; 0 // не запланировано никаких действий
        [cmt_date] =&gt; 1165543135
        [cmt_rev] =&gt; 120
        [cmt_author] =&gt; Alice
        [prop_time] =&gt; 1180201728
        [text_time] =&gt; 1180201729
    )
)</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 notes" id="refsect1-function.svn-status-notes">
  <h3 class="title">Примечания</h3>
  <div class="warning"><strong class="warning">Внимание</strong><p class="simpara">
Это <em>ЭКСПЕРИМЕНТАЛЬНАЯ</em> функция. Поведение,
название и документацию к функции в новых версиях PHP изменяют без уведомления.
За включение функции в код отвечает программист.</p></div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.svn-status-seealso">
  <h3 class="title">Смотрите также</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.svn-update.php" class="function" rel="rdfs-seeAlso">svn_update()</a> - Обновляет рабочую копию</span></li>
   <li><span class="function"><a href="function.svn-log.php" class="function" rel="rdfs-seeAlso">svn_log()</a> - Возвращает комментарии к правкам в репозитории</span></li>
   <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.status.html" class="link external">&raquo;&nbsp;SVN-документация по svn status</a></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>