diff options
author | Kaiden Fey <kookie@spacekookie.de> | 2020-11-11 11:44:02 +0100 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-12-21 05:19:49 +0100 |
commit | 37750009c9ffad536b9a9574d1cc4ad6fc6c5e90 (patch) | |
tree | 615c1bf314038998e715d05101ee843c223e0748 /infra/website/content | |
parent | efd6223f0e76d65676bcff5bdf901de77398e6e0 (diff) |
website: adding article about overloaded abstraction layers
Diffstat (limited to 'infra/website/content')
-rw-r--r-- | infra/website/content/blog/119_wrong_abstraction.md | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/infra/website/content/blog/119_wrong_abstraction.md b/infra/website/content/blog/119_wrong_abstraction.md index 411b7a6c48a0..e89b7adc6d29 100644 --- a/infra/website/content/blog/119_wrong_abstraction.md +++ b/infra/website/content/blog/119_wrong_abstraction.md @@ -17,9 +17,6 @@ solve issues such as: rename detection, path-history, and subtree management. I'm writing this library for [octopus], which will eventually host my monorepo. -[supergit]: https://git.spacekookie.de/kookienomicon/tree/apps/servers/octopus/supergit?h=main -[octopus]: https://git.spacekookie.de/kookienomicon/tree/apps/servers/octopus/?h=main - In `supergit` the main workflow is around iterating things, seeing as git is an acyclical graph, and iterators are a decent way to view this datastructure. But git graphs can get pretty big. I wanted the @@ -87,9 +84,9 @@ work with. But this is where some problems appeared. The main reason why I'm writing this more Rustic wrapper around `libgit2` is to make it easier to determine what the history of a file -has been. This is pretty simple to find out via the git CLI (`git log --- <your file here>`), but not something that `libgit2` exposes, -because that's not how git stores data. +has been. This is pretty simple to find out via the git CLI (`git -- +<your file here>`), but not something that `libgit2` exposes, because +that's not how git stores data. To git, all data is stored in a key-value store indexed by a SHA1 (soon to be SHA256 I think?) hash reference. That applies to files, @@ -135,8 +132,6 @@ itself; allowing it to branch off, essentially pushing commits it would have to get back to onto a stack, and resuming from a previous position. That turned out to be a really [bad idea][badidea]. -[badidea]: https://git.spacekookie.de/kookienomicon/commit/apps/servers/octopus/supergit?h=main&id=0728c2f325e2eaac2c3b834260a8d0a97afaff63 - It took me about an hour of banging my head against this abstraction before I realised that it wasn't meant to be. Sometimes systems are self-contained, and adding more functionality takes a considerable |