fix: git add unstaged files before committing

This commit is contained in:
Yukun Guo
2020-12-20 22:08:02 +08:00
committed by Tienson Qin
parent 84dd5eb233
commit a1ff34f4b1
3 changed files with 33 additions and 4 deletions

View File

@@ -106,6 +106,31 @@
email
parent))))
(defn add-all
"Equivalent to `git add --all`. Returns changed files."
[repo-url]
(p/let [repo-dir (util/get-repo-dir repo-url)
status-matrix (js/window.workerThread.statusMatrixChanged repo-dir)
changed-files (for [[file head work-dir _stage] status-matrix
:when (not= head work-dir)]
file)
unstaged-files (for [[file _head work-dir stage] status-matrix
:when (not= work-dir stage)]
file)
_ (p/all (for [file unstaged-files]
(add repo-url file)))]
changed-files))
(defn commit-non-empty
"Equivalent to `git add --all` and then `git commit` without `--allow-empty`."
([repo-url message]
(commit-non-empty repo-url message nil))
([repo-url message parent]
(p/let [changed-files (add-all repo-url)]
(if (not-empty changed-files)
(commit repo-url message parent)
(p/resolved nil)))))
(defn read-commit
[repo-url oid]
(js/window.workerThread.readCommit (util/get-repo-dir repo-url)

View File

@@ -139,8 +139,8 @@
file-exists? (fs/create-if-not-exists repo-url repo-dir file-path content)]
(when-not file-exists?
(file-handler/reset-file! repo-url path content)
(ui-handler/re-render-root!))
(git-handler/git-add repo-url path))))))
(ui-handler/re-render-root!)
(git-handler/git-add repo-url path)))))))
(defn create-today-journal!
[]
@@ -427,7 +427,7 @@
(state/input-idle? repo-url)
(or (not= status :pushing)
custom-commit?))
(-> (p/let [files (js/window.workerThread.getChangedFiles (util/get-repo-dir (state/get-current-repo)))]
(-> (p/let [files (git/add-all (state/get-current-repo))]
(when (or (seq files) merge-push-no-diff?)
;; auto commit if there are any un-committed changes
(let [commit-message (if (string/blank? commit-message)