понедельник, 12 марта 2012 г.

Composite C1 и управление версиями сайта с помощью Mercurial

Если вы хотите управлять версиями вашего сайта, созданного на Composite C1, то можете это сделать при помощи Mercurial.

Далее будет мой вольный перевод статьи на эту тему: Composite C1 and Mercurial (англ.)

Итак, вам понадобится Mercurial, бесплатная система управления версиями (version control). Само приложение - консольное, поэтому рекомендую установить TortoiseHg, целый набор расширений оболочки Windows для удобного использования Mercurial. И то, и другое можно сразу загрузить и установить отсюда  http://mercurial.selenic.com/downloads/.

Создание репозитория

Mercurial хранит версии в папке .hg в корне репозитория.

В зависимости от ваших нужд, вы можете сделать корневую папку сайта корневой папкой репозитория. Тогда папка .hg будет подпапкой на вашем сайте.

Вариант 1:
/Website
/Website/.hg

Второй вариант: папка сайта будет подпапкой в корне репозитория:

Вариант 2:
/.hg
/MyWebsite

Итак:
  1. В Windows Explorer'е, создаем папку для репозитория.
  2. В контекстном меню папки, выбираем TortoiseHg | Create Repository Here.
  3. В появившемся окне, убеждаемся, что опция Add special files ('.hgignore', ...) выбрана.
  4. Нажимаем Create.
Создание файла .hgignore

В файле .hgignore находится список файлов, версиями которых управлять не нужно. В зависимости от варианта размещение сайта в репозитории (см. выше), содержимое этого файла будет таким:

Вариант 1:
syntax: glob 
App_Data/Composite/ApplicationState
App_Data/Composite/Cache
App_Data/Composite/LogFiles
App_Data/Composite/PackageLicenses
App_Data/Composite/Versioning/ContentVersioning
App_Data/Composite/Packages
App_Data/Composite/Temp
App_Data/Media
App_Data/PackageCreator
App_Data/dtSearchIndex
Bin/*.xml
Bin/System.Web.*
Bin/Microsoft.Practices.* 
Composite

Вариант 2:
syntax: glob
<папка_сайта>/App_Data/Composite/ApplicationState
<папка_сайта>/App_Data/Composite/Cache
<папка_сайта>/App_Data/Composite/LogFiles
<папка_сайта>/App_Data/Composite/PackageLicenses
<папка_сайта>/App_Data/Composite/Versioning/ContentVersioning
<папка_сайта>/App_Data/Composite/Packages
<папка_сайта>/App_Data/Composite/Temp
<папка_сайта>/App_Data/Media
<папка_сайта>/App_Data/PackageCreator
<папка_сайта>/App_Data/dtSearchIndex
<папка_сайта>/Bin/*.xml
<папка_сайта>/Bin/System.Web.*
<папка_сайта>/Bin/Microsoft.Practices.*
<папка_сайта>/Composite

где  <папка_сайта>  - это папка вашего сайта.

(Из перечисленных выше папок, на вашем сайте может не быть некоторых. Это обычно папки, связанные с установленными пакетами.)

Защита файлов репозитория

Если папка .hg является подпапкой в корневой папке сайта (вариант 1), в целях безопасности вам нужно запретить HTTP-доступ к ней:
  1. Откройте web.config вашего сайта.
  2. Добавьте элемент <security> в configuration/system.webServer:
<configuration>
  <system.webServer>
    <!-- другие настройки -->
      <security>
        <requestFiltering>
          <hiddenSegments>
            <add segment=".hg" />
          </hiddenSegments>
        </requestFiltering>
     </security>
  </system.webServer>
</configuration>

Первое добавление файлов в репозиторий
  1. В Windows Explorer, вызываем контекстное меню папки репозитория.
  2. В контекстном меню, выбираем TortoiseHg | Add files. Первый раз все файлы будут выбраны.
  3. Нажимаем Add.
Теперь:
  1. В контекстном меню папки репозитория, выбираем Hg Commit.
  2. В появившемся окне, пишем комментарий
  3. Нажимаем Commit.
Обзор истории версий

В Windows Explorer, вызываем контекстное меню папки репозитория. 
В контекстном меню, выбираем Hg Workbench.
Ну, и работаем с версиями :).

Комментариев нет:

Отправить комментарий