|
@@ -286,6 +286,23 @@ class RepositoryTests(TestCase):
|
|
|
self.assertEqual(shas, [t.head(),
|
|
|
'2a72d929692c41d8554c07f6301757ba18a65d91'])
|
|
|
|
|
|
+ def test_clone_no_head(self):
|
|
|
+ temp_dir = tempfile.mkdtemp()
|
|
|
+ self.addCleanup(shutil.rmtree, temp_dir)
|
|
|
+ repo_dir = os.path.join(os.path.dirname(__file__), 'data', 'repos')
|
|
|
+ dest_dir = os.path.join(temp_dir, 'a.git')
|
|
|
+ shutil.copytree(os.path.join(repo_dir, 'a.git'),
|
|
|
+ dest_dir, symlinks=True)
|
|
|
+ r = Repo(dest_dir)
|
|
|
+ del r.refs["refs/heads/master"]
|
|
|
+ del r.refs["HEAD"]
|
|
|
+ t = r.clone(os.path.join(temp_dir, 'b.git'), mkdir=True)
|
|
|
+ self.assertEqual({
|
|
|
+ 'refs/tags/mytag': '28237f4dc30d0d462658d6b937b08a0f0b6ef55a',
|
|
|
+ 'refs/tags/mytag-packed':
|
|
|
+ 'b0931cadc54336e78a1d980420e3268903b57a50',
|
|
|
+ }, t.refs.as_dict())
|
|
|
+
|
|
|
def test_merge_history(self):
|
|
|
r = self._repo = open_repo('simple_merge.git')
|
|
|
shas = [e.commit.id for e in r.get_walker()]
|