目標
在 git-files-sync 中新增 Bitbucket 作為可選的 Git provider,比照現有 GitHub / GitLab / Gitea 的整合方式。
背景
目前架構已透過 GitServiceInterface 抽象出 provider 操作(getFile、pushFile、listFiles(Detailed)、deleteFile、testConnection、getRepoGitignores),並由 BaseGitService 提供共用邏輯。Gitea 因 API 風格與 GitHub 高度相容,僅需新增 gitea-service.ts(約 120 行)即可整合。
Bitbucket 的 REST API 風格差異較大:
- 檔案異動多為 PR-based,非直接 commit + blob SHA 的樂觀鎖模式
- 無原生 blob SHA 概念,需要評估如何對應
GitFile.sha
- 認證機制與分支/樹狀查詢 API 需另外確認
待辦
目標
在
git-files-sync中新增 Bitbucket 作為可選的 Git provider,比照現有 GitHub / GitLab / Gitea 的整合方式。背景
目前架構已透過
GitServiceInterface抽象出 provider 操作(getFile、pushFile、listFiles(Detailed)、deleteFile、testConnection、getRepoGitignores),並由BaseGitService提供共用邏輯。Gitea 因 API 風格與 GitHub 高度相容,僅需新增gitea-service.ts(約 120 行)即可整合。Bitbucket 的 REST API 風格差異較大:
GitFile.sha待辦
GitServiceInterface(例如sha欄位語意)bitbucket-service.ts,繼承BaseGitService並實作GitServiceInterfacesettings.ts新增 provider 選項與設定欄位main.ts註冊 provider 初始化邏輯