mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-29 10:12:41 +01:00
Fix arc patch in git-svn repos
Summary: Check that the base revision is a valid git ref before trying to create a branch starting at that rev. When arc patch is used in a git repo using the git-svn bridge, the base reversion is a uri for the svn rev, not a git ref. Test Plan: run arc patch on a git-svn repo, run it on a pure git repo, and verify it works for both Reviewers: epriestley, btrahan CC: jungejason, aran, epriestley Differential Revision: https://secure.phabricator.com/D1505
This commit is contained in:
parent
02f111ba0b
commit
975b541d26
1 changed files with 10 additions and 1 deletions
|
@ -256,7 +256,16 @@ EOTEXT
|
|||
$repository_api = $this->getRepositoryAPI();
|
||||
$base_revision = $bundle->getBaseRevision();
|
||||
|
||||
if ($base_revision) {
|
||||
// verify the base revision is valid
|
||||
// in a working copy that uses the git-svn bridge, the base revision might
|
||||
// be a svn uri instead of a git ref
|
||||
list($err) = exec_manual(
|
||||
'(cd %s; git rev-parse --verify %s)',
|
||||
$repository_api->getPath(),
|
||||
$base_revision
|
||||
);
|
||||
|
||||
if ($base_revision && !$err) {
|
||||
execx(
|
||||
'(cd %s; git checkout -b %s %s)',
|
||||
$repository_api->getPath(),
|
||||
|
|
Loading…
Reference in a new issue