github.com/driusan/dgit@v0.0.0-20221118233547-f39f0c15edbb/status.txt (about)

     1  These are all the commands listed in the same order as git(1). A number in brackets
     2  before notes means how many options are unimplemented.
     3  
     4  Status:
     5  "None" means the command is not implement. If it's a plumbing command, it means we haven't gotten to it yet. If it's a porcelain command, it might be a while.
     6  "HappyPath" means the happy path should work, but variations probably don't. See notes if applicable.
     7  "Almost" means almost everything should work, but there may be 1 or 2 small bugs. See notes.
     8  "Done" means the command should work the same as Reference git version.
     9  
    10  Main Porcelain Commands:
    11  Command	Status	Reference git version  Notes
    12  -------        ------        ---------------------  -----
    13  add            HappyPath     git 2.9.2              (5) Missing --edit, --interactive, --intent-to-add, --ignore-errors, --ignore-missing, and --no-warn-embedded-repo
    14                                                      (3) Passed to update-index or ls-files, but missing plumbing support: --force, --refresh, --chmod
    15  am             None
    16  archive        HappyPath     git 2.9.2              (3) Missing --worktree-attributes, --remote, --exec options.
    17                                                          Missing options from configuration (tar.umask, tar.<format>.command, tar.<format>.remote).
    18                                                          Missing symlinks support.
    19  branch         HappyPath     git 2.9.2
    20  bisect         None
    21  bundle         None
    22  checkout       Almost        git 2.9.2              (15) Many options are missing,
    23                                                        but all 5 variations in the git-checkout(1) manpage should
    24                                                        work. Other commands might get confused if checkout
    25                                                        gets into a detached head state.
    26  cherry-pick    None          git 2.9.2
    27  clean          None
    28  clone          HappyPath     git 2.9.2
    29  commit         HappyPath     git 2.9.2              (26) Only -a, -m, -F, --allow-empty-message, --allow-empty, --edit, --no-edit, --cleanup, --amend, and --reset-author implemented
    30  describe       None
    31  diff           HappyPath     git 2.9.2              Only "git diff" and "git diff --staged" are implemented
    32  fetch          HappyPath     git 2.9.2
    33  format-patch   None
    34  gc             None
    35  grep           HappyPath     git 2.14.2              (36) Only --untracked, --no-exclude-standard, --line-numbers and -e. Can only specify -e once
    36  gui            None
    37  init           Almost        git 2.9.2              (3) only --quiet and --bare implemented
    38  log            HappyPath     git 2.9.2
    39  merge          HappyPath     git 2.9.2              fast-forward only (read-tree can do a three-way merge, but can't be incorporated into the porcelain until it deals with conflicts)
    40  mv             None
    41  notes          None
    42  pull           None
    43  push           HappyPath     git 2.9.2              must invoke as dgit push Branchname. No options. Https only.
    44  rebase         None
    45  reset          Almost        git 2.9.2              -N not parsed, -p, --merge, and --keep not implemented. 
    46  revert         HappyPath     git 2.14.2	     (6) Sequencer options (--continue/quit/abort) are missing, can only do 1 revert at a time. GPG not implemented. MergeStrategy not implemented. --signoff passed to commit, but commit doesn't implement.
    47  rm             Done          git 2.14.2             All options are implemented, but many tests are failing (possibly mostly seemingly due to options missing from other commands used in test such as git submodule.)
    48  shortlog       None
    49  show           HappyPath     git 2.18.0             only commits (no special merge commit format), only --pretty=raw and standard
    50  stash          None
    51  status         HappyPath     git 2.14.2              (6.5) missing --show-stash, --porcelain=2, -v, -v -v, --ignore-submodules, --ignored, --column/--no-column
    52  submodule      None
    53  tag            None
    54  worktree       None
    55  
    56  Ancilliary Porcelain  Commands (other than reflog, these are low priority):
    57  Command	Status	Reference git version  Notes
    58  -------        ------        ---------------------  -----
    59  config         HappyPath     git 2.9.2
    60  fast-export    None
    61  fast-import    None
    62  filter-branch  None
    63  mergetool      None
    64  pack-refs      None
    65  prune          None
    66  reflog         None
    67  relink         None
    68  remote         None
    69  repack         None
    70  replace        None
    71  
    72  Interrogator Porcelain Commands (other than RevParse, these are low priority):
    73  Command	Status	Reference git version  Notes
    74  -------        ------        ---------------------  -----
    75  annotate       None
    76  blame          None
    77  cherry         None
    78  count-objects  None
    79  difftool       None
    80  fsck           None
    81  get-tar-commit-id None
    82  help           None
    83  instaweb       None
    84  merge-tree     None
    85  rerere         None
    86  rev-parse      HappyPath     git 2.9.2
    87  show-branch    None
    88  verify-commit  None
    89  verify-tag     None
    90  whatchanged    None
    91  
    92  Interacting With Others Porcelain Commands (these will likely never be implemented)
    93  Command	Status	Reference git version  Notes
    94  -------        ------        ---------------------  -----
    95  archimport     None
    96  cvsexportcommit None
    97  cvsimport      None
    98  cvsserver      None
    99  imap-send      None
   100  p4             None
   101  quiltimport    None
   102  request-pull   None
   103  send-email     None
   104  svn            None
   105  
   106  Manipulation Plumbing Commands (These are the highest priority now, other than the tag and pack ones):
   107  Where there is a (n) in front of the notes, it means the number of options missing
   108  Command	Status	Reference git version  Notes
   109  -------        ------        ---------------------  -----
   110  apply          HappyPath     git 2.14.2             (25) only --reverse and --cached, doesn't restrict to current directory.
   111  checkout-index Done          git 2.9.2
   112  commit-tree    Almost        git 2.9.2              (1) missing -s to sign commits
   113  hash-object    Almost        git 2.9.2              (2) --literally and --no-filters are implied
   114  index-pack     Almost        git 2.9.2              (7) -v, -o, and --stdin are implemented. Most of the other options are for internal use by git (but --fix-thin is probably a good idea to add.) 
   115  merge-file     None                                 (11)
   116  merge-index    None                                 (3) It's not clear how this is useful
   117  mktag          Done          git 2.17.2
   118  mktree         None                                 (1)
   119  pack-objects   HappyPath     git 2.9.2              (18) No options are implemented
   120  prune-packed   None                                 (3)
   121  read-tree      Almost        git 2.9.2              (3) missing -i, --trivial, --aggressive
   122  symbolic-ref   Done          git 2.9.2
   123  unpack-objects Almost        git 2.9.2              (3) Dryrun, strict, and max-input-size options are missing
   124  update-index   HappyPath     git 2.14.2             (22) Only --add, --remove, --force-remove, --refresh, --no-skip-worktree --skip-worktree, and --verbose are implemented
   125  update-ref     Almost        git 2.9.2              (2) missing -d(elete), and --stdin/-z
   126  write-tree     Done          git 2.9.2
   127  
   128  Interrogation Plumbing Commands (These are second highest priority now)
   129  Command	Status	Reference git version  Notes
   130  -------        ------        ---------------------  -----
   131  cat-file       HappyPath     git 2.9.2              (10) only -p, -t, and -s are implemented
   132  diff-files     HappyPath     git 2.9.2              (~53) no options, but basic behaviour should match real git.
   133  diff-index     HappyPath     git 2.9.2              (53) no options, but basic behaviour should match real git.
   134  diff-tree      HappyPath     git 2.9.2              (~53) Only -r option is implemented
   135  for-each-ref   None
   136  ls-files       HappyPath     git 2.9.2              (11) Missing -z, --with-tree, -t, -v, -f, --full-name, --recurse-submodules, --abbrev, --debug, --eol
   137  ls-remote      None
   138  ls-tree        HappyPath     git 2.9.2              failing official test suite (t3100-t3103)
   139  merge-base     HappyPath     git 2.9.2              only --octopus and --is-ancestor options
   140  name-rev       None
   141  pack-redundant None
   142  rev-list       HappyPath     git 2.9.2
   143  show-index     None
   144  show-ref       None
   145  unpack-file    None
   146  var            Done          git 2.17.2
   147  verify-pack    None
   148  
   149  Syncing Repo Plumbing Commands (the work for fetch-pack and send-pack --stateless-rpc is done, but not implemented as a standalone command. The rest are low priority)
   150  Command	Status	Reference git version  Notes
   151  -------        ------        ---------------------  -----
   152  daemon         None
   153  fetch-pack     None
   154  http-backend   None
   155  send-pack      None
   156  update-server-info None
   157  
   158  Internal Helper Commands (these will probably never be implemented, but are listed for completeness)
   159  Command	Status	Reference git version  Notes
   160  -------        ------        ---------------------  -----
   161  check-attr     None
   162  check-ignore   None
   163  check-mailmap  None
   164  check-ref-format None
   165  column         None
   166  credential     None
   167  credential-cache None
   168  credential-store None
   169  fmt-merge-msg  None
   170  interpret-trailers None
   171  mailinfo       None
   172  mailsplit      None
   173  merge-one-file None
   174  patch-id       None
   175  sh-i18n        None
   176  sh-setup       None
   177  stripspace     None