1. Cloned parent repo:
Code: Select all
> git clone --filter=blob:none [email protected]:mcarans/submodule_deletion_parent.git
Cloning into 'submodule_deletion_parent'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), done.
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (1/1), 79 bytes | 79.00 KiB/s, done.
Updating files: 100% (1/1), done.
mcarans@Holly [~/Code/OoliteRelated] ○ [py-'python'] [11:23:44]
> cd submodule_deletion_parent/
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main ✓
Code: Select all
[py-'python'] [11:39:56]
130 > git submodule add https://github.com/mcarans/submodule_deletion_child.git
Cloning into '/home/mcarans/Code/OoliteRelated/submodule_deletion_parent/submodule_deletion_child'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:40:15]
> git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: .gitmodules
new file: submodule_deletion_child
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:40:59]
> git commit -m "Added submodule_deletion_child"
[main 95a24e8] Added submodule_deletion_child
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 submodule_deletion_child
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main ↑1 ✓ [py-'python'] [11:41:25]
> git push origin main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 415 bytes | 415.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To github.com:mcarans/submodule_deletion_parent.git
66d66df..95a24e8 main -> main

3. I deleted the parent repo submodule_deletion_parent locally so I could clone again recursively to ensure it is correct:
Code: Select all
> git clone --recursive --filter=blob:none [email protected]:mcarans/submodule_deletion_parent.git
Cloning into 'submodule_deletion_parent'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 2 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (4/4), done.
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 1 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (2/2), 171 bytes | 171.00 KiB/s, done.
Updating files: 100% (3/3), done.
Submodule 'submodule_deletion_child' (https://github.com/mcarans/submodule_deletion_child.git) registered for path 'submodule_deletion_child'
Cloning into '/home/mcarans/Code/OoliteRelated/submodule_deletion_parent/submodule_deletion_child'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.
Submodule path 'submodule_deletion_child': checked out 'af72e49678ea5bfee2f492f3986f3b2c45eec0c6'
mcarans@Holly [~/Code/OoliteRelated] ○ [py-'python'] [11:56:46]
> cd submodule_deletion_parent/
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main ✓ [py-'python'] [11:56:53]
> ls
README.md submodule_deletion_child
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main ✓ [py-'python'] [11:56:56]
> ls submodule_deletion_child/
README.md
Code: Select all
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main ✓ [py-'python'] [11:56:58]
> git submodule deinit -f submodule_deletion_child
Cleared directory 'submodule_deletion_child'
Submodule 'submodule_deletion_child' (https://github.com/mcarans/submodule_deletion_child.git) unregistered for path 'submodule_deletion_child'
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main ✓ [py-'python'] [11:57:16]
> git rm -f submodule_deletion_child
rm 'submodule_deletion_child'
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:57:26]
> rm -rf .git/modules/submodule_deletion_child
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:57:38]
> ls
README.md
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:57:40]
>
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:58:08]
>
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:58:09]
> cat .gitmodules
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main S:2 ✗ [py-'python'] [11:58:17]
> git commit -m "Deleted submodule_deletion_child"
[main 332982a] Deleted submodule_deletion_child
2 files changed, 4 deletions(-)
delete mode 160000 submodule_deletion_child
mcarans@Holly [~/Code/OoliteRelated/submodule_deletion_parent] ± main ↑1 ✓ [py-'python'] [11:58:45]
> git push origin main
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 286 bytes | 286.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To github.com:mcarans/submodule_deletion_parent.git
95a24e8..332982a main -> main

You can look at it direct here: https://github.com/mcarans/submodule_deletion_parent.
You can see https://github.com/mcarans/submodule_deletion_child was not deleted as we want.

