Еще одно решение для пуcтых папок в Mercurial

Продолжение темы поднятой в статьях Часть1 и часть2

Написал небольшой скрипт который сканирует рабочий проект и рядом в файлик складывает названия пустых папок, который при необходимости можно подправить руками. Если запустить скрипт с флагом create, то он создаст все эти папки.

( Читать дальше )

Mercurial, проблемы с папками.Часть 2

Проблему с коммитом пустых папок мы решили в первой статье Часть 1.
Но что если идет речь о папке application/logs/? Мы должны в правилах игнорирования прописать игнор всего содержимого в ней. Первое что приходит на ум:
syntax: glob
application/logs/**


( Читать дальше )

Mercurial, проблемы с папками

Как известно, система контроля версий mercurial пустые папки не помещает в репозиторий. Один из выходов из положения — создать в пустых папках файл .hidden.Конечно это нужно как-то автоматизировать. Вот пример скрипта на php:
#! /usr/bin/env php
<?php
make(dirname(__FILE__).DIRECTORY_SEPARATOR);
function make($path)
{
    $h = opendir($path);
    while (FALSE !== ($element = readdir($h)))
    {
        $path_in = $path.$element;
        if ($element == '.' or $element == '..' or !is_dir($path_in))
        {
            continue;
        }        
        if(count(scandir($path_in)) == 2)//если папка пуста
        {
            echo 'Adding: '.$path_in.DIRECTORY_SEPARATOR.'.hidden'."\n";
            fopen($path_in.DIRECTORY_SEPARATOR.'.hidden', 'w');
        }
        else
        {
            make($path_in.DIRECTORY_SEPARATOR);
        }
    }
    closedir($h);
}
?>

Ложем файлик в корень проекта и запускаем.
UP: Часть2, Часть3
  • 0
  • 25 сентября 2009, 12:46
  • admin
  • 5