namespace LibGit2Sharp { /// /// Extensions related to submodules /// public static class SubmoduleExtensions { private const SubmoduleStatus UnmodifiedMask = ~(SubmoduleStatus.InConfig | SubmoduleStatus.InHead | SubmoduleStatus.InIndex | SubmoduleStatus.InWorkDir); private const SubmoduleStatus WorkDirDirtyMask = SubmoduleStatus.WorkDirFilesIndexDirty | SubmoduleStatus.WorkDirFilesModified | SubmoduleStatus.WorkDirFilesUntracked; /// /// The submodule is unmodified. /// public static bool IsUnmodified(this SubmoduleStatus @this) { return (@this & UnmodifiedMask) == SubmoduleStatus.Unmodified; } /// /// The submodule working directory is dirty. /// public static bool IsWorkingDirectoryDirty(this SubmoduleStatus @this) { return (@this & WorkDirDirtyMask) != SubmoduleStatus.Unmodified; } } }