]> git.scottworley.com Git - git-cache/blobdiff - test_git_cache.py
Fix bug: Fetch if ancestry check fails
[git-cache] / test_git_cache.py
index 64151fe75b45766af8efa2a1bb9cce742907fbaa..caac6a33289432744717167dc5f0da9c7f397da1 100644 (file)
@@ -159,6 +159,17 @@ class TestGitCache(unittest.TestCase):
         d = git_cache.ensure_rev_available(self.upstream, 'otherbranch', rev)
         self.assertEqual(_git(d, 'show', '%s:foofile' % rev), b'foo')
 
+    def test_catch_up(self) -> None:
+        _git(self.upstream, 'checkout', '-b', 'otherbranch')
+        _commit_file(self.upstream, 'foofile', 'foo', 'Foo')
+        rev = _git(self.upstream, 'log', '--format=%H', '-n1').strip().decode()
+        d = git_cache.ensure_rev_available(self.upstream, 'otherbranch', rev)
+        self.assertEqual(_git(d, 'show', '%s:foofile' % rev), b'foo')
+        _git(self.upstream, 'checkout', 'master')
+        _git(self.upstream, 'merge', '--ff-only', 'otherbranch')
+        d = git_cache.ensure_rev_available(self.upstream, 'master', rev)
+        self.assertEqual(_git(d, 'show', '%s:foofile' % rev), b'foo')
+
     def test_fetch_after_cache_deleted(self) -> None:
         d1, rev1 = git_cache.fetch(self.upstream, 'master')
         shutil.rmtree(d1)