Support unquoted repository paths in SSH git-upload-pack, git-receive-pack, and git-upload-archive commands

XMLWordPrintable

    • Type: Suggestion
    • Resolution: Unresolved
    • None
    • Component/s: SSH
    • None
    • 1
    • 1

      Issue Summary

      Bitbucket Data Center's SSH server currently only resolves a repository when the path argument in the Git SSH command is wrapped in single quotes. If a client sends the command without quotes, Bitbucket returns a generic "Repository not found" error, even if the SSH key and user permissions are correct.

      Works: git-upload-pack '/PROJECT/repo.git'
      
      Fails: git-upload-pack /PROJECT/repo.git
      
      Fails: git-upload-pack "/PROJECT/repo.git" (double quotes)
      

      While the standard Git CLI always sends the path in single quotes (as per gitprotocol-pack), certain third-party integrations such as SAP Streamworks, use internal SSH clients with hard-coded command formats that omit these quotes.

      Because other major Git hosting providers (like GitHub) tolerate both quoted and unquoted paths, these third-party tools work seamlessly elsewhere but are completely blocked when integrating with Bitbucket Data Center.

      Steps to Reproduce

      1. Step 1
      2. Step 2

      Expected Results

      The SSH command parser should be updated to resolve the repository path even when it is provided in an unquoted or double-quoted format. Since repository paths in Bitbucket do not contain whitespace, the unquoted form is unambiguous and safe to parse.

      Why this is important:
      
      Third-Party Compatibility: Enables integration with enterprise tools (like SAP Streamworks) that do not use the standard Git CLI and have non-configurable SSH command strings.
      
      Improved Diagnostics: Prevents the misleading "Repository not found" error, which currently leads administrators to believe there is a permission or SSH key issue when the root cause is actually a command-parsing limitation.
      
      Consistency: Aligns Bitbucket's SSH behavior with other industry-standard Git hosting services.
      

      Workaround

      SSH: None.

      HTTPS: While Bitbucket supports x-token-auth for Basic Auth, some clients (like SAP Streamworks) only provide a single token field and do not allow for a custom username, making this workaround non-viable for certain integrations.

              Assignee:
              Unassigned
              Reporter:
              Bharat Malviya
              Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: