File: README.org

package info (click to toggle)
git-auto-commit-mode 4.7.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 136 kB
  • sloc: lisp: 284; makefile: 2
file content (116 lines) | stat: -rw-r--r-- 4,178 bytes parent folder | download | duplicates (2)
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
112
113
114
115
116
#+TITLE: git-auto-commit-mode
#+STARTUP: showall

* NAME

  git-auto-commit-mode - Emacs minor mode to automatically commit (and
  push) a git repository.

  [[http://melpa.org/#/git-auto-commit-mode][file:http://melpa.org/packages/git-auto-commit-mode-badge.svg]]
  [[http://stable.melpa.org/#/git-auto-commit-mode][file:http://stable.melpa.org/packages/git-auto-commit-mode-badge.svg]]

* SYNOPSIS

  =M-x git-auto-commit-mode <RET>=

* DESCRIPTION

  git-auto-commit-mode is an Emacs minor mode that tries to commit
  changes to a file after every save.

  The commit message sent to git is always the filename of the file
  saved, relative to the root of the git repository.

* USAGE

  When enabled, git-auto-commit-mode uses the =after-save-hook= to
  commit changes to git each time. If =gac-automatically-push-p= is
  non-nil it also tries to push the ~HEAD~ to the current upstream.
  Making sure that upstream is properly set is the responsibility of
  the user.

** Enabling

   Since git-auto-commit-mode is a regular minor mode you have more
   than one option to enable it.

*** As a file-local variable

    If you're using Emacs 24 or newer you should set an =eval=
    file-local variable:
    #+BEGIN_EXAMPLE
      ;; -*- eval: (git-auto-commit-mode 1) -*-
    #+END_EXAMPLE

    If you're using an older version of Emacs, that should be:
    #+BEGIN_EXAMPLE
      ;; -*- mode: git-auto-commit -*-
    #+END_EXAMPLE

*** As a directory-local variable

    Create a ~.dir-locals.el~ file in the directory where you want
    git-auto-commit-mode to be enabled. This will also apply to any
    subdirectories, so be careful. For more information see the [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html#Directory-Variables][Per-Directory
    Local Variables]] section in the Emacs manual. Then put one of the following
    snippets of code in there:

    If you're using Emacs 24 or newer you should set an =eval= variable:
    #+BEGIN_EXAMPLE
      ((nil . ((eval git-auto-commit-mode 1))))
    #+END_EXAMPLE

    If you're using an older version of Emacs, that should be:
    #+BEGIN_EXAMPLE
      ((nil . ((mode . git-auto-commit))))
    #+END_EXAMPLE

*** As a hook

    To enable git-auto-commit-mode each time a ~certain-hook~ runs:
    #+BEGIN_EXAMPLE
      (add-hook 'certain-hook 'git-auto-commit-mode)
    #+END_EXAMPLE

* CUSTOMIZATION

  git-auto-commit-mode is a simple mode, as such it offers little
  customization.

  - =gac-automatically-push-p= ::
    A boolean value indicating whether or not git-auto-commit-mode should try to
    push the git repository's ~HEAD~ to its default upstream. Setting up the
    upstream is the user's responsibility.

  - =gac-automatically-add-new-files-p= ::
    A boolean value indicating whether or not git-auto-commit-mode should add
    new (untracked) files to the repository.

  - =gac-ask-for-summary-p= ::
    A boolean value indicating whether or not git-auto-commit-mode should ask
    the user for a commit message every time a commit is made. *Note*: Since the
    summary is asked for before the commit, but /after/ the file has been saved,
    pressing ~C-g~ while entering the Summary will stop the commit from being
    made, but not the file from being saved.

  - =gac-shell-and= ::
    A string that can be used to change how the shell combines commands. The
    default " && " is good for bash-like shells, but " ; and " would be used for
    fish, for example.

  - =gac-debounce-interval= ::
    A number specifying a buffer between automatic commits in seconds. Wait with
    making an actual commit until this number of seconds elapses.

  - =gac-add-additional-flag= ::
    A string that can be used to add additional command line flags to the ~git
    add~ command.

  - =gac-commit-additional-flag= ::
    A string that can be used to add additional command line flags to the ~git
    commit~ command.

  - =gac-silent-message-p= ::
    A boolean value indicating whether to display the commit summary message,
    which is usually displayed in the minibuffer. The default is ~nil~, meaning
    that the summary would be displayed on every commit.