Skip to content

Repo Configuration - Support for .gitignore-Compatible Exclude Patterns #74

@srtab

Description

@srtab

Description:

Overview:
Enhance DAIV's repository configuration by adding support for exclude patterns that are compatible with .gitignore syntax. This feature will allow users to specify files and directories that DAIV should ignore during its operations, ensuring more precise and efficient automation. Additionally, DAIV will automatically incorporate the repository's existing .gitignore file into its exclude patterns to maintain consistency with the project's current ignore rules.

Benefits:

  • Consistency with Existing Rules: Automatically leveraging the repository's .gitignore ensures that DAIV respects the same ignore patterns developers are already using.
  • Enhanced Precision: Users can define custom exclude patterns using the familiar .gitignore syntax, allowing for fine-grained control over what DAIV processes.
  • Improved Efficiency: By excluding unnecessary files and directories, DAIV can operate more efficiently, focusing only on relevant parts of the codebase.
  • Ease of Use: Utilizing .gitignore syntax makes it easier for developers to configure exclude patterns without learning a new format.

Key Features:

  • .gitignore Compatibility: Support exclude patterns that follow .gitignore syntax, enabling users to specify files and directories to ignore.
  • Automatic .gitignore Integration: Automatically read and incorporate the repository's existing .gitignore file into DAIV's exclude patterns.
  • Custom Exclude Patterns: Provide an interface for users to add additional exclude patterns beyond those defined in .gitignore.
  • Override Options: Allow users to override or extend the .gitignore patterns with custom exclude rules as needed.

Additional Notes:

  • Future Enhancements: Consider supporting multiple .gitignore files if the repository has them in different directories.
  • Tools to use: There's already a solution to interpret .gitignore files and it's called pathspec: https://pypi.org/project/pathspec/.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions