diffdir は、2つのディレクトリを比較し、差分のあったファイルを抽出します。
比較した内容は1ファイル1行のCSVファイルに記録され、ファイルごとの差分を確認できるHTMLファイルを出力します。
diffdir のインストールには composer
を使用します。
$ cd {$yourDirectory}
$ composer create-project tomk79/diffdir ./
$ php ./diffdir.php {$path_dirA} {$path_dirB}
$ php ./diffdir.php ./tests/sample_a/ ./tests/sample_b/
-o
オプションをつけて、出力先ディレクトリを指定します。
$ php ./diffdir.php -o ./result_sample/ ./tests/sample_a/ ./tests/sample_b/
--strip-crlf
オプションをつけて比較すると、改行コードだけの違いは無視されます。
$ php ./diffdir.php --strip-crlf ./tests/sample_a/ ./tests/sample_b/
-v
オプションをつけて比較すると、ターミナル上に処理の詳細が表示されます。
$ php ./diffdir.php -v ./tests/sample_a/ ./tests/sample_b/
-q
オプションをつけて比較すると、ターミナル上の表示の一切が隠されます。
$ php ./diffdir.php -q ./tests/sample_a/ ./tests/sample_b/
<?php
require_once( './vendor/autoload.php' );
$diffdir = new tomk79\diffdir(
'/path/before/', // path before
'/path/after/', // path after
array( // options
'output'=>'/path/path_output_dir/', // -o
'strip_crlf'=>true, // --strip-crlf
'verbose'=>true // -v
)
);
if( $diffdir->is_error() ){
print 'ERROR.'."\n";
var_dump( $diffdir->get_errors() );
}else{
print 'success.'."\n";
print ''."\n";
print 'see: '.$diffdir->get_output_dir()."\n";
}
MIT License
- (C)Tomoya Koyanagi [email protected]
- website: http://www.pxt.jp/
- Twitter: @tomk79 http://twitter.com/tomk79/
composer
のインストール方法について
詳しくは composerの公式サイト(英語) を参照してください。
下記は公式サイトからの抜粋です。参考までに。
Mac の方は、次のコマンドでグローバルインストールできます。
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
Windows の方は、GUIインストーラ Composer-Setup.exe が用意されています。 次のコマンドでもインストールできますので、お好みの方法でインストールしてください。
$ cd C:\bin
$ php -r "readfile('https://getcomposer.org/installer');" | php
$ cd (project directory)
$ ./vendor/phpunit/phpunit/phpunit php/tests/diffdirTest