GNU ELPA - vc-got

vc-got

Description
VC backend for Game of Trees VCS
Latest
vc-got-1.0.tar, 2021-Sep-09, 80.0 KiB
Maintainer
Omar Polo <op@omarpolo.com>
Home page
https://git.omarpolo.com/vc-got/
Browse ELPA's repository
CGit or Gitweb
Badge

To install this package, run in Emacs:

M-x package-install RET vc-got RET

Full description

This file contains a VC backend for the Game of Trees (got) version
control system.

Backend implementation status

Function marked with `*' are required, those with `-' are optional.

FUNCTION NAME                        STATUS

BACKEND PROPERTIES:
* revision-granularity               DONE
- update-on-retrieve-tag             XXX: what should this do?

STATE-QUERYING FUNCTIONS:
* registered                         DONE
* state                              DONE
- dir-status-files                   DONE
- dir-extra-headers                  DONE
- dir-printer                        DONE
- status-fileinfo-extra              NOT IMPLEMENTED
* working-revision                   DONE
* checkout-model                     DONE
- mode-line-string                   DONE

STATE-CHANGING FUNCTIONS:
* create-repo                        NOT IMPLEMENTED
     I don't think got init does what this function is supposed to
     do.
* register                           DONE
- responsible-p                      DONE
- receive-file                       NOT NEEDED, default `register' is fine
- unregister                         DONE
* checkin                            DONE
* find-revision                      DONE
* checkout                           NOT IMPLEMENTED
     I'm not sure how to properly implement this.  Does filling
     FILE with the find-revision do the trick?  Or use got update?
* revert                             DONE
- merge-file                         NOT IMPLEMENTED
- merge-branch                       DONE
- merge-news                         NOT IMPLEMENTED
- pull                               DONE
- push                               DONE
- steal-lock                         NOT NEEDED, `got' is not using locks
- modify-change-comment              NOT IMPLEMENTED
     can be implemented via histedit, if I understood correctly
     what it is supposed to do.
- mark-resolved                      NOT NEEDED
     got notice by itself when a file doesn't have any pending
     conflicts to be resolved.
- find-admin-dir                     NOT NEEDED

HISTORY FUNCTIONS
* print-log                          DONE
* log-outgoing                       DONE
* log-incoming                       DONE
- log-search                         DONE
- log-view-mode                      DONE
- show-log-entry                     NOT IMPLEMENTED
- comment-history                    NOT IMPLEMENTED
- update-changelog                   NOT IMPLEMENTED
* diff                               DONE
- revision-completion-table          DONE
- annotate-command                   DONE
- annotate-time                      DONE
- annotate-current-time              NOT NEEDED
     the default time handling is enough.
- annotate-extract-revision-at-line  DONE
- region-history                     NOT IMPLEMENTED
- region-history-mode                NOT IMPLEMENTED
- mergebase                          NOT IMPLEMENTED

TAG SYSTEM
- create-tag                         DONE
- retrieve-tag                       DONE

MISCELLANEOUS                        NOT IMPLEMENTED
- make-version-backups-p             NOT NEEDED, `got' works fine locally
- root                               DONE
- ignore                             NOT NEEDED, the default action is good
- ignore-completion-table            NOT NEEDED, the default action is good
- find-ignore-file                   DONE
- previous-revision                  DONE
- next-revision                      DONE
- log-edit-mode                      NOT IMPLEMENTED
- check-headers                      NOT NEEDED, `got' does not use headers
- delete-file                        DONE
- rename-file                        NOT IMPLEMENTED
- find-file-hook                     DONE
- extra-menu                         NOT IMPLEMENTED
- extra-dir-menu                     NOT IMPLEMENTED, same as above
- conflicted-files                   DONE
- repository-url                     DONE

TODO: vc-git has most function that starts with:

   (let* ((root (vc-git-root default-directory))
          (buffer (format "*vc-git : %s*" (expand-file-name root)))
          ...)
     ...)

we should 1) investigate if also other backends do something like
this (or if there is a better way) and 2) try to do the same.