Skip to content

Conversation

@MichaelsJP
Copy link
Member

@MichaelsJP MichaelsJP commented Dec 15, 2025

Introduce inverted .gitignore for precise tracking control as already done for the .dockerignore.

This switches from a traditional "ignore unwanted files" approach to an inverted allowlist pattern that explicitly includes only intended tracked files.

Why: The current .gitignore risks missing build artifacts, IDE files, and runtime data that can bloat the repository and IDE git tracking tools. I have by times hundreds of untracked files showing up that are generated here and there. Some of the folders depend on my local setup, and it doesn't make sense to add all these folders into a .gitignore.

An allowlist approach guarantees only essential sources, configs, and workflows are tracked. And whenever we want to add something new, we have to explicitly add this file and are not distracted by many other not untracked files.

What changes (A first discussable approach by me, can be more detailed if wanted):

  • Start with * to ignore everything by default
  • Start with !*/ to allow git folder traversal
  • Every line starting with ! includes the specific file or pattern
  • Explicitly allow root files (README.md, pom.xml, docker-compose.yml, etc.)
  • Explicitly allow heterogenous files sets like the GitHub folder workflows/actions/templates (individual files, no wildcards)
  • Explicitly allow docs sources (.md, images, VitePress config) while blocking build outputs
  • Explicitly allow module sources (**/.java, pom.xml, src/**/resources/*)
  • Keep explicit blocks for: **/target/, graphs, elevation_cache, dist, IDE files etc.

Pull Request Checklist

  • 1. I have rebased the latest version of the main branch into my feature branch and all conflicts
    have been resolved.
  • 2. I have added information about the change/addition to functionality to the CHANGELOG.md file under the
    [Unreleased] heading.
  • 3. I have documented my code using JDocs tags.
  • 4. I have removed unnecessary commented out code, imports and System.out.println statements.
  • 5. I have written JUnit tests for any new methods/classes and ensured that they pass.
  • 6. I have created API tests for any new functionality exposed to the API.
  • 7. If changes/additions are made to the ors-config.json file, I have added these to the ors config documentation
    along with a short description of what it is for, and documented this in the Pull Request (below).
  • 8. I have built graphs with my code of the Heidelberg.osm.gz file and run the api-tests with all test passing
  • 9. I have referenced the Issue Number in the Pull Request (if the changes were from an issue).
  • 10. For new features or changes involving building of graphs, I have tested on a larger dataset
    (at least Germany), and the graphs build without problems (i.e. no out-of-memory errors).
  • 11. For new features or changes involving the graphbuilding process (i.e. changing encoders, updating the
    importer etc.), I have generated longer distance routes for the affected profiles with different options
    (avoid features, max weight etc.) and compared these with the routes of the same parameters and start/end
    points generated from the current live ORS.
    If there are differences then the reasoning for these MUST be documented in the pull request.
  • 12. I have written in the Pull Request information about the changes made including their intended usage
    and why the change was needed.
  • 13. For changes touching the API documentation, I have tested that the API playground renders correctly.

Fixes # .

Information about the changes

  • Key functionality added:
  • Reason for change:

Examples and reasons for differences between live ORS routes, and those generated from this pull request

Required changes to ors config (if applicable)

@MichaelsJP MichaelsJP force-pushed the chore/introduce-inverted-gitignore branch 3 times, most recently from 981d669 to b4e897d Compare December 15, 2025 16:20
@MichaelsJP MichaelsJP force-pushed the chore/introduce-inverted-gitignore branch from b4e897d to 09d9b19 Compare December 15, 2025 16:21
@sonarqubecloud
Copy link

@MichaelsJP MichaelsJP closed this Dec 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant