aboutsummaryrefslogtreecommitdiffstats
path: root/COMPATIBILITY.md
blob: e9907428cce1e3b72cc04bfe90af03b9dc220cd3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Supported Features
==================

Here is a non-comprehensive table of git commands and features whose equivalent
is supported by go-git.

| Feature | Supported | Notes |
|---------|-----------|-------|
| **config** ||
| config | ✔ | Reading and modifying per-repository configuration (`.git/config`) is supported. Global configuration (`$HOME/.gitconfig`) is not. |
| **getting and creating repositories** ||
| init | ✔ | Plain init and `--bare` are supported. Flags `--template`, `--separate-git-dir` and `--shared` are not. |
| clone | ✔ | Plain clone and equivalents to `--progress`,  `--single-branch`, `--depth`, `--origin`, `--recurse-submodules` are supported. Others are not. | 
| **basic snapshotting** ||
| add | ✔ |
| status | ✔ |
| commit | ✔ |
| reset | ✔ |
| rm | ✖ |
| mv | ✖ |
| **branching and merging** ||
| branch | ✔ |
| checkout | ✔ |
| merge | ✖ |
| mergetool | ✖ |
| stash | ✖ |
| tag | ✔ |
| **sharing and updating projects** ||
| fetch | ✔ |
| pull | ✔ |
| push | ✔ |
| remote | ✔ |
| submodule | ✔ |
| **inspection and comparison** ||
| show | ✔ |
| log | ✔ |
| shortlog | (see log) |
| describe | |
| **patching** ||
| apply | ✖ |
| cherry-pick | ✖ |
| diff | ✖ |
| rebase | ✖ |
| revert | ✖ |
| **debugging** ||
| bisect | ✖ |
| blame | ✔ |
| grep | ✖ |
| **email** ||
| am | ✖ |
| apply | ✖ |
| format-patch | ✖ |
| send-email | ✖ |
| request-pull | ✖ |
| **external systems** ||
| svn | ✖ |
| fast-import | ✖ |
| **administration** ||
| clean | ✖ |
| gc | ✖ |
| fsck | ✖ |
| reflog | ✖ |
| filter-branch | ✖ |
| instaweb | ✖ |
| archive | ✖ |
| bundle | ✖ |
| prune | ✖ |
| repack | ✖ |
| **server admin** ||
| daemon | |
| update-server-info | |
| **advanced** ||
| notes | ✖ |
| replace | ✖ |
| worktree | ✖ |
| annotate | (see blame) |
| **gpg** ||
| git-verify-commit | ✖ |
| git-verify-tag | ✖ |
| **plumbing commands** ||
| cat-file | ✔ |
| check-ignore | |
| commit-tree | |
| count-objects | |
| diff-index | |
| for-each-ref | ✔ |
| hash-object | ✔ |
| ls-files | ✔ |
| merge-base | |
| read-tree | |
| rev-list | ✔ |
| rev-parse | |
| show-ref | ✔ |
| symbolic-ref | ✔ |
| update-index | |
| update-ref | |
| verify-pack | |
| write-tree | |
| **protocols** | |
| http(s):// (dumb) | ✖ |
| http(s):// (smart) | ✔ |
| git:// | ✔ |
| ssh:// | ✔ |
| file:// | ✔ |
| custom | ✔ |
| **other features** ||
| gitignore | ✖ |
| gitattributes | ✖ |
| index version | |
| packfile version | |
| push-certs | ✖ |