]> git.cworth.org Git - nogit/log
nogit
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.