- name: SETUP-LOCAL-REPOS | create dirs file: name: "{{ item }}" state: directory with_items: - "{{ repo_dir }}/minimal" - "{{ repo_dir }}/shallow" - "{{ repo_dir }}/shallow_branches" - "{{ repo_dir }}/tag_force_push" - name: SETUP-LOCAL-REPOS | prepare minimal git repo shell: | set -eEu git init echo "1" > a git add a git commit -m "1" args: chdir: "{{ repo_dir }}/minimal" - name: SETUP-LOCAL-REPOS | prepare git repo for shallow clone shell: | set -eEu git init echo "1" > a git add a git commit -m "1" git tag earlytag git branch earlybranch echo "2" > a git add a git commit -m "2" args: chdir: "{{ repo_dir }}/shallow" - name: SETUP-LOCAL-REPOS | set old hash var for shallow test command: 'git rev-parse HEAD~1' register: git_shallow_head_1 args: chdir: "{{ repo_dir }}/shallow" - name: SETUP-LOCAL-REPOS | prepare tmp git repo with two branches shell: | set -eEu git init echo "1" > a; git add a; git commit -m "1" git checkout -b test_branch; echo "2" > a; git commit -m "2 on branch" a git checkout -b new_branch; echo "3" > a; git commit -m "3 on new branch" a args: chdir: "{{ repo_dir }}/shallow_branches" - name: SETUP-LOCAL-REPOS | get ref head for test_branch shell: git checkout test_branch && git rev-parse HEAD args: chdir: "{{ repo_dir }}/shallow_branches" register: ref_head_id - name: SETUP-LOCAL-REPOS | store ref head for test_branch set_fact: test_branch_ref_head_id: "{{ ref_head_id.stdout }}" # Make this a bare one, we need to be able to push to it from clones # We make the repo here for consistency with the other repos, # but we finish setting it up in forcefully-fetch-tag.yml. - name: SETUP-LOCAL-REPOS | prepare tag_force_push git repo shell: | set -eEu git init --bare args: chdir: "{{ repo_dir }}/tag_force_push"