Skip to content

Instantly share code, notes, and snippets.

@tef
Created April 26, 2018 02:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tef/83969285065d1dffd1893e6b07419a8e to your computer and use it in GitHub Desktop.
Save tef/83969285065d1dffd1893e6b07419a8e to your computer and use it in GitHub Desktop.
sycamore:demo tef$ vex help
Name: vex -- a database for files
Usage: vex [help] <init|undo|redo|status|log|diff|...> [--help]
Description: vex is a command line program for saving changes to a project, switching
between different versions, and sharing those changes.
vex supports bash completion: run `complete -o nospace -C vex vex`
Commands:
init create a new vex project
undo undo the last command
redo redo last undone command
status list the files being tracked by vex
log list changes to project
diff show the differences between two parts of a project
add add files to the project
forget remove files from the project, without deleting them
switch change which directory (inside the project) is worked on
ignore add ignored files
include add include files
fileprops get/set properties on files
prepare save current working copy to prepare for commit
commit save the working copy and add an entry to the project changes
amend replace the last commit with the current changes in the project
branch open/create branch
branches list branches
debug internal: run a command without capturing exceptions, or repairing errors
git interact with a git repository
sycamore:demo tef$ vex help init
Name: vex init -- create a new vex project
Usage: vex init [--working=<working>] [--config=<config>] [--prefix=<prefix>]
[--include=<include>...] [--ignore=<ignore>...] [<directory>]
Options:
--working Working directory, where files are edited/changed
--config Normally /working_dir/.vex if not given
--prefix Subdirectory to check out of the repository, normally the working directory name
--include files to include whe using vex add, can be passed multiple times
--ignore files to ignore when using vex add, can be passed multiple times
Description: Create a new vex project in a given directory.
- If no directory given, it is assumed to be the current directory. - Inside that directory,
a `.vex` directory is created to store the project history. - An initial empty commit is added.
- The subtree checkout defaults to `/directory_name`. i.e a `vex init` in `/a/b` creates a `/a/b/.vex` directory, an empty
commit, and checks out `/b` in the repo, into `/a/b` on the filesystem.`
If you make a mistake, `vex undo` will undo the initial commit, but not remove the `.vex` directory.
`init` takes multiple `--include=<file>` and `--ignore=<file>` arguments,
defaulting to `--include='*' --ignore='.vex' --ignore='.*'`
`--include`, `--ignore`, can be passed multiple times, and work the same as
`vex include 'pattern'` and `vex ignore 'pattern'`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment