git-p4: place temporary refs used for branch import under refs/git-p4-tmp

Git-P4 used to place temporary refs under "git-p4-tmp". Since 3da1f37
Git checks that all refs are placed under "refs". Instruct Git-P4 to
place temporary refs under "refs/git-p4-tmp". There are no backwards
compatibility considerations as these refs are transient.

Use "git show-ref --verify" to check the (non-)existience of the refs
instead of file checks assuming the file-based ref backend.

All refs under "refs" are shared across all worktrees. This is not
desired for temporary Git-P4 refs and will be adressed in a later patch.

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Reviewed-by: Vitor Antunes <vitor.hda@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Lars Schneider 2016-06-29 09:35:27 +02:00 коммит произвёл Junio C Hamano
Родитель cf4c2cfe52
Коммит d604176d23
2 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -2274,7 +2274,7 @@ class P4Sync(Command, P4UserMap):
self.useClientSpec_from_options = False
self.clientSpecDirs = None
self.tempBranches = []
self.tempBranchLocation = "git-p4-tmp"
self.tempBranchLocation = "refs/git-p4-tmp"
self.largeFileSystem = None
if gitConfig('git-p4.largeFileSystem'):

Просмотреть файл

@ -300,7 +300,7 @@ test_expect_success 'git p4 clone complex branches' '
test_path_is_file file2 &&
test_path_is_file file3 &&
! grep update file2 &&
test_path_is_missing .git/git-p4-tmp
test_must_fail git show-ref --verify refs/git-p4-tmp
)
'
@ -352,7 +352,7 @@ test_expect_success 'git p4 sync changes to two branches in the same changelist'
test_path_is_file file2 &&
test_path_is_file file3 &&
! grep update file2 &&
test_path_is_missing .git/git-p4-tmp
test_must_fail git show-ref --verify refs/git-p4-tmp
)
'