mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-04 04:32:43 +01:00
dda5c13ef5
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
43 lines
753 B
PHP
43 lines
753 B
PHP
<?php
|
|
|
|
final class DiffusionGitWireProtocolRef
|
|
extends Phobject {
|
|
|
|
private $name;
|
|
private $hash;
|
|
private $isShallow;
|
|
|
|
public function setName($name) {
|
|
$this->name = $name;
|
|
return $this;
|
|
}
|
|
|
|
public function getName() {
|
|
return $this->name;
|
|
}
|
|
|
|
public function setHash($hash) {
|
|
$this->hash = $hash;
|
|
return $this;
|
|
}
|
|
|
|
public function getHash() {
|
|
return $this->hash;
|
|
}
|
|
|
|
public function setIsShallow($is_shallow) {
|
|
$this->isShallow = $is_shallow;
|
|
return $this;
|
|
}
|
|
|
|
public function getIsShallow() {
|
|
return $this->isShallow;
|
|
}
|
|
|
|
public function newSortVector() {
|
|
return id(new PhutilSortVector())
|
|
->addInt((int)$this->getIsShallow())
|
|
->addString((string)$this->getName());
|
|
}
|
|
|
|
}
|