@fribbledom Should have been called push-me-pull-you.
@fribbledom I feel like git for notes is way overcomplicated.
@gudenau @fribbledom learning git as a prerequisite for keeping notes would definitely be overkill, but if you've already got that skillset, mental model, and the accompanying habits, it makes a bunch of common note-keeping/taking habits easier.
In particular it makes it easy to decouple taking notes from structuring them, which is a *huge* win for lowering the bar about what should be noted.
@gudenau @fribbledom less, unless you're using a filesystem that transparently compresses comparable to how git does so; but honestly that's not really a meaningful factor for most use cases when we're talking about notes typed by a human. The data volume is just trivial.
A (modern) disk block is 4KB, that's two full typed pages; most flash rewrite blocks are in the 32KB-64KB range, ~1.5 hours of typing at 120wpm.
@gudenau @fribbledom there's a point to be made about the overhead of letting the git repo use a dozen or so files rather than just the one notes file, but (a) it's still pretty trivial, inodes are cheap, and (b) if you're interested in minimizing your inode consumption while keeping the benefits of version control *and* git interoperability, Fossil exists and is a lovely tool. (Plus it comes with a good Markdown renderer and a browser UI packed in!)
@fribbledom does it work by pooling or by checking filesystem changes?
@fribbledom It would be cool to have something that listen to the filesystem, so it only does pull/push on save
But idk how hard it to make that in go
It's kinda already done, but I hate how shit inotify is 😂
@fribbledom interesting, interesting! Thanks for sharing.
Now I am tempted to knock up a competitor based around inotify... 🤔
Kinda already beat you to it, but I'm not exactly fond of that solution. May or may not push this in a bit.
@fribbledom Ooh thanks, I'll have to check that out!
That would probably be an option, yes.
@fribbledom cool! Was reading through the code. I guess `panic` is the go way to throw errors? I just keep thinking about The Hitchhiker's Guide to the Galaxy. "DON'T PANIC" 😅
Actually, no. There's an error type that you usually pass around and handle accordingly.
panic is the last resort, and I tend to use it during early development of a project, because it also ensures I get a valid backtrace from a bug report.
@fribbledom oooo! definitely saving this for later, looks awesome!
Does it respect .gitignore and .git/info/exclude, or does it just add every file that appears?
Yes, it does respect .gitignore.
@fribbledom How does it handle subfolders, that are git repositories themselfs?
I'll have to set up a test for that, but it should handle it just like git itself:
you can have repositories within other repositories, with the content being part of one or both repositories.
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!