1
0
Fork 0

Adding upstream version 3.1.0.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-09 21:37:46 +01:00
parent 4066ef5157
commit 897eb1bb2a
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
88 changed files with 1083 additions and 974 deletions

View file

@ -180,7 +180,7 @@ def test_create_when_store_already_exists(store):
def test_db_repo_name(store):
assert store.db_repo_name('repo', ()) == 'repo'
assert store.db_repo_name('repo', ('b', 'a', 'c')) == 'repo:a,b,c'
assert store.db_repo_name('repo', ('b', 'a', 'c')) == 'repo:b,a,c'
def test_local_resources_reflects_reality():
@ -246,3 +246,27 @@ def test_mark_config_as_used_readonly(tmpdir):
# should be skipped due to readonly
store.mark_config_used(str(cfg))
assert store.select_all_configs() == []
def test_clone_with_recursive_submodules(store, tmp_path):
sub = tmp_path.joinpath('sub')
sub.mkdir()
sub.joinpath('submodule').write_text('i am a submodule')
cmd_output('git', '-C', str(sub), 'init', '.')
cmd_output('git', '-C', str(sub), 'add', '.')
git.commit(str(sub))
repo = tmp_path.joinpath('repo')
repo.mkdir()
repo.joinpath('repository').write_text('i am a repo')
cmd_output('git', '-C', str(repo), 'init', '.')
cmd_output('git', '-C', str(repo), 'add', '.')
cmd_output('git', '-C', str(repo), 'submodule', 'add', str(sub), 'sub')
git.commit(str(repo))
rev = git.head_rev(str(repo))
ret = store.clone(str(repo), rev)
assert os.path.exists(ret)
assert os.path.exists(os.path.join(ret, str(repo), 'repository'))
assert os.path.exists(os.path.join(ret, str(sub), 'submodule'))