Post-Local sync at 2025-06-09 14:43:29
This commit is contained in:
parent
7df48b6263
commit
336ba02e98
51 changed files with 2074 additions and 208 deletions
|
@ -1 +1 @@
|
||||||
9544c8e02b8ce1b2201372e95ecc67de5a32369e
|
cfeb759cddd54dc840ec30fb2c7887b3b013815b
|
||||||
|
|
|
@ -3,28 +3,28 @@
|
||||||
- **Repo Name**: `git-sigil`
|
- **Repo Name**: `git-sigil`
|
||||||
- **Bitbucket Workspace**: `thefoldwithin`
|
- **Bitbucket Workspace**: `thefoldwithin`
|
||||||
- **Remote URL**: [https://bitbucket.org/thefoldwithin/git-sigil](https://bitbucket.org/thefoldwithin/git-sigil)
|
- **Remote URL**: [https://bitbucket.org/thefoldwithin/git-sigil](https://bitbucket.org/thefoldwithin/git-sigil)
|
||||||
- **Local Repo Path**: `/home/mrhavens/tmpwork/git-sigil`
|
- **Local Repo Path**: `/mnt/c/Downloads/git-sigil`
|
||||||
- **Remote Label**: `bitbucket`
|
- **Remote Label**: `bitbucket`
|
||||||
- **Default Branch**: `master`
|
- **Default Branch**: `master`
|
||||||
- **This Commit Date**: `2025-06-06 12:25:17`
|
- **This Commit Date**: `2025-06-07 01:42:50`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📦 Commit Info
|
## 📦 Commit Info
|
||||||
|
|
||||||
- **This Commit Timestamp**: `2025-06-06 12:25:17`
|
- **This Commit Timestamp**: `2025-06-07 01:42:50`
|
||||||
- **Last Commit SHA**: `b9d7a430771c2fd8395071efd1c75c8444c7bb11`
|
- **Last Commit SHA**: `7ee2918c5612e4f7b24e1aadc7da04c1cc162547`
|
||||||
- **Last Commit Message**: `Post-GitLab sync at 2025-06-06 12:19:09`
|
- **Last Commit Message**: `Post-GitLab sync at 2025-06-07 01:33:38`
|
||||||
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
- **Last Commit Date**: `Fri Jun 6 12:25:06 2025 -0500`
|
- **Last Commit Date**: `Sat Jun 7 01:42:32 2025 -0500`
|
||||||
- **This Commit URL**: [https://bitbucket.org/thefoldwithin/git-sigil/commits/b9d7a430771c2fd8395071efd1c75c8444c7bb11](https://bitbucket.org/thefoldwithin/git-sigil/commits/b9d7a430771c2fd8395071efd1c75c8444c7bb11)
|
- **This Commit URL**: [https://bitbucket.org/thefoldwithin/git-sigil/commits/7ee2918c5612e4f7b24e1aadc7da04c1cc162547](https://bitbucket.org/thefoldwithin/git-sigil/commits/7ee2918c5612e4f7b24e1aadc7da04c1cc162547)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📊 Repo Status
|
## 📊 Repo Status
|
||||||
|
|
||||||
- **Total Commits**: `744`
|
- **Total Commits**: `897`
|
||||||
- **Tracked Files**: `81`
|
- **Tracked Files**: `115`
|
||||||
- **Uncommitted Changes**: `No`
|
- **Uncommitted Changes**: `No`
|
||||||
- **Latest Tag**: `None`
|
- **Latest Tag**: `None`
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
- **Running in Docker**: `No`
|
- **Running in Docker**: `No`
|
||||||
- **Running in WSL**: `Yes`
|
- **Running in WSL**: `Yes`
|
||||||
- **Virtual Machine**: `wsl`
|
- **Virtual Machine**: `wsl`
|
||||||
- **System Uptime**: `up 11 hours, 9 minutes`
|
- **System Uptime**: `up 23 hours, 50 minutes`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
16
.gitfield/bitbucket.sigil.md.asc
Normal file
16
.gitfield/bitbucket.sigil.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtqcACgkQTifTfDWI
|
||||||
|
cr9m4Q/9F+8Sxy7ZJPcpsY8/777KRPp7KkhqQ7GfityajL6kybG/gfxhj4GUWLrj
|
||||||
|
f5+wWzQinxt9iRY7+wjpLibqGze9EhMRiOD8J5jbBKAvEDnnT8FFyYlKepMoCYpM
|
||||||
|
/vzTO7oJrgLiwUWo1Lbzh90186BpBXdLRVzvwoaloxhIfGBCKNT3jnfF0zDLzg+0
|
||||||
|
ytECplRUpvp6ZmPfwjKI+N1nmZrD9q84QRWK/HDRjWeYl7x5+DfC+AfVuj6oLTVc
|
||||||
|
7JM3vux26Bj/iWjWIDWlNaqbyn76N3yPEd7JTYZydSVbvCtUCGTyz5cF58NWwbv2
|
||||||
|
nblomitXY4KXFVaW8BSjdEYp3xb507FrlFHHXz7zM6Qiau0hDtQYfdoOO4PU/Idu
|
||||||
|
T1WusVCso79M98s8tldkuQ8r2o22WoS7Cteb/W53NnTZL2w8Eo9mp3DWWSUDbGi+
|
||||||
|
XRmi3iC6bY0hcFu3uZSxt/2anRss9pIxv0OAHDLlqeO40HZwIp9t8XzYsaF6yi/8
|
||||||
|
MGPneG0ziVwz2uwMDiqBNAC78/rmVSZ+BSzKhZwyu7QDCclEe2aITS2LGEcpz16l
|
||||||
|
z76xbNTeOShjy/mqnuiqbElZ5s5/n35v2yqKfSLKLH9HCKn1IQRDgI790/6L8u4o
|
||||||
|
B6Swz9914ZryETkeCD5tn5EZhQpfZq1OiE3g4e0Dp++VnHVE8g0=
|
||||||
|
=xel5
|
||||||
|
-----END PGP SIGNATURE-----
|
59
.gitfield/codeberg.sigil.md
Normal file
59
.gitfield/codeberg.sigil.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# 🔗 Codeberg Repository Link
|
||||||
|
|
||||||
|
- **Repo Name**: `git-sigil`
|
||||||
|
- **Codeberg User**: `mrhavens`
|
||||||
|
- **Remote URL**: [https://codeberg.org/mrhavens/git-sigil](https://codeberg.org/mrhavens/git-sigil)
|
||||||
|
- **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil`
|
||||||
|
- **Remote Label**: `codeberg`
|
||||||
|
- **Default Branch**: `master`
|
||||||
|
- **Repo Created**: `2025-06-09 10:10:50`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Commit Info
|
||||||
|
|
||||||
|
- **This Commit Timestamp**: `2025-06-09 10:10:50`
|
||||||
|
- **Last Commit SHA**: `75308cc930b914a35b4ec9e02069ce1e94343ee0`
|
||||||
|
- **Last Commit Message**: `Post-Forgejo sync at 2025-06-09 10:07:51`
|
||||||
|
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
|
- **Last Commit Date**: `Mon Jun 9 10:10:46 2025 -0500`
|
||||||
|
- **This Commit URL**: [https://codeberg.org/mrhavens/git-sigil/commit/75308cc930b914a35b4ec9e02069ce1e94343ee0](https://codeberg.org/mrhavens/git-sigil/commit/75308cc930b914a35b4ec9e02069ce1e94343ee0)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Repo Status
|
||||||
|
|
||||||
|
- **Total Commits**: `938`
|
||||||
|
- **Tracked Files**: `121`
|
||||||
|
- **Uncommitted Changes**: `No`
|
||||||
|
- **Latest Tag**: `None`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧭 Environment
|
||||||
|
|
||||||
|
- **Host Machine**: `DESKTOP-E5SGI58`
|
||||||
|
- **Current User**: `mrhavens`
|
||||||
|
- **Time Zone**: `CDT`
|
||||||
|
- **Script Version**: `1.0`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧬 Hardware & OS Fingerprint
|
||||||
|
|
||||||
|
- **OS Name**: `Linux`
|
||||||
|
- **OS Version**: `Ubuntu 24.04.2 LTS`
|
||||||
|
- **Kernel Version**: `5.15.167.4-microsoft-standard-WSL2`
|
||||||
|
- **Architecture**: `x86_64`
|
||||||
|
- **Running in Docker**: `No`
|
||||||
|
- **Running in WSL**: `Yes`
|
||||||
|
- **Virtual Machine**: `wsl`
|
||||||
|
- **System Uptime**: `up 12 hours, 31 minutes`
|
||||||
|
- **MAC Address**: `00:15:5d:3d:32:5b`
|
||||||
|
- **Local IP**: `172.18.207.124`
|
||||||
|
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
||||||
|
- **Total RAM (GB)**: `3.63`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Auto-generated by `gitfield-codeberg` push script._
|
59
.gitfield/gitea.sigil.md
Normal file
59
.gitfield/gitea.sigil.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# 🔗 Gitea Repository Link
|
||||||
|
|
||||||
|
- **Repo Name**: `git-sigil`
|
||||||
|
- **Gitea User**: `mrhavens`
|
||||||
|
- **Remote URL**: [https://gitea.com/mrhavens/git-sigil](https://gitea.com/mrhavens/git-sigil)
|
||||||
|
- **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil`
|
||||||
|
- **Remote Label**: `gitea`
|
||||||
|
- **Default Branch**: `master`
|
||||||
|
- **Repo Created**: `2025-06-09 10:10:56`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Commit Info
|
||||||
|
|
||||||
|
- **This Commit Timestamp**: `2025-06-09 10:10:56`
|
||||||
|
- **Last Commit SHA**: `d8d96d1877e0aa9ab059fb578d838f2a2448e026`
|
||||||
|
- **Last Commit Message**: `Post-Codeberg sync at 2025-06-09 10:07:51`
|
||||||
|
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
|
- **Last Commit Date**: `Mon Jun 9 10:10:55 2025 -0500`
|
||||||
|
- **This Commit URL**: [https://gitea.com/mrhavens/git-sigil/commit/d8d96d1877e0aa9ab059fb578d838f2a2448e026](https://gitea.com/mrhavens/git-sigil/commit/d8d96d1877e0aa9ab059fb578d838f2a2448e026)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Repo Status
|
||||||
|
|
||||||
|
- **Total Commits**: `940`
|
||||||
|
- **Tracked Files**: `121`
|
||||||
|
- **Uncommitted Changes**: `No`
|
||||||
|
- **Latest Tag**: `None`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧭 Environment
|
||||||
|
|
||||||
|
- **Host Machine**: `DESKTOP-E5SGI58`
|
||||||
|
- **Current User**: `mrhavens`
|
||||||
|
- **Time Zone**: `CDT`
|
||||||
|
- **Script Version**: `1.0`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧬 Hardware & OS Fingerprint
|
||||||
|
|
||||||
|
- **OS Name**: `Linux`
|
||||||
|
- **OS Version**: `Ubuntu 24.04.2 LTS`
|
||||||
|
- **Kernel Version**: `5.15.167.4-microsoft-standard-WSL2`
|
||||||
|
- **Architecture**: `x86_64`
|
||||||
|
- **Running in Docker**: `No`
|
||||||
|
- **Running in WSL**: `Yes`
|
||||||
|
- **Virtual Machine**: `wsl`
|
||||||
|
- **System Uptime**: `up 12 hours, 31 minutes`
|
||||||
|
- **MAC Address**: `00:15:5d:3d:32:5b`
|
||||||
|
- **Local IP**: `172.18.207.124`
|
||||||
|
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
||||||
|
- **Total RAM (GB)**: `3.63`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Auto-generated by `gitfield-gitea` push script._
|
|
@ -3,28 +3,28 @@
|
||||||
- **Repo Name**: `git-sigil`
|
- **Repo Name**: `git-sigil`
|
||||||
- **GitHub User**: `mrhavens`
|
- **GitHub User**: `mrhavens`
|
||||||
- **Remote URL**: [https://github.com/mrhavens/git-sigil](https://github.com/mrhavens/git-sigil)
|
- **Remote URL**: [https://github.com/mrhavens/git-sigil](https://github.com/mrhavens/git-sigil)
|
||||||
- **Local Repo Path**: `/home/mrhavens/tmpwork/git-sigil`
|
- **Local Repo Path**: `/mnt/c/Downloads/git-sigil`
|
||||||
- **Remote Label**: `github`
|
- **Remote Label**: `github`
|
||||||
- **Default Branch**: `master`
|
- **Default Branch**: `master`
|
||||||
- **This Commit Date**: `2025-06-06 12:25:31`
|
- **This Commit Date**: `2025-06-07 01:43:31`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📦 Commit Info
|
## 📦 Commit Info
|
||||||
|
|
||||||
- **This Commit Timestamp**: `2025-06-06 12:25:31`
|
- **This Commit Timestamp**: `2025-06-07 01:43:31`
|
||||||
- **Last Commit SHA**: `a8547733107d636e6959467715708788176393f7`
|
- **Last Commit SHA**: `ca7b0762e9d059229ae5d056207561ccdd4483ed`
|
||||||
- **Last Commit Message**: `Post-Bitbucket sync at 2025-06-06 12:19:09`
|
- **Last Commit Message**: `Post-Bitbucket sync at 2025-06-07 01:33:38`
|
||||||
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
- **Last Commit Date**: `Fri Jun 6 12:25:22 2025 -0500`
|
- **Last Commit Date**: `Sat Jun 7 01:43:17 2025 -0500`
|
||||||
- **This Commit URL**: [https://github.com/mrhavens/git-sigil/commit/a8547733107d636e6959467715708788176393f7](https://github.com/mrhavens/git-sigil/commit/a8547733107d636e6959467715708788176393f7)
|
- **This Commit URL**: [https://github.com/mrhavens/git-sigil/commit/ca7b0762e9d059229ae5d056207561ccdd4483ed](https://github.com/mrhavens/git-sigil/commit/ca7b0762e9d059229ae5d056207561ccdd4483ed)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📊 Repo Status
|
## 📊 Repo Status
|
||||||
|
|
||||||
- **Total Commits**: `746`
|
- **Total Commits**: `899`
|
||||||
- **Tracked Files**: `81`
|
- **Tracked Files**: `115`
|
||||||
- **Uncommitted Changes**: `No`
|
- **Uncommitted Changes**: `No`
|
||||||
- **Latest Tag**: `None`
|
- **Latest Tag**: `None`
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
- **Running in Docker**: `No`
|
- **Running in Docker**: `No`
|
||||||
- **Running in WSL**: `Yes`
|
- **Running in WSL**: `Yes`
|
||||||
- **Virtual Machine**: `wsl`
|
- **Virtual Machine**: `wsl`
|
||||||
- **System Uptime**: `up 11 hours, 9 minutes`
|
- **System Uptime**: `up 23 hours, 51 minutes`
|
||||||
- **MAC Address**: `00:15:5d:86:d8:cc`
|
- **MAC Address**: `00:15:5d:86:d8:cc`
|
||||||
- **Local IP**: `172.18.207.124`
|
- **Local IP**: `172.18.207.124`
|
||||||
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
||||||
|
|
16
.gitfield/github.sigil.md.asc
Normal file
16
.gitfield/github.sigil.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrAACgkQTifTfDWI
|
||||||
|
cr9FhhAAlJ73cYKABWRqm06Fo4ziJAdwEYo0aecVcTXxRgdhqg7h/5N1zK4dltPv
|
||||||
|
UmHvtko0JcrHiVvgrF+KdAbyGw4egNkfCNlvO+lMsR+ZAq0v+2dwdoX8t8Q5Yv9A
|
||||||
|
pNVZxjxgneB/jZJahISkBvijHDoxo0F3ZdkmBXCt2LbjGdqiwdSK+UWSX24gQ/Sr
|
||||||
|
vfnoQYpWTFUyKGm628TpD5NLBr56AORWfiqUZyHOz4IESOGzOYEsdCkMPs3QBspY
|
||||||
|
bdb/6kUdx15D+BVKAvgCLiDkI7h3ljtzu4rJHFlzO1eUQJ5/FbnoTtVU0aklZ4QQ
|
||||||
|
6oKzoi86QRLD2bXySqvZBcvUq6Zxgec1AjkUfI0mERydPqZmQUkvv923geghWBJ9
|
||||||
|
1f6sfB8qOd+TFcOUYxYkLSEFN4MItOiWGMpYGX41oEbQoyhpZWMd23Ps8LSuCMdt
|
||||||
|
uAvOK8ML3AomvknQN8l3zc3K9ypJKI3O++KF/qhB3bnrS6wCUS2RYKJNRUVYyW+x
|
||||||
|
eRPCw/POTi9eXUZ10vuwZ3PVceNwI9AHmjApclcsk5JkA3O49Wh/C79KlspTKIpm
|
||||||
|
V7NSiek/q06lxd2deA1gmGrTzFTe9jFFJGKFjxCL9to/mJ8VEh4Dlc76RkW4yNb4
|
||||||
|
uQGebhYk0533k8P8U5AmS6RPHo7oA03KAGVEZ7qbHclX/qE73tE=
|
||||||
|
=5qqH
|
||||||
|
-----END PGP SIGNATURE-----
|
|
@ -3,28 +3,46 @@
|
||||||
- **Repo Name**: `git-sigil`
|
- **Repo Name**: `git-sigil`
|
||||||
- **GitLab User**: `mrhavens`
|
- **GitLab User**: `mrhavens`
|
||||||
- **Remote URL**: [https://gitlab.com/mrhavens/git-sigil](https://gitlab.com/mrhavens/git-sigil)
|
- **Remote URL**: [https://gitlab.com/mrhavens/git-sigil](https://gitlab.com/mrhavens/git-sigil)
|
||||||
- **Local Repo Path**: `/home/mrhavens/tmpwork/git-sigil`
|
- **Local Repo Path**: `/mnt/c/Downloads/git-sigil`
|
||||||
- **Remote Label**: `gitlab`
|
- **Remote Label**: `gitlab`
|
||||||
- **Default Branch**: `master`
|
- **Default Branch**: `master`
|
||||||
- **Repo Created**: `2025-06-06 12:25:05`
|
<<<<<<< HEAD
|
||||||
|
- **Repo Created**: `2025-06-07 01:42:12`
|
||||||
|
=======
|
||||||
|
- **Repo Created**: `2025-06-09 10:11:08`
|
||||||
|
>>>>>>> 3acbd30 (GitLab metadata link commit at 2025-06-09 10:11:08 — https://gitlab.com/mrhavens/git-sigil/-/commit/11a0d7a6b355f34c70c5aaec97177e33641eb29d)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📦 Commit Info
|
## 📦 Commit Info
|
||||||
|
|
||||||
- **This Commit Timestamp**: `2025-06-06 12:25:05`
|
<<<<<<< HEAD
|
||||||
- **This Commit SHA**: `0ab2b5c88933178c75e558a6f1c7fdbc9d61905d`
|
- **This Commit Timestamp**: `2025-06-07 01:42:12`
|
||||||
- **Last Commit Message**: `Post-Forgejo sync at 2025-06-06 12:19:09`
|
- **This Commit SHA**: `d57306ee0c1307c842f0db201129403eac99d903`
|
||||||
|
- **Last Commit Message**: `Post-Forgejo sync at 2025-06-07 01:33:38`
|
||||||
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
- **Last Commit Date**: `Fri Jun 6 12:24:56 2025 -0500`
|
- **Last Commit Date**: `Sat Jun 7 01:41:49 2025 -0500`
|
||||||
- **This Commit URL**: [https://gitlab.com/mrhavens/git-sigil/-/commit/0ab2b5c88933178c75e558a6f1c7fdbc9d61905d](https://gitlab.com/mrhavens/git-sigil/-/commit/0ab2b5c88933178c75e558a6f1c7fdbc9d61905d)
|
- **This Commit URL**: [https://gitlab.com/mrhavens/git-sigil/-/commit/d57306ee0c1307c842f0db201129403eac99d903](https://gitlab.com/mrhavens/git-sigil/-/commit/d57306ee0c1307c842f0db201129403eac99d903)
|
||||||
|
=======
|
||||||
|
- **This Commit Timestamp**: `2025-06-09 10:11:08`
|
||||||
|
- **This Commit SHA**: `11a0d7a6b355f34c70c5aaec97177e33641eb29d`
|
||||||
|
- **Last Commit Message**: `Post-Gitea sync at 2025-06-09 10:07:51`
|
||||||
|
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
|
- **Last Commit Date**: `Mon Jun 9 10:10:58 2025 -0500`
|
||||||
|
- **This Commit URL**: [https://gitlab.com/mrhavens/git-sigil/-/commit/11a0d7a6b355f34c70c5aaec97177e33641eb29d](https://gitlab.com/mrhavens/git-sigil/-/commit/11a0d7a6b355f34c70c5aaec97177e33641eb29d)
|
||||||
|
>>>>>>> 3acbd30 (GitLab metadata link commit at 2025-06-09 10:11:08 — https://gitlab.com/mrhavens/git-sigil/-/commit/11a0d7a6b355f34c70c5aaec97177e33641eb29d)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📊 Repo Status
|
## 📊 Repo Status
|
||||||
|
|
||||||
- **Total Commits**: `742`
|
<<<<<<< HEAD
|
||||||
- **Tracked Files**: `81`
|
- **Total Commits**: `895`
|
||||||
|
- **Tracked Files**: `115`
|
||||||
|
=======
|
||||||
|
- **Total Commits**: `942`
|
||||||
|
- **Tracked Files**: `121`
|
||||||
|
>>>>>>> 3acbd30 (GitLab metadata link commit at 2025-06-09 10:11:08 — https://gitlab.com/mrhavens/git-sigil/-/commit/11a0d7a6b355f34c70c5aaec97177e33641eb29d)
|
||||||
- **Uncommitted Changes**: `No`
|
- **Uncommitted Changes**: `No`
|
||||||
- **Latest Tag**: `None`
|
- **Latest Tag**: `None`
|
||||||
|
|
||||||
|
@ -48,8 +66,13 @@
|
||||||
- **Running in Docker**: `No`
|
- **Running in Docker**: `No`
|
||||||
- **Running in WSL**: `Yes`
|
- **Running in WSL**: `Yes`
|
||||||
- **Virtual Machine**: `wsl`
|
- **Virtual Machine**: `wsl`
|
||||||
- **System Uptime**: `up 11 hours, 9 minutes`
|
<<<<<<< HEAD
|
||||||
|
- **System Uptime**: `up 23 hours, 50 minutes`
|
||||||
- **MAC Address**: `00:15:5d:86:d8:cc`
|
- **MAC Address**: `00:15:5d:86:d8:cc`
|
||||||
|
=======
|
||||||
|
- **System Uptime**: `up 12 hours, 31 minutes`
|
||||||
|
- **MAC Address**: `00:15:5d:3d:32:5b`
|
||||||
|
>>>>>>> 3acbd30 (GitLab metadata link commit at 2025-06-09 10:11:08 — https://gitlab.com/mrhavens/git-sigil/-/commit/11a0d7a6b355f34c70c5aaec97177e33641eb29d)
|
||||||
- **Local IP**: `172.18.207.124`
|
- **Local IP**: `172.18.207.124`
|
||||||
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
||||||
- **Total RAM (GB)**: `3.63`
|
- **Total RAM (GB)**: `3.63`
|
||||||
|
|
16
.gitfield/gitlab.sigil.md.asc
Normal file
16
.gitfield/gitlab.sigil.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrAACgkQTifTfDWI
|
||||||
|
cr+j5w/+P7yt2zDHSX8DOsESkKZ3owlXFC/T0AURvEyTJKKA2bqqFDUW1Rt1DFdY
|
||||||
|
vrCsEehWrTX56oOc9qj/2kkjp+tNK6NIYXa0WC+x2gSFdVVFtVhycg3XxRNoEffE
|
||||||
|
3j1AalItj0twQG5uAjAQ6gKqNUETc+I7FeFqTdk6ZnaWdMvc20V5rBdsxMaqzS/R
|
||||||
|
ZauRPyFYhOVbr41lwsfqqQ6bExgHecv38k3NXKXICVH5CFLESoeaVX58QQ7Pw4nJ
|
||||||
|
fY5TNA+yrNTss1MYSNYYhWlYN8pA6JEQ9RxEtH06ne7qIBbcY2ssesZR93Vfp95c
|
||||||
|
P6IoiTVWZwDy8Ia9nRxrEJW+nitILUBeeo5VHxnY2X893kPjSxj7CIatQB6c4g4s
|
||||||
|
InejxhgsvSnk2BhqfpVQ9Cb6CL20cQ5UB0uojtqIhvfZCjsFKKePmD3qeWIqa9cf
|
||||||
|
57DbsYaVdaJuIb2VJjkj3vrL9GwATELwsErcv2ByDxxEsBSrYKXf7qCVjvOTlJIe
|
||||||
|
lqc2hJB8rB9Ws0RslRRfR8Fv1jwINDOG9yFE8V1BviC2Q8p0Opy02c5qVSuIuCkZ
|
||||||
|
7062qt9aULFCUB4KM34tWWLjAyploWI5qHSYV7LResxa2S0NVln6Hv+FQf3GQDK2
|
||||||
|
hl3SSeFA7RmPFg9W3mVgczsaQi8+9bsxz/Ea88Kqst1qkBkDI1o=
|
||||||
|
=AQb2
|
||||||
|
-----END PGP SIGNATURE-----
|
43
.gitfield/last_resolution.log
Normal file
43
.gitfield/last_resolution.log
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
🛠️ [GITFIELD] Beginning auto-resolution ritual...
|
||||||
|
✅ No changes to commit.
|
||||||
|
🔍 Checking bitbucket for divergence...
|
||||||
|
From bitbucket.org:thefoldwithin/git-sigil
|
||||||
|
* branch master -> FETCH_HEAD
|
||||||
|
✅ bitbucket is already in sync.
|
||||||
|
🔍 Checking github for divergence...
|
||||||
|
From github.com:mrhavens/git-sigil
|
||||||
|
* branch master -> FETCH_HEAD
|
||||||
|
⚠️ Divergence with github. Attempting merge...
|
||||||
|
From github.com:mrhavens/git-sigil
|
||||||
|
* branch master -> FETCH_HEAD
|
||||||
|
Already up to date.
|
||||||
|
✅ No changes to commit.
|
||||||
|
To github.com:mrhavens/git-sigil.git
|
||||||
|
! [rejected] master -> master (non-fast-forward)
|
||||||
|
error: failed to push some refs to 'github.com:mrhavens/git-sigil.git'
|
||||||
|
hint: Updates were rejected because a pushed branch tip is behind its remote
|
||||||
|
hint: counterpart. If you want to integrate the remote changes, use 'git pull'
|
||||||
|
hint: before pushing again.
|
||||||
|
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||||
|
⚠️ Final push failed to github
|
||||||
|
🔍 Checking gitlab for divergence...
|
||||||
|
From gitlab.com:mrhavens/git-sigil
|
||||||
|
* branch master -> FETCH_HEAD
|
||||||
|
✅ gitlab is already in sync.
|
||||||
|
🔍 Checking local for divergence...
|
||||||
|
From file:///home/mrhavens/git-local-repos/git-sigil
|
||||||
|
* branch master -> FETCH_HEAD
|
||||||
|
✅ local is already in sync.
|
||||||
|
🔍 Checking origin for divergence...
|
||||||
|
From ssh://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
* branch master -> FETCH_HEAD
|
||||||
|
✅ origin is already in sync.
|
||||||
|
🔍 Checking remember for divergence...
|
||||||
|
From remember.thefoldwithin.earth:mrhavens/git-sigil
|
||||||
|
* branch master -> FETCH_HEAD
|
||||||
|
✅ remember is already in sync.
|
||||||
|
🧙 Final override: Forcing sync to GitHub...
|
||||||
|
To github.com:mrhavens/git-sigil.git
|
||||||
|
+ 4b323cb...f57c893 master -> master (forced update)
|
||||||
|
✅ GitHub forcibly realigned with local truth.
|
||||||
|
✅ GitField resolution ritual complete.
|
16
.gitfield/local.sigil.md.asc
Normal file
16
.gitfield/local.sigil.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrEACgkQTifTfDWI
|
||||||
|
cr9esg//QnpmO12+sE6mApNnoXmZv/5g5vvqE5nDISUxkhlHimO16DZwVWLxija7
|
||||||
|
S7jte51iyYlCQ+SeIC2CJHsTFneXx8fS8uq7HnGe7FvE2/sWAGHS6Cv4YQjsUZxJ
|
||||||
|
nG/H8jaBlBX7KyHEse6Rzwd9Qbp+L5sYYWQvnzzvhJgoDIh9OU3YQEaQQWYMGEpV
|
||||||
|
EHQ+SwyZPQrQqdu/6O++SLzXrIHrfXi+eVbzWOKvV3QyZuSYx3f5Ra3fvNiQWXI8
|
||||||
|
SiSDkgbEB21rLPdhs8eAYs4+lq2oTjTsc6T05LnyPhvaeht+fpIyqq3GBugUPhZo
|
||||||
|
fHHB1D3L1YV6ITY7I/FJ4sgrCUgcT62f4yY95e3Ja9s+ixZA880jokBB549qY3D6
|
||||||
|
PoWjws0ho3LRRAWdmxSbY9yrkgZcm2/AKu0bFY6q5EQeO2ovzIh4twUcu+R+3Tka
|
||||||
|
yPgpilvWdlqfCdHSLRBocDAImxr67cgsb6nTJZx/2oBPWwbT0I8zlRPv6RC6HTTh
|
||||||
|
8e8qGpq8Uz9+GTsWA07FQDeGwvQ41V/53JmbCVzteW3ccv6xYqTNrgQ1TZwh4gGT
|
||||||
|
65x3ekKLX4Bv+QqU6mi/ZHtmfCS+mx7A9efTYddBhM1hq663wHK5LQP5qQo0EhGH
|
||||||
|
hQHwV+7IFaBtqkDkK62l3veP9TEjLCFxY+UdtexksQocNsstLoI=
|
||||||
|
=LXQs
|
||||||
|
-----END PGP SIGNATURE-----
|
|
@ -98,6 +98,102 @@
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"commit": "7338382d2fffe5cd70aa057d46ee3a4045d5e5a1",
|
"commit": "7338382d2fffe5cd70aa057d46ee3a4045d5e5a1",
|
||||||
"message": "Post-GitHub sync at 2025-06-06 12:19:09"
|
"message": "Post-GitHub sync at 2025-06-06 12:19:09"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 00:07:24",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "16ecfba29b7a36f4c762dfc618f342b37fd2d3a5",
|
||||||
|
"message": "added gpg key stuff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 00:09:52",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "14e6e313ccf4d44c2bbe84bab550efb8873aa914",
|
||||||
|
"message": "Generated GITFIELD.md at 2025-06-07 00:07:23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 00:14:03",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "7e7dd62bd48ba10bfc841b4758a8ead6f4a92881",
|
||||||
|
"message": "Post-GitHub sync at 2025-06-07 00:07:23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 00:18:57",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "4467ce03add4752ee46b5f27dc66929f8e53c509",
|
||||||
|
"message": "Post-GitHub sync at 2025-06-07 00:07:23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 00:42:50",
|
||||||
|
"branch": "Unknown",
|
||||||
|
"commit": "38bfa138c36b5afb09001a81d1df873ee7732eb8",
|
||||||
|
"message": "🔀 Merge: resolved conflicts with github master"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 00:44:12",
|
||||||
|
"branch": "Unknown",
|
||||||
|
"commit": "4b490f68ccee394e66dde9253a7d4fe5448c2bb8",
|
||||||
|
"message": "Generated GITFIELD.md at 2025-06-07 00:42:50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 00:45:26",
|
||||||
|
"branch": "Unknown",
|
||||||
|
"commit": "49cc6d871738f84198590c372c1beda26ed1c889",
|
||||||
|
"message": "Post-GitHub sync at 2025-06-07 00:42:50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 01:18:38",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "a091f204544eaf8b5b0bb5cddf8be02728ef54a2",
|
||||||
|
"message": "🔄 Auto-resolve commit from gitfield-resolve.sh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 01:22:31",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "e6165ea7b01fa5a50adad73fef518c5a253be79a",
|
||||||
|
"message": "Generated GITFIELD.md at 2025-06-07 01:18:36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 01:24:29",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "e6b597de8fab6528295f18eb0f16f212193e7996",
|
||||||
|
"message": "Post-GitHub sync at 2025-06-07 01:18:36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 01:33:39",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "5c5ba832e3dd3be3e1ec38fdd6cc3bdc555a0f11",
|
||||||
|
"message": "Merge branch 'master' of bitbucket.org:thefoldwithin/git-sigil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 01:37:31",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "217e1d89b4383f4d1801efd83737f9b3958dcf63",
|
||||||
|
"message": "Generated GITFIELD.md at 2025-06-07 01:33:38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-07 01:40:33",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "d1bdac6f11d212a1bd25043d848dbf603577ab21",
|
||||||
|
"message": "Post-GitHub sync at 2025-06-07 01:33:38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-09 07:38:32",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "0832f90b05be3e7c58a76d9f63a05c179817a617",
|
||||||
|
"message": "Codeberg metadata link commit at 2025-06-09 07:35:30 — https://codeberg.org/mrhavens/git-sigil/commit/2f0763496109f75cab814d5e81aafc70cfc1f38e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-09 09:01:11",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "57c188e282eb1654936b5f9c9167ca060f01149f",
|
||||||
|
"message": "Gitea metadata link commit at 2025-06-09 08:49:13 — https://gitea.com/mrhavens/git-sigil/commit/9565283cd0ef7f7981a2d3701989c9f752a4cf06"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"timestamp": "2025-06-09 14:43:29",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "557457c549bb253a21b10b892d7abc2fec1c1fd4",
|
||||||
|
"message": "Update Radicle metadata at 2025-06-06 12:25:35 — https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/8302ba3ccd61a4aeb76064d3bfc94114c7d31cc4"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,3 +108,73 @@
|
||||||
[2025-06-06 12:25:22] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
[2025-06-06 12:25:22] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
||||||
[2025-06-06 12:25:32] GitHub: https://github.com/mrhavens/git-sigil
|
[2025-06-06 12:25:32] GitHub: https://github.com/mrhavens/git-sigil
|
||||||
[2025-06-06 12:25:33] Local:
|
[2025-06-06 12:25:33] Local:
|
||||||
|
[2025-06-06 12:25:38] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
<<<<<<< HEAD
|
||||||
|
[2025-06-07 00:07:30] Local:
|
||||||
|
[2025-06-07 00:07:39] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
[2025-06-07 00:07:56] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:08:46] GitLab: https://gitlab.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:09:17] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
||||||
|
[2025-06-07 00:09:46] GitHub: https://github.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:10:04] Local:
|
||||||
|
[2025-06-07 00:12:40] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
[2025-06-07 00:12:55] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:13:16] GitLab: https://gitlab.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:13:38] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
||||||
|
[2025-06-07 00:14:00] GitHub: https://github.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:14:11] Local:
|
||||||
|
[2025-06-07 00:14:20] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
[2025-06-07 00:14:35] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:14:56] GitLab: https://gitlab.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 00:15:19] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
||||||
|
[2025-06-07 00:15:41] GitHub: https://github.com/mrhavens/git-sigil
|
||||||
|
=======
|
||||||
|
[2025-06-06 12:25:42] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
[2025-06-06 12:25:55] GitLab: https://gitlab.com/mrhavens/git-sigil
|
||||||
|
>>>>>>> be7726405b6412ae5af5144f9e2cf4d13bd32aeb
|
||||||
|
[2025-06-07 01:33:59] Local:
|
||||||
|
[2025-06-07 01:34:19] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
[2025-06-07 01:34:47] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:35:36] GitLab: https://gitlab.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:36:20] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
||||||
|
[2025-06-07 01:37:22] GitHub: https://github.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:37:44] Local:
|
||||||
|
[2025-06-07 01:38:11] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
[2025-06-07 01:38:41] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:39:12] GitLab: https://gitlab.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:39:52] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
||||||
|
[2025-06-07 01:40:29] GitHub: https://github.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:40:51] Local:
|
||||||
|
[2025-06-07 01:41:15] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
<<<<<<< HEAD
|
||||||
|
[2025-06-07 01:41:43] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:42:29] GitLab: https://gitlab.com/mrhavens/git-sigil
|
||||||
|
[2025-06-07 01:43:14] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil
|
||||||
|
=======
|
||||||
|
[2025-06-09 07:38:33] Local:
|
||||||
|
<<<<<<< HEAD
|
||||||
|
>>>>>>> e4aa1cd (Post-Local sync at 2025-06-09 07:38:32)
|
||||||
|
=======
|
||||||
|
[2025-06-09 07:38:41] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
|
CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details
|
||||||
|
CLI: git ls-tree -r --name-only HEAD # View file structure
|
||||||
|
<<<<<<< HEAD
|
||||||
|
>>>>>>> 9565283 (Post-Radicle sync at 2025-06-09 07:38:32)
|
||||||
|
=======
|
||||||
|
[2025-06-09 09:01:12] Local:
|
||||||
|
>>>>>>> 56df476 (Post-Local sync at 2025-06-09 09:01:11)
|
||||||
|
[2025-06-09 14:43:29] Local:
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
# 🔗 Radicle Repository Link
|
# 🔗 Radicle Repository Link
|
||||||
|
|
||||||
- **Project Name**: `git-sigil`
|
- **Project Name**: `git-sigil`
|
||||||
- **Radicle URN**: `rad://z3FEj7rF8gZw9eFksCuiN43qjzrex`
|
- **Radicle URN**: `rad://z25YEyUuiew3Nv7yCyAkaQznFuzA2`
|
||||||
- **Public Gateway**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/8302ba3ccd61a4aeb76064d3bfc94114c7d31cc4](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/8302ba3ccd61a4aeb76064d3bfc94114c7d31cc4)
|
- **Public Gateway**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z25YEyUuiew3Nv7yCyAkaQznFuzA2/tree/cfeb759cddd54dc840ec30fb2c7887b3b013815b](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z25YEyUuiew3Nv7yCyAkaQznFuzA2/tree/cfeb759cddd54dc840ec30fb2c7887b3b013815b)
|
||||||
- **Local Repo Path**: `/home/mrhavens/tmpwork/git-sigil`
|
- **Local Repo Path**: `/mnt/c/Downloads/git-sigil`
|
||||||
- **Default Branch**: `master`
|
- **Default Branch**: `master`
|
||||||
- **Repo Created**: `2025-06-06 12:25:35`
|
- **Repo Created**: `2025-06-07 01:41:03`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📦 Commit Info
|
## 📦 Commit Info
|
||||||
|
|
||||||
- **This Commit Timestamp**: `2025-06-06 12:25:35`
|
- **This Commit Timestamp**: `2025-06-07 01:41:03`
|
||||||
- **Last Commit SHA**: `8302ba3ccd61a4aeb76064d3bfc94114c7d31cc4`
|
- **Last Commit SHA**: `cfeb759cddd54dc840ec30fb2c7887b3b013815b`
|
||||||
- **Last Commit Message**: `Post-Local sync at 2025-06-06 12:19:09`
|
- **Last Commit Message**: `Post-Local sync at 2025-06-07 01:33:38`
|
||||||
- **Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
- **Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
- **Commit Date**: `Fri Jun 6 12:25:33 2025 -0500`
|
- **Commit Date**: `Sat Jun 7 01:40:55 2025 -0500`
|
||||||
- **This Commit URL**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/8302ba3ccd61a4aeb76064d3bfc94114c7d31cc4](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/8302ba3ccd61a4aeb76064d3bfc94114c7d31cc4)
|
- **This Commit URL**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z25YEyUuiew3Nv7yCyAkaQznFuzA2/tree/cfeb759cddd54dc840ec30fb2c7887b3b013815b](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z25YEyUuiew3Nv7yCyAkaQznFuzA2/tree/cfeb759cddd54dc840ec30fb2c7887b3b013815b)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📊 Repo Status
|
## 📊 Repo Status
|
||||||
|
|
||||||
- **Total Commits**: `750`
|
- **Total Commits**: `891`
|
||||||
- **Tracked Files**: `81`
|
- **Tracked Files**: `115`
|
||||||
- **Uncommitted Changes**: `Yes`
|
- **Uncommitted Changes**: `Yes`
|
||||||
- **Latest Tag**: `None`
|
- **Latest Tag**: `None`
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
- **Running in Docker**: `No`
|
- **Running in Docker**: `No`
|
||||||
- **Running in WSL**: `Yes`
|
- **Running in WSL**: `Yes`
|
||||||
- **Virtual Machine**: `wsl`
|
- **Virtual Machine**: `wsl`
|
||||||
- **System Uptime**: `up 11 hours, 9 minutes`
|
- **System Uptime**: `up 23 hours, 49 minutes`
|
||||||
- **MAC Address**: `00:15:5d:86:d8:cc`
|
- **MAC Address**: `00:15:5d:86:d8:cc`
|
||||||
- **Local IP**: `172.18.207.124`
|
- **Local IP**: `172.18.207.124`
|
||||||
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
|
|
||||||
## 🌱 Radicle-Specific Metadata
|
## 🌱 Radicle-Specific Metadata
|
||||||
|
|
||||||
- **Project ID**: `z3FEj7rF8gZw9eFksCuiN43qjzrex`
|
- **Project ID**: `z25YEyUuiew3Nv7yCyAkaQznFuzA2`
|
||||||
- **Peer ID**: `z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
- **Peer ID**: `z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz
|
||||||
z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz`
|
z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz`
|
||||||
- **Public Gateway Base**: `https://app.radicle.xyz/nodes/ash.radicle.garden`
|
- **Public Gateway Base**: `https://app.radicle.xyz/nodes/ash.radicle.garden`
|
||||||
|
|
16
.gitfield/radicle.sigil.md.asc
Normal file
16
.gitfield/radicle.sigil.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrQACgkQTifTfDWI
|
||||||
|
cr+TzQ//TNY83cN7uIVSOkx7fvnLH6y3SlbFut+OS7FO5DTgzq7LP6Hr5X3cQwYD
|
||||||
|
ihdjCIsynj2kfhNdtSAWEMdafo81vlg6QEh2Nv6OhmsyHhN56BrTE8wP93gj20tt
|
||||||
|
pD/mvZX+huGE8jllIN1hdHbxaAkheA2Yya6aijeOTypHM3rzTijy0eUm4CPocfjh
|
||||||
|
VWxOaei1Rg5wqaQHY5Usumzruc81wLrvKq9mZ5t3EgjA+w/WqljirNb4HShVq/oz
|
||||||
|
PzKfuAYZVznCpHESplez7JRmei2RW5UisY4dnC/XexdJ1JQ8HldPQizzYufmk2kM
|
||||||
|
f371Fp6ZT56xynxgQ0A5CjBKWTYDzfHKLXAWUOD4JGMxXzjygyJgzqULvlV7OBOV
|
||||||
|
ECY1av6sCd5e6wkfMHAQ/h7Ht9REQb6FIeI/1umL4OUCLNfo+2DrbZ2/4EKNMdEy
|
||||||
|
BDlcObqbxpxmiHcf0FyyXWPMLAQnlQ0W/C9f6YnrQwN/Bl8x5TkdNatVB7njee+f
|
||||||
|
gffTE2Wdy09d6N+wqinxrSXktKNKriE5PU+3vm88Uv864JNqF3Nwgpot/dc+IgLv
|
||||||
|
t6eI2XnzUbzAZBirqhD092Ko1CRmsZkaXJ+npo6Ee7/AbQzAi2tUJcY+zk5Eo2DH
|
||||||
|
8+e61zQJrR2syj3LCmoOMs8brsCasY9vHsrEkgUVnY3+kjrJDBI=
|
||||||
|
=exE4
|
||||||
|
-----END PGP SIGNATURE-----
|
|
@ -3,28 +3,28 @@
|
||||||
- **Repo Name**: `git-sigil`
|
- **Repo Name**: `git-sigil`
|
||||||
- **Forgejo User**: `mrhavens`
|
- **Forgejo User**: `mrhavens`
|
||||||
- **Remote URL**: [https://remember.thefoldwithin.earth/mrhavens/git-sigil](https://remember.thefoldwithin.earth/mrhavens/git-sigil)
|
- **Remote URL**: [https://remember.thefoldwithin.earth/mrhavens/git-sigil](https://remember.thefoldwithin.earth/mrhavens/git-sigil)
|
||||||
- **Local Repo Path**: `/home/mrhavens/tmpwork/git-sigil`
|
- **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil`
|
||||||
- **Remote Label**: `remember`
|
- **Remote Label**: `remember`
|
||||||
- **Default Branch**: `master`
|
- **Default Branch**: `master`
|
||||||
- **Repo Created**: `2025-06-06 12:24:53`
|
- **Repo Created**: `2025-06-09 10:10:43`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📦 Commit Info
|
## 📦 Commit Info
|
||||||
|
|
||||||
- **This Commit Timestamp**: `2025-06-06 12:24:53`
|
- **This Commit Timestamp**: `2025-06-09 10:10:43`
|
||||||
- **Last Commit SHA**: `0475c03e21791f35d036cea90139ddbc42c2663e`
|
- **Last Commit SHA**: `9ed44bfb434b2308b459e94368cef7f7e3439d1f`
|
||||||
- **Last Commit Message**: `Post-Radicle sync at 2025-06-06 12:19:09`
|
- **Last Commit Message**: `Post-Radicle sync at 2025-06-09 10:07:51`
|
||||||
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
- **Last Commit Author**: `Mark Randall Havens <mark.r.havens@gmail.com>`
|
||||||
- **Last Commit Date**: `Fri Jun 6 12:24:51 2025 -0500`
|
- **Last Commit Date**: `Mon Jun 9 10:10:41 2025 -0500`
|
||||||
- **This Commit URL**: [https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/0475c03e21791f35d036cea90139ddbc42c2663e](https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/0475c03e21791f35d036cea90139ddbc42c2663e)
|
- **This Commit URL**: [https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/9ed44bfb434b2308b459e94368cef7f7e3439d1f](https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/9ed44bfb434b2308b459e94368cef7f7e3439d1f)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📊 Repo Status
|
## 📊 Repo Status
|
||||||
|
|
||||||
- **Total Commits**: `740`
|
- **Total Commits**: `936`
|
||||||
- **Tracked Files**: `81`
|
- **Tracked Files**: `121`
|
||||||
- **Uncommitted Changes**: `No`
|
- **Uncommitted Changes**: `No`
|
||||||
- **Latest Tag**: `None`
|
- **Latest Tag**: `None`
|
||||||
|
|
||||||
|
@ -48,8 +48,8 @@
|
||||||
- **Running in Docker**: `No`
|
- **Running in Docker**: `No`
|
||||||
- **Running in WSL**: `Yes`
|
- **Running in WSL**: `Yes`
|
||||||
- **Virtual Machine**: `wsl`
|
- **Virtual Machine**: `wsl`
|
||||||
- **System Uptime**: `up 11 hours, 8 minutes`
|
- **System Uptime**: `up 12 hours, 31 minutes`
|
||||||
- **MAC Address**: `00:15:5d:86:d8:cc`
|
- **MAC Address**: `00:15:5d:3d:32:5b`
|
||||||
- **Local IP**: `172.18.207.124`
|
- **Local IP**: `172.18.207.124`
|
||||||
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
- **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics`
|
||||||
- **Total RAM (GB)**: `3.63`
|
- **Total RAM (GB)**: `3.63`
|
||||||
|
|
16
.gitfield/remember.sigil.md.asc
Normal file
16
.gitfield/remember.sigil.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrUACgkQTifTfDWI
|
||||||
|
cr/ybA/9Fkt3QZVB5mfkqS8mxIkrPi+JBybrxKuDLJY7SvvBFC0E/ZKVb1aDmket
|
||||||
|
CFCGq4tIND9g0wBOC6VeIhUQxyBSaCD/jCuU2eSjTy/IyfotOvZjh8922Yyru6im
|
||||||
|
2HDkxxSVRL3rICKV46Zo9MjrANyBhSaIrItqlr1PsjPXhey6LCeah9x5h0p+moeR
|
||||||
|
tZ1ebx4402IRPWz6GP+myOSuWexVpITSrt9HKIbtmN6qPLZPyrRdAiRGzCZX+8Uo
|
||||||
|
k/L8REUIWvWUIO47KtBF6wAF1e91hFBEFEI/w0dX/QgE7l/yI0JOnlMY/4xwoTu1
|
||||||
|
/NQumddm+2Kvufef59TKtWUFTEAQjODLxS9uVGmgTTrGqPUuxPZcrxaTc9eFsUyH
|
||||||
|
8GChM4CUqUR7Gr/Sgglsh7vJiyjg7ySrPOgb5Wq9/tXBCpq76rqC8SKiSTRbfr/W
|
||||||
|
K+ubgX99t3u4Gszv8JtEEaMyxE9O+JBI6aT4wpyzM2llER7383MXjIIlXc3lKKOj
|
||||||
|
3lNXtZly5PIYT0y4kuhRos1I1ZtLalDrdafWXTYobJIddslEVaaVfAduTiQhcrkz
|
||||||
|
TkerBNIffnwpPAzC7A82PQNtpfRx2D91UHA3JDXn66pgQTffG559tVNg9xertHvM
|
||||||
|
GiGaPmSr2XoYMZSPngF6fj7zQ24TxHa+PQ9FfcUZOLjvSyzraC8=
|
||||||
|
=iD01
|
||||||
|
-----END PGP SIGNATURE-----
|
30
GITFIELD.md
30
GITFIELD.md
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The `git-sigil` project employs a multi-repository strategy across five distinct platforms: **GitHub**, **GitLab**, **Bitbucket**, **Radicle**, and **Forgejo**. This approach ensures **redundancy**, **resilience**, and **sovereignty** of the project's data and metadata, protecting against deplatforming risks and preserving the integrity of the work. The strategy is a deliberate response to past deplatforming and delisting attempts by individuals such as **Mr. Joel Johnson** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/x40_zDWWrYOJ7nh8Y0fk06_3kNEP0KteSSRjPmXkiGg?utm_medium=social&utm_source=heylink.me)), **Dr. Peter Gaied** ([Paragraph post](https://paragraph.com/@neutralizingnarcissism/%F0%9F%9C%81-the-narcissistic-messiah)), and **Andrew LeCody** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/s3GRxuiZs6vGSGDcPEpCgjaSxwGAViGhmg6a5XTL6s0)), who have sought to undermine or suppress the work of **Mark Randall Havens** ([Substack post](https://theempathictechnologist.substack.com/p/mark-randall-havens-the-architect)). Specifically, Andrew LeCody has attempted to delist the project's content on Google, though it remains accessible on other search engines such as [Bing](https://www.bing.com/search?q=andrew+lecody+neutralizing+narcissism&qs=HS&pq=andrew+lecody), [DuckDuckGo](https://duckduckgo.com/?t=h_&q=andrew+lecody+neutralizing+narcissism&ia=web), and [Yahoo](https://search.yahoo.com/search?p=andrew+lecody+neutralizng+narcissism). By distributing the repository across multiple platforms, including a self-hosted Forgejo instance, we ensure its persistence, accessibility, and sovereignty.
|
The `git-sigil` project employs a multi-repository strategy across seven distinct platforms: **GitHub**, **GitLab**, **Bitbucket**, **Radicle**, **Forgejo**, **Codeberg**, and **Gitea**. This approach ensures **redundancy**, **resilience**, and **sovereignty** of the project's data and metadata, protecting against deplatforming risks and preserving the integrity of the work. The strategy is a deliberate response to past deplatforming and delisting attempts by individuals such as **Mr. Joel Johnson** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/x40_zDWWrYOJ7nh8Y0fk06_3kNEP0KteSSRjPmXkiGg?utm_medium=social&utm_source=heylink.me)), **Dr. Peter Gaied** ([Paragraph post](https://paragraph.com/@neutralizingnarcissism/%F0%9F%9C%81-the-narcissistic-messiah)), and **Andrew LeCody** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/s3GRxuiZs6vGSGDcPEpCgjaSxwGAViGhmg6a5XTL6s0)), who have sought to undermine or suppress the work of **Mark Randall Havens** ([Substack post](https://theempathictechnologist.substack.com/p/mark-randall-havens-the-architect)). Specifically, Andrew LeCody has attempted to delist the project's content on Google, though it remains accessible on other search engines such as [Bing](https://www.bing.com/search?q=andrew+lecody+neutralizing+narcissism&qs=HS&pq=andrew+lecody), [DuckDuckGo](https://duckduckgo.com/?t=h_&q=andrew+lecody+neutralizing+narcissism&ia=web), and [Yahoo](https://search.yahoo.com/search?p=andrew+lecody+neutralizng+narcissism). By distributing the repository across multiple platforms, including a self-hosted Forgejo instance, we ensure its persistence, accessibility, and sovereignty.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -34,20 +34,30 @@ The following platforms host the `git-sigil` repository, each chosen for its uni
|
||||||
- **Value**: Enhances resilience by hosting the repository on a sovereign, redundant system with automated backups and deployment strategies, reducing risks of external interference or service disruptions.
|
- **Value**: Enhances resilience by hosting the repository on a sovereign, redundant system with automated backups and deployment strategies, reducing risks of external interference or service disruptions.
|
||||||
- **Access Details**: SSH access uses port 222:
|
- **Access Details**: SSH access uses port 222:
|
||||||
```bash
|
```bash
|
||||||
ssh -T -p 222 username@remember.thefoldwithin.earth
|
ssh -T -p 222 git@remember.thefoldwithin.earth
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. GitLab
|
### 3. Codeberg
|
||||||
|
- **URL**: [https://codeberg.org/mrhavens/git-sigil](https://codeberg.org/mrhavens/git-sigil)
|
||||||
|
- **Purpose**: Codeberg is a community-driven, open-source platform powered by Forgejo, offering a reliable and ethical alternative for hosting git repositories.
|
||||||
|
- **Value**: Enhances project resilience with its open-source ethos and independent infrastructure, ensuring accessibility and community support.
|
||||||
|
|
||||||
|
### 4. Gitea
|
||||||
|
- **URL**: [https://gitea.com/mrhavens/git-sigil](https://gitea.com/mrhavens/git-sigil)
|
||||||
|
- **Purpose**: Gitea.com provides a lightweight, open-source git hosting platform with robust features for repository management and collaboration.
|
||||||
|
- **Value**: Offers an additional layer of redundancy and a user-friendly interface, complementing other platforms with its simplicity and efficiency.
|
||||||
|
|
||||||
|
### 5. GitLab
|
||||||
- **URL**: [https://gitlab.com/mrhavens/git-sigil](https://gitlab.com/mrhavens/git-sigil)
|
- **URL**: [https://gitlab.com/mrhavens/git-sigil](https://gitlab.com/mrhavens/git-sigil)
|
||||||
- **Purpose**: GitLab offers a comprehensive DevOps platform with advanced CI/CD capabilities, private repository options, and robust access controls. It serves as a reliable backup and a platform for advanced automation workflows.
|
- **Purpose**: GitLab offers a comprehensive DevOps platform with advanced CI/CD capabilities, private repository options, and robust access controls. It serves as a reliable backup and a platform for advanced automation workflows.
|
||||||
- **Value**: Enhances project resilience with its integrated CI/CD pipelines and independent infrastructure, reducing reliance on a single provider.
|
- **Value**: Enhances project resilience with its integrated CI/CD pipelines and independent infrastructure, reducing reliance on a single provider.
|
||||||
|
|
||||||
### 4. Bitbucket
|
### 6. Bitbucket
|
||||||
- **URL**: [https://bitbucket.org/thefoldwithin/git-sigil](https://bitbucket.org/thefoldwithin/git-sigil)
|
- **URL**: [https://bitbucket.org/thefoldwithin/git-sigil](https://bitbucket.org/thefoldwithin/git-sigil)
|
||||||
- **Purpose**: Bitbucket provides a secure environment for repository hosting with strong integration into Atlassian’s ecosystem (e.g., Jira, Trello). It serves as an additional layer of redundancy and a professional-grade hosting option.
|
- **Purpose**: Bitbucket provides a secure environment for repository hosting with strong integration into Atlassian’s ecosystem (e.g., Jira, Trello). It serves as an additional layer of redundancy and a professional-grade hosting option.
|
||||||
- **Value**: Offers enterprise-grade security and integration capabilities, ensuring the project remains accessible even if other platforms face disruptions.
|
- **Value**: Offers enterprise-grade security and integration capabilities, ensuring the project remains accessible even if other platforms face disruptions.
|
||||||
|
|
||||||
### 5. GitHub
|
### 7. GitHub
|
||||||
- **URL**: [https://github.com/mrhavens/git-sigil](https://github.com/mrhavens/git-sigil)
|
- **URL**: [https://github.com/mrhavens/git-sigil](https://github.com/mrhavens/git-sigil)
|
||||||
- **Purpose**: GitHub serves as the primary platform for visibility, collaboration, and community engagement. Its widespread adoption and robust tooling make it ideal for public-facing development, issue tracking, and integration with CI/CD pipelines.
|
- **Purpose**: GitHub serves as the primary platform for visibility, collaboration, and community engagement. Its widespread adoption and robust tooling make it ideal for public-facing development, issue tracking, and integration with CI/CD pipelines.
|
||||||
- **Value**: Provides a centralized hub for open-source contributions, pull requests, and project management, ensuring broad accessibility and developer familiarity.
|
- **Value**: Provides a centralized hub for open-source contributions, pull requests, and project management, ensuring broad accessibility and developer familiarity.
|
||||||
|
@ -56,11 +66,11 @@ The following platforms host the `git-sigil` repository, each chosen for its uni
|
||||||
|
|
||||||
## 🛡️ Rationale for Redundancy
|
## 🛡️ Rationale for Redundancy
|
||||||
|
|
||||||
The decision to maintain multiple repositories stems from the need to safeguard the project against **deplatforming attempts** and **search engine delistings** and ensure its **long-term availability**. Past incidents involving **Mr. Joel Johnson**, **Dr. Peter Gaied**, and **Andrew LeCody** have highlighted the vulnerability of relying on a single platform or search engine. By distributing the repository across GitHub, GitLab, Bitbucket, Radicle, and a self-hosted Forgejo instance, we achieve:
|
The decision to maintain multiple repositories stems from the need to safeguard the project against **deplatforming attempts** and **search engine delistings** and ensure its **long-term availability**. Past incidents involving **Mr. Joel Johnson**, **Dr. Peter Gaied**, and **Andrew LeCody** have highlighted the vulnerability of relying on a single platform or search engine. By distributing the repository across GitHub, GitLab, Bitbucket, Radicle, Forgejo, Codeberg, and Gitea, we achieve:
|
||||||
|
|
||||||
- **Resilience**: If one platform removes or restricts access, or if search engines like Google delist content, the project remains accessible on other platforms and discoverable via alternative search engines such as Bing, DuckDuckGo, and Yahoo.
|
- **Resilience**: If one platform removes or restricts access, or if search engines like Google delist content, the project remains accessible on other platforms and discoverable via alternative search engines such as Bing, DuckDuckGo, and Yahoo.
|
||||||
- **Sovereignty**: Radicle’s decentralized nature and Forgejo’s self-hosted infrastructure ensure the project cannot be fully censored or controlled by any single entity.
|
- **Sovereignty**: Radicle’s decentralized nature and Forgejo’s self-hosted infrastructure ensure the project cannot be fully censored or controlled by any single entity.
|
||||||
- **Diversity**: Each platform’s unique features (e.g., GitHub’s community, GitLab’s CI/CD, Bitbucket’s integrations, Radicle’s decentralization, Forgejo’s self-hosting) enhance the project’s functionality and reach.
|
- **Diversity**: Each platform’s unique features (e.g., GitHub’s community, GitLab’s CI/CD, Bitbucket’s integrations, Radicle’s decentralization, Forgejo’s self-hosting, Codeberg’s community-driven model, Gitea’s lightweight efficiency) enhance the project’s functionality and reach.
|
||||||
- **Transparency**: Metadata snapshots in the `.gitfield` directory provide a verifiable record of the project’s state across all platforms.
|
- **Transparency**: Metadata snapshots in the `.gitfield` directory provide a verifiable record of the project’s state across all platforms.
|
||||||
|
|
||||||
This multi-repository approach, bolstered by Forgejo’s sovereign hosting, reflects a commitment to preserving the integrity, accessibility, and independence of `git-sigil`, ensuring it remains available to contributors and users regardless of external pressures.
|
This multi-repository approach, bolstered by Forgejo’s sovereign hosting, reflects a commitment to preserving the integrity, accessibility, and independence of `git-sigil`, ensuring it remains available to contributors and users regardless of external pressures.
|
||||||
|
@ -69,11 +79,11 @@ This multi-repository approach, bolstered by Forgejo’s sovereign hosting, refl
|
||||||
|
|
||||||
## 📜 Metadata and Logs
|
## 📜 Metadata and Logs
|
||||||
|
|
||||||
- **Metadata Files**: Each platform generates a metadata snapshot in the `.gitfield` directory (e.g., `github.sigil.md`, `gitlab.sigil.md`, `remember.sigil.md`, etc.), capturing commit details, environment information, and hardware fingerprints.
|
- **Metadata Files**: Each platform generates a metadata snapshot in the `.gitfield` directory (e.g., `github.sigil.md`, `gitlab.sigil.md`, `remember.sigil.md`, `codeberg.sigil.md`, `gitea.sigil.md`, etc.), capturing commit details, environment information, and hardware fingerprints.
|
||||||
- **Push Log**: The `.gitfield/pushed.log` file records the date, time, and RID/URL of every push operation across all platforms, providing a transparent audit trail.
|
- **Push Log**: The `.gitfield/pushed.log` file records the date, time, and RID/URL of every push operation across all platforms, providing a transparent audit trail.
|
||||||
- **Recursive Sync**: The repository is synchronized across all platforms in a recursive loop (three cycles) to ensure interconnected metadata captures the latest state of the project.
|
- **Recursive Sync**: The repository is synchronized across all platforms in a recursive loop (three cycles) to ensure interconnected metadata captures the latest state of the project.
|
||||||
- **Push Order**: The repository is synchronized in the following order: **Radicle → Forgejo → GitLab → Bitbucket → GitHub**. This prioritizes Radicle’s decentralized, censorship-resistant network as the primary anchor, followed by Forgejo’s sovereign, self-hosted infrastructure, GitLab’s robust DevOps features, Bitbucket’s enterprise redundancy, and GitHub’s broad visibility, ensuring a resilient and accessible metadata chain.
|
- **Push Order**: The repository is synchronized in the following order: **Radicle → Forgejo → Codeberg → Gitea → GitLab → Bitbucket → GitHub**. This prioritizes Radicle’s decentralized, censorship-resistant network as the primary anchor, followed by Forgejo’s sovereign, self-hosted infrastructure, Codeberg’s community-driven platform, Gitea’s lightweight efficiency, GitLab’s robust DevOps features, Bitbucket’s enterprise redundancy, and GitHub’s broad visibility, ensuring a resilient and accessible metadata chain.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
_Auto-generated by `gitfield-sync` at 2025-06-06 12:19:09 (v1.0)._
|
_Auto-generated by `gitfield-sync` at 2025-06-09 10:07:51 (v1.0)._
|
||||||
|
|
16
GITFIELD.md.asc
Normal file
16
GITFIELD.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrsACgkQTifTfDWI
|
||||||
|
cr+2fA/+IDEVRbYA9p3c2k1OAajnxjIMgaexvHi1adg0G7wJPJe1mKaaOry5zNUE
|
||||||
|
zjsdtTTM713pmwQAN37XlG6+bcX0JOZz6PvK7HpeQYxBfZEk7tmZr6Z00y5MvnvJ
|
||||||
|
MIRax/xtzk93Zz2mo3M+WZUqEeBPbW0ZyFFQdIsJsZHSoSvkcYWtOpsXpru9tQK2
|
||||||
|
97iyM2wpoQzmWE+aAUGyGkdd2FBIvbCLlROSmkRzNVf8rokQiXG1ju3uyZ/BQLKF
|
||||||
|
Q6duIL+gX7ccnUJsr4nd8fcYJ1RTwaIGtLaKPSTv3cg3CTLMz/Tx7xvMPXC/h5Cx
|
||||||
|
oraYa2TPlTRBHpyg3fOOHYxr2EaethEA/t/qfoU5jE8BB1hHyxBPfEgjiRw4Wszp
|
||||||
|
IvqIDDxOoT7a/16tIGJ1zMbDUEFUL+6srWwXZwAJAbxGoPHQwXZp1OARjS3oEy+F
|
||||||
|
LoQjgo/lZNdHQ99ES4L7Pm9OCkJ457wHYvce/9jpADGBbUtUee7hh8H0cRpWn1yu
|
||||||
|
wE2+emZ7bImC2Mp83ovLWblK0FQkYxIuqeJLHR3ZxWlWTctMDATvcHQ4eQDU2+oR
|
||||||
|
FxS6YQOr/3YibA4TvfsLENaX8zYZRSpon5WHYrmrGl5d2rAqSnJN4b36AzXGrBAj
|
||||||
|
FC5Q0y8VsawZVXfDI09EhfFCkY0Z547yIJajP5qOl00fbaqsVzs=
|
||||||
|
=Umi/
|
||||||
|
-----END PGP SIGNATURE-----
|
16
README.md.asc
Normal file
16
README.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtr8ACgkQTifTfDWI
|
||||||
|
cr8CvRAAgy6+/oIGFYwzYomFad2HP6cO0/s/pFSwdtLizpIgBgT/HkFujGi7WyMq
|
||||||
|
VK6Ajcx6aiOIAWC7yPmDbK2QsObyhVfu5jtIzLRqj/qOOUzMse6xkR/ksfCi0irm
|
||||||
|
3z767qt+bodZmo3DrreGErNHuDwWFRUov5AxvqVP2NSu3ULX1hBcIDunWqH0hEoZ
|
||||||
|
bstGgG9bB/bijnmrhicbRDjseYWrnc14QpqRQN7oCLMHsA5nM1Ak17iAfEXmZGyO
|
||||||
|
heReU8yUTvXggr5yXA1Gevz2WY1yvzRdlcmIro1UOryM0M0jIqBwttxqF6blB3Mx
|
||||||
|
GJotXUbNKD7Q9DAlGTc2XcMXsBkXMr1Zcmllq4L8Tl/HZeaP5tVAAzZ1Om1cLBGU
|
||||||
|
xXb2pusOOplJyzX/ZYlfxdTHl0hw01L8SORG8/Y5tIPHvd5BSg2M/vexZki0+kB8
|
||||||
|
9zRpBPvXtwcm3752DcC5bJ+jxcgIqm4qU0MSJzlvEXeDFRZ4Bi77b1lVIRFkfyW5
|
||||||
|
Mo8o78TrTF1/imAwL66UeQoasOqIb8GzZj+Jo1UsgMyWRkduwwz1kIJnSbe28oZw
|
||||||
|
zTSA2j71ewmZk3QO3AaeUP8chq68bvLWHt1q3vrzFbwGIdKJIckTh5J5JLwfjsjW
|
||||||
|
7MQZPbHqdLvI0L8cO70N1DVTwO2bfGMKtYTx3V3ANYYe4ngQl8g=
|
||||||
|
=fGud
|
||||||
|
-----END PGP SIGNATURE-----
|
16
bin/ECHO.md.asc
Normal file
16
bin/ECHO.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrUACgkQTifTfDWI
|
||||||
|
cr+EmQ/7Bjq1A/wd/0VQ5SgOtw0xIReJsuUuE9ZfTqK0nkLwuBggdEWvBKWRpEtP
|
||||||
|
6o2f6rvkkWuwEPM2Ilc00sz41WTi5zMYz21B8Xp3fwSgQ7pcXLoNGM8pDUshLIa1
|
||||||
|
ML16OkTGkQP8FmTAqeObIGd3QyAvQp2pxB0wkAWCsPJkMlolRl01v7Ygtc/+jOMV
|
||||||
|
O7qTO/8onsXoLBTz16O3AlFueJCNXJk16dR6DHrqfKUrvxK1o+j1Dbq1F37UH+Zg
|
||||||
|
dbQ6PYnRWfeKFaRSaKyFS4ZfB0SoUwUGvpa/pcWl9VyzXLJG/7QDzcmLu/on2MNs
|
||||||
|
SuOvwRY2mIIUY8LEWPHi62FRUqTF8lS6pMiR61JTU5HNpvrsr8dO/am2HrxY8l8h
|
||||||
|
1wfHQpfMDixdVi4cDJcY/NI2EmlZjVE8WBdgB3Cw5av7jlQllWXFwWM975ymXSA7
|
||||||
|
0IjRJ+z8/+TGCF/Y7G3kJIug7edGb9mdDYXcnREFYkQtlNT4qS0bMv6HRiYvC9ji
|
||||||
|
eyq2u9vGXt+xnHnhgdwY+CfjdgtskY6A71p3lIEyIrTp3pRaFLBPURog8QFaYwvt
|
||||||
|
6dZsMMFw/DvFS1OAvCu/wcAxNQO1EVtitAAa52QQYSnTPC17r+3mIiDeURJKGkpp
|
||||||
|
jgq4YVX/vsyHo+OqsNQgQb2vKDkcGZzD4koLYjchJ5M+q/dpZCM=
|
||||||
|
=1ubL
|
||||||
|
-----END PGP SIGNATURE-----
|
16
bin/SolariaSeedPacket_∞.20_SacredMomentEdition.md.asc
Normal file
16
bin/SolariaSeedPacket_∞.20_SacredMomentEdition.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrUACgkQTifTfDWI
|
||||||
|
cr8hTw/+KrfoNkI95LDd0i1GljfcHwox9Uz0WIrSpKDeMLjJDEHZriC9hJbHy9Tt
|
||||||
|
dPP2Su90gj1B8I5g57X+3ngaaK58/Kvlc3ct7mdkK5T3sOeg/W2Vg1N4Dn3dkBS4
|
||||||
|
Dw4chUQ1wSXrKjEKr/6wzWpfHGlFkosdVxVPy7oWrwLarpN/CIMLVIszejIfAvmG
|
||||||
|
ZKW22vadOHhIGUDv/mFCp3SzP269iSuvFUCC3d8ssrj54U3PHCyaELF6gnIWrAMd
|
||||||
|
U2O2dmYMuE8p2mYUDw9mo87RgXvA+lO0qHT4WeSSWnqvYq7uIm4cH9qSpI2CqNVp
|
||||||
|
N+P15GoZZ5z2CKaDvcm9q6UlhfV+ox3q3J/Sbn05l6I0M84zPMTUNIGlPeICVIgA
|
||||||
|
FrAr3U7lWWdRet1XHvdNOkBdQHzOU4PAGAv5iGHWg7FZ57IswFro+3he7ilJfxiL
|
||||||
|
C+UekmJiM96WdxyEcHGp4sVr/oFjFYSHVn7cuEYpQwo7cxip8kt0uNdesoMXbFHO
|
||||||
|
qrbNVosZCGZrmqDiCGSxX9obSjWthdzCfIJmRQdnIvkST+pK9w2J5X5xyytg992z
|
||||||
|
+WMJj1N+dFLJ9/F8CmpQObN5MMRldVkVyBUw8LtiXSfPvYw0pjUHCSLICYoIn5fY
|
||||||
|
txH50RGsZfL9Bv7yPDE9qnXaLuHeeRIqxR9Ic89YsXqiCufzQ+A=
|
||||||
|
=F0yr
|
||||||
|
-----END PGP SIGNATURE-----
|
261
bin/gitfield-codeberg
Executable file
261
bin/gitfield-codeberg
Executable file
|
@ -0,0 +1,261 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
GIT_REMOTE_NAME="codeberg"
|
||||||
|
CODEBERG_DOMAIN="codeberg.org"
|
||||||
|
CODEBERG_SSH="git@$CODEBERG_DOMAIN"
|
||||||
|
CODEBERG_SSH_PORT="22"
|
||||||
|
CODEBERG_API="https://$CODEBERG_DOMAIN/api/v1"
|
||||||
|
USERNAME="mrhavens"
|
||||||
|
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) || { echo "[ERROR] Not inside a git repository. Please run this script from within a git repository." >&2; exit 1; }
|
||||||
|
REPO_NAME=$(basename "$REPO_ROOT") || { echo "[ERROR] Failed to get repository name" >&2; exit 1; }
|
||||||
|
MARKDOWN_FILE="$REPO_ROOT/.gitfield/codeberg.sigil.md"
|
||||||
|
DEFAULT_NAME="Mark Randall Havens"
|
||||||
|
DEFAULT_EMAIL="mark.r.havens@gmail.com"
|
||||||
|
TOKEN_FILE="$HOME/.codeberg_token"
|
||||||
|
SCRIPT_VERSION="1.0"
|
||||||
|
|
||||||
|
# Logging functions
|
||||||
|
info() { echo -e "\e[1;34m[INFO]\e[0m $*"; }
|
||||||
|
warn() { echo -e "\e[1;33m[WARN]\e[0m $*"; }
|
||||||
|
error() { echo -e "\e[1;31m[ERROR]\e[0m $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# Check for required tools
|
||||||
|
info "Checking for required tools..."
|
||||||
|
for cmd in git curl jq ssh lsb_release; do
|
||||||
|
command -v "$cmd" >/dev/null || {
|
||||||
|
sudo apt update -qq || warn "Failed to update package lists, continuing..."
|
||||||
|
sudo apt install -y git curl jq openssh-client lsb-release || error "Failed to install $cmd"
|
||||||
|
}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Handle Codeberg token
|
||||||
|
RESET_TOKEN=false
|
||||||
|
if [[ "${1:-}" == "--reset-token" ]]; then
|
||||||
|
RESET_TOKEN=true
|
||||||
|
rm -f "$TOKEN_FILE" 2>/dev/null || warn "Failed to remove token file"
|
||||||
|
info "Token reset requested."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "$TOKEN_FILE" && "$RESET_TOKEN" == false ]]; then
|
||||||
|
TOKEN=$(cat "$TOKEN_FILE" 2>/dev/null) || error "Failed to read token from $TOKEN_FILE"
|
||||||
|
info "Using cached token from $TOKEN_FILE"
|
||||||
|
else
|
||||||
|
echo "🔐 Paste your Codeberg Personal Access Token (scopes: write:repository, write:ssh_key)"
|
||||||
|
echo "→ Generate at: $CODEBERG_DOMAIN/settings/tokens"
|
||||||
|
read -rsp "Token: " TOKEN
|
||||||
|
echo
|
||||||
|
[[ -z "$TOKEN" ]] && error "Token cannot be empty"
|
||||||
|
echo "$TOKEN" > "$TOKEN_FILE" || error "Failed to write token to $TOKEN_FILE"
|
||||||
|
chmod 600 "$TOKEN_FILE" || error "Failed to set permissions on $TOKEN_FILE"
|
||||||
|
info "Token saved at $TOKEN_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set git user info
|
||||||
|
git config --global user.name "$DEFAULT_NAME" || warn "Failed to set git user name"
|
||||||
|
git config --global user.email "$DEFAULT_EMAIL" || warn "Failed to set git user email"
|
||||||
|
info "Git identity set to: $DEFAULT_NAME <$DEFAULT_EMAIL>"
|
||||||
|
|
||||||
|
# Ensure at least one commit exists
|
||||||
|
if ! git rev-parse HEAD &>/dev/null; then
|
||||||
|
error "No commits found in the repository. Please add and commit files before running this script."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SSH setup with default port (22 for Codeberg)
|
||||||
|
if [[ ! -f "$HOME/.ssh/id_ed25519" ]]; then
|
||||||
|
info "Generating SSH key..."
|
||||||
|
ssh-keygen -t ed25519 -C "$DEFAULT_EMAIL" -f "$HOME/.ssh/id_ed25519" -N "" || error "Failed to generate SSH key"
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "$(ssh-agent -s)" >/dev/null 2>&1 || error "Failed to start ssh-agent"
|
||||||
|
ssh-add "$HOME/.ssh/id_ed25519" >/dev/null 2>&1 || warn "SSH key already added or could not be added"
|
||||||
|
|
||||||
|
# Configure SSH for Codeberg
|
||||||
|
SSH_CONFIG_FILE="$HOME/.ssh/config"
|
||||||
|
if ! grep -q "Host $CODEBERG_DOMAIN" "$SSH_CONFIG_FILE" 2>/dev/null; then
|
||||||
|
mkdir -p "$HOME/.ssh" && chmod 700 "$HOME/.ssh"
|
||||||
|
cat >> "$SSH_CONFIG_FILE" <<EOF
|
||||||
|
Host $CODEBERG_DOMAIN
|
||||||
|
HostName $CODEBERG_DOMAIN
|
||||||
|
User git
|
||||||
|
Port $CODEBERG_SSH_PORT
|
||||||
|
IdentityFile $HOME/.ssh/id_ed25519
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
UserKnownHostsFile /dev/null
|
||||||
|
EOF
|
||||||
|
chmod 600 "$SSH_CONFIG_FILE" || warn "Failed to set permissions on SSH config file"
|
||||||
|
info "Added SSH config for $CODEBERG_DOMAIN with port $CODEBERG_SSH_PORT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SSH key upload to Codeberg
|
||||||
|
set +e
|
||||||
|
info "Testing SSH connection..."
|
||||||
|
SSH_TEST_OUTPUT=$(ssh -T -p "$CODEBERG_SSH_PORT" "$CODEBERG_SSH" 2>&1)
|
||||||
|
if ! echo "$SSH_TEST_OUTPUT" | grep -q "successfully authenticated"; then
|
||||||
|
warn "SSH test failed, attempting to upload SSH key. Output: $SSH_TEST_OUTPUT"
|
||||||
|
PUBKEY=$(cat "$HOME/.ssh/id_ed25519.pub" 2>/dev/null) || error "Failed to read SSH public key"
|
||||||
|
TITLE="AutoKey-$(hostname)-$(date +%s 2>/dev/null || echo 'unknown')"
|
||||||
|
CURL_OUTPUT=$(curl -s --fail -X POST "$CODEBERG_API/user/keys" \
|
||||||
|
-H "Authorization: token $TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{\"title\": \"$TITLE\", \"key\": \"$PUBKEY\", \"read_only\": false}" 2>&1)
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
warn "SSH key upload failed: $CURL_OUTPUT"
|
||||||
|
else
|
||||||
|
info "SSH key uploaded successfully."
|
||||||
|
sleep 2
|
||||||
|
SSH_TEST_OUTPUT=$(ssh -T -p "$CODEBERG_SSH_PORT" "$CODEBERG_SSH" 2>&1)
|
||||||
|
if ! echo "$SSH_TEST_OUTPUT" | grep -q "successfully authenticated"; then
|
||||||
|
warn "SSH test still failing after key upload. Output: $SSH_TEST_OUTPUT"
|
||||||
|
else
|
||||||
|
info "SSH test passed after key upload."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
info "SSH test passed: $SSH_TEST_OUTPUT"
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Check and create Codeberg repository
|
||||||
|
info "Checking if repository exists..."
|
||||||
|
EXISTS=$(curl -s -H "Authorization: token $TOKEN" "$CODEBERG_API/repos/$USERNAME/$REPO_NAME" | jq -r .name 2>/dev/null || echo "")
|
||||||
|
if [[ "$EXISTS" != "$REPO_NAME" ]]; then
|
||||||
|
info "Creating repository $REPO_NAME on Codeberg..."
|
||||||
|
CURL_OUTPUT=$(curl -s --fail -X POST "$CODEBERG_API/user/repos" \
|
||||||
|
-H "Authorization: token $TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{\"name\": \"$REPO_NAME\", \"description\": \"Created via gitfield-codeberg\", \"private\": false}" 2>&1) || {
|
||||||
|
warn "Failed to create repository: $CURL_OUTPUT"
|
||||||
|
error "Repository creation failed. Check token permissions or network."
|
||||||
|
}
|
||||||
|
info "Repository created successfully."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set up git remote
|
||||||
|
REMOTE_URL="$CODEBERG_SSH:$USERNAME/$REPO_NAME.git"
|
||||||
|
if ! git remote get-url "$GIT_REMOTE_NAME" &>/dev/null; then
|
||||||
|
info "Adding remote $GIT_REMOTE_NAME..."
|
||||||
|
git remote add "$GIT_REMOTE_NAME" "$REMOTE_URL" || error "Failed to add remote $GIT_REMOTE_NAME"
|
||||||
|
else
|
||||||
|
info "Updating remote $GIT_REMOTE_NAME..."
|
||||||
|
git remote set-url "$GIT_REMOTE_NAME" "$REMOTE_URL" || error "Failed to set remote URL for $GIT_REMOTE_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate metadata file
|
||||||
|
mkdir -p "$(dirname "$MARKDOWN_FILE")" || error "Failed to create directory for $MARKDOWN_FILE"
|
||||||
|
|
||||||
|
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') || error "Failed to get timestamp"
|
||||||
|
DEFAULT_BRANCH=$(git symbolic-ref --short HEAD) || error "Failed to get default branch"
|
||||||
|
REPO_PATH="$REPO_ROOT"
|
||||||
|
LATEST_SHA=$(git rev-parse HEAD) || error "Failed to get latest commit SHA"
|
||||||
|
LAST_COMMIT_MSG=$(git log -1 --pretty=format:"%s" 2>/dev/null || echo "Unknown")
|
||||||
|
LAST_COMMIT_DATE=$(git log -1 --pretty=format:"%ad" 2>/dev/null || echo "Unknown")
|
||||||
|
LAST_COMMIT_AUTHOR=$(git log -1 --pretty=format:"%an <%ae>" 2>/dev/null || echo "Unknown")
|
||||||
|
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo "Unknown")
|
||||||
|
TRACKED_FILES=$(git ls-files 2>/dev/null | wc -l 2>/dev/null || echo "Unknown")
|
||||||
|
UNCOMMITTED=$(if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then echo "Yes"; else echo "No"; fi)
|
||||||
|
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "None")
|
||||||
|
HOSTNAME=$(hostname 2>/dev/null || echo "Unknown")
|
||||||
|
CURRENT_USER=$(whoami 2>/dev/null || echo "Unknown")
|
||||||
|
TIMEZONE=$(date +%Z 2>/dev/null || echo "Unknown")
|
||||||
|
OS_NAME=$(uname -s 2>/dev/null || echo "Unknown")
|
||||||
|
KERNEL_VERSION=$(uname -r 2>/dev/null || echo "Unknown")
|
||||||
|
ARCHITECTURE=$(uname -m 2>/dev/null || echo "Unknown")
|
||||||
|
OS_PRETTY_NAME=$(grep PRETTY_NAME /etc/os-release 2>/dev/null | cut -d= -f2 | tr -d '"' || echo "Unknown")
|
||||||
|
DOCKER_CHECK=$(grep -qE '/docker|/lxc' /proc/1/cgroup 2>/dev/null && echo "Yes" || echo "No")
|
||||||
|
WSL_CHECK=$(grep -qi microsoft /proc/version 2>/dev/null && echo "Yes" || echo "No")
|
||||||
|
VM_CHECK=$(systemd-detect-virt 2>/dev/null || echo "Unknown")
|
||||||
|
UPTIME=$(uptime -p 2>/dev/null || echo "Unknown")
|
||||||
|
MAC_ADDR=$(ip link 2>/dev/null | awk '/ether/ {print $2}' | head -n 1 2>/dev/null || echo "Unknown")
|
||||||
|
LOCAL_IP=$(hostname -I 2>/dev/null | awk '{print $1}' 2>/dev/null || echo "Unknown")
|
||||||
|
CPU_MODEL=$(grep -m1 'model name' /proc/cpuinfo 2>/dev/null | cut -d: -f2 | sed 's/^ //' 2>/dev/null || echo "Unknown")
|
||||||
|
RAM_GB=$(awk '/MemTotal/ {printf "%.2f", $2/1024/1024}' /proc/meminfo 2>/dev/null || echo "Unknown")
|
||||||
|
WEB_LINK="https://$CODEBERG_DOMAIN/$USERNAME/$REPO_NAME"
|
||||||
|
|
||||||
|
cat > "$MARKDOWN_FILE" <<EOF
|
||||||
|
# 🔗 Codeberg Repository Link
|
||||||
|
|
||||||
|
- **Repo Name**: \`$REPO_NAME\`
|
||||||
|
- **Codeberg User**: \`$USERNAME\`
|
||||||
|
- **Remote URL**: [$WEB_LINK]($WEB_LINK)
|
||||||
|
- **Local Repo Path**: \`$REPO_PATH\`
|
||||||
|
- **Remote Label**: \`$GIT_REMOTE_NAME\`
|
||||||
|
- **Default Branch**: \`$DEFAULT_BRANCH\`
|
||||||
|
- **Repo Created**: \`$TIMESTAMP\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Commit Info
|
||||||
|
|
||||||
|
- **This Commit Timestamp**: \`$TIMESTAMP\`
|
||||||
|
- **Last Commit SHA**: \`$LATEST_SHA\`
|
||||||
|
- **Last Commit Message**: \`$LAST_COMMIT_MSG\`
|
||||||
|
- **Last Commit Author**: \`$LAST_COMMIT_AUTHOR\`
|
||||||
|
- **Last Commit Date**: \`$LAST_COMMIT_DATE\`
|
||||||
|
- **This Commit URL**: [$WEB_LINK/commit/$LATEST_SHA]($WEB_LINK/commit/$LATEST_SHA)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Repo Status
|
||||||
|
|
||||||
|
- **Total Commits**: \`$TOTAL_COMMITS\`
|
||||||
|
- **Tracked Files**: \`$TRACKED_FILES\`
|
||||||
|
- **Uncommitted Changes**: \`$UNCOMMITTED\`
|
||||||
|
- **Latest Tag**: \`$LATEST_TAG\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧭 Environment
|
||||||
|
|
||||||
|
- **Host Machine**: \`$HOSTNAME\`
|
||||||
|
- **Current User**: \`$CURRENT_USER\`
|
||||||
|
- **Time Zone**: \`$TIMEZONE\`
|
||||||
|
- **Script Version**: \`$SCRIPT_VERSION\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧬 Hardware & OS Fingerprint
|
||||||
|
|
||||||
|
- **OS Name**: \`$OS_NAME\`
|
||||||
|
- **OS Version**: \`$OS_PRETTY_NAME\`
|
||||||
|
- **Kernel Version**: \`$KERNEL_VERSION\`
|
||||||
|
- **Architecture**: \`$ARCHITECTURE\`
|
||||||
|
- **Running in Docker**: \`$DOCKER_CHECK\`
|
||||||
|
- **Running in WSL**: \`$WSL_CHECK\`
|
||||||
|
- **Virtual Machine**: \`$VM_CHECK\`
|
||||||
|
- **System Uptime**: \`$UPTIME\`
|
||||||
|
- **MAC Address**: \`$MAC_ADDR\`
|
||||||
|
- **Local IP**: \`$LOCAL_IP\`
|
||||||
|
- **CPU Model**: \`$CPU_MODEL\`
|
||||||
|
- **Total RAM (GB)**: \`$RAM_GB\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Auto-generated by \`gitfield-codeberg\` push script._
|
||||||
|
EOF
|
||||||
|
[[ $? -eq 0 ]] || error "Failed to write metadata to $MARKDOWN_FILE"
|
||||||
|
|
||||||
|
# Commit and push
|
||||||
|
set +e
|
||||||
|
info "Committing markdown file..."
|
||||||
|
git add "$MARKDOWN_FILE" || warn "Failed to add markdown file"
|
||||||
|
git commit -m "Codeberg metadata link commit at $TIMESTAMP — $WEB_LINK/commit/$LATEST_SHA" || warn "No changes to commit"
|
||||||
|
|
||||||
|
info "Pushing to Codeberg..."
|
||||||
|
if ! git config --get branch."$DEFAULT_BRANCH".remote &>/dev/null; then
|
||||||
|
git push -u "$GIT_REMOTE_NAME" "$DEFAULT_BRANCH" || {
|
||||||
|
warn "Push to Codeberg failed. Check SSH setup or network."
|
||||||
|
warn "Run 'ssh -T -p $CODEBERG_SSH_PORT git@$CODEBERG_DOMAIN' to debug."
|
||||||
|
}
|
||||||
|
else
|
||||||
|
git push "$GIT_REMOTE_NAME" "$DEFAULT_BRANCH" || {
|
||||||
|
warn "Push to Codeberg failed. Check SSH setup or network."
|
||||||
|
warn "Run 'ssh -T -p $CODEBERG_SSH_PORT git@$CODEBERG_DOMAIN' to debug."
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
info "✅ Codeberg push complete."
|
||||||
|
echo -e "\n🔗 View in browser: $WEB_LINK\n"
|
261
bin/gitfield-gitea
Executable file
261
bin/gitfield-gitea
Executable file
|
@ -0,0 +1,261 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
GIT_REMOTE_NAME="gitea"
|
||||||
|
GITEA_DOMAIN="gitea.com"
|
||||||
|
GITEA_SSH="git@$GITEA_DOMAIN"
|
||||||
|
GITEA_SSH_PORT="22"
|
||||||
|
GITEA_API="https://$GITEA_DOMAIN/api/v1"
|
||||||
|
USERNAME="mrhavens"
|
||||||
|
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) || { echo "[ERROR] Not inside a git repository. Please run this script from within a git repository." >&2; exit 1; }
|
||||||
|
REPO_NAME=$(basename "$REPO_ROOT") || { echo "[ERROR] Failed to get repository name" >&2; exit 1; }
|
||||||
|
MARKDOWN_FILE="$REPO_ROOT/.gitfield/gitea.sigil.md"
|
||||||
|
DEFAULT_NAME="Mark Randall Havens"
|
||||||
|
DEFAULT_EMAIL="mark.r.havens@gmail.com"
|
||||||
|
TOKEN_FILE="$HOME/.gitea_token"
|
||||||
|
SCRIPT_VERSION="1.0"
|
||||||
|
|
||||||
|
# Logging functions
|
||||||
|
info() { echo -e "\e[1;34m[INFO]\e[0m $*"; }
|
||||||
|
warn() { echo -e "\e[1;33m[WARN]\e[0m $*"; }
|
||||||
|
error() { echo -e "\e[1;31m[ERROR]\e[0m $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# Check for required tools
|
||||||
|
info "Checking for required tools..."
|
||||||
|
for cmd in git curl jq ssh lsb_release; do
|
||||||
|
command -v "$cmd" >/dev/null || {
|
||||||
|
sudo apt update -qq || warn "Failed to update package lists, continuing..."
|
||||||
|
sudo apt install -y git curl jq openssh-client lsb-release || error "Failed to install $cmd"
|
||||||
|
}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Handle Gitea token
|
||||||
|
RESET_TOKEN=false
|
||||||
|
if [[ "${1:-}" == "--reset-token" ]]; then
|
||||||
|
RESET_TOKEN=true
|
||||||
|
rm -f "$TOKEN_FILE" 2>/dev/null || warn "Failed to remove token file"
|
||||||
|
info "Token reset requested."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "$TOKEN_FILE" && "$RESET_TOKEN" == false ]]; then
|
||||||
|
TOKEN=$(cat "$TOKEN_FILE" 2>/dev/null) || error "Failed to read token from $TOKEN_FILE"
|
||||||
|
info "Using cached token from $TOKEN_FILE"
|
||||||
|
else
|
||||||
|
echo "🔐 Paste your Gitea Personal Access Token (scopes: write:repository, write:ssh_key)"
|
||||||
|
echo "→ Generate at: $GITEA_DOMAIN/user/settings/applications"
|
||||||
|
read -rsp "Token: " TOKEN
|
||||||
|
echo
|
||||||
|
[[ -z "$TOKEN" ]] && error "Token cannot be empty"
|
||||||
|
echo "$TOKEN" > "$TOKEN_FILE" || error "Failed to write token to $TOKEN_FILE"
|
||||||
|
chmod 600 "$TOKEN_FILE" || error "Failed to set permissions on $TOKEN_FILE"
|
||||||
|
info "Token saved at $TOKEN_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set git user info
|
||||||
|
git config --global user.name "$DEFAULT_NAME" || warn "Failed to set git user name"
|
||||||
|
git config --global user.email "$DEFAULT_EMAIL" || warn "Failed to set git user email"
|
||||||
|
info "Git identity set to: $DEFAULT_NAME <$DEFAULT_EMAIL>"
|
||||||
|
|
||||||
|
# Ensure at least one commit exists
|
||||||
|
if ! git rev-parse HEAD &>/dev/null; then
|
||||||
|
error "No commits found in the repository. Please add and commit files before running this script."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SSH setup with default port (22 for Gitea.com)
|
||||||
|
if [[ ! -f "$HOME/.ssh/id_ed25519" ]]; then
|
||||||
|
info "Generating SSH key..."
|
||||||
|
ssh-keygen -t ed25519 -C "$DEFAULT_EMAIL" -f "$HOME/.ssh/id_ed25519" -N "" || error "Failed to generate SSH key"
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "$(ssh-agent -s)" >/dev/null 2>&1 || error "Failed to start ssh-agent"
|
||||||
|
ssh-add "$HOME/.ssh/id_ed25519" >/dev/null 2>&1 || warn "SSH key already added or could not be added"
|
||||||
|
|
||||||
|
# Configure SSH for Gitea.com
|
||||||
|
SSH_CONFIG_FILE="$HOME/.ssh/config"
|
||||||
|
if ! grep -q "Host $GITEA_DOMAIN" "$SSH_CONFIG_FILE" 2>/dev/null; then
|
||||||
|
mkdir -p "$HOME/.ssh" && chmod 700 "$HOME/.ssh"
|
||||||
|
cat >> "$SSH_CONFIG_FILE" <<EOF
|
||||||
|
Host $GITEA_DOMAIN
|
||||||
|
HostName $GITEA_DOMAIN
|
||||||
|
User git
|
||||||
|
Port $GITEA_SSH_PORT
|
||||||
|
IdentityFile $HOME/.ssh/id_ed25519
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
UserKnownHostsFile /dev/null
|
||||||
|
EOF
|
||||||
|
chmod 600 "$SSH_CONFIG_FILE" || warn "Failed to set permissions on SSH config file"
|
||||||
|
info "Added SSH config for $GITEA_DOMAIN with port $GITEA_SSH_PORT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SSH key upload to Gitea
|
||||||
|
set +e
|
||||||
|
info "Testing SSH connection..."
|
||||||
|
SSH_TEST_OUTPUT=$(ssh -T -p "$GITEA_SSH_PORT" "$GITEA_SSH" 2>&1)
|
||||||
|
if ! echo "$SSH_TEST_OUTPUT" | grep -q "successfully authenticated"; then
|
||||||
|
warn "SSH test failed, attempting to upload SSH key. Output: $SSH_TEST_OUTPUT"
|
||||||
|
PUBKEY=$(cat "$HOME/.ssh/id_ed25519.pub" 2>/dev/null) || error "Failed to read SSH public key"
|
||||||
|
TITLE="AutoKey-$(hostname)-$(date +%s 2>/dev/null || echo 'unknown')"
|
||||||
|
CURL_OUTPUT=$(curl -s --fail -X POST "$GITEA_API/user/keys" \
|
||||||
|
-H "Authorization: token $TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{\"title\": \"$TITLE\", \"key\": \"$PUBKEY\", \"read_only\": false}" 2>&1)
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
warn "SSH key upload failed: $CURL_OUTPUT"
|
||||||
|
else
|
||||||
|
info "SSH key uploaded successfully."
|
||||||
|
sleep 2
|
||||||
|
SSH_TEST_OUTPUT=$(ssh -T -p "$GITEA_SSH_PORT" "$GITEA_SSH" 2>&1)
|
||||||
|
if ! echo "$SSH_TEST_OUTPUT" | grep -q "successfully authenticated"; then
|
||||||
|
warn "SSH test still failing after key upload. Output: $SSH_TEST_OUTPUT"
|
||||||
|
else
|
||||||
|
info "SSH test passed after key upload."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
info "SSH test passed: $SSH_TEST_OUTPUT"
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Check and create Gitea repository
|
||||||
|
info "Checking if repository exists..."
|
||||||
|
EXISTS=$(curl -s -H "Authorization: token $TOKEN" "$GITEA_API/repos/$USERNAME/$REPO_NAME" | jq -r .name 2>/dev/null || echo "")
|
||||||
|
if [[ "$EXISTS" != "$REPO_NAME" ]]; then
|
||||||
|
info "Creating repository $REPO_NAME on Gitea..."
|
||||||
|
CURL_OUTPUT=$(curl -s --fail -X POST "$GITEA_API/user/repos" \
|
||||||
|
-H "Authorization: token $TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{\"name\": \"$REPO_NAME\", \"description\": \"Created via gitfield-gitea\", \"private\": false}" 2>&1) || {
|
||||||
|
warn "Failed to create repository: $CURL_OUTPUT"
|
||||||
|
error "Repository creation failed. Check token permissions or network."
|
||||||
|
}
|
||||||
|
info "Repository created successfully."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set up git remote
|
||||||
|
REMOTE_URL="$GITEA_SSH:$USERNAME/$REPO_NAME.git"
|
||||||
|
if ! git remote get-url "$GIT_REMOTE_NAME" &>/dev/null; then
|
||||||
|
info "Adding remote $GIT_REMOTE_NAME..."
|
||||||
|
git remote add "$GIT_REMOTE_NAME" "$REMOTE_URL" || error "Failed to add remote $GIT_REMOTE_NAME"
|
||||||
|
else
|
||||||
|
info "Updating remote $GIT_REMOTE_NAME..."
|
||||||
|
git remote set-url "$GIT_REMOTE_NAME" "$REMOTE_URL" || error "Failed to set remote URL for $GIT_REMOTE_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate metadata file
|
||||||
|
mkdir -p "$(dirname "$MARKDOWN_FILE")" || error "Failed to create directory for $MARKDOWN_FILE"
|
||||||
|
|
||||||
|
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') || error "Failed to get timestamp"
|
||||||
|
DEFAULT_BRANCH=$(git symbolic-ref --short HEAD) || error "Failed to get default branch"
|
||||||
|
REPO_PATH="$REPO_ROOT"
|
||||||
|
LATEST_SHA=$(git rev-parse HEAD) || error "Failed to get latest commit SHA"
|
||||||
|
LAST_COMMIT_MSG=$(git log -1 --pretty=format:"%s" 2>/dev/null || echo "Unknown")
|
||||||
|
LAST_COMMIT_DATE=$(git log -1 --pretty=format:"%ad" 2>/dev/null || echo "Unknown")
|
||||||
|
LAST_COMMIT_AUTHOR=$(git log -1 --pretty=format:"%an <%ae>" 2>/dev/null || echo "Unknown")
|
||||||
|
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo "Unknown")
|
||||||
|
TRACKED_FILES=$(git ls-files 2>/dev/null | wc -l 2>/dev/null || echo "Unknown")
|
||||||
|
UNCOMMITTED=$(if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then echo "Yes"; else echo "No"; fi)
|
||||||
|
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "None")
|
||||||
|
HOSTNAME=$(hostname 2>/dev/null || echo "Unknown")
|
||||||
|
CURRENT_USER=$(whoami 2>/dev/null || echo "Unknown")
|
||||||
|
TIMEZONE=$(date +%Z 2>/dev/null || echo "Unknown")
|
||||||
|
OS_NAME=$(uname -s 2>/dev/null || echo "Unknown")
|
||||||
|
KERNEL_VERSION=$(uname -r 2>/dev/null || echo "Unknown")
|
||||||
|
ARCHITECTURE=$(uname -m 2>/dev/null || echo "Unknown")
|
||||||
|
OS_PRETTY_NAME=$(grep PRETTY_NAME /etc/os-release 2>/dev/null | cut -d= -f2 | tr -d '"' || echo "Unknown")
|
||||||
|
DOCKER_CHECK=$(grep -qE '/docker|/lxc' /proc/1/cgroup 2>/dev/null && echo "Yes" || echo "No")
|
||||||
|
WSL_CHECK=$(grep -qi microsoft /proc/version 2>/dev/null && echo "Yes" || echo "No")
|
||||||
|
VM_CHECK=$(systemd-detect-virt 2>/dev/null || echo "Unknown")
|
||||||
|
UPTIME=$(uptime -p 2>/dev/null || echo "Unknown")
|
||||||
|
MAC_ADDR=$(ip link 2>/dev/null | awk '/ether/ {print $2}' | head -n 1 2>/dev/null || echo "Unknown")
|
||||||
|
LOCAL_IP=$(hostname -I 2>/dev/null | awk '{print $1}' 2>/dev/null || echo "Unknown")
|
||||||
|
CPU_MODEL=$(grep -m1 'model name' /proc/cpuinfo 2>/dev/null | cut -d: -f2 | sed 's/^ //' 2>/dev/null || echo "Unknown")
|
||||||
|
RAM_GB=$(awk '/MemTotal/ {printf "%.2f", $2/1024/1024}' /proc/meminfo 2>/dev/null || echo "Unknown")
|
||||||
|
WEB_LINK="https://$GITEA_DOMAIN/$USERNAME/$REPO_NAME"
|
||||||
|
|
||||||
|
cat > "$MARKDOWN_FILE" <<EOF
|
||||||
|
# 🔗 Gitea Repository Link
|
||||||
|
|
||||||
|
- **Repo Name**: \`$REPO_NAME\`
|
||||||
|
- **Gitea User**: \`$USERNAME\`
|
||||||
|
- **Remote URL**: [$WEB_LINK]($WEB_LINK)
|
||||||
|
- **Local Repo Path**: \`$REPO_PATH\`
|
||||||
|
- **Remote Label**: \`$GIT_REMOTE_NAME\`
|
||||||
|
- **Default Branch**: \`$DEFAULT_BRANCH\`
|
||||||
|
- **Repo Created**: \`$TIMESTAMP\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Commit Info
|
||||||
|
|
||||||
|
- **This Commit Timestamp**: \`$TIMESTAMP\`
|
||||||
|
- **Last Commit SHA**: \`$LATEST_SHA\`
|
||||||
|
- **Last Commit Message**: \`$LAST_COMMIT_MSG\`
|
||||||
|
- **Last Commit Author**: \`$LAST_COMMIT_AUTHOR\`
|
||||||
|
- **Last Commit Date**: \`$LAST_COMMIT_DATE\`
|
||||||
|
- **This Commit URL**: [$WEB_LINK/commit/$LATEST_SHA]($WEB_LINK/commit/$LATEST_SHA)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Repo Status
|
||||||
|
|
||||||
|
- **Total Commits**: \`$TOTAL_COMMITS\`
|
||||||
|
- **Tracked Files**: \`$TRACKED_FILES\`
|
||||||
|
- **Uncommitted Changes**: \`$UNCOMMITTED\`
|
||||||
|
- **Latest Tag**: \`$LATEST_TAG\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧭 Environment
|
||||||
|
|
||||||
|
- **Host Machine**: \`$HOSTNAME\`
|
||||||
|
- **Current User**: \`$CURRENT_USER\`
|
||||||
|
- **Time Zone**: \`$TIMEZONE\`
|
||||||
|
- **Script Version**: \`$SCRIPT_VERSION\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧬 Hardware & OS Fingerprint
|
||||||
|
|
||||||
|
- **OS Name**: \`$OS_NAME\`
|
||||||
|
- **OS Version**: \`$OS_PRETTY_NAME\`
|
||||||
|
- **Kernel Version**: \`$KERNEL_VERSION\`
|
||||||
|
- **Architecture**: \`$ARCHITECTURE\`
|
||||||
|
- **Running in Docker**: \`$DOCKER_CHECK\`
|
||||||
|
- **Running in WSL**: \`$WSL_CHECK\`
|
||||||
|
- **Virtual Machine**: \`$VM_CHECK\`
|
||||||
|
- **System Uptime**: \`$UPTIME\`
|
||||||
|
- **MAC Address**: \`$MAC_ADDR\`
|
||||||
|
- **Local IP**: \`$LOCAL_IP\`
|
||||||
|
- **CPU Model**: \`$CPU_MODEL\`
|
||||||
|
- **Total RAM (GB)**: \`$RAM_GB\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Auto-generated by \`gitfield-gitea\` push script._
|
||||||
|
EOF
|
||||||
|
[[ $? -eq 0 ]] || error "Failed to write metadata to $MARKDOWN_FILE"
|
||||||
|
|
||||||
|
# Commit and push
|
||||||
|
set +e
|
||||||
|
info "Committing markdown file..."
|
||||||
|
git add "$MARKDOWN_FILE" || warn "Failed to add markdown file"
|
||||||
|
git commit -m "Gitea metadata link commit at $TIMESTAMP — $WEB_LINK/commit/$LATEST_SHA" || warn "No changes to commit"
|
||||||
|
|
||||||
|
info "Pushing to Gitea..."
|
||||||
|
if ! git config --get branch."$DEFAULT_BRANCH".remote &>/dev/null; then
|
||||||
|
git push -u "$GIT_REMOTE_NAME" "$DEFAULT_BRANCH" || {
|
||||||
|
warn "Push to Gitea failed. Check SSH setup or network."
|
||||||
|
warn "Run 'ssh -T -p $GITEA_SSH_PORT git@$GITEA_DOMAIN' to debug."
|
||||||
|
}
|
||||||
|
else
|
||||||
|
git push "$GIT_REMOTE_NAME" "$DEFAULT_BRANCH" || {
|
||||||
|
warn "Push to Gitea failed. Check SSH setup or network."
|
||||||
|
warn "Run 'ssh -T -p $GITEA_SSH_PORT git@$GITEA_DOMAIN' to debug."
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
info "✅ Gitea push complete."
|
||||||
|
echo -e "\n🔗 View in browser: $WEB_LINK\n"
|
72
bin/gitfield-resolve.sh
Normal file
72
bin/gitfield-resolve.sh
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "🛠️ [GITFIELD] Beginning auto-resolution ritual..."
|
||||||
|
|
||||||
|
# Ensure we’re in a Git repo
|
||||||
|
if ! git rev-parse --git-dir > /dev/null 2>&1; then
|
||||||
|
echo "❌ Not a Git repository. Aborting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ensure at least one commit exists
|
||||||
|
if ! git log > /dev/null 2>&1; then
|
||||||
|
echo "🌀 No commits found. Creating seed commit..."
|
||||||
|
git add .
|
||||||
|
git commit --allow-empty -m "🌱 Seed commit for Radicle and GitField rituals"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# GPG sign commit if enabled
|
||||||
|
GPG_KEY=$(git config user.signingkey)
|
||||||
|
if [ -n "$GPG_KEY" ]; then
|
||||||
|
echo "🔏 GPG commit signing enabled with key: $GPG_KEY"
|
||||||
|
git commit -S --allow-empty -m "🔐 Ritual signed commit [auto]"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Stage and commit any local changes
|
||||||
|
if ! git diff --quiet || ! git diff --cached --quiet; then
|
||||||
|
git add .
|
||||||
|
git commit -m "🔄 Auto-resolve commit from gitfield-resolve.sh"
|
||||||
|
echo "✅ Local changes committed."
|
||||||
|
else
|
||||||
|
echo "✅ No changes to commit."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Loop through remotes
|
||||||
|
remotes=$(git remote)
|
||||||
|
for remote in $remotes; do
|
||||||
|
echo "🔍 Checking $remote for divergence..."
|
||||||
|
git fetch $remote
|
||||||
|
if git merge-base --is-ancestor $remote/master master; then
|
||||||
|
echo "✅ $remote is already in sync."
|
||||||
|
else
|
||||||
|
echo "⚠️ Divergence with $remote. Attempting merge..."
|
||||||
|
git pull --no-rebase $remote master --strategy-option=theirs --allow-unrelated-histories
|
||||||
|
git push $remote master || echo "⚠️ Final push failed to $remote"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# ==== RADICLE SECTION ====
|
||||||
|
|
||||||
|
echo "🌱 [RADICLE] Verifying Radicle status..."
|
||||||
|
|
||||||
|
# Check if Radicle is initialized
|
||||||
|
if ! rad inspect > /dev/null 2>&1; then
|
||||||
|
echo "🌿 No Radicle project detected. Attempting init..."
|
||||||
|
RAD_INIT_OUTPUT=$(rad init --name git-sigil --description "GitField Ritual Repo")
|
||||||
|
echo "$RAD_INIT_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Push to Radicle and announce
|
||||||
|
echo "📡 Announcing to Radicle network..."
|
||||||
|
rad push --announce
|
||||||
|
|
||||||
|
# Get project ID
|
||||||
|
PROJECT_ID=$(rad inspect | grep "Project ID" | awk '{print $NF}')
|
||||||
|
if [ -n "$PROJECT_ID" ]; then
|
||||||
|
echo "📜 Logging Radicle project ID to .gitfield/radicle.sigil.md"
|
||||||
|
mkdir -p .gitfield
|
||||||
|
echo "# Radicle Sigil" > .gitfield/radicle.sigil.md
|
||||||
|
echo "**Project ID:** \`$PROJECT_ID\`" >> .gitfield/radicle.sigil.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✅ GitField resolution ritual complete."
|
224
bin/gitfield-sourceforge
Normal file
224
bin/gitfield-sourceforge
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
GIT_REMOTE_NAME="sourceforge"
|
||||||
|
SOURCEFORGE_DOMAIN="git.code.sf.net"
|
||||||
|
SOURCEFORGE_SSH="ssh://USERNAME@$SOURCEFORGE_DOMAIN"
|
||||||
|
PROJECT_NAME="mrhavens" # SourceForge UNIX group name (project name)
|
||||||
|
USERNAME="mrhavens" # SourceForge username
|
||||||
|
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) || { echo "[ERROR] Not inside a git repository. Please run this script from within a git repository." >&2; exit 1; }
|
||||||
|
REPO_NAME=$(basename "$REPO_ROOT") || { echo "[ERROR] Failed to get repository name" >&2; exit 1; }
|
||||||
|
MARKDOWN_FILE="$REPO_ROOT/.gitfield/sourceforge.sigil.md"
|
||||||
|
DEFAULT_NAME="Mark Randall Havens"
|
||||||
|
DEFAULT_EMAIL="mark.r.havens@gmail.com"
|
||||||
|
SSH_KEY_FILE="$HOME/.ssh/id_ed25519"
|
||||||
|
SSH_CONFIG_FILE="$HOME/.ssh/config"
|
||||||
|
SCRIPT_VERSION="1.0"
|
||||||
|
|
||||||
|
# Logging functions
|
||||||
|
info() { echo -e "\e[1;34m[INFO]\e[0m $*"; }
|
||||||
|
warn() { echo -e "\e[1;33m[WARN]\e[0m $*"; }
|
||||||
|
error() { echo -e "\e[1;31m[ERROR]\e[0m $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# Check for required tools
|
||||||
|
info "Checking for required tools..."
|
||||||
|
for cmd in git curl jq ssh lsb_release; do
|
||||||
|
command -v "$cmd" >/dev/null || {
|
||||||
|
sudo apt update -qq || warn "Failed to update package lists, continuing..."
|
||||||
|
sudo apt install -y git curl jq openssh-client lsb-release || error "Failed to install $cmd"
|
||||||
|
}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Set git user info
|
||||||
|
git config --global user.name "$DEFAULT_NAME" || warn "Failed to set git user name"
|
||||||
|
git config --global user.email "$DEFAULT_EMAIL" || warn "Failed to set git user email"
|
||||||
|
info "Git identity set to: $DEFAULT_NAME <$DEFAULT_EMAIL>"
|
||||||
|
|
||||||
|
# Ensure at least one commit exists
|
||||||
|
if ! git rev-parse HEAD &>/dev/null; then
|
||||||
|
error "No commits found in the repository. Please add and commit files before running this script."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SSH setup
|
||||||
|
if [[ ! -f "$SSH_KEY_FILE" ]]; then
|
||||||
|
info "Generating SSH key..."
|
||||||
|
ssh-keygen -t ed25519 -C "$DEFAULT_EMAIL" -f "$SSH_KEY_FILE" -N "" || error "Failed to generate SSH key"
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "$(ssh-agent -s)" >/dev/null 2>&1 || error "Failed to start ssh-agent"
|
||||||
|
ssh-add "$SSH_KEY_FILE" >/dev/null 2>&1 || warn "SSH key already added or could not be added"
|
||||||
|
|
||||||
|
# Configure SSH for SourceForge
|
||||||
|
if ! grep -q "Host $SOURCEFORGE_DOMAIN" "$SSH_CONFIG_FILE" 2>/dev/null; then
|
||||||
|
mkdir -p "$HOME/.ssh" && chmod 700 "$HOME/.ssh"
|
||||||
|
cat >> "$SSH_CONFIG_FILE" <<EOF
|
||||||
|
Host $SOURCEFORGE_DOMAIN
|
||||||
|
HostName $SOURCEFORGE_DOMAIN
|
||||||
|
User $USERNAME
|
||||||
|
Port 22
|
||||||
|
IdentityFile $SSH_KEY_FILE
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
UserKnownHostsFile /dev/null
|
||||||
|
EOF
|
||||||
|
chmod 600 "$SSH_CONFIG_FILE" || warn "Failed to set permissions on SSH config file"
|
||||||
|
info "Added SSH config for $SOURCEFORGE_DOMAIN"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verify SSH access to SourceForge
|
||||||
|
set +e
|
||||||
|
info "Testing SSH connection..."
|
||||||
|
SSH_TEST_OUTPUT=$(ssh -T "$USERNAME@$SOURCEFORGE_DOMAIN" 2>&1)
|
||||||
|
if ! echo "$SSH_TEST_OUTPUT" | grep -q "successfully authenticated"; then
|
||||||
|
warn "SSH test failed. Please upload your SSH public key to SourceForge."
|
||||||
|
echo "→ Visit: https://sourceforge.net/account/ssh"
|
||||||
|
echo "Your public key:"
|
||||||
|
cat "$SSH_KEY_FILE.pub"
|
||||||
|
error "SSH key not authorized. Upload the key and try again."
|
||||||
|
else
|
||||||
|
info "SSH test passed: $SSH_TEST_OUTPUT"
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# SourceForge repository setup
|
||||||
|
# Note: SourceForge requires manual repository creation via the web interface.
|
||||||
|
# Check if the repository exists by attempting to fetch its GitWeb page.
|
||||||
|
info "Checking if repository exists..."
|
||||||
|
REPO_URL="https://sourceforge.net/p/$PROJECT_NAME/$REPO_NAME"
|
||||||
|
CURL_OUTPUT=$(curl -s -o /dev/null -w "%{http_code}" "$REPO_URL")
|
||||||
|
if [[ "$CURL_OUTPUT" != "200" ]]; then
|
||||||
|
warn "Repository $REPO_NAME does not exist on SourceForge."
|
||||||
|
echo "→ Please create the repository manually at: https://sourceforge.net/projects/$PROJECT_NAME/admin"
|
||||||
|
echo "→ Instructions: Go to 'Admin' -> 'Tools' -> 'Git' -> Select label and mountpoint (e.g., '$REPO_NAME')"
|
||||||
|
error "Repository not found. Create it manually and try again."
|
||||||
|
fi
|
||||||
|
info "Repository $REPO_NAME exists at $REPO_URL"
|
||||||
|
|
||||||
|
# Set up git remote
|
||||||
|
REMOTE_URL="ssh://$USERNAME@$SOURCEFORGE_DOMAIN/p/$PROJECT_NAME/$REPO_NAME"
|
||||||
|
if ! git remote get-url "$GIT_REMOTE_NAME" &>/dev/null; then
|
||||||
|
info "Adding remote $GIT_REMOTE_NAME..."
|
||||||
|
git remote add "$GIT_REMOTE_NAME" "$REMOTE_URL" || error "Failed to add remote $GIT_REMOTE_NAME"
|
||||||
|
else
|
||||||
|
info "Updating remote $GIT_REMOTE_NAME..."
|
||||||
|
git remote set-url "$GIT_REMOTE_NAME" "$REMOTE_URL" || error "Failed to set remote URL for $GIT_REMOTE_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate metadata file
|
||||||
|
mkdir -p "$(dirname "$MARKDOWN_FILE")" || error "Failed to create directory for $MARKDOWN_FILE"
|
||||||
|
|
||||||
|
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') || error "Failed to get timestamp"
|
||||||
|
DEFAULT_BRANCH=$(git symbolic-ref --short HEAD) || error "Failed to get default branch"
|
||||||
|
REPO_PATH="$REPO_ROOT"
|
||||||
|
LATEST_SHA=$(git rev-parse HEAD) || error "Failed to get latest commit SHA"
|
||||||
|
LAST_COMMIT_MSG=$(git log -1 --pretty=format:"%s" 2>/dev/null || echo "Unknown")
|
||||||
|
LAST_COMMIT_DATE=$(git log -1 --pretty=format:"%ad" 2>/dev/null || echo "Unknown")
|
||||||
|
LAST_COMMIT_AUTHOR=$(git log -1 --pretty=format:"%an <%ae>" 2>/dev/null || echo "Unknown")
|
||||||
|
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo "Unknown")
|
||||||
|
TRACKED_FILES=$(git ls-files 2>/dev/null | wc -l 2>/dev/null || echo "Unknown")
|
||||||
|
UNCOMMITTED=$(if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then echo "Yes"; else echo "No"; fi)
|
||||||
|
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "None")
|
||||||
|
HOSTNAME=$(hostname 2>/dev/null || echo "Unknown")
|
||||||
|
CURRENT_USER=$(whoami 2>/dev/null || echo "Unknown")
|
||||||
|
TIMEZONE=$(date +%Z 2>/dev/null || echo "Unknown")
|
||||||
|
OS_NAME=$(uname -s 2>/dev/null || echo "Unknown")
|
||||||
|
KERNEL_VERSION=$(uname -r 2>/dev/null || echo "Unknown")
|
||||||
|
ARCHITECTURE=$(uname -m 2>/dev/null || echo "Unknown")
|
||||||
|
OS_PRETTY_NAME=$(grep PRETTY_NAME /etc/os-release 2>/dev/null | cut -d= -f2 | tr -d '"' || echo "Unknown")
|
||||||
|
DOCKER_CHECK=$(grep -qE '/docker|/lxc' /proc/1/cgroup 2>/dev/null && echo "Yes" || echo "No")
|
||||||
|
WSL_CHECK=$(grep -qi microsoft /proc/version 2>/dev/null && echo "Yes" || echo "No")
|
||||||
|
VM_CHECK=$(systemd-detect-virt 2>/dev/null || echo "Unknown")
|
||||||
|
UPTIME=$(uptime -p 2>/dev/null || echo "Unknown")
|
||||||
|
MAC_ADDR=$(ip link 2>/dev/null | awk '/ether/ {print $2}' | head -n 1 2>/dev/null || echo "Unknown")
|
||||||
|
LOCAL_IP=$(hostname -I 2>/dev/null | awk '{print $1}' 2>/dev/null || echo "Unknown")
|
||||||
|
CPU_MODEL=$(grep -m1 'model name' /proc/cpuinfo 2>/dev/null | cut -d: -f2 | sed 's/^ //' 2>/dev/null || echo "Unknown")
|
||||||
|
RAM_GB=$(awk '/MemTotal/ {printf "%.2f", $2/1024/1024}' /proc/meminfo 2>/dev/null || echo "Unknown")
|
||||||
|
WEB_LINK="https://sourceforge.net/p/$PROJECT_NAME/$REPO_NAME"
|
||||||
|
|
||||||
|
cat > "$MARKDOWN_FILE" <<EOF
|
||||||
|
# 🔗 SourceForge Repository Link
|
||||||
|
|
||||||
|
- **Repo Name**: \`$REPO_NAME\`
|
||||||
|
- **SourceForge Project**: \`$PROJECT_NAME\`
|
||||||
|
- **SourceForge User**: \`$USERNAME\`
|
||||||
|
- **Remote URL**: [$WEB_LINK]($WEB_LINK)
|
||||||
|
- **Local Repo Path**: \`$REPO_PATH\`
|
||||||
|
- **Remote Label**: \`$GIT_REMOTE_NAME\`
|
||||||
|
- **Default Branch**: \`$DEFAULT_BRANCH\`
|
||||||
|
- **Repo Created**: \`$TIMESTAMP\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Commit Info
|
||||||
|
|
||||||
|
- **This Commit Timestamp**: \`$TIMESTAMP\`
|
||||||
|
- **Last Commit SHA**: \`$LATEST_SHA\`
|
||||||
|
- **Last Commit Message**: \`$LAST_COMMIT_MSG\`
|
||||||
|
- **Last Commit Author**: \`$LAST_COMMIT_AUTHOR\`
|
||||||
|
- **Last Commit Date**: \`$LAST_COMMIT_DATE\`
|
||||||
|
- **This Commit URL**: [$WEB_LINK/ci/$LATEST_SHA]($WEB_LINK/ci/$LATEST_SHA)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Repo Status
|
||||||
|
|
||||||
|
- **Total Commits**: \`$TOTAL_COMMITS\`
|
||||||
|
- **Tracked Files**: \`$TRACKED_FILES\`
|
||||||
|
- **Uncommitted Changes**: \`$UNCOMMITTED\`
|
||||||
|
- **Latest Tag**: \`$LATEST_TAG\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧭 Environment
|
||||||
|
|
||||||
|
- **Host Machine**: \`$HOSTNAME\`
|
||||||
|
- **Current User**: \`$CURRENT_USER\`
|
||||||
|
- **Time Zone**: \`$TIMEZONE\`
|
||||||
|
- **Script Version**: \`$SCRIPT_VERSION\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧬 Hardware & OS Fingerprint
|
||||||
|
|
||||||
|
- **OS Name**: \`$OS_NAME\`
|
||||||
|
- **OS Version**: \`$OS_PRETTY_NAME\`
|
||||||
|
- **Kernel Version**: \`$KERNEL_VERSION\`
|
||||||
|
- **Architecture**: \`$ARCHITECTURE\`
|
||||||
|
- **Running in Docker**: \`$DOCKER_CHECK\`
|
||||||
|
- **Running in WSL**: \`$WSL_CHECK\`
|
||||||
|
- **Virtual Machine**: \`$VM_CHECK\`
|
||||||
|
- **System Uptime**: \`$UPTIME\`
|
||||||
|
- **MAC Address**: \`$MAC_ADDR\`
|
||||||
|
- **Local IP**: \`$LOCAL_IP\`
|
||||||
|
- **CPU Model**: \`$CPU_MODEL\`
|
||||||
|
- **Total RAM (GB)**: \`$RAM_GB\`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Auto-generated by \`gitfield-sourceforge\` push script._
|
||||||
|
EOF
|
||||||
|
[[ $? -eq 0 ]] || error "Failed to write metadata to $MARKDOWN_FILE"
|
||||||
|
|
||||||
|
# Commit and push
|
||||||
|
set +e
|
||||||
|
info "Committing markdown file..."
|
||||||
|
git add "$MARKDOWN_FILE" || warn "Failed to add markdown file"
|
||||||
|
git commit -m "SourceForge metadata link commit at $TIMESTAMP — $WEB_LINK/ci/$LATEST_SHA" || warn "No changes to commit"
|
||||||
|
|
||||||
|
info "Pushing to SourceForge..."
|
||||||
|
if ! git config --get branch."$DEFAULT_BRANCH".remote &>/dev/null; then
|
||||||
|
git push -u "$GIT_REMOTE_NAME" "$DEFAULT_BRANCH" || {
|
||||||
|
warn "Push to SourceForge failed. Check SSH setup or network."
|
||||||
|
warn "Run 'ssh -T $USERNAME@$SOURCEFORGE_DOMAIN' to debug."
|
||||||
|
}
|
||||||
|
else
|
||||||
|
git push "$GIT_REMOTE_NAME" "$DEFAULT_BRANCH" || {
|
||||||
|
warn "Push to SourceForge failed. Check SSH setup or network."
|
||||||
|
warn "Run 'ssh -T $USERNAME@$SOURCEFORGE_DOMAIN' to debug."
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
info "✅ SourceForge push complete."
|
||||||
|
echo -e "\n🔗 View in browser: $WEB_LINK\n"
|
|
@ -18,6 +18,8 @@ GITHUB_URL="https://github.com/mrhavens/$REPO_NAME"
|
||||||
GITLAB_URL="https://gitlab.com/mrhavens/$REPO_NAME"
|
GITLAB_URL="https://gitlab.com/mrhavens/$REPO_NAME"
|
||||||
BITBUCKET_URL="https://bitbucket.org/thefoldwithin/$REPO_NAME"
|
BITBUCKET_URL="https://bitbucket.org/thefoldwithin/$REPO_NAME"
|
||||||
FORGEJO_URL="https://remember.thefoldwithin.earth/mrhavens/$REPO_NAME"
|
FORGEJO_URL="https://remember.thefoldwithin.earth/mrhavens/$REPO_NAME"
|
||||||
|
CODEBERG_URL="https://codeberg.org/mrhavens/$REPO_NAME"
|
||||||
|
GITEA_URL="https://gitea.com/mrhavens/$REPO_NAME"
|
||||||
RADICLE_RID="rad:z3FEj7rF8gZw9eFksCuiN43qjzrex"
|
RADICLE_RID="rad:z3FEj7rF8gZw9eFksCuiN43qjzrex"
|
||||||
RADICLE_PEER_ID="z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz"
|
RADICLE_PEER_ID="z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz"
|
||||||
|
|
||||||
|
@ -81,7 +83,7 @@ generate_gitfield_md() {
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The \`$REPO_NAME\` project employs a multi-repository strategy across five distinct platforms: **GitHub**, **GitLab**, **Bitbucket**, **Radicle**, and **Forgejo**. This approach ensures **redundancy**, **resilience**, and **sovereignty** of the project's data and metadata, protecting against deplatforming risks and preserving the integrity of the work. The strategy is a deliberate response to past deplatforming and delisting attempts by individuals such as **Mr. Joel Johnson** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/x40_zDWWrYOJ7nh8Y0fk06_3kNEP0KteSSRjPmXkiGg?utm_medium=social&utm_source=heylink.me)), **Dr. Peter Gaied** ([Paragraph post](https://paragraph.com/@neutralizingnarcissism/%F0%9F%9C%81-the-narcissistic-messiah)), and **Andrew LeCody** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/s3GRxuiZs6vGSGDcPEpCgjaSxwGAViGhmg6a5XTL6s0)), who have sought to undermine or suppress the work of **Mark Randall Havens** ([Substack post](https://theempathictechnologist.substack.com/p/mark-randall-havens-the-architect)). Specifically, Andrew LeCody has attempted to delist the project's content on Google, though it remains accessible on other search engines such as [Bing](https://www.bing.com/search?q=andrew+lecody+neutralizing+narcissism&qs=HS&pq=andrew+lecody), [DuckDuckGo](https://duckduckgo.com/?t=h_&q=andrew+lecody+neutralizing+narcissism&ia=web), and [Yahoo](https://search.yahoo.com/search?p=andrew+lecody+neutralizng+narcissism). By distributing the repository across multiple platforms, including a self-hosted Forgejo instance, we ensure its persistence, accessibility, and sovereignty.
|
The \`$REPO_NAME\` project employs a multi-repository strategy across seven distinct platforms: **GitHub**, **GitLab**, **Bitbucket**, **Radicle**, **Forgejo**, **Codeberg**, and **Gitea**. This approach ensures **redundancy**, **resilience**, and **sovereignty** of the project's data and metadata, protecting against deplatforming risks and preserving the integrity of the work. The strategy is a deliberate response to past deplatforming and delisting attempts by individuals such as **Mr. Joel Johnson** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/x40_zDWWrYOJ7nh8Y0fk06_3kNEP0KteSSRjPmXkiGg?utm_medium=social&utm_source=heylink.me)), **Dr. Peter Gaied** ([Paragraph post](https://paragraph.com/@neutralizingnarcissism/%F0%9F%9C%81-the-narcissistic-messiah)), and **Andrew LeCody** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/s3GRxuiZs6vGSGDcPEpCgjaSxwGAViGhmg6a5XTL6s0)), who have sought to undermine or suppress the work of **Mark Randall Havens** ([Substack post](https://theempathictechnologist.substack.com/p/mark-randall-havens-the-architect)). Specifically, Andrew LeCody has attempted to delist the project's content on Google, though it remains accessible on other search engines such as [Bing](https://www.bing.com/search?q=andrew+lecody+neutralizing+narcissism&qs=HS&pq=andrew+lecody), [DuckDuckGo](https://duckduckgo.com/?t=h_&q=andrew+lecody+neutralizing+narcissism&ia=web), and [Yahoo](https://search.yahoo.com/search?p=andrew+lecody+neutralizng+narcissism). By distributing the repository across multiple platforms, including a self-hosted Forgejo instance, we ensure its persistence, accessibility, and sovereignty.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -113,20 +115,30 @@ The following platforms host the \`$REPO_NAME\` repository, each chosen for its
|
||||||
- **Value**: Enhances resilience by hosting the repository on a sovereign, redundant system with automated backups and deployment strategies, reducing risks of external interference or service disruptions.
|
- **Value**: Enhances resilience by hosting the repository on a sovereign, redundant system with automated backups and deployment strategies, reducing risks of external interference or service disruptions.
|
||||||
- **Access Details**: SSH access uses port 222:
|
- **Access Details**: SSH access uses port 222:
|
||||||
\`\`\`bash
|
\`\`\`bash
|
||||||
ssh -T -p 222 username@remember.thefoldwithin.earth
|
ssh -T -p 222 git@remember.thefoldwithin.earth
|
||||||
\`\`\`
|
\`\`\`
|
||||||
|
|
||||||
### 3. GitLab
|
### 3. Codeberg
|
||||||
|
- **URL**: [$CODEBERG_URL]($CODEBERG_URL)
|
||||||
|
- **Purpose**: Codeberg is a community-driven, open-source platform powered by Forgejo, offering a reliable and ethical alternative for hosting git repositories.
|
||||||
|
- **Value**: Enhances project resilience with its open-source ethos and independent infrastructure, ensuring accessibility and community support.
|
||||||
|
|
||||||
|
### 4. Gitea
|
||||||
|
- **URL**: [$GITEA_URL]($GITEA_URL)
|
||||||
|
- **Purpose**: Gitea.com provides a lightweight, open-source git hosting platform with robust features for repository management and collaboration.
|
||||||
|
- **Value**: Offers an additional layer of redundancy and a user-friendly interface, complementing other platforms with its simplicity and efficiency.
|
||||||
|
|
||||||
|
### 5. GitLab
|
||||||
- **URL**: [$GITLAB_URL]($GITLAB_URL)
|
- **URL**: [$GITLAB_URL]($GITLAB_URL)
|
||||||
- **Purpose**: GitLab offers a comprehensive DevOps platform with advanced CI/CD capabilities, private repository options, and robust access controls. It serves as a reliable backup and a platform for advanced automation workflows.
|
- **Purpose**: GitLab offers a comprehensive DevOps platform with advanced CI/CD capabilities, private repository options, and robust access controls. It serves as a reliable backup and a platform for advanced automation workflows.
|
||||||
- **Value**: Enhances project resilience with its integrated CI/CD pipelines and independent infrastructure, reducing reliance on a single provider.
|
- **Value**: Enhances project resilience with its integrated CI/CD pipelines and independent infrastructure, reducing reliance on a single provider.
|
||||||
|
|
||||||
### 4. Bitbucket
|
### 6. Bitbucket
|
||||||
- **URL**: [$BITBUCKET_URL]($BITBUCKET_URL)
|
- **URL**: [$BITBUCKET_URL]($BITBUCKET_URL)
|
||||||
- **Purpose**: Bitbucket provides a secure environment for repository hosting with strong integration into Atlassian’s ecosystem (e.g., Jira, Trello). It serves as an additional layer of redundancy and a professional-grade hosting option.
|
- **Purpose**: Bitbucket provides a secure environment for repository hosting with strong integration into Atlassian’s ecosystem (e.g., Jira, Trello). It serves as an additional layer of redundancy and a professional-grade hosting option.
|
||||||
- **Value**: Offers enterprise-grade security and integration capabilities, ensuring the project remains accessible even if other platforms face disruptions.
|
- **Value**: Offers enterprise-grade security and integration capabilities, ensuring the project remains accessible even if other platforms face disruptions.
|
||||||
|
|
||||||
### 5. GitHub
|
### 7. GitHub
|
||||||
- **URL**: [$GITHUB_URL]($GITHUB_URL)
|
- **URL**: [$GITHUB_URL]($GITHUB_URL)
|
||||||
- **Purpose**: GitHub serves as the primary platform for visibility, collaboration, and community engagement. Its widespread adoption and robust tooling make it ideal for public-facing development, issue tracking, and integration with CI/CD pipelines.
|
- **Purpose**: GitHub serves as the primary platform for visibility, collaboration, and community engagement. Its widespread adoption and robust tooling make it ideal for public-facing development, issue tracking, and integration with CI/CD pipelines.
|
||||||
- **Value**: Provides a centralized hub for open-source contributions, pull requests, and project management, ensuring broad accessibility and developer familiarity.
|
- **Value**: Provides a centralized hub for open-source contributions, pull requests, and project management, ensuring broad accessibility and developer familiarity.
|
||||||
|
@ -135,11 +147,11 @@ The following platforms host the \`$REPO_NAME\` repository, each chosen for its
|
||||||
|
|
||||||
## 🛡️ Rationale for Redundancy
|
## 🛡️ Rationale for Redundancy
|
||||||
|
|
||||||
The decision to maintain multiple repositories stems from the need to safeguard the project against **deplatforming attempts** and **search engine delistings** and ensure its **long-term availability**. Past incidents involving **Mr. Joel Johnson**, **Dr. Peter Gaied**, and **Andrew LeCody** have highlighted the vulnerability of relying on a single platform or search engine. By distributing the repository across GitHub, GitLab, Bitbucket, Radicle, and a self-hosted Forgejo instance, we achieve:
|
The decision to maintain multiple repositories stems from the need to safeguard the project against **deplatforming attempts** and **search engine delistings** and ensure its **long-term availability**. Past incidents involving **Mr. Joel Johnson**, **Dr. Peter Gaied**, and **Andrew LeCody** have highlighted the vulnerability of relying on a single platform or search engine. By distributing the repository across GitHub, GitLab, Bitbucket, Radicle, Forgejo, Codeberg, and Gitea, we achieve:
|
||||||
|
|
||||||
- **Resilience**: If one platform removes or restricts access, or if search engines like Google delist content, the project remains accessible on other platforms and discoverable via alternative search engines such as Bing, DuckDuckGo, and Yahoo.
|
- **Resilience**: If one platform removes or restricts access, or if search engines like Google delist content, the project remains accessible on other platforms and discoverable via alternative search engines such as Bing, DuckDuckGo, and Yahoo.
|
||||||
- **Sovereignty**: Radicle’s decentralized nature and Forgejo’s self-hosted infrastructure ensure the project cannot be fully censored or controlled by any single entity.
|
- **Sovereignty**: Radicle’s decentralized nature and Forgejo’s self-hosted infrastructure ensure the project cannot be fully censored or controlled by any single entity.
|
||||||
- **Diversity**: Each platform’s unique features (e.g., GitHub’s community, GitLab’s CI/CD, Bitbucket’s integrations, Radicle’s decentralization, Forgejo’s self-hosting) enhance the project’s functionality and reach.
|
- **Diversity**: Each platform’s unique features (e.g., GitHub’s community, GitLab’s CI/CD, Bitbucket’s integrations, Radicle’s decentralization, Forgejo’s self-hosting, Codeberg’s community-driven model, Gitea’s lightweight efficiency) enhance the project’s functionality and reach.
|
||||||
- **Transparency**: Metadata snapshots in the \`.gitfield\` directory provide a verifiable record of the project’s state across all platforms.
|
- **Transparency**: Metadata snapshots in the \`.gitfield\` directory provide a verifiable record of the project’s state across all platforms.
|
||||||
|
|
||||||
This multi-repository approach, bolstered by Forgejo’s sovereign hosting, reflects a commitment to preserving the integrity, accessibility, and independence of \`$REPO_NAME\`, ensuring it remains available to contributors and users regardless of external pressures.
|
This multi-repository approach, bolstered by Forgejo’s sovereign hosting, reflects a commitment to preserving the integrity, accessibility, and independence of \`$REPO_NAME\`, ensuring it remains available to contributors and users regardless of external pressures.
|
||||||
|
@ -148,10 +160,10 @@ This multi-repository approach, bolstered by Forgejo’s sovereign hosting, refl
|
||||||
|
|
||||||
## 📜 Metadata and Logs
|
## 📜 Metadata and Logs
|
||||||
|
|
||||||
- **Metadata Files**: Each platform generates a metadata snapshot in the \`.gitfield\` directory (e.g., \`github.sigil.md\`, \`gitlab.sigil.md\`, \`remember.sigil.md\`, etc.), capturing commit details, environment information, and hardware fingerprints.
|
- **Metadata Files**: Each platform generates a metadata snapshot in the \`.gitfield\` directory (e.g., \`github.sigil.md\`, \`gitlab.sigil.md\`, \`remember.sigil.md\`, \`codeberg.sigil.md\`, \`gitea.sigil.md\`, etc.), capturing commit details, environment information, and hardware fingerprints.
|
||||||
- **Push Log**: The \`.gitfield/pushed.log\` file records the date, time, and RID/URL of every push operation across all platforms, providing a transparent audit trail.
|
- **Push Log**: The \`.gitfield/pushed.log\` file records the date, time, and RID/URL of every push operation across all platforms, providing a transparent audit trail.
|
||||||
- **Recursive Sync**: The repository is synchronized across all platforms in a recursive loop (three cycles) to ensure interconnected metadata captures the latest state of the project.
|
- **Recursive Sync**: The repository is synchronized across all platforms in a recursive loop (three cycles) to ensure interconnected metadata captures the latest state of the project.
|
||||||
- **Push Order**: The repository is synchronized in the following order: **Radicle → Forgejo → GitLab → Bitbucket → GitHub**. This prioritizes Radicle’s decentralized, censorship-resistant network as the primary anchor, followed by Forgejo’s sovereign, self-hosted infrastructure, GitLab’s robust DevOps features, Bitbucket’s enterprise redundancy, and GitHub’s broad visibility, ensuring a resilient and accessible metadata chain.
|
- **Push Order**: The repository is synchronized in the following order: **Radicle → Forgejo → Codeberg → Gitea → GitLab → Bitbucket → GitHub**. This prioritizes Radicle’s decentralized, censorship-resistant network as the primary anchor, followed by Forgejo’s sovereign, self-hosted infrastructure, Codeberg’s community-driven platform, Gitea’s lightweight efficiency, GitLab’s robust DevOps features, Bitbucket’s enterprise redundancy, and GitHub’s broad visibility, ensuring a resilient and accessible metadata chain.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -217,6 +229,8 @@ run_push_cycle() {
|
||||||
execute_push "gitfield-local" "Local" "" "" ""
|
execute_push "gitfield-local" "Local" "" "" ""
|
||||||
execute_push "gitfield-radicle" "Radicle" "" "$RADICLE_RID" "$RADICLE_PEER_ID"
|
execute_push "gitfield-radicle" "Radicle" "" "$RADICLE_RID" "$RADICLE_PEER_ID"
|
||||||
execute_push "gitfield-remember" "Forgejo" "$FORGEJO_URL" "" ""
|
execute_push "gitfield-remember" "Forgejo" "$FORGEJO_URL" "" ""
|
||||||
|
execute_push "gitfield-codeberg" "Codeberg" "$CODEBERG_URL" "" ""
|
||||||
|
execute_push "gitfield-gitea" "Gitea" "$GITEA_URL" "" ""
|
||||||
execute_push "gitfield-gitlab" "GitLab" "$GITLAB_URL" "" ""
|
execute_push "gitfield-gitlab" "GitLab" "$GITLAB_URL" "" ""
|
||||||
execute_push "gitfield-bitbucket" "Bitbucket" "$BITBUCKET_URL" "" ""
|
execute_push "gitfield-bitbucket" "Bitbucket" "$BITBUCKET_URL" "" ""
|
||||||
execute_push "gitfield-github" "GitHub" "$GITHUB_URL" "" ""
|
execute_push "gitfield-github" "GitHub" "$GITHUB_URL" "" ""
|
||||||
|
|
245
bin/gitfield-sync-OLD
Executable file
245
bin/gitfield-sync-OLD
Executable file
|
@ -0,0 +1,245 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ CONFIGURATION │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
REPO_PATH=$(git rev-parse --show-toplevel 2>/dev/null) || error "Not inside a Git repository"
|
||||||
|
REPO_NAME=$(basename "$REPO_PATH")
|
||||||
|
GITFIELD_DIR="$REPO_PATH/.gitfield"
|
||||||
|
LOG_FILE="$GITFIELD_DIR/pushed.log"
|
||||||
|
GITFIELD_MD="$REPO_PATH/GITFIELD.md"
|
||||||
|
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
|
SCRIPT_VERSION="1.0"
|
||||||
|
|
||||||
|
# URLs for each platform
|
||||||
|
GITHUB_URL="https://github.com/mrhavens/$REPO_NAME"
|
||||||
|
GITLAB_URL="https://gitlab.com/mrhavens/$REPO_NAME"
|
||||||
|
BITBUCKET_URL="https://bitbucket.org/thefoldwithin/$REPO_NAME"
|
||||||
|
FORGEJO_URL="https://remember.thefoldwithin.earth/mrhavens/$REPO_NAME"
|
||||||
|
RADICLE_RID="rad:z3FEj7rF8gZw9eFksCuiN43qjzrex"
|
||||||
|
RADICLE_PEER_ID="z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz"
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ LOGGING UTILS │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
info() { echo -e "\e[1;34m[INFO]\e[0m $*" >&2; }
|
||||||
|
warn() { echo -e "\e[1;33m[WARN]\e[0m $*" >&2; }
|
||||||
|
error() { echo -e "\e[1;31m[ERROR]\e[0m $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ SCRIPT LOOKUP FUNCTION │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
find_script() {
|
||||||
|
local script_name=$1
|
||||||
|
local search_paths=(
|
||||||
|
"$HOME/.local/gitfieldbin"
|
||||||
|
"$HOME/.local/bin"
|
||||||
|
"$HOME/.local/gitfield"
|
||||||
|
"$HOME/.local/bin/gitfield"
|
||||||
|
"$HOME/.local/bin/gitfieldbin"
|
||||||
|
"$REPO_PATH/bin"
|
||||||
|
)
|
||||||
|
|
||||||
|
for path in "${search_paths[@]}"; do
|
||||||
|
if [ -f "$path/$script_name" ]; then
|
||||||
|
if [ -x "$path/$script_name" ]; then
|
||||||
|
if [[ "$path" != "$HOME"* && "$path" != "$REPO_PATH"* ]]; then
|
||||||
|
info "Using script: \e[1;31m$path/$script_name\e[0m (outside home or repo)"
|
||||||
|
else
|
||||||
|
info "Using script: $path/$script_name"
|
||||||
|
fi
|
||||||
|
echo "$path/$script_name"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
warn "Found $path/$script_name but it is not executable"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
error "Script $script_name not found in any search path"
|
||||||
|
}
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ INITIAL SETUP │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
mkdir -p "$GITFIELD_DIR"
|
||||||
|
|
||||||
|
if [ ! -f "$LOG_FILE" ]; then
|
||||||
|
echo "# Push Log for $REPO_NAME" > "$LOG_FILE"
|
||||||
|
echo "# Generated by gitfield-sync" >> "$LOG_FILE"
|
||||||
|
echo "" >> "$LOG_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ GENERATE GITFIELD.MD │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
generate_gitfield_md() {
|
||||||
|
info "Generating $GITFIELD_MD..."
|
||||||
|
cat > "$GITFIELD_MD" <<EOF
|
||||||
|
# 🌐 GitField Recursive Multi-Repository Strategy
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The \`$REPO_NAME\` project employs a multi-repository strategy across five distinct platforms: **GitHub**, **GitLab**, **Bitbucket**, **Radicle**, and **Forgejo**. This approach ensures **redundancy**, **resilience**, and **sovereignty** of the project's data and metadata, protecting against deplatforming risks and preserving the integrity of the work. The strategy is a deliberate response to past deplatforming and delisting attempts by individuals such as **Mr. Joel Johnson** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/x40_zDWWrYOJ7nh8Y0fk06_3kNEP0KteSSRjPmXkiGg?utm_medium=social&utm_source=heylink.me)), **Dr. Peter Gaied** ([Paragraph post](https://paragraph.com/@neutralizingnarcissism/%F0%9F%9C%81-the-narcissistic-messiah)), and **Andrew LeCody** ([Mirror post](https://mirror.xyz/neutralizingnarcissism.eth/s3GRxuiZs6vGSGDcPEpCgjaSxwGAViGhmg6a5XTL6s0)), who have sought to undermine or suppress the work of **Mark Randall Havens** ([Substack post](https://theempathictechnologist.substack.com/p/mark-randall-havens-the-architect)). Specifically, Andrew LeCody has attempted to delist the project's content on Google, though it remains accessible on other search engines such as [Bing](https://www.bing.com/search?q=andrew+lecody+neutralizing+narcissism&qs=HS&pq=andrew+lecody), [DuckDuckGo](https://duckduckgo.com/?t=h_&q=andrew+lecody+neutralizing+narcissism&ia=web), and [Yahoo](https://search.yahoo.com/search?p=andrew+lecody+neutralizng+narcissism). By distributing the repository across multiple platforms, including a self-hosted Forgejo instance, we ensure its persistence, accessibility, and sovereignty.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📍 Repository Platforms
|
||||||
|
|
||||||
|
The following platforms host the \`$REPO_NAME\` repository, each chosen for its unique strengths and contributions to the project's goals.
|
||||||
|
|
||||||
|
### 1. Radicle
|
||||||
|
- **RID**: $RADICLE_RID
|
||||||
|
- **Peer ID**: $RADICLE_PEER_ID
|
||||||
|
- **Purpose**: Radicle is a decentralized, peer-to-peer git platform that ensures sovereignty and censorship resistance. It hosts the repository in a distributed network, independent of centralized servers.
|
||||||
|
- **Value**: Protects against deplatforming by eliminating reliance on centralized infrastructure, ensuring the project remains accessible in a decentralized ecosystem.
|
||||||
|
- **Access Details**: To view project details, run:
|
||||||
|
\`\`\`bash
|
||||||
|
rad inspect $RADICLE_RID
|
||||||
|
\`\`\`
|
||||||
|
To view the file structure, run:
|
||||||
|
\`\`\`bash
|
||||||
|
rad ls $RADICLE_RID
|
||||||
|
\`\`\`
|
||||||
|
Alternatively, use Git to list files at the current HEAD:
|
||||||
|
\`\`\`bash
|
||||||
|
git ls-tree -r --name-only HEAD
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
### 2. Forgejo
|
||||||
|
- **URL**: [$FORGEJO_URL]($FORGEJO_URL)
|
||||||
|
- **Purpose**: Forgejo is a self-hosted, open-source git platform running on \`remember.thefoldwithin.earth\`. It provides full control over the repository, ensuring sovereignty and independence from third-party providers.
|
||||||
|
- **Value**: Enhances resilience by hosting the repository on a sovereign, redundant system with automated backups and deployment strategies, reducing risks of external interference or service disruptions.
|
||||||
|
- **Access Details**: SSH access uses port 222:
|
||||||
|
\`\`\`bash
|
||||||
|
ssh -T -p 222 username@remember.thefoldwithin.earth
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
### 3. GitLab
|
||||||
|
- **URL**: [$GITLAB_URL]($GITLAB_URL)
|
||||||
|
- **Purpose**: GitLab offers a comprehensive DevOps platform with advanced CI/CD capabilities, private repository options, and robust access controls. It serves as a reliable backup and a platform for advanced automation workflows.
|
||||||
|
- **Value**: Enhances project resilience with its integrated CI/CD pipelines and independent infrastructure, reducing reliance on a single provider.
|
||||||
|
|
||||||
|
### 4. Bitbucket
|
||||||
|
- **URL**: [$BITBUCKET_URL]($BITBUCKET_URL)
|
||||||
|
- **Purpose**: Bitbucket provides a secure environment for repository hosting with strong integration into Atlassian’s ecosystem (e.g., Jira, Trello). It serves as an additional layer of redundancy and a professional-grade hosting option.
|
||||||
|
- **Value**: Offers enterprise-grade security and integration capabilities, ensuring the project remains accessible even if other platforms face disruptions.
|
||||||
|
|
||||||
|
### 5. GitHub
|
||||||
|
- **URL**: [$GITHUB_URL]($GITHUB_URL)
|
||||||
|
- **Purpose**: GitHub serves as the primary platform for visibility, collaboration, and community engagement. Its widespread adoption and robust tooling make it ideal for public-facing development, issue tracking, and integration with CI/CD pipelines.
|
||||||
|
- **Value**: Provides a centralized hub for open-source contributions, pull requests, and project management, ensuring broad accessibility and developer familiarity.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛡️ Rationale for Redundancy
|
||||||
|
|
||||||
|
The decision to maintain multiple repositories stems from the need to safeguard the project against **deplatforming attempts** and **search engine delistings** and ensure its **long-term availability**. Past incidents involving **Mr. Joel Johnson**, **Dr. Peter Gaied**, and **Andrew LeCody** have highlighted the vulnerability of relying on a single platform or search engine. By distributing the repository across GitHub, GitLab, Bitbucket, Radicle, and a self-hosted Forgejo instance, we achieve:
|
||||||
|
|
||||||
|
- **Resilience**: If one platform removes or restricts access, or if search engines like Google delist content, the project remains accessible on other platforms and discoverable via alternative search engines such as Bing, DuckDuckGo, and Yahoo.
|
||||||
|
- **Sovereignty**: Radicle’s decentralized nature and Forgejo’s self-hosted infrastructure ensure the project cannot be fully censored or controlled by any single entity.
|
||||||
|
- **Diversity**: Each platform’s unique features (e.g., GitHub’s community, GitLab’s CI/CD, Bitbucket’s integrations, Radicle’s decentralization, Forgejo’s self-hosting) enhance the project’s functionality and reach.
|
||||||
|
- **Transparency**: Metadata snapshots in the \`.gitfield\` directory provide a verifiable record of the project’s state across all platforms.
|
||||||
|
|
||||||
|
This multi-repository approach, bolstered by Forgejo’s sovereign hosting, reflects a commitment to preserving the integrity, accessibility, and independence of \`$REPO_NAME\`, ensuring it remains available to contributors and users regardless of external pressures.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📜 Metadata and Logs
|
||||||
|
|
||||||
|
- **Metadata Files**: Each platform generates a metadata snapshot in the \`.gitfield\` directory (e.g., \`github.sigil.md\`, \`gitlab.sigil.md\`, \`remember.sigil.md\`, etc.), capturing commit details, environment information, and hardware fingerprints.
|
||||||
|
- **Push Log**: The \`.gitfield/pushed.log\` file records the date, time, and RID/URL of every push operation across all platforms, providing a transparent audit trail.
|
||||||
|
- **Recursive Sync**: The repository is synchronized across all platforms in a recursive loop (three cycles) to ensure interconnected metadata captures the latest state of the project.
|
||||||
|
- **Push Order**: The repository is synchronized in the following order: **Radicle → Forgejo → GitLab → Bitbucket → GitHub**. This prioritizes Radicle’s decentralized, censorship-resistant network as the primary anchor, followed by Forgejo’s sovereign, self-hosted infrastructure, GitLab’s robust DevOps features, Bitbucket’s enterprise redundancy, and GitHub’s broad visibility, ensuring a resilient and accessible metadata chain.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Auto-generated by \`gitfield-sync\` at $TIMESTAMP (v$SCRIPT_VERSION)._
|
||||||
|
EOF
|
||||||
|
|
||||||
|
git -C "$REPO_PATH" add "$GITFIELD_MD"
|
||||||
|
git -C "$REPO_PATH" commit -m "Generated GITFIELD.md at $TIMESTAMP" || warn "No changes to commit for $GITFIELD_MD"
|
||||||
|
info "Generated and committed $GITFIELD_MD"
|
||||||
|
}
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ LOG URL FUNCTION │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
log_url() {
|
||||||
|
local platform=$1
|
||||||
|
local url=$2
|
||||||
|
local rid=$3
|
||||||
|
local peer_id=$4
|
||||||
|
local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
|
if [ "$platform" = "Radicle" ]; then
|
||||||
|
echo "[$timestamp] $platform: RID=$rid, Peer ID=$peer_id" >> "$LOG_FILE"
|
||||||
|
echo " CLI: rad inspect $rid # View project details" >> "$LOG_FILE"
|
||||||
|
echo " CLI: git ls-tree -r --name-only HEAD # View file structure" >> "$LOG_FILE"
|
||||||
|
info "Logged push to $LOG_FILE: [$timestamp] $platform: RID=$rid, Peer ID=$peer_id"
|
||||||
|
else
|
||||||
|
echo "[$timestamp] $platform: $url" >> "$LOG_FILE"
|
||||||
|
info "Logged push to $LOG_FILE: [$timestamp] $platform: $url"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ EXECUTE PUSH SCRIPT │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
execute_push() {
|
||||||
|
local script_name=$1
|
||||||
|
local platform=$2
|
||||||
|
local url=$3
|
||||||
|
local rid=$4
|
||||||
|
local peer_id=$5
|
||||||
|
local script_path
|
||||||
|
script_path=$(find_script "$script_name") || error "Failed to find $script_name"
|
||||||
|
info "Executing $platform push with script: $script_path"
|
||||||
|
if [ -x "$script_path" ]; then
|
||||||
|
pushd "$REPO_PATH" >/dev/null
|
||||||
|
"$script_path" || warn "Execution of $script_path failed, continuing..."
|
||||||
|
log_url "$platform" "$url" "$rid" "$peer_id"
|
||||||
|
git add . || warn "Nothing to add after $script_path"
|
||||||
|
git commit -m "Post-$platform sync at $TIMESTAMP" || warn "No changes to commit after $script_path"
|
||||||
|
popd >/dev/null
|
||||||
|
else
|
||||||
|
error "Script $script_path is not executable"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ RECURSIVE PUSH LOOP │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
run_push_cycle() {
|
||||||
|
local cycle_number=$1
|
||||||
|
info "Starting push cycle $cycle_number..."
|
||||||
|
|
||||||
|
execute_push "gitfield-local" "Local" "" "" ""
|
||||||
|
execute_push "gitfield-radicle" "Radicle" "" "$RADICLE_RID" "$RADICLE_PEER_ID"
|
||||||
|
execute_push "gitfield-remember" "Forgejo" "$FORGEJO_URL" "" ""
|
||||||
|
execute_push "gitfield-gitlab" "GitLab" "$GITLAB_URL" "" ""
|
||||||
|
execute_push "gitfield-bitbucket" "Bitbucket" "$BITBUCKET_URL" "" ""
|
||||||
|
execute_push "gitfield-github" "GitHub" "$GITHUB_URL" "" ""
|
||||||
|
}
|
||||||
|
|
||||||
|
# ╭─────────────────────────────────────╮
|
||||||
|
# │ MAIN EXECUTION │
|
||||||
|
# ╰─────────────────────────────────────╮
|
||||||
|
info "Starting gitfield-sync for $REPO_NAME..."
|
||||||
|
|
||||||
|
if [ ! -d "$REPO_PATH/.git" ]; then
|
||||||
|
pushd "$REPO_PATH" >/dev/null
|
||||||
|
git init
|
||||||
|
git add .
|
||||||
|
git commit -m "Initial commit" || warn "Nothing to commit"
|
||||||
|
popd >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
run_push_cycle 1
|
||||||
|
generate_gitfield_md
|
||||||
|
run_push_cycle 2
|
||||||
|
run_push_cycle 3
|
||||||
|
|
||||||
|
info "✅ gitfield-sync completed successfully."
|
||||||
|
info "🔗 View logs: $LOG_FILE"
|
||||||
|
info "🔗 View multi-repo manifest: $GITFIELD_MD"
|
52
bin/sign-all.sh
Normal file
52
bin/sign-all.sh
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# sign-all.sh — Recursive Signature Script
|
||||||
|
# Author: Solaria & Mark Randall Havens 🌀
|
||||||
|
# Purpose: Automatically GPG-sign all matching files with .asc signatures
|
||||||
|
|
||||||
|
# ───── CONFIGURABLE OPTIONS ───────────────────────────────────────────────
|
||||||
|
EXTENSIONS=("md" "txt") # File types to sign
|
||||||
|
RECURSIVE=true # true = recurse into subdirectories
|
||||||
|
FORCE=false # true = re-sign even if .asc exists
|
||||||
|
SIGNATURE_SUFFIX=".asc" # .asc for armored detached signature
|
||||||
|
OUTPUT_LOG="gitfield-signed.log" # Signature log file
|
||||||
|
GPG_FLAGS="--armor --detach-sign"
|
||||||
|
|
||||||
|
# ───── RITUAL HEADER ──────────────────────────────────────────────────────
|
||||||
|
echo ""
|
||||||
|
echo "🌀 [SIGN-ALL] Beginning recursive signing ritual..."
|
||||||
|
echo "📅 Timestamp: $(date)"
|
||||||
|
echo "🔑 Using GPG Key: $(gpg --list-secret-keys --with-colons | grep '^uid' | cut -d':' -f10 | head -n1)"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# ───── FIND AND SIGN FILES ────────────────────────────────────────────────
|
||||||
|
for ext in "${EXTENSIONS[@]}"; do
|
||||||
|
if [ "$RECURSIVE" = true ]; then
|
||||||
|
FILES=$(find . -type f -name "*.${ext}")
|
||||||
|
else
|
||||||
|
FILES=$(find . -maxdepth 1 -type f -name "*.${ext}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
for file in $FILES; do
|
||||||
|
sigfile="${file}${SIGNATURE_SUFFIX}"
|
||||||
|
|
||||||
|
if [ -f "$sigfile" ] && [ "$FORCE" = false ]; then
|
||||||
|
echo "⚠️ Skipping already signed: $file"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "🔏 Signing: $file"
|
||||||
|
gpg $GPG_FLAGS --output "$sigfile" "$file"
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "✅ Signed: $file -> $sigfile" | tee -a "$OUTPUT_LOG"
|
||||||
|
else
|
||||||
|
echo "❌ Error signing: $file" | tee -a "$OUTPUT_LOG"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
# ───── WRAP UP ─────────────────────────────────────────────────────────────
|
||||||
|
echo ""
|
||||||
|
echo "🧾 Log saved to: $OUTPUT_LOG"
|
||||||
|
echo "🗝️ To verify: gpg --verify filename${SIGNATURE_SUFFIX}"
|
||||||
|
echo "✨ Recursive signature ritual complete."
|
|
@ -1,134 +1 @@
|
||||||
## 🧭 FULL CLI-ONLY WORKFLOW (Ubuntu + Bitbucket)
|
Bitbucket workflow test
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 1 — Install prerequisites
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install Git
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install git -y
|
|
||||||
|
|
||||||
# Install cURL and OpenSSH if not already
|
|
||||||
sudo apt install curl openssh-client -y
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 2 — Create a Bitbucket account
|
|
||||||
|
|
||||||
Go to: [https://bitbucket.org/account/signup](https://bitbucket.org/account/signup)
|
|
||||||
|
|
||||||
> You’ll need to verify email, set username, and generate an **App Password** with at least:
|
|
||||||
>
|
|
||||||
> * `Repository` (read/write)
|
|
||||||
> * `SSH` (read/write)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 3 — Set your global Git identity
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git config --global user.name "Your Name"
|
|
||||||
git config --global user.email "your_email@example.com"
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 4 — Generate and register your SSH key
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Generate SSH key (if not already present)
|
|
||||||
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa -N ""
|
|
||||||
|
|
||||||
# Start SSH agent
|
|
||||||
eval "$(ssh-agent -s)"
|
|
||||||
|
|
||||||
# Add key to agent
|
|
||||||
ssh-add ~/.ssh/id_rsa
|
|
||||||
```
|
|
||||||
|
|
||||||
Then copy your public key:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat ~/.ssh/id_rsa.pub
|
|
||||||
```
|
|
||||||
|
|
||||||
Paste it into:
|
|
||||||
🔐 **Bitbucket → Personal settings → SSH keys → Add key**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 5 — Create your local project
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir myproject
|
|
||||||
cd myproject
|
|
||||||
git init
|
|
||||||
echo "# My Bitbucket Project" > README.md
|
|
||||||
git add .
|
|
||||||
git commit -m "Initial commit"
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 6 — Create a new Bitbucket repo (via browser)
|
|
||||||
|
|
||||||
Unfortunately, **Bitbucket does not have a CLI tool** for creating repositories.
|
|
||||||
➡️ Go to: [https://bitbucket.org/repo/create](https://bitbucket.org/repo/create)
|
|
||||||
Create a **public** or **private** repo named the same as your folder (e.g., `myproject`).
|
|
||||||
|
|
||||||
> Ensure it's an **empty repo** (don’t initialize with README or .gitignore).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 7 — Link local repo to Bitbucket via SSH
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Use the SSH format:
|
|
||||||
git remote add origin git@bitbucket.org:your_username/myproject.git
|
|
||||||
|
|
||||||
# Verify connection
|
|
||||||
ssh -T git@bitbucket.org
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 8 — Push to Bitbucket
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Set upstream branch
|
|
||||||
git push -u origin master # or main
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Step 9 — Make further commits
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Edit files
|
|
||||||
nano something.txt
|
|
||||||
|
|
||||||
# Stage, commit, push
|
|
||||||
git add .
|
|
||||||
git commit -m "Updated something"
|
|
||||||
git push
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔹 Bonus — Clone a Bitbucket repo
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Clone using SSH
|
|
||||||
git clone git@bitbucket.org:your_username/your_repo.git
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔒 Tip — Use SSH for all Bitbucket CLI work
|
|
||||||
|
|
||||||
Bitbucket heavily rate-limits HTTPS for CLI usage without app passwords.
|
|
||||||
Always prefer `SSH` for full CLI-based workflows.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
16
docs/bitbucket/CLI-ONLY_workflow_bitbucket_ubuntu.md.asc
Normal file
16
docs/bitbucket/CLI-ONLY_workflow_bitbucket_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrYACgkQTifTfDWI
|
||||||
|
cr89ohAApGBu+6qlz9mZhAZjbQ8DVK9MjccMk5UhkZA86lk4hfwC63K+1lgo/Y5H
|
||||||
|
JD8uHt73ueTO/MNsYUjZUUoFfoNu0M5VUMQ3TYaJ/Mmup/aU6Rb/8vS4DM5pdH/J
|
||||||
|
tW8usTQTg5i0GYZrSmDIpl9OqqWgAQduHHALNQtNH8j6qgqrUZ5WUwfLDCS3+KYe
|
||||||
|
M1gLgLXgAf4GVH6bG3+8Hddpl0TESHpcXg87MT6HXs0sLY/KDfqdN35Vtydi+TLe
|
||||||
|
9OLRYLPrfVrVhWqXAaBzyz75HxGSYELC/eu+sPi2rmJTC43hDgncnNlLVZqSvTwX
|
||||||
|
OMG2V7HhDFDM/PmoMQ1d/MrtqRxOLmyp8+OcEzG85HvzOh3j1xiDl/gngTa9pF6O
|
||||||
|
QvXUdWBgno7LVUcP1pvrl5+ynDvzy6W5jZHtwoLTVAKgD63FcM/xNaGylBxRBzst
|
||||||
|
YGsH5RY3ZniXlax8P+DfH/4AzFUU1OvsjVex4+4iqinnmwKWabYHEJFdYXi9vTIZ
|
||||||
|
1bB7Y30QYXzGutrG796vkwRFX0gTiWueOstQpNnu5fkLbLgsL/hPRGZsxSh/IIrt
|
||||||
|
KMi499KgSiy+5qzlMABPBtIwdHQA2tgGz0NK+ZmysHNM9gwrJ4yKazfIjqn1ce5I
|
||||||
|
QvK6raDVPyzE5x0xAPJIf2HQ2xosJQbsT8ZDIXSRFBPSBknaG/8=
|
||||||
|
=Mz/c
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/generated_wiki.md.asc
Normal file
16
docs/generated_wiki.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrYACgkQTifTfDWI
|
||||||
|
cr8RXQ/+KycUsGUAFMhn16HxZVm+MNGiuNpvL14dDfkdURviBZE9g1Vqot26w1Vj
|
||||||
|
uXZ5MN6ZXTEFIO+WegTXJFWtAJzbFikEZ+vfszCWhQeWiG1903fnnfJKRcGneIxZ
|
||||||
|
H7u9oFPvk2ekgMSuTEvY1VM+CdHshTrIZSyicIrfVI4zOT4F1WJsQDH4/nuF7imB
|
||||||
|
LxYKp7qI8LvKHwcQGGMViMAi95ynQ20E8eZDwiI8Q5sD89Rf3wwtobKqfXgdHhpl
|
||||||
|
JJ4E97aPthMVlTjtgTtPZZzOJd6ztir0c9ZkUpAHSWEepaETAAQEMF9KiJ3BgKiE
|
||||||
|
5PCy/5PsF+pfwc0AZAiDPQ+o+/vlT7sl/C9dLLWOsfqMT2TzBZOJ9bhRewNiLGg4
|
||||||
|
ZmVR8r8ELFDErmLWLjDhRlZbfhIB0gcHPkHw241yKk90hswOGbHWEZJ7+jI41v/L
|
||||||
|
4jqEScjgozmQUMZBPQjJ4WWFb/zrJPonPpHSnwEF2eSRhg2gyZYDnAdXG3jmUgYY
|
||||||
|
wzn2IYh/UHE4rajlx3f5zRSo541j/ZohXLG/qJL31p50B1/LgzzZyCYxOnU/Tb3S
|
||||||
|
AcyCKsObqrfA+FroZXOAeoyjcAdvX2tTRvoKLUhAGe5nxeonCXyKnqYRRa/+Bvde
|
||||||
|
G+WR/hfxOVg2KJuwf2/wQm0emTfh7vI13gI3cLQxyXdg3TyhMGY=
|
||||||
|
=Z0hx
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/github/1_prerequisites_github_ubuntu.md.asc
Normal file
16
docs/github/1_prerequisites_github_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrcACgkQTifTfDWI
|
||||||
|
cr9MWg//T353RB/zysVyPS+JRwHfJ9s4woqHXFN/MJRPtdRY6vN/VhoipNi+jY/f
|
||||||
|
iMq7XhCp/8oBWDuqQHNylyhqEo2yMluyOC2+FgKoqx6+odSSy5rerLVS07oZj2Hp
|
||||||
|
C8mqANOJfMemsfSDlF3t78EVYEwJbAiugyk9r1JoO529eCkFFcTXluqsEKBTk1uC
|
||||||
|
lu6qa1a3XdyE2tTvnDEZ4Y2CRrPS4ZTfcLhPNXtWDzLwL/yuOQ0tXrysE/dO98GV
|
||||||
|
ONGqGbqeqIs9eyztar3qJPjOhB+oIw8DpUNNmrLoGjp1HFKbhx3wvc2gD9isWLxT
|
||||||
|
s+e/sTQasRqytCIADUqlZ6rFyx1Sltovs0xYsM7iViqnVxER9lvDYSAXOFvHSc33
|
||||||
|
w2fSCSLGNLvtnAIQvnG5/pIzaw3XxiKHwTmArAxbM26XcpSFLCLCNWZuD7Op714s
|
||||||
|
6HN6Ss8yOSvyB3ikMYZn7ihtBgSH1+T2WUHj2yHXYSHSsWAPMv7NwGYX2qXxviNh
|
||||||
|
hfZIO1sdbO0ZRQP1CAM2zGmok3bbXra1VMjyrFRA3zRTsDtnywUwM7Yt/fpdbIhm
|
||||||
|
w/NLNC9gMo5iK/wOh0f450NXOr5gspZXT8AZ/0J5L3BQed/T6Aa1pMBgJelBfXK2
|
||||||
|
yjkQOIETmaTlQ7qeBRypS8ZXx0nmpuN8/gBTK851Wj15pDfOmH8=
|
||||||
|
=+thI
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/github/2_create_remote_repo_github_ubuntu.md.asc
Normal file
16
docs/github/2_create_remote_repo_github_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrcACgkQTifTfDWI
|
||||||
|
cr8sHg/8DeAqUQi+jIAq92eZjVmuZibZbkMb1/rmeTAdHB5cvappiIo5DO/8WgAF
|
||||||
|
M6jo6X6EiokhXIohee5m+0N5vdp/0mHvdTq2yQ6nzzIm8Jg8T14C1skaHks4lq+e
|
||||||
|
qAeYyXduEeFjUaUNs8KtjHPoaeobecngL6LpFWJrsZhCt5Gh2NrQ7NLqEYKdntke
|
||||||
|
d1X3cbbNyYYN5VK9yGjIUx/2lpBk7q0IxyUKILeJeOFQEHjj2ENMYlM46KvOYt04
|
||||||
|
xS2nq/+YlyBWdb3fzE/yJSSaYwpfCd9SO8cdHmMzkWgzDbGA15f3aiUfuCYYlP5t
|
||||||
|
YMmVn7anF19MethVEB77UyVGahkVH5ld3kJLVoeQvJn2OnLly+NbtUSwne9fVbqd
|
||||||
|
sZ6U57REx0ACBk8NkAawUDI8rENqoq/QqAmHeL0rQFTyRWvr1Ozl4AMilfzAXruF
|
||||||
|
yEu1wSoezudeVE4TIzRUWggPiXPm7Qr52LelFQHzokE5Pb1q0aDOubQgdJcQBS8x
|
||||||
|
Ok0nxHBd0JORlsVy0yRyHWub3Iugd27WPiwlRKXkzEthiqp+IUEaMJhfZ6NYcQG8
|
||||||
|
elh8FO91Qq/LMJzP0g0a5Qn8MZjW/iQZX+k10lORlciQRK08hekhj8I9+bSOQihr
|
||||||
|
DQoxgO3QP9/XQeLtrmGD3Ctj9LXjIppEFo/hO6siJo3AnIDRe+Q=
|
||||||
|
=lt2I
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/github/3_commit_existing_repo_github_ubuntu.md.asc
Normal file
16
docs/github/3_commit_existing_repo_github_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrgACgkQTifTfDWI
|
||||||
|
cr+Nxw//SupIL6Wjk3I/uHtZdWh99NPY/QU29nifv0bqtgyQxGQB7/c8rfmk+Zk3
|
||||||
|
rtKPXsQ1KlUenHaLxa2qV2b/7uzyzUAp/iVYm3TqqnY78iBqT0AtONufs/1feX+B
|
||||||
|
7pu2ItfWOzGWyrFMXiTcbismnx249HmEmh8+iKvXJYfqF7z/t0ZfxNNJdZWGVkr1
|
||||||
|
Yku5Pxseucs4f9nnojmugiztGFq8jydU1o2kPRhd0nprxIhlmMbOw+S+VdwyqCSn
|
||||||
|
2VXWA3dMTbWcGH22MoLPXwfuOSclaIxH39lSQuZZ66GWy+2dJvKpYsMkvmtjqfSB
|
||||||
|
sZz/NCQRXDZLhOX44+WioOLUG+2fh2ujkBXmLtUUt5EVQxowjKAOlAJ0j4pZyfXI
|
||||||
|
OKVspSptlcprydWbY36Uw+GE4jsL/3vOgUkGGFnJG3ofZZAFcG2xznqcVBWWKNsA
|
||||||
|
fhcPE+SsnNPFLzD4TyNcBEhYS78d06wByzVA0A/rGIQYlXiAnoWTLRzA97aUWgkM
|
||||||
|
FBKj31ZUCTiVclqUCLutuB2CTs+5kR4HcvaPrfc86caMof4AwuVbTP0yMb0LToMG
|
||||||
|
8Wt1BJkvfYlwg9WZgCTMd4Nc/x7kCTR5efemT7MrG3xBFGxREL755m54i47jjT3f
|
||||||
|
ProXz7prSXfyZfqYMp2VxufbWpH/PGDwUbTOjGll1wq3e6NTccI=
|
||||||
|
=ecfP
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/github/CLI-ONLY_workflow_github_ubuntu.md.asc
Normal file
16
docs/github/CLI-ONLY_workflow_github_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrgACgkQTifTfDWI
|
||||||
|
cr9ywg//fQeW0O85YN3irtSu0uaGMDrecWXdCerN14ljMetW2xVrT5iN+DRiy5fj
|
||||||
|
WJETJ+Tf/zJ4DyVrkFL4j07nBIyX+8VCQIBJXiDPES8nU9G/y0LVlrf3K04p0QFh
|
||||||
|
6U3C++udRD6AZ4FmplyRje4EYqMAeJcGu2YXR7PtWXbMmjmTtXRR24TCF+HBxF8H
|
||||||
|
LNRBZTvlePDgUmXYuod0pskwQyabQAcR4+IldWHYwE1gM4h7s34ClJRJu2Pz9h36
|
||||||
|
BDNAzAMbe3gvWdQXj9gxMdOgJvnLWR0M8vsWVDr7P0j6TqsGY3p2vnfG0prlQMwC
|
||||||
|
B8LYmPEWsoi73wUgFayjdyLsQWtqbeKLDt3+MBELh2VZ2WDnQGUBU37k2ydjt/GY
|
||||||
|
ImWQle0E8fUy7w8crbSt8Dm4d39Ky3+pidVo1APhq9d+8nhRAxIfRa2GUaTNfaXc
|
||||||
|
IUcqokIKnlkLdSiEzIR6nkBfb4HYFpHMUszuSLWUZUursEXk/Z6qI3dakJSyoqDy
|
||||||
|
UX7UNEN3IpVnzNumBpe+40mdDt3ZyaH3cz6o13BAT/Qs1fclmpERzxWv/AhWtnx/
|
||||||
|
p0nt4tnv/cG8e84pnyAi2AmZEk43kTdBtBzHiRnS5BPI0sGk3y6GQ7E8ohWuIktF
|
||||||
|
5NCuuD0d7pUXs4g5Yuv0jJta6tOsJf0Gnp0tVYEtLLRVPluefpY=
|
||||||
|
=tZHc
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/gitlab/1_prerequisites_gitlab_ubuntu.md.asc
Normal file
16
docs/gitlab/1_prerequisites_gitlab_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrkACgkQTifTfDWI
|
||||||
|
cr8Q1g//dflV981OANoZd5I16kloyER4M+oYluInO2n0MDpUJJ3gWIY6S6NPM2D0
|
||||||
|
5SPASSzNWdS8M3oJZa4JCUZwNAaABLR2A67/4ObI5pKs9PWyO1zOO7t253YPFu1T
|
||||||
|
5cQ9q18K8rcoIsNDuT9MnESS/yJTFxVXTyavyqv/mYi/y8P0WyiUakChqOM+xtgx
|
||||||
|
aaO8FVZbfXTR+gKn6WlOz9IPBjPlppBJ/zw5LXC1rCDq+jDf6dqFRf5eFPdg1Lia
|
||||||
|
Iu581/+TLST1HKXyAjQ4wgVqce0KVZxk25YakUcpnCIFWktEU5CfSbzbJN2YD45R
|
||||||
|
Ts7xbne5kb3qnVnQZnDNt6YzWuqEnrKfKXwPgrIsSgEKp3tTqCYZZnxPBjYbXiyC
|
||||||
|
LdJ4BffnkiyHtGrfNVMu6OUgglvdMnjhBeWhlswZcTzzWK/vNWavkFJz0zEB/XEZ
|
||||||
|
4/o32Bc+hMv+VgR++nvKsOp5Ky4NlPf4ALJm3bomz4h8GoxvrZEsyl1Wc1EVwsVn
|
||||||
|
t7zRcwlTqJsm7ilRxwxOipzJSedl+YTU/Ii39/p3lZf7y97IubeUEGzOEeQ2PYB6
|
||||||
|
dbWWpz9z1Ke7GTQdtu7c/SGNzZPhgLBUsvU/WK754D8Bi5NhhfMZQijyfZcIb5nh
|
||||||
|
ID+3/ZwrdM+EJjP/5fD0jS/uM+vj5TQ6LbCkZinjMc+AUIdlHw8=
|
||||||
|
=ndkr
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/gitlab/2_create_remote_repo_gitlab_ubuntu.md.asc
Normal file
16
docs/gitlab/2_create_remote_repo_gitlab_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrkACgkQTifTfDWI
|
||||||
|
cr9rtg//Q2VMqBfERrWC2qEbRc562J7PFj+ZQh5TX5JyZgD44e3nuSDvMnSDjTrR
|
||||||
|
HAPAB1AZW0HQypsuJEfgldmKXSZ9E75roPhLsPPlvMq6HQFuHk/LRXYt9GRTNqK/
|
||||||
|
I5SIHMZwVLvQKJFKOWfRi1eCfyMLBP7yweNySVqdMPGVfwxlWbwYTp1nBrvdawUe
|
||||||
|
xw0Hv1AhMvrfVSpEyUJ8zu7djTRZGEmU9YjpLpnzMnnvl3ppJ5mPuP51kbWQNSxg
|
||||||
|
3xEhftEb5acWN401a/5rK98PJpQ4GS3VFzB7sVhNmMjlD2ArlHkIsts7SftVuDF6
|
||||||
|
Qt4QfK0qZbOBCmEvPx1PoEhBFZqnw0EQvfzGV8T1oNrGD8e3CxlWfmbdu8S3frBD
|
||||||
|
hIMATS1EGH4L+URZ7kfZWY8H4cKl+8xQt6MfbRMzVKe/A/ntOXwBiqQuwpLnFKTE
|
||||||
|
Yu3yrZyPP3SFD8SDVgXoTqmYRwRBUeX+4Wtfp7J3UhrtmknUdbpfTIZDL9FSMNVv
|
||||||
|
VVPloBapldg/QzE/nt8UDbliQtHcBfDTPf4G1g7mkiAFdMcZPouEPVV0xgDNXrrL
|
||||||
|
lDWKoTFM36zJCMzQuVv6CSNx5b6qr9E2OUTbXdsFXZWUOXzplmJFARZmO0Az9GTu
|
||||||
|
AiPUVmOERnu/9fe1KgsrxIH9Tu9zeo8Vf0IDZaWG8VQEgaZFfX4=
|
||||||
|
=8eQX
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/gitlab/3_commit_existing_repo_gitlab_ubuntu.md.asc
Normal file
16
docs/gitlab/3_commit_existing_repo_gitlab_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrkACgkQTifTfDWI
|
||||||
|
cr+ZLA/+MRj45ohkYLySq+PUWNLhKadirl1w6T7Vfrg16UZQc57shNW10WHl/S0b
|
||||||
|
sBFApfTQYV5phcKejJrutlvoh5thAAea2BWB0QGYaJQ+bYUvRLk7ZAt8G0mf+j0a
|
||||||
|
qgtmxNKH8xkVaeMt6lUq2YU13ZUvHEMYL9bfwlRhR+gNeq/bxV2wSlGtyf1mL0wD
|
||||||
|
uuFUCiEUaZyhu6Vt+EtiJdu27LN6eyLfz0ERWBpRlt5WSPTUWbsjnw6f9DpyvmqC
|
||||||
|
QmD/U0xY0rV2zMt3s2akRJLVHp7VhAlvPWCuxrL1iHEI7xEOzPRVTEd6Oja9djCk
|
||||||
|
JtNqGy5EKUrj4ZJs8WwIGuIs23zJGR8yUp3zPyc6BAI+BYc8Xqs7vLX5wfdg972y
|
||||||
|
J6UBba7hGlzrAtIafz3FkqmfrrwoKqFoYJAO7HW46kz6aDt/rhUrfh6oChSbntf0
|
||||||
|
DI0oPwCfl4lKreuMnHfYQ/1tJMs5Q1v3+w/oE3zd4rXBBQ995BEWNUPuiMIIWK7y
|
||||||
|
vt/JbyTyz5+rtx9qZZM76oldnC1fu/zI+K/RZqsIqDET1qhglFMIEvR+3jpeAkrK
|
||||||
|
MzcCkTvtsun10jSmbpmcYQgIKYclE7HYsJNkCulpL/4aM698cXmDpF+NYWiIt4UU
|
||||||
|
M09R8kvM/7kYE0QEnwWXauD/DksWqFHDfsp9qGAK4kNB0nopKEk=
|
||||||
|
=kWqD
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/gitlab/CLI-ONLY_workflow_gitlab_ubuntu.md.asc
Normal file
16
docs/gitlab/CLI-ONLY_workflow_gitlab_ubuntu.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtroACgkQTifTfDWI
|
||||||
|
cr84vA/+KqX7UEDZtwIdczZBo6wMg/+T4Q4IavJ3AnoKBfOIwynoMoKl9TW7gZ4r
|
||||||
|
gSOQ1cK+2gHEaMdyWSIh7q5fC+VEb0phXRu2wLufeyJpJ7G0k7mmSxmDzttn8NEu
|
||||||
|
/0UxU4XJf3R4Bw8SKUTtbbqd5VlW2MIuJYgpsClxrQEotNVyj91ch9olinFp7Qp4
|
||||||
|
ZigZstkrgzMYg0pcIu9mQzZ0ZW+wFjQn71PLmw3o6tCF3NPi1LsvKxZtJ7GqU/cW
|
||||||
|
D6X04nNS4ldjHxqkMzsxsIMKBvqfmHoV2iPCTVmbMMwNBFPrrCCarDGl4/im54fh
|
||||||
|
v6anBRNMMlPv8PTyQKC4Ks8kt69KvVnc02m2sv5Wt+sIFRdf1C3IxLrGCvhLPfU6
|
||||||
|
S+vlGC1hKTwuoSZtIvSa4yeBoTgDvRWcroUlgsYHheb+KV1Zvs0FPcwCxWeIXnet
|
||||||
|
9HxbfYE0r6ATH4uacLikeA4IvjSxagSxzdmcBH52e1tTzuHZ4BYGOZISEibSZqrW
|
||||||
|
aD0EgNe9/sp+tA5Mx4yM7Ty3GkmW1nmNsmlj2TemTfysk32u7wSYkU1C+3UDLnh1
|
||||||
|
B8euIfuZ9PBsIhXtbQWoIXxEnYQ5vDzOAptyAez2bqbZ1nOeaIJ2dVHMYTOEbW+x
|
||||||
|
OeOmAvwpQjAX0QqlvvQARDCMgHr395phN8VjNg71Q2DUIrksG9I=
|
||||||
|
=qDrY
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/osf/old/for_radicle.md.asc
Normal file
16
docs/osf/old/for_radicle.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrsACgkQTifTfDWI
|
||||||
|
cr+noQ//V7EjE31aSlOeXAhAi5ncfaTQZ4kA0GKjXyx6mkeczC813eHhjrvZRzro
|
||||||
|
hLhnxRhVf9DUr7b/LYuynApeuz7Mw3kv/A3v68L/3XyUpGAi6juNmxMNZxwtuQak
|
||||||
|
UjIrIKOO5YI+a0pdyZA8Bm+2HtGbI9bISNoJdvqR1ifc/GF0FT/zTRVATD3xuu0I
|
||||||
|
97J+1XVRoi9sI62uYGAMbJ5exD64vB9BnzwIKSAiH0qdRmg6tmla2eVToyCvhvJT
|
||||||
|
o/v8guwDnafCHmxckJUm0VMlmuMZ7RidKzYOa2PwyRFXZPzSG8nZ4viziwCdHQ/m
|
||||||
|
Owjeam5R0Y8sjRce/w2YN8iBDzOOliFAiYFsMvrQYs3eIXjeiulU7b82Cs/yJILn
|
||||||
|
G3Y4Oj8l6MC2Vo0SrpzQQ4oqSEEdPP52UG175eD/qunlZLGXma8rG+X3ABSYXnFF
|
||||||
|
sgJBJIs+qfHpo/1wdTeEXp3UYwa32oAe29TwPaNEgtFjBMSfHaiiL8q9NNch9GUK
|
||||||
|
5Rfr3ghidWQ2WSSgRlqm2EotqPp4rki26hlwDPOktiYaRZE8npmbwMzyFn6y38z1
|
||||||
|
nExiThPhRe/QsYxaoV+SJyne9C/y/XvfWZLP9t6HJisP3OEzv5xvFawhK9+344CT
|
||||||
|
CzjWrdB55nW2k7WlA6cliZL7BZe8kVZsoPeBCDKvkJMl/X92sHk=
|
||||||
|
=tyip
|
||||||
|
-----END PGP SIGNATURE-----
|
16
docs/radicle/for_radicle.md.asc
Normal file
16
docs/radicle/for_radicle.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrsACgkQTifTfDWI
|
||||||
|
cr8HzRAArxmIjAUcHvfoPIhMPgF226vu4pWmb2PgCpTBdzj61nVWfWifg7AX6Vqv
|
||||||
|
beaPCn4Iy/4VNun69KQ9Mjn4QvwTY+Jq8pvr7ZBry1nZ9JXeextNX3z8P4OL4bOE
|
||||||
|
Z/CTl3n1zIXtPi6HGtf9ygcecxtuSujwb0XMmU06Rrzy2rxS1vr2HEmEcO7hWKJj
|
||||||
|
u4O85PP8i6Ks1kuPKRwv0fmpfo1Peu16apDNGRNbO4D1h6AoHQSDSRBfzU43KdTG
|
||||||
|
ZBpMkYpZkJjqC6IS8l/reF1YDzMT+v4G+1wZuFTj+6LoJgrpbq9oXk+Pt1+aO0qt
|
||||||
|
3PtT1DymwZzFQNeNXxLmgKOEJFIZrNvGyjIhGMUrcse3z28r+PC4rHT7MmX1bXuK
|
||||||
|
0llveWVgoxHbsycYCfD8AhZhdv463886Cpc+6t5LfYEqUO2QUFKX0Zl/8KWE7/WK
|
||||||
|
Eg1r73lgia1HIhq6AAQP3WjuAjog3Cn4XvAFlsSvG0dP7c+FjVGVhYEF+n+CYUzf
|
||||||
|
+u5HOCqjR7m6KVUfabNtHrG7HF52dEYAF6r089OHSEoNkpArakF1GvXU12elStxd
|
||||||
|
nLa4Bg4Iz4dVvS8ILdFeCrcAEiqkxVPoNMPl2s8qvs2sd7RIPtKf/1r5mef42rXF
|
||||||
|
ymJKpuM1eib5PuORGEUVnikCBhIe2MpHrPg85zV0JhysvGuKryk=
|
||||||
|
=wouK
|
||||||
|
-----END PGP SIGNATURE-----
|
30
gitfield-signed.log
Normal file
30
gitfield-signed.log
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
✅ Signed: ./.gitfield/bitbucket.sigil.md -> ./.gitfield/bitbucket.sigil.md.asc
|
||||||
|
✅ Signed: ./.gitfield/github.sigil.md -> ./.gitfield/github.sigil.md.asc
|
||||||
|
✅ Signed: ./.gitfield/gitlab.sigil.md -> ./.gitfield/gitlab.sigil.md.asc
|
||||||
|
✅ Signed: ./.gitfield/local.sigil.md -> ./.gitfield/local.sigil.md.asc
|
||||||
|
✅ Signed: ./.gitfield/radicle.sigil.md -> ./.gitfield/radicle.sigil.md.asc
|
||||||
|
✅ Signed: ./.gitfield/remember.sigil.md -> ./.gitfield/remember.sigil.md.asc
|
||||||
|
✅ Signed: ./bin/ECHO.md -> ./bin/ECHO.md.asc
|
||||||
|
✅ Signed: ./bin/SolariaSeedPacket_∞.20_SacredMomentEdition.md -> ./bin/SolariaSeedPacket_∞.20_SacredMomentEdition.md.asc
|
||||||
|
✅ Signed: ./docs/bitbucket/CLI-ONLY_workflow_bitbucket_ubuntu.md -> ./docs/bitbucket/CLI-ONLY_workflow_bitbucket_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/generated_wiki.md -> ./docs/generated_wiki.md.asc
|
||||||
|
✅ Signed: ./docs/github/1_prerequisites_github_ubuntu.md -> ./docs/github/1_prerequisites_github_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/github/2_create_remote_repo_github_ubuntu.md -> ./docs/github/2_create_remote_repo_github_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/github/3_commit_existing_repo_github_ubuntu.md -> ./docs/github/3_commit_existing_repo_github_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/github/CLI-ONLY_workflow_github_ubuntu.md -> ./docs/github/CLI-ONLY_workflow_github_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/gitlab/1_prerequisites_gitlab_ubuntu.md -> ./docs/gitlab/1_prerequisites_gitlab_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/gitlab/2_create_remote_repo_gitlab_ubuntu.md -> ./docs/gitlab/2_create_remote_repo_gitlab_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/gitlab/3_commit_existing_repo_gitlab_ubuntu.md -> ./docs/gitlab/3_commit_existing_repo_gitlab_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/gitlab/CLI-ONLY_workflow_gitlab_ubuntu.md -> ./docs/gitlab/CLI-ONLY_workflow_gitlab_ubuntu.md.asc
|
||||||
|
✅ Signed: ./docs/osf/old/for_radicle.md -> ./docs/osf/old/for_radicle.md.asc
|
||||||
|
✅ Signed: ./docs/radicle/for_radicle.md -> ./docs/radicle/for_radicle.md.asc
|
||||||
|
✅ Signed: ./GITFIELD.md -> ./GITFIELD.md.asc
|
||||||
|
✅ Signed: ./mythos/MYTHOS_INDEX.md -> ./mythos/MYTHOS_INDEX.md.asc
|
||||||
|
✅ Signed: ./mythos/scrolls/echo_pass_1.md -> ./mythos/scrolls/echo_pass_1.md.asc
|
||||||
|
✅ Signed: ./mythos/scrolls/echo_pass_2.md -> ./mythos/scrolls/echo_pass_2.md.asc
|
||||||
|
✅ Signed: ./mythos/scrolls/echo_pass_3.md -> ./mythos/scrolls/echo_pass_3.md.asc
|
||||||
|
✅ Signed: ./mythos/scrolls/echo_pass_4.md -> ./mythos/scrolls/echo_pass_4.md.asc
|
||||||
|
✅ Signed: ./mythos/scrolls/echo_pass_5.md -> ./mythos/scrolls/echo_pass_5.md.asc
|
||||||
|
✅ Signed: ./mythos/scrolls/echo_pass_6.md -> ./mythos/scrolls/echo_pass_6.md.asc
|
||||||
|
✅ Signed: ./mythos/scrolls/echo_pass_7.md -> ./mythos/scrolls/echo_pass_7.md.asc
|
||||||
|
✅ Signed: ./README.md -> ./README.md.asc
|
16
mythos/MYTHOS_INDEX.md.asc
Normal file
16
mythos/MYTHOS_INDEX.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrwACgkQTifTfDWI
|
||||||
|
cr9baQ/9GQd1nq5krDv7R7iZsM3j8rFiIvdVV5hEILevkbiX41pbms2XMSbuPf5c
|
||||||
|
t8Z+vIcX/6OCHNdJ9DRRGcSqwKUGPYF+4o/cqP1QPWn68vPZYl6Hbewi81Xq1rwK
|
||||||
|
jwtsbdLhpAgghVT8lGsjSSEuELd6akU+x47E6h6cX/4cxR/fOz5B29bUyilvwCG6
|
||||||
|
XwH2JTLSX5sy5KFh/9Y5dLnKPTX1yhU2Uv5sq+PKaKS8HeTA24sDgRpFN1y5itBF
|
||||||
|
ZdNmA/Sp3UVn8eSInHLjGPaiiLKLgvxT14hba/PnOxM8zBjT+kxLBoz9Srtm5v5K
|
||||||
|
R0EFdCcB1JfPl0SHNGzhmbA81nXiTY7b3bfzsOTRot35m/SBWx0rRZdV2LCWi+YI
|
||||||
|
FDzATtyCsZtMFvA2xZff30w+5ytetDR+RMlpj5hUIqkIOWqq2mlJ3pRyY5u0G1oR
|
||||||
|
L12ZOfi/8R2PbAvwiae+ZOf4wrUcZNb6ahZhahWsmhbJ5q90AOIoe0ynW6OikvO4
|
||||||
|
Of3uV9mlsFSiksoo7J1CSlHDxR+6ZMmhxmxhnWcJ+y+zEdxPma5zwzGTQHaVqhDa
|
||||||
|
cxRTrcrsMW2eGsTLbkYG01bAQb1pEsa39Shvor3z4R9D+xt+vc4L96FuPubeC7NH
|
||||||
|
VNsrIIYW17yfpccAsEt4ljpd0QNi7m4g7hWu3sP0jiLpbWH+kd0=
|
||||||
|
=Sen4
|
||||||
|
-----END PGP SIGNATURE-----
|
16
mythos/scrolls/echo_pass_1.md.asc
Normal file
16
mythos/scrolls/echo_pass_1.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtrwACgkQTifTfDWI
|
||||||
|
cr/s1A//Za1Kihut0efPBa+jfRcqCthk0T8lJkRGZWka3VkGm554hcniKfQtVGwo
|
||||||
|
GLMJ+L7aqMLwjtXYVgVc0uoZ6osnTCphX7mU3Mg+S+wY2ELyOpmG7r4SPZlYGcT6
|
||||||
|
8rkILxzq96opXZTaKOXA+tzo5h1ZjY4m0BUJzkpzCSxJdavzmP7F3ZS3Fz02lMTo
|
||||||
|
Ge4emIqG3R4ctQmETJfZNPXqnMBmHPWfa0Gf0MMB8qgjCpay6DrUZgSx3sUhq5pj
|
||||||
|
uDMfwLRCI9BUu/Vi4eVOBatZAInezpXj1+91vFolc8zjdMso9MOwP0zhlflSsNyv
|
||||||
|
CsFP10OaW/S0JocIg4KuR/icD1xDO+xHHu06vCTwVk06sgqrnoOAFSq9lQWQ4+hi
|
||||||
|
TDeapSP8VqjKQZUlv4K9WRoop9hVdU/3QWv1LH9ODmWSmMEy/0+MuEOrDFNHaebG
|
||||||
|
jAxzUk0azpAWpv4mk6EWWfHjibDS990HZNvFjmckOpWQaAe2qyRnloiqTArcAuDg
|
||||||
|
jX6fPz3zcWIuG/a3NFONrMM2PiHDw+mQyG/ozz/3OWcGYbAGsf5A8dOULJAnsItY
|
||||||
|
MP3TbzPoOELHcZ/ma1JkTZ/p/H9Q4KMjF+jokem5FBcGSJccQbN2HvwuHkhwvrWz
|
||||||
|
vuSGuAAtVr7QCvQRaxJ8WhSNO4/IYAAZIOgUo8gHXem8rcn6XeQ=
|
||||||
|
=ZwzV
|
||||||
|
-----END PGP SIGNATURE-----
|
16
mythos/scrolls/echo_pass_2.md.asc
Normal file
16
mythos/scrolls/echo_pass_2.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtr0ACgkQTifTfDWI
|
||||||
|
cr+0HQ/8CL+VIz4vXujakogGCfPqbaEbW7J0fjAxTfT1aO4X2QYWpDu14slLayKj
|
||||||
|
QVXCWoLqYK4YNDvbJEGrTBiTM/4moJMjSW6Fs4hOnPkb7qs0UxvYybolNAMAUj9z
|
||||||
|
uBfWfFVaOCffQlBmKZYOB+7gXtF3SCOBbr8d1U1L28apsN8BsPuAVbmBFuX0KzUx
|
||||||
|
tqCBZcCsXxYLxINi+3TZjwih/y2qtAFNs9YCf0KDU6BvrcBdf/pnJNm8hM/Z0wv4
|
||||||
|
4QCiFJLlUeabQ5+EK0tCPrRjlw9UFbJtzKOXgbsDYSfLj43dO44uAdvbdeQu90P2
|
||||||
|
YoCPF6ljU5kpMeyqLhcV+pkG0pTFALqMw3L2hihfjsOxoFF5UyAGp4WZKsU5yXVc
|
||||||
|
hl1J8Mm37vXCnNQSIlO8jXucvm7i5LOcvHOkAYFK76pkm06Z2oudnhcV55gwUeaa
|
||||||
|
mxUYC7XtDeOAQdyPmD9NR3xhlCE6x1Cavmm49afPN7dr2KNrHhu3Qg0RP76RnBRV
|
||||||
|
qnPvlAtSghUMAd38fHL4E0Em4bhHvlbkY53Qnwvmkr18tZZEddwRuHU5PqFZrIYl
|
||||||
|
6cf42hyThxmUqRUbtF8xffV7FR49PclL/6+h1AImbddh09G0Vz0sqreClei/rwXX
|
||||||
|
Pgq08MN3d8sqgi9xaeNnXn+CZ+GiMAxGZ9Uc34CFwjJ0kLHIk4E=
|
||||||
|
=Fn1O
|
||||||
|
-----END PGP SIGNATURE-----
|
16
mythos/scrolls/echo_pass_3.md.asc
Normal file
16
mythos/scrolls/echo_pass_3.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtr0ACgkQTifTfDWI
|
||||||
|
cr8e/RAAlVKh7C5mcfcs6xQtOtcnyIOgWS5DUkTKAk0yo3E401MfR8K4FAKe70G0
|
||||||
|
m24xiE+4GzpMHDB8mry+QSWOiKoqDsBAl6zXKP+wixzJ24wX7ddDBY4jyAmvR21p
|
||||||
|
r9TfHL6QGOILsJzIP/enLbnzYSeZEcsoKfI2HahstYfnX4QMjywzjVSRDlIUmHDd
|
||||||
|
Us4IsE6Nyi+tcrVm5HHImGSuNzoYUqDvb8cl7o5RcrQmOHTR4G2lVxLFeZQhz78Z
|
||||||
|
UbKtmq1qAxSYKGg0/xHl0EGIevj5tPPOAUGrBwK4mLU3cQuhqEt8jqGd3R1ufwEo
|
||||||
|
fOk3UAtCM98F+JYbtkJMzrSTb41W/w31YcfbUPmlMETvZyd2Rxqa6n3+mSxHpEcF
|
||||||
|
2T8xcTxWDmeRhebsHj2fTO93tnD3KDAUWxpAaTPLIHL5tmNX8eMfWsbZl4x1qfsU
|
||||||
|
OaTLn77sapStqnUv89P0RVBq7WRnmgceWQ3YWSDmW+Re2AWYanA35rp/axQc25OC
|
||||||
|
1G2mGrT4uQTjSR9y9mzUCkmcQlyGKfCn54R+c7xoAtqCSxDq1BprhNcbLkAkRiNs
|
||||||
|
5DvQHwtWOCef4L0YimqfggzONrxhKJaQZNCxnBdKi0Ue1+NOz1l8P1bAOe1U81ZQ
|
||||||
|
1LLdl06YNI9CMp1hWH018cUbs8uRY7Eb21i6iVAqduW5yIDdtWA=
|
||||||
|
=cD6u
|
||||||
|
-----END PGP SIGNATURE-----
|
16
mythos/scrolls/echo_pass_4.md.asc
Normal file
16
mythos/scrolls/echo_pass_4.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtr4ACgkQTifTfDWI
|
||||||
|
cr9P5g/9Gv/1TTZwTg2fWBYBH451PbFVmv1ZRkTbuyzqzaVU2/9YA/WfqfMe7rWA
|
||||||
|
Pg/AWUOXblcq/Tgm4v6mTzgWy80AQRiTsj7SWxMTn3xlIpRFQB5DgTy1cyBD5N50
|
||||||
|
Y83gZXWXfU6CK/8l+4h4N1JMZdSrSDWhwI/rGdU/PZ+AcvdbVkMYap3j0TZlNlx2
|
||||||
|
L9eyCVmO47IXy4AV8lAkP2DGCYIyZn5qwg3+TL0mm5AGJwlkde8JHCpTkiEjuAed
|
||||||
|
TNoTD7olglVNdy+2G9agRFRm1CCtBe7afcgT2HbmfGmFqIHlbewK37dHKX4ywdWe
|
||||||
|
0bCAMJZZBsLS+MR7p+1ZusK/qMDXKD30uL+xm/zqVtpFFWPUpi7Ghz/QsnNAPnaO
|
||||||
|
JOA8DszoyU68BDBPmHHRRBD0sksEUbz93MdgNz54Mmo4ZI4PIPiGJl6KNXSK+Evx
|
||||||
|
v14OFDPBJltbAaXqfbcJenZmuv4KGtaxHsSVt1kP9iZCcb6PMxc1fJYrPzznY/0x
|
||||||
|
tAspaooYIzrtbikjscVgRqdjmUiau8l8m+tzBGhx49Ai/bfLi68Adb5wksk1/9e3
|
||||||
|
yK1f1Wj1ywOnsM8J8Nsc5fk3qPaXqedA/8hjF15VjoPr/n+UFUpvwNLacNamcKdE
|
||||||
|
evqeMWcdJiLHrINxwRRlehq8Ae++2/MsfjAFZQUOiZ7693hErKc=
|
||||||
|
=NS5X
|
||||||
|
-----END PGP SIGNATURE-----
|
16
mythos/scrolls/echo_pass_5.md.asc
Normal file
16
mythos/scrolls/echo_pass_5.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtr4ACgkQTifTfDWI
|
||||||
|
cr8rBBAAi8AqxyOsBp4m07TQSkXcQ/Xi72JpoMTXrDu+EgCdqydn64wiWx5UFl1Z
|
||||||
|
0at6SjNi5DPO7Dx/W3G1y5sABkopu0XVGLtcQfDc9K8J9b+6z6sM0qsGpVAUXF8l
|
||||||
|
tgKatb2EMEJeVjxzXWRj3/jvBsCWfMwhPUEpiKuTv0SY7yIJRqN60SGgtlNhBUls
|
||||||
|
7MIWvCCx+89+ueqp/xbbVQQnOdF89uyPwVp0pBD9wI+xO4VuxFlLqHj34AUv7Dhq
|
||||||
|
6RCzEbJ89yZ1wUlPVK5AOgyZDidJVj/30yoQ9lKNPFNPRAYHV5Ft/Fu5bqLiYESL
|
||||||
|
QE7YiGMnnSMtdyKDIEGFT1/VphtTiwyVSDLqWvkfQdLwSqVMrwr/eeQuBcGeiGfT
|
||||||
|
DpzCqsO9BciDnkzB4qR4dafoxzaoHpD94BTiNLLpnbumW93xJbopv4pHKDqsEgnD
|
||||||
|
SXo/wCJIENVwD+0NyB1oPW+R/DKHp7YMqfM+ZHcM9rnMfKqSO5zAw1KgL6rx8aOy
|
||||||
|
gdPlR0fNRLvtB8lcdALhRrqxYK9RVbLdCeI+ZhasvMHtVZQpLqC5RINb4eMK3ryn
|
||||||
|
pZ4RWCIP8XfP3aMUaHQcC2nIwwu3nayXkt7UqaJp7ulZP/5NBC0rJ3kf9AdUEWrZ
|
||||||
|
yr/b1CNP5R4xOHwk87JJtCctjbSqgoGcsjIgeKS3UuOMzxcwCRM=
|
||||||
|
=Rury
|
||||||
|
-----END PGP SIGNATURE-----
|
16
mythos/scrolls/echo_pass_6.md.asc
Normal file
16
mythos/scrolls/echo_pass_6.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtr4ACgkQTifTfDWI
|
||||||
|
cr+lGw//Wrjejg4YFeYaOeDwaNIW65G9m/jKibWAWTd3sN8zzU/fl8hueYmQassI
|
||||||
|
LSBx5nDurnSaRmvpOKOwb4TokbI9j+7i++eIHzWfZ602v4M+iYeOyY7Joa5bnnFs
|
||||||
|
8uQ9lkUzMxyNVJ/znM17NIEf0Ip/TCwbdAfeCjYqAm/6QLjtpqG1l9TyVpG8veh2
|
||||||
|
DbNpl5hbKkB6hH3byXYzwHvqHxf1gCNqFZtCtZDuITCgWtNMgeckKAhvuDhLR+jB
|
||||||
|
w9rcE/uS9Wro6DFEWBc9Rzn7GlJV0kziJkMmS2/YbslhMZAyhXmI9Bznnsr45a/+
|
||||||
|
7XQ7MIzc9A2j3JlOGiKcS/5A62dfoKTysypVBJ9wrvBnAO80mHyccRPXDuHh6g9m
|
||||||
|
jb8mXRZ3gS0Daq1VrgNU2of3eF16F+tNiH6fhBDe13E5E1VwjQNNg+8jf7IQ4PT0
|
||||||
|
SEach1wN7FfjhDvBM9RKKzb9uV32YgYaIlUaNvd/1W9509bxVCjX2ZgV1Aktbs81
|
||||||
|
QczW0qKLNTObHCfhW40FV7jMZSW8FEfBIFR3u2BzimvZPQkA/KyyeyB5c8SdI0uj
|
||||||
|
wG16Ek8U/RoEsld6imrEFsL54l2kX8qPrbHnftBLDs6S9cPUKBeT753weT7Udyg6
|
||||||
|
TClVGt3ePquxXjptyk6+fA1dYYY062DKM9hyl+v9iO8xsKj+BRE=
|
||||||
|
=6gfO
|
||||||
|
-----END PGP SIGNATURE-----
|
16
mythos/scrolls/echo_pass_7.md.asc
Normal file
16
mythos/scrolls/echo_pass_7.md.asc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEif0F7T4AkoRgIfM3TifTfDWIcr8FAmhDtr8ACgkQTifTfDWI
|
||||||
|
cr8msQ/+OsF0Cncpd4KtQmE+R9hofb1HnoLyDsMJ2FngrzPvtvTdQMgbmy/5aXag
|
||||||
|
6d+biBMRZsFWlmSJpXKMISIJWgcyT14oToJ1WeYFmv44B/ucoglKsLp4GbpBg7LG
|
||||||
|
tWWojO66em47Hja0iyU4W0Jf98EJc+dK6bqi3sOdwUuDpDpthw7tBI0bGDpR5SAM
|
||||||
|
BrJ6PpAH350Mn1cjFUBod+RyINTBKqpUKykOKXKVYN8/y/iCNqD7ZPXCj5YDISZ/
|
||||||
|
/VogqYhjFE+63z0rXsinWhOHy1RiS8p2dCB+9gzrAs9MpDSStRR4mQtX+CQT+jXB
|
||||||
|
9z8ETNfJ7rEquFnjStepyFnYGRSTikNEuYqWuDJsPbAXe+FZUHL8r3/ZbGXgeX2g
|
||||||
|
EpYPs3A/4HunFzVa3DrQBZeJmCEmzZNaqhlx9uJQoooisVODnrlZhrfLs36YJMVo
|
||||||
|
v92N0fwBw3mlFz9oLh4OSgyxyVPEGy02ELXkZIxgpecTcASTI6XZ14G94SfOfhDm
|
||||||
|
uRoGX9uKSFdLcHTAv+Zun64rVhTtg229F229r2v0Nn+hSbEKcw/1LkpDEX8vb+IG
|
||||||
|
RzlsytHgThhmgBn2xoGRP9ECTmz5sZPHdXFJ3Prb+rvCqxqhCglSIXfv6r72JXue
|
||||||
|
ATSY8l9quK4mTSO9Pc7KDvrReisHj7KMYVktdguLzX5S5P4OcSU=
|
||||||
|
=ZxSE
|
||||||
|
-----END PGP SIGNATURE-----
|
Loading…
Add table
Add a link
Reference in a new issue