---
type: change
message: |-
implement amend flag for change and comment commit types
This involved a custom implementation of soft reset, since go-git's doesn't
correctly handle the behavior around the initial commit of a repo. There is also
a small fix to HasStagedChanges, since it wasn't properly handling untracked
files.
change_hash: AJxjg7EN6l2UBcqGXLAqS4HGCfMgD3xCmQ7uZMSOScBc
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl6R9X0ACgkQlcRvpqQRSKwtGA/+Ow53J6A8al29hl4wQwpM5mLFI1krBrYcaZd6p/Sz4fhA2/YFhVAmmFCjFbI3QKQyb7DFijrT+8DSoUpgA83b8KIgHPXvUdBq12AFZeYKAfWB7USHWdmQPI4J7Z4rT7qP1o8T9fnWAAInKJPz3VC/RzEFvUdCFBgHHrYYX0S9twt4joEE7K/VlKJrjMQDhjUM+dFYEzQrcUHW5prSI5iHyJs/F+fpI2J7TSFPSCPCzPpAUyJ3Gt1aml9wBctzYOtuHslo5rw1nv3GweIrFBplekjEugxm0bvg95eVdsex/xltcY9KbKkl9iPVurmSRdkE2HDoQtc1c0Pl6XtssdA4k8rmjtO0jBHhKRA+b6ewVr5xRMDKRu2Jj5iPZlvbSMaldLhs/4QSfvQBvmyeVgX+R3zK7Y7JWdqxyOEgYihAI+/4jYxmHIu4QSTntJQw849do2tLqGgIjRcoQpjG35YUE+BZw1WjUVoT9GfPodPd75b5avwVYNuJ+3tKEPmwwz3HcMnwgPSaUEVIyfBlhdOEesSClIjk6rRJzB6WjpvooE9MJEF8AkaTxMGNcbkg/hSjXgt6vVW71YttdgRPoDuct6yU7aeoLwdDswCuqzEvaEdjB8elGcmwYlejnFt6xmLp0cUsPyRLSHQhpDFsdqJklmEXKVUFAgP6UEzxTxmGevY=
account: mediocregopher
---
type: change
message: |-
force all commits to be ancestors of the root of main
Without this commit it would be possible to just start branches willy-nilly on
any dehub-remote, each with an independent config. Despite this obvious benefit,
there's two significant problems which will need to be solved at a later date:
- If an account is removed from the config, then that account will still be able
to create and push branches based off commits older than that config change.
This can be solved by adding a "checkpoint" flag to change commits, making
them the new root. This would also enable hard-forks.
- Currently there's no way to specify a custom branch name in lieu of "main". I
don't know where this configuration would even go, so I don't know how to
solve it atm.
change_hash: ANc9dlX1IhMQcuSAAnsAoVWBg5v02mPwcoPn9LBOBAbL
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl6KI08ACgkQlcRvpqQRSKwrBRAAt8u95nX/BYjgV4yFv/GQ69miWMidFqR84xAk4ZexiUct50Adf4O8fLpf0iIN1TWNItz3d3CM28h+N5+6ewbaM+zMhmiZ13xz4U/vxKyQ2f3LRpj5x8QdEjPEPzKXEIha+6TzBwYA3ijnRgksUKuDEB0tfgA0YDHeWxaVFSgi/F3Uupu1qphiKqytRI5XGimsVoMgI2CGk3RyzchYzLPJTPeHPocSPGT+FmSNk/hh58DGZ2oIfB4bV93xcW87O1RnwAlTNINp1Opsiq2vA7qKMTbqgDl47XaAgctmbpvVfPSbUhQn3MPkV62YvyA9Ft83ls80GNf4RoYQk5szBpTkCsoEaYGZ9xxTuxH6tuAviBR8aj7UZ5SA7FrxQLTe273971nIK1Ei8P6ms4s4Air0eN34GG7yVdhv692xfGDe2E0Td/PnsHx4el8CbK+pJ6O05o7uSU+855IlNPn8gaka1govfwKdn+AsDxKkk4jIakiYB03L3hDr/pGbu1Mm9hNPMDOegKwMfEmuEaQs6tGhYmkIVcFLxOxV/20JvwGWkmPUPFpNCfS9QfVfqhRS5hjJDQvaDDBtk5e8afEUahTSaqx1pqCMU1joFZT7HSrhsldnTiKBIjobrnuAHPi2Lp8EdoSN+Lgp5jqC2wPEpU72Sh9grINrcr8JE9mXDMuFygs=
account: mediocregopher
---
type: change
message: |-
add init command
This ended up being bigger than expected. I decided to make the init command
also handle setting up the git config and pre-receive hook for remote-enabled
repositories, which took me on a bit of a journey through how go-git handles the
filesystem. In the end this greatly simplifies dehub-remote, and will make
getting new people set up with a repo much more straightforward.
change_hash: AHlWg77eGGr071jVIMJtv+DU3U9x+tcTUsegt4yrk/9W
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl6I6oAACgkQlcRvpqQRSKw+dxAAjirfVfIsudnYo3TJxaR1qhQmJJg7v2aMnRQXgYKHEpy8Z1m994WyH3sGJhDQsx3Z/26XjW7fOgXUUKnqZNLp+js182yNo855Ik0vUuEHunAy+YXkBklo3AlkQSJlug9kJrYYjKH4PsJnPZ5JcHXyauxcaydFwHQP61+wiuX/y4iVP/T79ljqbe8GXVj50+rzhu1cRGEgUswnBNSVLYyecU+aEOejfb5CMoCsVtFKunHc+PyHmFJ1XVTwhF/wsCI3pxKYJ/wGqTW6urV46vZhp4SZIJFbSaQkIWuEUXg4JDp8prqgt2IdVlK/wfjxe7YXB9YpzcC4Wblc+m6tiX2lIuEogTyaRK31A2M5/f4m7f7DnPddbZ/fKQ2BBLyLJTtGSQxaFc6LzEmjgMUoUGvkGEPHcaZ1CAOOdcEYn3Y1uwwh4+BJhKPdfpHY4c10+F1Dhi86A4Pi/QmUZ0Cgr9u08wMg1efvD1VTZ6QPX9tpTKi0YqflFdDCDKlLtuA9AvTKBOGGC/XOCmCGjqFpptVRAf+Fl/7DtPG1TUVnKAs1CIw85cMYtEvTptCnMNkwnRFpwiFy856RvpR7RUiQfkWkdohwUY5psFfggOktTgydm5nULWZ4AzZW430MIeJj9XH8FKvYfTN08T9C1kYCwMtC9HYMmXuPdCJNuymQNBAWgaY=
account: mediocregopher
---
type: change
message: |-
refactor dehub binary's flags a bit
* Make flag outputting a bit prettier, omitting the flag section in both the
usage header and the body if that sub-command has no flags set.
* Use a different pattern for opening up the repo, since not all sub-commands
will want to do so.
change_hash: AK10DRu7LBGpLHRHrQ7TMqgkofz1n1DwK16sg6tOGSq8
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl6IydIACgkQlcRvpqQRSKz6tA/+KmSCy+o2jRb7ZMUz2WSSyERLT9u1hC0+5u5AsJvxhFZSPiEbCrMmM6IvPzmtWpfgTV5ug9C2kbNE5ghp/ANlbmwaTNfAv6bnZjsyLWP3AdrVNNW0w6xkoE3PXUGn06xx1Yst46tnHMKc8GXtFRCLfcgetFl9Fp2w0feIIv1Aw4dP2haCnSXgdHoXloFkVfKoKD1zZo+9uJ+sTOnQhXl0JPaP2eBIgjuhVNGb/RYmhU6pHhh5kObUocCcP8Ywn/xSHOeFV+JXjPSNBnAAHLWuwtwP9bJNUNUoIQKc5WS+oiW9wsGRJZemC4IUnvft73rRrRc6+H3ESFXxP3BRELPbn52uv4BJDMAfDHRuRYbOk1vVP3+KyaUQDJC3g/z6L3xkM1MKbOsjSXAl3XRLR8iwl4GbXqKSFCLHTULzRa4roLF32sef0hQUorQAhDuNpkBBmXjpC3QrCbJgOxZdOZTlqn8IbG7uR/g2uqoBv/P6afe4wOxis4iiMCG8bJd8Zinu6lQ5ULimkf6GWEw96+6bUQnVgEQl0/8nDjzEjWgXNN+OteIS6YVeU16rC/2lrYOobXE+4hP/+RUGG7lH2KBDH1MdtWJf0jSBvtPZ7qeDuMaFZeeFHzWdEkGAkfft1TrWK/1kBhthNAKE6dtazCNzebx+7KDY0fnz3Bs3LCr7PIg=
account: mediocregopher
---
type: change
message: |-
Refactor all documentation
* INTRODUCTION.md has been changed into README.md, and been essentially
rewritten.
* ROADMAP has been updated significantly.
* SPEC has been slightly updated, mostly to add a header section indicating that
it is an incomplete document.
change_hash: ALqHmxfJSBVUIHrI4B9bGjeQpKvBUwL6GPmkDfjhu9uf
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl6BIBQACgkQlcRvpqQRSKxguw//YGGDA/UJTVMPAkW8FeX+Pw8GzyW/nnF+f8HOo2/z56GA+llXVDwAyTXPJO3MIUBwPfnN1mLxANDClpofgKuy5I/uXD0ZEN8P4C8zyhv/OQIrgbkEa3iCnHgKFXmdn8URoeb8Bpcb5za/6VN/EwhkQlXGdwqppWcBMCuBx555AJRCIuC0LmOaVVSulbWTr4dAPU0OGodKqXxB5Je+mVzMJ43JQPw7nT5AxnN/CuEG6KsmtfRJISg6BwIVaVipoBGCNPA8Qsf6MC7RK2bCaQgxlQk3kVC46hNaGHlCbfOJgSMHwz4ivhk6tSCmfqzDQOfSQN4FQ0y9LghvFiuBI2PszytEVnYQZlX2vvXBCVa3k0BMNktCs1BKMUAxfZKJIg6YsfWlGt7hlbEgd/YvypC0JCLe3AEh7pILf2UQnxD9VWQhcpHiivXapSKgsoN1qgLgfRqQvFBAz9Wy1PMe3ySnUsBQ3hEdwqWXtQILtHRrhe9TzvMF+zQYQb0bQPM09tR0MicQD7bjzo3F0OOvudRBAAA+5W9uOEpThUVi6hJa2pTcH38ZAHcISENwqOahran4TPZ2eGyl6afmkzjjrMe3THo6rZg+U+P1MQe/2K8JItSPH98fD/eeO74QUAgq/SLIa24MqaCSFIiJ3I1xgnB5o1b8/xhAcodOUFKdgwGtdXE=
account: mediocregopher
---
type: change
message: |-
Give the project a proper root, dehub.dev/src/dehub.git
"dehub" was being used as a placeholder up till this point, but now that the
project has matured enough to have a home, and people will want to be installing
the binary, it's time to give it a proper import root.
change_hash: ADTjLNnPARatUjx6HDo7m3O+0KUcWvcMJq1kNrj9++PU
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl6BECkACgkQlcRvpqQRSKyeJBAAocdHTs8AB2u9kZmMcJNf136Cq8KWjglvhuH49Nj9ILkeGOBF7+fIHBRSYxBQm4IIDWsjaQaRRhESJxKrkHUd7BG/z5iVsCfjYTyY7LPgv0oYJKEGbPOF2LDK2fuLLpRlA5v1fwamTdFYxs5j7yxW7weWiiKEgjMGjOiWQCWuqhw8rwOG6vjvYttQ5pekI7GvkdqWe+qODKmIF9xFFuhz7BMsFUAAwLz97W1wZkHA+O1BXGTe9hGwH88RY9IGJZftA6wuGes/SqwWJk+hpb89KV1yR0woMrwz7ITZZeNBboXO7KyxUXrfiLtxeRD4t15tJkdRY0FbIZvNCktviTqjPXOtoVh7c3m3p/LR5vcbgYDxaZKk51DYruovfaRI96Q9CYCK2kVb2PIJ4BJhlsUPzw8AWNVxXFECYZNEZly10hqNh4Xophr/x7PWOmoPoKL2PvXLtOHzk0r4Tw6JqUaC+7/08U/+lhlSKFKLdCj7Xru57qB7gxgd+P3g4rfqjIHqiB4tlViqR5RV7V8Z/goBMJg2uOJXIJGvwEZF9nj+QDgaofImMiQmcLrE6IBCYEELYz274w/6ugSCcdwVIC/n3VHuNY4zJDKN7Q/FgI9/GBS7UoNhTaHF2JmSKR9ErMKpm3PYPZr/VnsaXjfCBO5bVquvWLzfJ9aQ4t+tsRkuAvQ=
account: mediocregopher
---
type: change
message: |-
make docker-remote not force a .git extension
There wasn't really a good reason to do so, except convention maybe, but even
then I'm not sure it was a real convention. This commit also fixes the docker
image naming for docker-remote
change_hash: AAdGtR83SalP03yPlU0FDNkzlDzgWFXs08vJ26KtB8du
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl6BDAkACgkQlcRvpqQRSKwcsxAAtfvN8xNqWAXS48MVApoFPtK4GoUeoJsW+2KVWlaHYxwOtROaLoXBp+reNn9ESeetebQB8qPY44/xwmQuZ//CKt1iDvGqf470FW6bnm+LFNmpX5X49WUKs2KeTSXBeVYRtz8vZKPkQyfhlcUB2rHtVIWbqXPFXV4UtufqEnSu1LEgF+MORkNzOkoF35xRzp6pUlcmOc4Q1TUvK5+m3QXQpD9g3imA2fp49rmfVQ4E9OdtFAPxfhCWEdi2Zre8k9W2XFgCak/SX++9i1/7eyfC896RiCPD/cR/OvzXlCE8psuORAJ0MqcaJCYWz84KWVKH2sHqmkT0AYnrJRV+QXWWUS3ePZX/LzGBqgkxU8AuNiGXiDl5X9XVBRpCbYdwAjO0s4CoV6okH06euqlpvKhsLDKW6/TlIAqDVNg91Pqklu/oSd37faGCDfvDgsWvuypXe1VG+o2MXIdP5Z1Keis0tPKRyNCILa9aG8Jzue4Eaa3OnLCPnzT/MaXbTgAosLZf/IObyEGNhGnGZzUXXlwbwJNHQfeim1sILUEWCTU7/NrupSPOmjNzFcSQmvmLj4iBqnFikQez48uYl/ZL7jFYxbOxiPmXCNe+NX42TExT9P6wLkQs5kKzFbNKUgx5W5ou1ZQuqJ8CflS/eUBA+FEpb4nYdgPMKNwMPW/MD42Z1Uk=
account: mediocregopher
---
type: change
message: move Dockerfile into the root, make it build git-http-server as well
change_hash: AMsTQSEBo/XDnbkuiSStDsWUdian3UXM5YXlMhvTlegk
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl59b6MACgkQlcRvpqQRSKzD0g//Qja8EIF/cdOz5OrqdXOJeUqUm2QfZuUrDANZey3rTtpULAy3OTezrSTEK//bd+DLa+hf9r0hTocCzhTx5RO6wKYup0LMdiO6QGeXhdKzVjuN0FA7jQztjgZD5Y/P+PT9Ye8NiCPrQ8gdtG3BRB5RDgHILQNclvt5GyKMske4rYbi99DtnrSbbqP0n7dZLaurAkP7fQL2Q+8/o8Vt+uAl8s2whMJ1z7+Z8YqN+uUcHfuTxEcBkW97qjsjhpk9ZVSzpw6GXjuFy/n9uBk2mVyaoMcKtk03SCB7byCK7uM3mNMakr+m2W+RQMlzpUlYToFL9uWHoDouANK3kDLyM7WpEPIajU6Cuq5C97KsqQWNTrFypLlYx/IiUbKg0LJVyckw0jl98iY7jIDOKkQmNIYwaQ8IvXtJ459Jo0DSvmE8IEoCxskfvlh7YZU9keu1spW/k8M22RPvrrjU34IhIokkA1KbVBaNyMRoypjH0PptRleU4+Vmdf4MGg9heft2+JqYcs7pHVDYVSs1TFPRfmlhcf2CtixuWcqIpNiQEW/S1ZdcJ7Ifsv+6hNTYQqqNz6fS70cm58mA7lPZ+LFoNaaXcCYAHwq+y3RYXlm1I1fEDrv6RLuxNvOWAxGelCvDv5M5M3zdm5DHvrmPMk8fOfRKck7eWRMD6o/FV4f/K04R3TY=
account: mediocregopher
---
type: change
message: |-
implement basic git-http-server
This isn't really part of dehub proper, but it's a useful utility that dehub
projects are likely to want to use, so it's worth leaving it in, at least until
it grows into its own thing.
The utility starts a simple http server which serves files out of the HEAD of a
specified branch. If an html file is requested, and there's a markdown version
of that file, then the markdown will be compiled to html (optionally using an
html template). README.md is used for index.html, if available.
change_hash: AAonhlHUltpS+x8w8HHZRQb8e+RHJZpjoDtN2JTVGFBq
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl59ZC0ACgkQlcRvpqQRSKxWjQ/+P8CeaBipcM2CWYU2rJgUxNaHiFwpWNcKfJCdp0ZoypnBww4NyHYSM1578NoGukq2l1stSqqK6oWvN1SbYUd+v1YVmIRhCMbMthPPx1f6kPzStDichqYiPkAaIfIw0PUXpY24fkbHhe0tXC+UApEfgLvgEovHVhBjzbgsPhoMACG8Bgfl8mdwqmkXzGuHxxjpZnZLvL3B3q6nCfpGxUYpdQX5hYucV3+vv2obLnYNpPyaYwdLFcQF7a9xgin5eyWNPayyQ1LPDbt3V9ez0mAtCdqHm3KY3fhqz0YR0bU1rVY9eEMSeNaK8fPPmzDO3vlsE76G+tYuwTLaiZgIDCLy4Qm+VRsw1l35tOwybipWciLvKhCkeq1ohgKEcFZbl5Al4ZhUhj4TKN23gsKQzkt9TJlxAxSaNjkKsb4ZNxMhiKnq/THV2JfLAxCRJ+IK2hyu3wi3te8Q1baTYa9ZXxFN9m5V8r1JNJPUM7BASvCUEzWegNFfrvidCrMHzb7o5GhOETSGWkKejR7/KMn6n1/tvvrt9F2wbPYUJrPKjB8Y33b9PjLgvrQ/2nNOoj6UAeXWMv8N1oaAdjOJB4A8+/vhFTPpXlw3FPRn953LKspkHXck1ooUu1ea1rcOV+872ZVh2HsUn8qD42/IZZQ1K2+NhPaKuAtQnIQzOcZLb94lwA0=
account: mediocregopher
---
type: change
message: |-
add ability to credential range of change commits
previously it wasn't possible to generate a credential for the changes of a
range of commits, which was not super helpful. Now it is!
change_hash: AG8eGxGH30bZYieD7uYtiUtpQL7u357SKPE0rvbk8LpR
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl55QyAACgkQlcRvpqQRSKxU6g/+Lu4zVh8dz7ziZCYyOEwn7jrQ+L0UXMUmaHx6sL6eOd6P3m583etkl3EQbSCoTUvEGTcuxKm1bSb1hcd6NNjRaol6IpTaQtm71NQTbfUo7jZi8aq3P9o+tXr2UPqcht1nxcAXQEoOoK7MO2mVj6weWRQ40gFo5xwI/eO8KygZc3uXKSlWswvgs9jTDx9zyTDCMI9JX9S6Ino24K1RIRuZIAfOhUIRLq3vi8JmymhpjMAeyOj/gvBNfwkbUL0zGrikPr4VJbHtZDHsDZUnOB0kM7xZngq1jUe2yuiF+m2XG9eIXIGmP1hY1QTS+JllffZKtK781IsPs3Ncc2szwhqwEMpqYFLvNu6YFOvMaI6+gki/aqM3dzK74kopWBMnqgI18Z2mcgm0EwENnKVWyanMZ8UdfSHqORf+t6pO/fNkt7a0Dra9S/izmJEaalswj3EZmtJ4Z/qi9GW1ab7SUnccZyLTK22YoymgQ4VauYoa0WjmIDKpdnmU0/R7OMJtUJYoMy8aTGnVeNlu7IcaPh7yfGCGvA07h8l6wow0HsFiNoTCO7HW4O0HKLEtu+mcNnQsH2qFTSLcl3EJh7qhiMSCROHC78UIndgNweTKSxQcNynxfBmcZfJyW451RsuTHfwgoTWB2m8ZKVl24QM8tsOa68gSrOYk4IO43AL7I7w7Gas=
account: mediocregopher
---
type: change
message: |-
Refactor combined commits a bit
This commit makes the combine method not take in revisions, which simplifies
some things as well as makes it more consistent with other methods. Additionally
this commit fixes authorship for combined commits so that they only show the
authors of the change commits involved, not all commits with credentials.
change_hash: APQFD5UML2F+ulO3awYJ3BHqvn05EZSFqmCg2i7vTfgA
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl55PNYACgkQlcRvpqQRSKz51Q//anLA1v9Qqtn0dey24oGngaJnV80fi53CZf57AGulbTj6WWQIlZrH126B/YJgSAFg6EzRZZj8vWW7JTXLXhExVM3vGvGWJWyslW9vadBLXRbK9Uw4RuPxN9hDgnXPYs4TNbIm11q5m8jxrCPAehs4aMebsRB4k//m0ul/17kjWlIOHTJupE/gyg47hjoyD//q2vNi9izkEEtRYDVykxXzy++UtEp7CCt9MO9Tp6H8FRxDH1h5jwWaGbedL/AakLDBAN0DhEZ1tvStpeSwycRiGlbIO3eRpDoLoBgX5yLwwrCqF6acEToJZR+amerKlTa5dNf/cqynS8CzMs35u+ZZx0QKTp7eqn/TEP3LNlAbbzILyrktFVBml47JNjLwS2LVZknJvV3mWI6K9r6yE01m/S+2zbkZz2EoADn0PgA99tKfJoozjFbqRQaTJn/B6/4L38GyVKSW3DXF3BYjz9DrFiEZR95449q9gHmJCVZ7S7wX/KfYvI5K7QMpBhiGUZSsWKc4DX6de2TP1HgXQX/08WJGb5463J6TQoB2LoQbDzOUBli4VblQwpWaREDp0DlPz+BUaFVCAwIXsaYGGrUkKeqFN0MH1OR7Ir5t5uVg8C97RbywAYvdThyOdQLyKQaK4CHwtyHU0BPrKSU13rE6tl66NTqY46MgyBSPEJ4ukvA=
account: mediocregopher
---
type: change
message: |-
Implement commit combining
Adds a method CombineCommitChanges which takes in a range of commits and a
branch. It determines what the change_hash of the range is (using the message of
the last change commit in the range, and the file diff across the full range),
collects all credentials for that hash, and creates a new change commit with all
that information. That new change commit is then added onto the given branch
(but only if the change_hash would remain the same by doing so).
A corresponding combine command has also been added to the dehub binary.
change_hash: ALpURxN61PHUo5uzN9GTlM5V+4YcirKWpZr4G9llZVdu
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl53+xAACgkQlcRvpqQRSKxbZBAAsnLhOuVQ1YM2xVWVJTJSY09PoyD1EyXMFP/H5gCMvu9wtYHwPO2BOGsmWsmIePzRLH0YHAp3VLBtBiyPy5Xm5e9L54DJc1IvOH7tfP5jyDodExHhhCVvNeGza4ngcyBBi+ywu3SwNq1eYms/A4o8ZxcRRPhEYfGHR2Tob31ntbTM9s1D8cqZzszuj/FJY9AAEWmlBVfJrdPUGZ/DqYplTypEvgfSmbTsKWG6sc3nQu66azDvTz3v6Jn+oLQNdeFAA0gaXvChCWaAtsnDglSgzMTigz4+jY+ruqmvM+J4g7SYiWHrSzABM2QnBBvhMuNcFQJ/o7vQ3sWBlHDEJf+OLlW6APRbPfY/xZn7+TCQSi3UyVuSctqSeQfnCI3pDm2C17mtBeuYLtXDrDsENPOm9SEBz/rCpFVNyVI3TS5o+2EAolFQmEf7tV9ai32v5qqqdxwIS66EwW+eNVwpEpwdJrRRddlQ8Nn49Hgk7NHmniSxKn92BRVjtg/l92tvrNgfopQHRM9rnDcKtd0qvgVbmVOdgx55NnEMMYbOV0ljesmos++x3WpeH35WpOBV60rIbRCVPaSn1SqaEjeLXHKkc35EYgiUoD+F3pP7vfpbUJ5Wq8fIirFXnm6nA2WlBW8GXFEfd5tnjTkPAd9MSyqZz6bu0bDS3l4x7+qPgUlrQDg=
account: mediocregopher
---
type: change
message: |-
refactor how commits are created, as well as how reference following is done
In light of the upcoming combine commit feature, it will be necessary to have
more fine-grained control over how commits are created and stored. This change
attempts to address that, by adding a CommitBare method, which the Commit method
then uses. CommitBare merely creates and stores a commit, without updating HEAD.
Since Commit now has to figure out the parent commit of the HEAD, and deal with
the case of HEAD not being set (a new repo, or an orphan branch), the logic for
reference traversal had to be refactored some as well.
change_hash: AKwHmb4T5APrl3EL7Ox27ABGWrjqjlOGvBD1cOycgPcN
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl53+qwACgkQlcRvpqQRSKzXuQ/9HBnrwB3zYSsLsQrNTlZ6MW5DaH/y1pypba6eD57fC6Tl3ipuDvTLrjiRMdPkS8LFvPOkT8FUFRZH7farBZBZGRnoAL88ELPB/h5Ip7FaUu+syfuTsHnBvWPs2hPN/sEhceIy+io3P03vIKSYCPMAhhigkWhoZZa+SJNQyTTJ/WzbGmuopCYhe3/4JDfpLNIvfOzJb40jVXqmqZ4Lf82uqf9DIh8LjNRhhOBeVFOVyQ4FOHh6a/T7D4qNSMPi/RRFg9VSXlNV5tp2ykdQdzyS6vdBBxV5j8pz8DyTDZYxlqkHyb5Blkl4vcndoJOYjyacVqVuXMgvjf0a8cmuhDEmC1vRDepx4jKZQwKyl1HQ9X0+KodMAxrx671+m7Zga9OcyCdNdyaH+Tl2W4c6apaEv2lcx5DalSLW2uoDbo5B4uutBOFrL12ML2tnnyF93tRSZkcNibo69/88qjFjaYEAjOhupgNtrbU+92Dsj/8UGYKFQgfx7DSHGXhs8fzphzPvZifWoiGV49iXvOauNlUzolX3h4bmxcXAnl/+tC4F1a19TGl7TG7HAC8kajXAf01pSD+WxJGMN+gerOYHOCrlQVx+sWhQBh22yfsaAJXPLl4R/2bUKqSTXjHHp3/WTqK4HdRRN/L728YhOxBCy6Ue0CjAZKpi+cQWQUUxpCKQiXs=
account: mediocregopher
---
type: change
message: |-
Implement comment commits
This ended up requiring a little refactoring here and there, as well as a fix
for typeobj after running into a bug. Also made the commit message unmarshaling
a bit more durable, after running into a case where the error message that gets
produced for an invalid commit is not very helpful.
Currently comment commits are not very well tested. The tests for commit objects
in general need to be rethought completely, so they better test the hashes as
well as message head parsing.
change_hash: AO7Cnfcgbuusch969HHVuo8OJCKh+uuiof+qhnmiD5xo
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl52W+EACgkQlcRvpqQRSKzFVhAAj3cscGnlSHc9oP20ddKsro1lnJ53Ha22JKKJ3aO8Z33mIX4aXdVTheLFy8gvmtzeVThBzfshCGt3REHD9rYaSfUEUpd3iDwDBYu907h7fDfx9OhxsZhCcbn3k2si9xe2ESDWE4nFuzKq0W9C8HYBhtTDYV6pW3AmJTlLfLeSoH86nemDAsZ/JlwoIXqYbT63h2Y7FZbnPXHzPTo6ZCbf3u6gdOUDG8vifWTXCbxuueSutTYTJ5vHKejhz/WB21GJhvuZnCVrim0T0mVyyE2evCci7SP249tGj2bmSDF/vVD4aurKsyyd8l6Q38MSGYnsNmAMgZPmSzFTrqmY9bjJ8sir8mv0Pn85/ixWNGHVkZ/A9i515YYGNXQfRaHbHU72Yb5mlPWJQhywffhWLxP7HoGn27P2UJ6hh4f6KMiV26nH/4meV6Y2o0623fZzoETHVVp6oks6dMCcYRb5FF54Ogg/uBPeBOvtiIfy8hTwBqGVrzg7Dm2Sl0ystBuN8ZKrxqa24Wl+MukA5bLH/J9himDwl9XQtL+BYyb4vJkJcNqaGkfKyGU4q3Ggt38X71wGMCmYtWMZ9CIx5VC+OJC5B7C1fUOxG67wKG2X9ShY9MVfCtjrdAtnnECjalyPKXwSkbqB1xsdujxmnXhazYJ3Bf//QXc7tJuSuiG6jMjS24I=
account: mediocregopher
---
type: change
message: |-
completely refactor accessctl (again)
This time it's using an actual access control list system, rather than whatever
it was doing before. The new system uses a Filter type, rather than Condition,
to decide which acl element should have its action (allow or deny) applied. This
makes testing way easier, since all the different matching conditions are now
individual filters, and so are tested individually.
change_hash: AFgN0hormIlO0VWkLKnAdSDZeVRbh0Wj8LLXOMVQEK+L
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5yoi8ACgkQlcRvpqQRSKwo/g//QkSA80APnPtwcibNeaoUwduH1Xim8pmi5JScKGsOypYkE0Iy+fO3fRNz4r7Tm6qNn7O04fDsiXlxPojxn7+NDFCQArVgoJk3jVTRDBW7LpahWJsYPP1SBjGtaR9o0bOpclXblTMIcteTkLM94AeASqLaEY8StO+5PX/82AkFRQ8E6m9R2HCmgwbBhqwWp8936x8ekMFbSSi0TMIyV4rpd0wj4mjvjjBwa3ArGmH/ynwabPCFuuqMT6996N1zoDn5EqZA5jGrf+Q7rxsI6t1bOnLmg9NGMQYRaZLAVZrp5P6G5XR3et4Gz/2AphAEgYJM3yLbEjZW6Daa77CgTNHXde7gCaWqyfcKlVGPi29/O+2IXhpjwxHwGpsBgEdX9227zapL+jwSAOdUVj8n6C8I8BGqpT7rTwA53yxlbSwXlkttvAn/lGT5X4lK74YfkzMXMEBZKzsb/dQEPyP2Y+AG6z2D4Bs/4szsCiUXF9aG2Yx1o45lVXTTdPUNLIsnhBjM7usbQRg8i5kC+OC9AVCi8E+lf0/Qgp0cUb6QLH47bHvDTH7UluY1bgSLZy+Zjaisvl3a0aK/UspywWN/fFgOrz2cDw232n8IC+Zi4LSKm7dXDRFbC1JNzrwAPP1ifboOrltwKroOsDNaVGhX8ABahNjmrUO4JgE7gvX+zxXb+/I=
account: mediocregopher
---
type: change
message: |-
normalize how git commits are interacted with, including changing VerifyComit -> VerifyCommits
This commit attempts to normalize git commit interactions in order to reduce
the amount of manual `GitRepo.CommitObject`, `GitRepo.TreeObject`,
`Commit.UnmarshalText`, and `Commit.Interface` calls are done, by creating a
single structure (`GitCommit`) which holds the output of those calls, and is
only created by a single method (`GetGitCommit`), which is then used by a bunch
of other methods to expand its functionality, including implementing a range
request which can be used by verify and the pre-receive hook (though it's only
used by the hook, currently).
change_hash: AMae4PL6+jrxhn2KEGHejstcdT37Gw/jjkl/UuovHcgd
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5uhvoACgkQlcRvpqQRSKzJrhAAqi2LEQVTyVktfsOBv/CZmefclLLqWTChVoeIZt2EAGDDGygmrx88hI0SEAviOzPMn0kiZFDeY5k7ICJMhJ9RVDU9WjH7fbOboMJW19rVhx6Ke/M2ERtrT0OFLRmFVJVDM0P8SEheQvR3HE/iiypBICVCtp+meHEq9mOJWZlZnoCqMaulAy/Nnq4N1VD0yPPlr16+yxMqedKHcgKbcH8K61ltNAjXDT+tCWwCq1huA5MVSuTm5EwqIeKPN6JKgwATv8Ku2GhYZWHSGUwecP1J3x2XTDPeChCQVDpC232Pxwk8z/D36F3J/XOfkdl0QYQ077xL1IJfYOnuuHir47CokDf3G0XCQnJ/+X4pZdtP387rc045o/2bhUi2U4eJ5HgS7Hvyi6EApT0Czv7SeJePTvdnRUYse8ZYuIwYXj5GWWxnbKQzLpyjcHdQc2a3B3RN84zXqqAOS6ObFrFPZQIfz2rfQojZN8kvcmUvYhJXSaT65XmqFjyJ4n6grrEnK/N+MfbnpzyF/yvlzxWPqGFQOQj9meosbTAdgZbmdwYqa5r1ee8DmlkzNJJxze96h503a733yciN8Ef4hGZNlRV6YFegkK/cCgKaA4NCEALKb1t0Uri5gnPldXk4HsPF+23GANbE7mjytY8ra3fhXG4VhaFt/WsLg3Bu7djQ0H74y+g=
account: mediocregopher
---
type: change
message: |-
Fully implement credential commits
The actual commit objects and related refactoring had already been done, this
commit takes the next step of implementing the access control changes, tests for
verification, and refactoring of the dehub command to support multiple commit
message types (as well as a small fix to dcmd).
change_hash: AJyuAR0koVoe+uPBisa5qXsbW8YhlgOKNhnvy9uv7hQ8
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5tVzoACgkQlcRvpqQRSKyznw//b9lWd4V4G81cFwGAxZtJ3JiFpspYdtTAUUcLi9nogGsDmqkkSQxLdmBCT99QtaenKsxpad+9sXhkZpgWF/AyCX9pN6TTlMKuRcDXeoMUjeKjRpRhCHN0Lt8Sz80NDPYIa81r9cH0o1987GirgGmDEkYNDAFPDdGNDcCad/LLnG+ONwOl9WEM1q5O4etUPurTywlBiELDjHxeLzqgxCo8fMaMejW6mxnMDV6DIHiX6INWZAAG66HPVetmq6EVl9bnFgZmgKNzqKzFVZJRdGQNbhR/WzlOh0HPyJGwCveZPM5Zjd/dpfQUYEGGprVKc0G0YVNU2Hcz6O7hqafGGxWpCFW6zKrNmBRaW2u2zjVJD4ukmWn9gFuKJKhs0kyawRTbHNIX+gonYv9lDFO3cZ5qcsJbSAYSHrCav121z0GsQDoFJMJDQnP0syEEbAaxdQe7Bd7bmOM3SpCOLJLF1+X7Srrq5//u6fiFDxQ82Ylo3hG/r7/QT/vSipUCglx4POq33+z8VEHGhVfl4dgSU6OgIV/S7evKC7EiS/jh/xywU44RHpxFhwS3hthHxZqgRIHTm65DqGYWWZds2Hkr29TTRajuf0t4MxqY2MrLAhNJUc6OmrVN+lWMmm/z1FEhfrOvZ8v7mOSqTKwkvbsZzk5mpeo2RrLdNnnWvTCy87FpA48=
account: mediocregopher
---
type: change
message: |-
Modify how SignifierInterface is produced so it always sets AccountID on Credentials
Previously it was the responsibility of the caller of the Sign method to set the
AccountID on the produced Credential, but this didn't really make sense. This
commit makes it so that all SignifierInterface's produced by Signifier
implicitly set the AccountID field.
The solution here is still a bit hacky, and ultimately the real solution will
probably be to refactor the structore of Credential, so that it doesn't have
AccountID.
change_hash: ADPuz04GuyxWwjo/0/jc7DcsPMl5rK0osSpaqmUxv818
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5r+hgACgkQlcRvpqQRSKzwYBAAsY4tj+E5xtJSZ1TvrS0mwJ/lSHYWE4rS3eDMY3JUJLE1tr5k3OTRtUhh2UHCsArXSVF4sU8cBSCtf2noaThQm8KQghPMgoZ1LnPd4BnxxlE2gPik4FMcv+mCv9OgUh0AUO+rSXeYJA3oWunaW9kYollUdX/mVTQTmmbLBqBpeXF/TQO/bJTEEzA853j5QDT8//onfSIlzUw0UB57IZZZImp5/XrggHBbKdfhUTJ75LGMgDEDvDNIdV8lBys+RnMzK0Yj6EvLQhsw426+0Sf9vX3jtzj6WKhmi8QyYvcxIbcrWUScEfA/RAgf0A8KhqKq91bicSHjvyK1TZRSSWcS43ewamgvVWx0KSYYoIn7PPwOTmpHP8u6RzGEQFjOhP1EaGytQJKMXidU6CPTh+pYVtPZc8oLAwk+DyMquqfUSbzN/63t90HpTm7uycuzOnQxilYe2HKlbMJCId0a0DyAFrA+0pNRz0tyd3DvF4svCdEy82rzlUGEhq7aIJKoXIut+fKGEBd6Znz6oX15CyQq0oPthZcCqgFR0oTqufvV2iWo+26cd9dVTPVbJA9kSbaFchgdAqCkPA5wDVuNJJtMftf7STW8Lm6dnU6q9YFjZVdR55WtvUCINxBUtOirRzG1jcS0VNhhtb+SMNATEvDGJmt6neHM6Z17MAdwGS+s/hA=
account: mediocregopher
---
type: change
message: Add test which ensures all previous commits of this repo still verify
change_hash: AHoFfiByvV4MlfmaehkeGmj+vMpkkreuMu0m/vhsoTdo
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5gPEgACgkQlcRvpqQRSKx8Sw//TvPmiz/ZiClCjJhe6ipebdKYbXeMmThflSh8HWWZ14WKIe1NPpgkIlKhGJiTCxOqea8GzyvQ6SVQpAuNDsBaJbXMKbUaFR3ee1ihzIswFNx+sRF1+jNv4lPk3fnU57E1DvN4TL3kH2jNwj2UUPI872Mcx49FVumpCoP2GJikEDKeU2hbdqqSEmGzCtPabD+7I/J/AvnFb6/C9dtegKxQTYv4NeH7+jzA7Ln09BWu4sb5p0qKQtGFXVTPKWm0TLrYv6ykTNUv5E58nnexjr5uSrctORReuVz1/YY1ORV7HRz0+MlABGJXi8y6ZfzrbUd+IpkjvHuiHQv4+cMyG4KkpG1E4oHyMcSuFgqSwPLQx70LFK2G99pzW3ZL6moaCqJ5FYwAgq0qWWE1oZ+f+jravBIkfVzcCUr58JqPS7BVfesSm0BzgvKXKpCoyabyHw1+3eSLfGmE4m02ZLAjjCwmLGXPIxK+Qd6qIQt+a06p11//wV+YSKOsYKRkQHIYfnLY91FZ6XisLqVomQz+nAm9yNdvBmGzBc0kKNkglfRXfLQVe9V9+U2QYKUbBFcEPcNLzdljhIoT2agSTe6giUzmVMoybLVgOxnRDQdKa2KoW0FjAD7oecU+EIjL3WPKteYgBK2XKtbxlZlJBrqLU0ZW32dGhfbPT66SNIOZ4j8U9Tk=
account: mediocregopher
---
type: change
message: |-
Refactor commit type and logic to account for future commit types
This commit introduces a CommitInterface which CommitChange (previously
ChangeCommit) now implements. Additionally, now all commit messages will include
a type field and a "---" separator. The code is written to still accept all the
old commit messages used in this repo. Other than those changes, most of this is
just rearranging existing code.
change_hash: AHjWAUxCjXgOL0Sb+oQZc6TmuVgVHJn08zpGreYyChwx
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5gOuoACgkQlcRvpqQRSKxapA//bODd2IwX2D7nFBkEEd00ol1l4vaw7pgwCjqyQtyskeCZ5IH6H6PkYOSmU9DIBde+cGo35Oi5ynChmfnSatvUZ1dLRJqm8FfOGDw/IsccyYDd1iptj16Ckr6Bsht1XgFJNN10hufuAg77fRIwbGi003WCQdnrJZ1Xbtgex6a4rUqVFW+sjXAB1msmo5B5nabfm/ta0epptxhlINIY2qP5Vb+ftdb2lRUNQwkIEr5GErfAgN3sxYEfqQvLzr/007tEeVznyhdgww47awWsBaTEd6njycbWpphnNA8PbcgUGKDYsj3qLz/bCR1VQOdWgod8PLEru2O+uC2+72ssfT9NDn8HB/WrBKG4W4oykJIhXJ5um18/B9ZSxPMlTQv2Yr4nF7w+Sx3UynEdUTducbIOUq2K+JnI+Ln3gHe0yRw5UEfrzymR4f2Nfe1I13rJk2W7SVRDmOYidr0MwBlLs8tmnJFMWmWZtd1hpPOpyOyUF1jKgvMuR9ferb5niuc3Lk4trqDiaF+tjy/NmAv/7c+qiVmKKpVJVVqvT60TqBR9DTHjRGktcPFD50sc811Th+Xd9RdhzpIYM+0DT790FTf8E0hY6wm/NKTGplfqwBSNZk87SeIiFTu7sZWVpAaPz1vTmVGduC1oj3/Zlv6TzNrUAp3VwBepROBhZlHCHUr9tKg=
account: mediocregopher
message: |-
Add 'default' tag functionality to typeobj
Adding "default" to a typeobj tag now makes that field the default one to use if
there's not a type field set in the input data. This is necessary because all
the old commit objects in this repo don't have a type field set, but they will
need to default to "commit".
change_hash: AP+DSWWe9K0wnnEV1wNt3u/Q89tEOf35zZGWjdES/d2t
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5gOgkACgkQlcRvpqQRSKxG7hAAsWbbW+Vb7zmD3m32sQYQSY2e8OAClLGAB5tjWURp/bhFJUXf2T2aMPTPW4wNztQM2OgzcsIlAvFWRl8I/rUa9L04U/vvcA7vo03KYLLjTjqz6HEkeTg5is8gF/jJDdt7YBFpXJVaUu9b2hInpo87iyfsRYfxF832huvCrVxftd3eQcF/l33sWakwlc539M7UZ6V/kED2FQ0X8bhiOXCFrBrsb5cpedyNcdnFclOKk++y71pMoVU4r1Jm57i+f7HInxnFl7hm7Z82clgzYTPgr0Da43OB1RR/LOzTzPqHA/e9TUx/TSWd2Zu/MTdNiFRhNoMz0SdxXcXw805HGqoIK1s3pHiiaeujgFtnFWYuvnqQ5H7rOjf3lr+ig3pi9qsBR+/upOfw4iIP590OGC+JOu51PGe9NkOyRFi49j6j8BtFXxIVk49znMgqd242hOxh17u7LCHW/YS2nZVdFqoQZCNlpEJRuM18XvJ1c9bkulFNd4rkXEExEhedFEIm8fFWM04VwVbdimvRO4/YfU6MzPi/T/5hGhd1Gmauk/TwpQyoEsw/VDZU600uz0YVt2XnsoSRPcfcCX1uYjaYhrKadddCwuLpl8hvtWwd8EIaIfq6vcUVeBLxX53xb3mlo48wDOYDz7v3MJO/oKzoSLui/wAT/5fOoFVs6XT9F8AmhlM=
account: mediocregopher
message: |-
Rename trunk branch to main branch
The term "trunk" is too close to "branch", imo, and is confusing since its
inverse term, "thread", isn't related to branch at all. Ultimately I think it's
best to leave "branch" as a git specific term, and use "main" and "thread" to
denote the different branch types of dehub.
change_hash: ANitkSWx+QHnxo/d0zg+lrWdeqx1PHqH2GQ2uvyMYZNa
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIyBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5f/ikACgkQlcRvpqQRSKw04Q/4sX9Ylt8vdkhnT24vRqf7uoO2WsRCs4uHvr3tW5V735o3ReKE4KWT9crIKSSn92vkEaFdNAr8+9M7CMfa3qKLAd0kVbGIDiZ775+4jw/Px+nyORSkl17F5gji3m3kM6rnvqYtg5r1NvxuIeuqNK8TGojtlAsf1hN6inrB6S7MEAgw/wYRMQjV7ohYFkeMMLzaN+Q1YA4LolfnM4JbsIwcFMHC1jxDe6is22lUxR1XqTEzJqpIQLLCtY4Ds6LECqm0cFRlXic1ldcYqHxZvWLks8MdNtkMq0FqwEUtr07IqWUAyWcMsmKkReSbTfqPlizJOZ9J4c+8p5FIkRNl+TuJnfB4oBNANMmEHeeHNY3a5pfeJFOyfzAq7LfOwYBMfWcNvX4kuKfAKhSI55Snb6vK4ChRget3VruOZaFIjfAxWQX5QVcDufh3EJvuCJ1lJKKxdqIHQO95hvJ4cMgz1+pxPnQabEkFlk0Q+qFYS4u1S89y5lWxc5GIRaZX6X43/r74rB027LN9eqsovrJ0MLFHRH3QagS9YxDUsVWnv1Y/8TvUn65QRIsHbmrF1ESYdjycROh1bhTJLwwqrSwQjm5HhquvJ93DzUNgRZDLRXwDGL2raJ7oeNL+6E2fl8ahPntmvdVFWtXsMNK93/IKkW3brxUoBkWt5rzKqE4TRhWjDw==
account: mediocregopher
message: |-
Refactor access controls to support multiple branches
This was a big lift. It implements a backwards incompatible change to overhaul
access control patterns to also encompass which branch is being interacted with,
not only which files. The `accessctl` package was significantly rewritten to
support this, as well as some of the code modifying it. The INTRODUCTION and
SPEC were also appropriately updated.
The change to the SPEC is _technically_ backwards incompatible, but it won't
effect anything. The `access_control` previously being used will just be
ignored, and the changes to `accessctl` include the definition of fallback
access controls which will automatically be applied if nothing else matches, so
when verifying the older history of this repo those will be used.
change_hash: AIfNYLmOLGpuyTiVodT3hDe9lF4E+5DbOTgSdkbjJONb
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5aw0sACgkQlcRvpqQRSKy7kw//UMyS/waV/tE1vntZrMbmEtFmiXPcMVNal76cjhdiF3He50qXoWG6m0qWz+arD1tbjoZml6pvU+Xt45y/Uc54DZizzz0E9azoFW0/uvZiLApftFRArZbT9GhbDs2afalyoTJx/xvQu+a2FD/zfljEWE8Zix+bwHCLojiYHHVA65HFLEt8RsH33jFyzWvS9a2yYqZXL0qrU9tdV68hazdIm1LCp+lyVV74TjwxPAZDOmNAE9l4EjIk1pgr2Qo4u2KwJqCGdVCvka8TiFFYiP7C6319ZhDMyj4m9yZsd1xGtBd9zABVBDgmzCEjt0LI3Tv35lPd2tpFBkjQy0WGcMAhwSHWSP7lxukQMCEB7og/SwtKaExiBJhf1HRO6H9MlhNSW4X1xwUgP+739ixKKUY/RcyXgZ4pkzt6sewAMVbUOcmzXdUvuyDJQ0nhDFowgicpSh1m8tTkN1aLUx18NfnGZRgkgBeE6EpT5/+NBfFwvpiQkXZ3bcMiNhNTU/UnWMyqjKlog+8Ca/7CqgswYppMaw4iPaC54H8P6JTH+XnqDlLKSkvh7PiJJa5nFDG07fqc8lYKm1KGv6virAhEsz/AYKLoNGIsqXt+mYUDLvQpjlRsiN52euxyn5e41LcrH0RidIGMVeaS+7re1pWbkCkMMMtYlnCbC5L6mfrBu6doN8o=
account: mediocregopher
message: |-
Have the dehub command check if there are any staged changes before committing
The check happens before msg is filled by EDITOR, to save frustration for the
user. I'm not super convinced the logic here is correct, as the Status returned
by worktree is somewhat complex. But it's the best I can do at the moment, and
the tests pass, so it's gonna get shipped.
change_hash: AIqqhJwt4URaUOxePbgXWOdLwrG6dtuh+CL9T4CFWQ3M
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5Qd7kACgkQlcRvpqQRSKyeKw//WAQEn99jYyfFSVQeozuczha3wgnIMU59Pa+NIz2hz6BCF9O2L8iuHn+4zBr5GCywTmf2gRfLkl5ZC0yPVy1JgXobtnWFmLxkUyZV9JZiSHVeJmTsA3kO2VUtR9W4HrFBRUk+tUF3VhY4rbVslRACPmF3iEgmhqQ+H3yuogvfUewu7UIcczEP8+lorTqfV/8IC2yRCU2/wiBwbTDiKBF1M95Yms3K63ZOuCRKnkreB0o2KAHCGJ7QSHp2GwzeqXrB4dTYEOJmy0m1a1cWEd5703kqJ/dVdLGfOkn4MBrj22UOnFW7Y/i6NtNsWN1ILDncieykgIgec9sXxA2NILVGMnasmj6qW2wovukxz8xJzfS6dpke/wRu5J5qHfVx9bHJVIFOySNe25qCfm+lchCmsCRiRGg++J+bw/Ubsy8Tlq8SjTlQVm5ACqQCd4C0RsuR5DwzXHIDMnXsgwVWa19pQ4KM5EhMnn0WU+qRJpg3qLYWDMjj0pMuPxxSkXCc3YSf6nLeplCotXDnM8maoukJMvYqr4zEQ5SHrSkLaDNXdBVifuMEiGow1DDXJw+iYZKXNT/LNWCrafzI9IdI1suQgJUqwiJPMBKLzcgi/b5PKNXpBtiADCTvJelQQEOsVqCjsgO4bdemnecztdb9DezJfMEibhd8RoPcXj9W+X7OYZU=
account: mediocregopher
message: |-
Add support for using EDITOR to construct commit messages.
I feel like I can breathe again! The code is more functional than aesthetic, but
it works damnit!
change_hash: AP+JESJn2+CP1FCDvwJqaXUM354rpoK5oU6Me4uByxaf
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5QaUwACgkQlcRvpqQRSKxY4g/9E6D6CdR3h9JuCHVhVQTeU5NzEPoJTQdGZgOTr8t9lEAceNfzBlxVExKf3KFRDQhDjXOu/tbqgsCAu6n6xdSGc+7nnFRhA+nYrg6c9PMenjbH43eB8s+MxrrXoWYWEKr1inlHEBMoV6GQQpXMuSCPDJ/HwfWqzjG7bHM9Fi1nDQwlh5cBY6KxQwKWWBrCeG5FDdT9AKKZY6Y7WPC9HEPnk1TdkaJNXsZ65IxycggaLc25qWx6EyjQjHONrzpV3R7b6LJQkxrp5tyA60IauGdeAivKmghLDvBK7ItjA8TGu81PUuvthyBQTRfs+3vrYIAtXUzo/LODRjTJumEPCiJ7zUfbhVNqYDR/EdXC9E8eBSPhK37twzdDvdHAfyXWuH9wAZ0B8oqv7ChwGyHlKkCbMksu8OTAllAdYOUpFpVQfNdTrSY/fUO/oWeTG7cHuTCN7AYphkHDjVgUh3A0b1QDwZnH7j4C6oRvExb7rUfgFw/9EIG1hSMMdb4imbJmjkEVWhchHGF9ipkMPYANswQSuDpbtOEyGf3OK0PlFFeqn3k5RyecmmuQd4pKKE7ASNKZwOd//UVxjz8Aa3NsZoZU3tbQJ8dnE6vit0Iggz7d4jbIxaQCd0gGbHRPtCppU6kTa52Lx+Zg01F+KGvr+/E6jXB/6pGoOqK0XObQtMKGSJ0=
account: mediocregopher
message: rename TrunkCommit to ChangeCommit, in accordance with the new SPEC
change_hash: ALR1AfczQ9gwz9WHk4G9U4pOdDLu8frv19TmrwtNx90W
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5PZT8ACgkQlcRvpqQRSKxiyA//T2UObXqMmKntv7ogT4Atel4J6HzzV1sq4HNdvuuRiq7I1Jjzlluh+U1MsODOYuoS8tWWW3YK5ND0D03vhPO/tahUxnAbJXNdhHPDmvu95CCTqiF5X6x47PIBg9M4Z3s8PAipcNVfyWsciLhIXSP9TgJ6mpxy13cqsV7qpoQi0SX1olClxvU5N1oNtTk3swvec0vZnH4nYt2iFt28yRRTyKJuzSPDHqdAxqSYfCn0kLfOyMaycWi3PkslL78j9aXWQ8bzSArmcYeAO6RYu7CFGUbTf4mNKj4F/DusV4CO87ld8xGyHwVXCuShBb8wW7UYyrlbNJxXFVSxrIARSxXwtw/CuO7kQvB+IplBnWgpUiqzASKjXrwzZ+LMMUzmKCWyQphkW2fUU8d9FIh2NIEUmFCJfnmnnULmFDfecP2crU3Fxjv5ATsOi/F4IiGcJb6N9TxQAWK8ezC/Kk4UUSfNDBD99Qq3yfzJcMNrkK1ZkQgQ/SOSFC1MSoGiatzYJAU9wmO4S6+W6SX9abP5cr2OrI2kwiQbQ+XoJd+ywSJk0f3nP/5d50u5d/ddT9udUwmPnn9cc99Ikt6gXgRgzK//ktn5A5rQwGO+cfxmZkHbxzGATo2LHC2lEKiQMyFzvrXXD8TKJ6HbwX2krYREe4hfDP8iHsuM6eRZblImlraV+Z8=
account: mediocregopher
message: actually set the default branch to trunk in the http-server, forgot to add
the changes >_<
change_hash: AFwqLk4zNKcxco1FPxpg6YwDlubszqfAiua4fJ8MQffU
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5Jqh0ACgkQlcRvpqQRSKz0oQ/9GsiL8sd4qsafzEg0HNT11xCEDqaNpKf/fRwE9F3BfSbiie39qyXWObdvCXfU0EcdH/PSBCPp6vXc6GR6aWvWoZX3FayMfj8mWh0X8ILGxT2f4PM47HdzLaAPpcwhGicaXOuMhcs0TuXPqeJjJVDZwsp7osCe39bnI5qk5gSERI3n3OKOT3G3eXGXHyImN8zcOmD+2zZF9RdcgsMZGiPIKp37z7GMYTjIRi+EGAgyjlJYSy2G+msUZW+4zVBSJZNT7m+2SojDn+gyoxJ9BgWEv0RqH+J5WzagwcDlXQufAztmEkTNNQyEv/V4UrIbO2SkJQ+BpdV6XsZtHVFpsU/qBntEfofzmVq4qsonEcCoC+O5IbGMupayuirSia0hvtKYjIVYKPwAS3fkIjykDrSvfQUZBG1eJNlUaW7vZbDCfx8utFrwQMjnO61+iZPFqye9lNvHcxbchTtYwVgbh57wda/HQRR1w+r1tNh9cvCSUkff0IiJMyl74STYETa3lUo6O+sFlnIQvCpOM3zN7vUrKH7LFL8WY4QZFkoeN1o0yV4gOQUXDcj/q+C+waxPsQTQHLDPiAxMlKP0e+78xAFJfoe2/4SNNGufVA0YD9Q8eLJQ3cHshKPKKTKUlP2Q/4TesFHAjRdefyhPc4xWgF4xLNK1SuXIe/pc1pMg3yHkZjE=
account: mediocregopher
message: set the default branch to trunk in the http-server
change_hash: ADrq4y+kWxmYmMiiuTzOlue0ibV8OqoishSky5/173qz
credentials:
- type: pgp_signature
pub_key_id: 95C46FA6A41148AC
body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5JqdcACgkQlcRvpqQRSKwwEg/+P81teyTY+8nhGkXYXtT9X+isqjdbES4J3sJpw0SrqGxNE1yw31MzLAyrKqhj5/ENoZeejcc68vQZe+/5VcC0IEOOtMZw2CreUVPKEh/ArNcxwVIE4YjZmq8fpQYN98NPx/10NodtvY3HCvQjEdBSpDNqTUaT4cytd6ibCaAtmkWPnYWIZ5RfDA9HGjHVsv4F8N6Ab+fpTToFbjQrr/EDwlcwdieV66gDKFUlvklQZ/3/fN7031D8Q50bnFt/HXwBEE0cmfCnbWqE3JJKCrz4i+1Gp8MsaYd4/1fxTnA/ZRDCORYVIq5JHsuYy7UQIE8CWtumHsZ51wtRkS1Nvt6UUUOZt9/w+HciErpoxonOtrkK0StTGaw+SyiL5dXAW16RFRtxyJoj3MU/oHuujLMWMM/lSohPqI/51r+gkJ6KatMItdeQmxVOvYYa2DlSiRIx0NmVhlapa6W7XCVz3XA5wXKARZkvgY22svyYcNWEr+PHNK+eiSR5enckgmj5Buds0qRUxImUc8wWtF/HG1UQ56rYCzLIpdNZqPL8JtV8AsnxmTXxERgYkZMpdFYKHixACUJa+sKl+tk9e0RMITHCnNJI0mvFqsVEDIqzxzJj3JIEP0xLE4DuYYK0P1ZxAJJs7eSZDLNFRne4bvxrDDzMZTCC+b7X0TnO7unSMuUfTjw=
account: mediocregopher