]> git.cworth.org Git - nogit/commitdiff
Add a simple README for nogit
authorCarl Worth <cworth@cworth.org>
Sat, 4 Jul 2020 22:19:09 +0000 (15:19 -0700)
committerCarl Worth <cworth@cworth.org>
Sat, 4 Jul 2020 22:19:09 +0000 (15:19 -0700)
This provides the motivation for nogit. It doesn't yet describe the
implementation or how to use it, but that's only because the
implementation doesn't exist yet, so we'll have to bring that into
existence before we can describe it.

README [new file with mode: 0644]

diff --git a/README b/README
new file mode 100644 (file)
index 0000000..29624ed
--- /dev/null
+++ b/README
@@ -0,0 +1,37 @@
+nogit: Using git to track files without using git
+
+Summary
+=======
+Let's see, nogit is a very simple tool that uses git under the hood to
+allow for collaboration on files, but without requiring the the
+collaborators to invoke git commands. Any time a user might invoke
+"git commit", or "git push", or "git pull", etc. the user instead just
+invokes "nogit sync". And the user will not be prompted to fill out a
+commit message or to resolve conflicts, etc.
+
+Motivation
+==========
+
+I originally came up with nogit when I started maintaining a simple
+TODO file for a project which had a code implementation split across
+multiple code repositories. I was intentionally keeping my TODO file
+outside of revision control to be lightweight in a couple of ways:
+
+  1. Many TODO items required implementing a feature in multiple
+     repositories (both client and server, say), so having a separate
+     TODO file meant I didn't need to decide which repository to add
+     the TODO file to. And I also didn't need to add the same entriy
+     to TODO files in each of multiple repositories.
+
+  2. TODO items are self-descriptive. Any commit message I might have
+     written when adding a TODO item would be adequate as "Add <item>"
+     and similarly for "Remove <item>" so there's inherently no
+     advantage to commit messages for these changes.
+
+Of course, a significant disadvantage of my approach was that my TODO
+file was totally private. I was missing out on the collaborative
+features that git provides.
+
+So, nogit was conceived of as a way to keep my lightweight process of
+maintaining the TODO file, (simply editing the file and doing nothing
+more), while also allowing for distributed editing of the file.