Blob


1 # vc-got
3 This is an **experimental** Emacs VC back-end for the [Game of
4 Tree](http://gameoftrees.org/) version control system.
6 Use it at your own risk.
8 ------
10 To start using it, you need to add `Got` to `vc-handled-backends` and
11 make sure that `vc-got` is within your `load-path`. You shouldn't
12 require the library.
14 ```emacs-lisp
15 (add-to-list 'vc-handled-backends 'Got)
16 ```
18 It's highly recommended to add `".got"` to the list of
19 `vc-directory-exclusion-list`.
21 ```emacs-lisp
22 (add-to-list 'vc-directory-exclusion-list ".got")
23 ```
25 With `use-package` something like this should be enough:
27 ```emacs-lisp
28 (use-package vc-got
29 :load-path "/path/to/vc-got/"
30 :defer t
31 :init
32 (add-to-list 'vc-handled-backends 'Got)
33 (add-to-list 'vc-directory-exclusion-list ".got"))
34 ```
36 ### vc-got-stage-mode
38 `vc-got-stage-mode` is a minor mode to stage individual changes
39 (currently you can't commit the staged changes).
41 The Emacs VC system usually operates at a *fileset* level: i.e. it can
42 commit/rollback/etc sets of file. Yet, sometimes you may want to
43 commit only individual changes (eventually from multiple files), and
44 VC doesn't support this. This is the motivation behind
45 `vc-got-stage-mode`.
47 The following keys are enabled by `vc-got-stage-mode`:
49 | key | description |
50 |--------------------|------------------------------------------------|
51 | <kbd>C-c g A</kbd> | Applies (i.e. stage in got) the marked changes |
52 | <kbd>C-c g b</kbd> | Go to beginning of change |
53 | <kbd>C-c g e</kbd> | Go to end of change |
54 | <kbd>C-c g n</kbd> | Go to next change |
55 | <kbd>C-c g p</kbd> | Go to previous change |
56 | <kbd>C-c g t</kbd> | Toggle mark |
58 A change is a set of sequential line added/removed by the diff, it is
59 a smaller unit than a *hunk*.
61 The staged changes are indicated by an arrow in the left fringe.