drawio icon indicating copy to clipboard operation
drawio copied to clipboard

[Feature Request] Support read/write to generic Git repositories

Open BoysheO opened this issue 3 months ago • 0 comments

  • [x] I agree to follow the Code of Conduct that this project adheres to.
  • [x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe. In restricted or offline environments, teams often need to save .drawio diagrams to self-hosted or generic Git repositories (not limited to GitHub/GitLab/Bitbucket integrations). Currently, only a few specific platform integrations exist, and there is no way to read/write from arbitrary Git remotes, which forces users to rely on additional manual steps or abandon their unified workflow.

Describe the solution you'd like Add a Generic Git Remote option under “file storage/version control” with support for:

  • Configurable remote URL (https:// or ssh://)
  • Authentication (SSH key / username + token)
  • Branch and path prefix selection (e.g. diagrams/)
  • Read/write operations: open, save, save as, retrieve history (via commits)
  • Conflict handling: upstream change detection, merge prompt, or save to a new branch

Describe alternatives you've considered

  • Export files manually and use an external Git client (error-prone and inefficient)
  • Use GitHub/GitLab-only integrations (not suitable for self-hosted or enterprise Git solutions)
  • Sync via WebDAV/S3 backends and push to Git server separately (adds unnecessary operational complexity)

Additional context

  • Common scenario: enterprise environments with strict auditing and compliance requirements.
  • Security: keys/tokens should be used only locally or within the session; ideally with optional “read-only” mode or signed commits.
  • Compatibility: this feature would complement, not replace, the existing GitHub/GitLab integrations.
  • I understand that the project does not accept PRs; this request is only to confirm whether such functionality is within scope or if there is an official alternative recommendation.

BoysheO avatar Sep 25 '25 14:09 BoysheO