1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-03 12:12:43 +01:00
phorge-phorge/src/applications/diffusion/protocol
epriestley dda5c13ef5 Parse "shallow" frames in the Git "upload-pack" wire protocol parser
Summary:
Fixes T13309. If you void the warranty on a repository on disk and turn it into a shallow clone, Phabricator currently can't serve it.

We don't support hosting shallow working copies, but we should still parse and proxy the protocol rather than breaking in a mysterious way.

Test Plan:
  - Created a shallow working copy with `mv X X.full; git clone --depth Y file://.../X.full X` in the storage directory on disk.
  - Cloned it with `git clone <uri>`.
  - Deleted all the refs inside it so the wire only has "shallow" frames; cloned it.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13309

Differential Revision: https://secure.phabricator.com/D20577
2019-06-18 15:14:52 -07:00
..
__tests__ Parse unusual Subversion protocol frames which contain extra whitespace 2018-05-16 17:12:41 -07:00
DiffusionCommandEngine.php Make the repository "Filesize Limit" and "Clone/Fetch Timeout" configurable in the UI 2018-11-28 14:34:00 -08:00
DiffusionGitCommandEngine.php Set GIT_SSH_VARIANT alongside GIT_SSH 2018-01-26 13:21:10 -08:00
DiffusionGitUploadPackWireProtocol.php Parse "shallow" frames in the Git "upload-pack" wire protocol parser 2019-06-18 15:14:52 -07:00
DiffusionGitWireProtocol.php Proxy the "git upload-pack" wire protocol 2019-04-18 04:57:51 -07:00
DiffusionGitWireProtocolCapabilities.php Make the "git upload-pack" proxy more robust 2019-04-18 05:04:05 -07:00
DiffusionGitWireProtocolRef.php Parse "shallow" frames in the Git "upload-pack" wire protocol parser 2019-06-18 15:14:52 -07:00
DiffusionGitWireProtocolRefList.php Make the "git upload-pack" proxy more robust 2019-04-18 05:04:05 -07:00
DiffusionMercurialCommandEngine.php Filter and reject "--config" and "--debugger" flags to Mercurial in any position 2017-11-10 08:42:07 -08:00
DiffusionMercurialWireProtocol.php Support Mercurial "protocaps" wire command 2018-08-23 15:06:25 -07:00
DiffusionRepositoryClusterEngine.php Use "null", not "-1", as a local "no version" marker when performing intracluster repository sync 2019-01-28 18:50:01 -08:00
DiffusionRepositoryClusterEngineLogInterface.php Record lock timing information on PushEvents 2018-03-22 13:46:01 -07:00
DiffusionSubversionCommandEngine.php Pass SSH wrappers to VCS commands unconditonally, not just if there's an SSH remote 2017-08-10 17:49:55 -07:00
DiffusionSubversionWireProtocol.php Parse unusual Subversion protocol frames which contain extra whitespace 2018-05-16 17:12:41 -07:00