バージョン管理下にあるファイルの一覧を取得します。Git と SVN 環境で利用できます。
単体テストで、リポジトリ内のファイルを全チェックするときに便利です。
- NuGet パッケージを追加する
dotnet add package Versioning.Utils
- ファイル一覧を取得する
string[] paths = await VersioningUtils.GetVersionedFiles();
Console.WriteLine(String.Join("\n", paths));
/*
C:/projects/VersioningUtils/.editorconfig
C:/projects/VersioningUtils/.github/workflows/ci.yml
C:/projects/VersioningUtils/.gitignore
C:/projects/VersioningUtils/LICENSE.txt
...
*/- git
- svn
- .NET Core 3.0 以降 (.NET Standard 2.1)
- 対応バージョン管理システム
- git コマンドが利用可能な環境
- svn コマンドが利用可能な環境
- svn 利用時の制限事項
- 非ASCII文字を含むパスは無視されます
- 作業コピーのファイルが存在しない場合は無視されます
- GitHub Desktop に同梱される git クライアントに対応
- TortoiseSVN では、インストールオプションで "command line client tools" が選択されているときに svn コマンドが利用可能になります。
- develop.md: 本パッケージ自体の開発方法です。
-
VersioningUtils.FindTrojanLetters(...)- この関数は Unicodeの制御文字を利用した悪意のあるソースコード を検出します.
// 以下は、単体テストの実装例です var exts = new string[]{".cs"}; var list = await VersioningUtils.FindTrojanLetters(exts); Assert.True(0 == list.Count(), $"不自然な制御文字を含むソースコードが見つかりました。\n{String.Join("\n----\n", list)}");