]> git.cworth.org Git - nogit/log
nogit
3 years agoFix an accidental case of a ".nogit" literal
Carl Worth [Sun, 5 Jul 2020 18:10:15 +0000 (11:10 -0700)]
Fix an accidental case of a ".nogit" literal

We have the NOGIT_DIR variable to hold the ".nogit" string. Repeating
the string in the error message here set up some fragility if the
variable's value were ever to change in the future.

3 years agoAdd a NOGIT_DIR_TMP variable
Carl Worth [Sun, 5 Jul 2020 18:09:08 +0000 (11:09 -0700)]
Add a NOGIT_DIR_TMP variable

Rather than repeating the "-tmp" literally throughout the code.

3 years agoUse consistent indentation for case statement
Carl Worth [Sun, 5 Jul 2020 18:07:49 +0000 (11:07 -0700)]
Use consistent indentation for case statement

I would actually prefer the ';;' to be out to the left, (to make it
more clear if these were ever missing), but emacs wants to indent this
and I'm not going to fight it here.

3 years agoREADME: Augment the tagline just a bit
Carl Worth [Sun, 5 Jul 2020 06:58:29 +0000 (23:58 -0700)]
README: Augment the tagline just a bit

To make it a little more clear that nogit uses git but the user of
nogit won't be interacting with git directly.

3 years agoREADME: Expand on the documentation for nogit
Carl Worth [Sun, 5 Jul 2020 06:56:18 +0000 (23:56 -0700)]
README: Expand on the documentation for nogit

Providing more details on how to get setup with an existing
nogit-tracked repository or even how to create a new one.

3 years agoProvide a simple implementation of "nogit sync"
Carl Worth [Sun, 5 Jul 2020 05:58:25 +0000 (22:58 -0700)]
Provide a simple implementation of "nogit sync"

There's one piece of this that requires a cooperating
repository. Specifically, nogit really wants a merge with no input
required from the user. The "union" merge driver does what we want
here, (putting lines from both sides into the files without conflict
markers). The only trick is that there's no way (that I've found at
least) to request this merge driver from the command line of the "git
merge" invocation. Instead, we need a .gitattributes file to specify
"merge=union".

So, for now, we're relying on the repository being used with nogit to
provide a working .gitattributes file that specifies "merge=union" for
all appropriate paths.

3 years agoImplement "nogit clone"
Carl Worth [Sun, 5 Jul 2020 05:44:09 +0000 (22:44 -0700)]
Implement "nogit clone"

This is logically just a git clone with the following two differences:

  1. It works in the current directory instead of making a new directory

  2. It puts its object store into .nogit instead of .git, (and it's just
     fine if there's already a .git here).

There are safety checks and it will refuse to clone in either of the
following cases:

  1. There is already a .nogit directory present

  2. Any of the working-tree files to be cloned already exist

3 years agoAdd a nogit command-line utility
Carl Worth [Sun, 5 Jul 2020 05:09:21 +0000 (22:09 -0700)]
Add a nogit command-line utility

This captures the structure of the two basic commands:

nogit clone <URL>
        nogit sync

Along with "nogit help" for help on the above.

There's no implementation for either command yet. Just the
documentation so far.

3 years agoAdd a simple README for nogit
Carl Worth [Sat, 4 Jul 2020 22:19:09 +0000 (15:19 -0700)]
Add a simple README for nogit

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.