aboutsummaryrefslogtreecommitdiff
path: root/infra/website/content
diff options
context:
space:
mode:
authorKaiden Fey <kookie@spacekookie.de>2020-11-11 11:44:02 +0100
committerMx Kookie <kookie@spacekookie.de>2020-12-21 05:19:49 +0100
commit37750009c9ffad536b9a9574d1cc4ad6fc6c5e90 (patch)
tree615c1bf314038998e715d05101ee843c223e0748 /infra/website/content
parentefd6223f0e76d65676bcff5bdf901de77398e6e0 (diff)
website: adding article about overloaded abstraction layers
Diffstat (limited to 'infra/website/content')
-rw-r--r--infra/website/content/blog/119_wrong_abstraction.md11
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