1 nogit: Using git to track files without using git
5 Let's see, nogit is a very simple tool that uses git under the hood to
6 allow for collaboration on files, but without requiring the the
7 collaborators to invoke git commands. Any time a user might invoke
8 "git commit", or "git push", or "git pull", etc. the user instead just
9 invokes "nogit sync". And the user will not be prompted to fill out a
10 commit message or to resolve conflicts, etc.
15 I originally came up with nogit when I started maintaining a simple
16 TODO file for a project which had a code implementation split across
17 multiple code repositories. I was intentionally keeping my TODO file
18 outside of revision control to be lightweight in a couple of ways:
20 1. Many TODO items required implementing a feature in multiple
21 repositories (both client and server, say), so having a separate
22 TODO file meant I didn't need to decide which repository to add
23 the TODO file to. And I also didn't need to add the same entriy
24 to TODO files in each of multiple repositories.
26 2. TODO items are self-descriptive. Any commit message I might have
27 written when adding a TODO item would be adequate as "Add <item>"
28 and similarly for "Remove <item>" so there's inherently no
29 advantage to commit messages for these changes.
31 Of course, a significant disadvantage of my approach was that my TODO
32 file was totally private. I was missing out on the collaborative
33 features that git provides.
35 So, nogit was conceived of as a way to keep my lightweight process of
36 maintaining the TODO file, (simply editing the file and doing nothing
37 more), while also allowing for distributed editing of the file.