MichaelJ on Nostr: It looks like you are leaning towards wrapping/extending some core git commands. The ...
It looks like you are leaning towards wrapping/extending some core git commands. The proposal mentioned overriding the function of `git push -u` to create a proposal.
One avenue we've explored at the CLI level is to wrap and extend core git commands. To use ngit as an example, rather than using commands like `git commit`, a user would do it all via ngit, e.g. `ngit commit`.
Any features that extend or override core git functionality, such as `push` in your write-up, would do the Nostr-y bits on a higher level, but delegate the core git operation down to the underlying git API. Any commands that don't have any special meaning in a Nostr context would be blindly passed down to core git.
That is, in part, why we chose C++ as our development language. Git is largely written in C, and interfacing with C APIs from C++ is fairly natural, and would facilitate the plan of wrapping and extending core functionality.
Published at
2024-07-01 14:06:12Event JSON
{
"id": "f56c769128497d8e3fdaa308073833a2790693e5424a39c644de53c53c68694e",
"pubkey": "70122128273bdc07af9be7725fa5c4bc0fc146866bec38d44360dc4bc6cc18b9",
"created_at": 1719842772,
"kind": 1,
"tags": [
[
"e",
"7fba60aa1cd8232156992ed5fe69a5c5cdd201b4b8bf2ade5152291036b2f67f",
"wss://nos.lol/",
"root"
],
[
"e",
"7fba60aa1cd8232156992ed5fe69a5c5cdd201b4b8bf2ade5152291036b2f67f",
"wss://nos.lol/",
"reply"
],
[
"p",
"a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d",
"",
"mention"
]
],
"content": "It looks like you are leaning towards wrapping/extending some core git commands. The proposal mentioned overriding the function of `git push -u` to create a proposal.\n\nOne avenue we've explored at the CLI level is to wrap and extend core git commands. To use ngit as an example, rather than using commands like `git commit`, a user would do it all via ngit, e.g. `ngit commit`.\n\nAny features that extend or override core git functionality, such as `push` in your write-up, would do the Nostr-y bits on a higher level, but delegate the core git operation down to the underlying git API. Any commands that don't have any special meaning in a Nostr context would be blindly passed down to core git.\n\nThat is, in part, why we chose C++ as our development language. Git is largely written in C, and interfacing with C APIs from C++ is fairly natural, and would facilitate the plan of wrapping and extending core functionality.",
"sig": "0e3ae7d5f6f69fa9cf1fd25dc4f150bbf7433f4861384d47c43dbf5de75daa97609901f1ba81c46edf577ae477be3b8f24a720ba9b2ef0d04266b98ac8abe3fe"
}