ファイル システム内で重複または重複しているディレクトリ、ファイル、およびツリーを検索します。
次の行をアプリケーションの Gemfile に追加します。
gem 'dupless'
そして、以下を実行します。
$ bundle
または、次のように自分でインストールします。
$ gem install dupless
実装が異なる 2 つのアプリケーションが存在します。
これにより、別のディレクトリ内のファイルと少なくとも部分的に一致する重複したファイルとディレクトリが検索されます。
ファイル比較は、 diff
と同様に、ファイル名ではなくファイルの内容に基づいて行われます。
これはキャッシュを使用して、ファイルの繰り返し読み取りを回避します。
2 つのディレクトリのファイルのペア (または複数) が一致する場合、ディレクトリが比較され、次のタイプのいずれかになります。
同一: 両方のディレクトリ内の各ファイルは、もう一方のディレクトリにも一致します。
内容: 1 つのディレクトリ内の各ファイルは、別のディレクトリにファイルを持っています。つまり、最初のディレクトリは 2 番目のディレクトリのスーパーセットです。
不一致: 2 つのディレクトリに共通のファイル、つまり少なくとも 1 つの要素の交差部分があります。
これは、名前のみに基づいてファイルとディレクトリの重複した階層を検索します ( dupless
とは対照的に、ファイルの内容には基づいていません)。
各ディレクトリ内のすべてのディレクトリとファイルが 2 番目のディレクトリで一致する場合、2 つのディレクトリは等しい (同一) と見なされます。
これはキャッシュを使用しません。
スーパーセット (「含む」) と交差 (「不一致」) は計算されません。
リポジトリをチェックアウトした後、 bin/setup
実行して依存関係をインストールします。次に、 rake test
実行してテストを実行します。 bin/console
実行して対話型プロンプトを表示し、実験することもできます。
この gem をローカル マシンにインストールするには、 bundle exec rake install
実行します。新しいバージョンをリリースするには、 version.rb
のバージョン番号を更新してから、 bundle exec rake release
実行します。これにより、そのバージョンの git タグが作成され、git のコミットとタグがプッシュされ、 .gem
ファイルが Rubygems.org にプッシュされます。
バグレポートとプルリクエストは、GitHub (https://github.com/jpace/dupless) である程度歓迎されます。
この gem は、MIT ライセンスの条件に基づいてオープン ソースとして利用できます。