~ruther/emacs.d

484708ac1665b955bf5ceaf2f783921c663a8883 — Rutherther 3 months ago 85c54a0
fix: on Android, do not exceed process limit
2 files changed, 30 insertions(+), 0 deletions(-)

M lisp/android-setup.el
A scripts/android-repair-git
M lisp/android-setup.el => lisp/android-setup.el +2 -0
@@ 10,6 10,8 @@

  (customize-set-variable 'touch-screen-display-keyboard t)

  (setq elpaca-queue-limit 3)

  (with-eval-after-load 'evil
    (evil-define-key nil evil-normal-state-map
      [mouse-1] 'mouse-set-point

A scripts/android-repair-git => scripts/android-repair-git +28 -0
@@ 0,0 1,28 @@
#!/usr/bin/env bash

# On Android, I have this issue... When too many repos are being
# cloned, it fails. Then I have to go over them one by one and either
# remove them or checkout the main branch after fetching. So this is a
# possible workaround. In the future, elpaca-queue-limit should take
# care of this on new devices I will use.

checkout()
{
  if git show-ref --verify --quiet refs/remotes/origin/main; then
    git checkout -b main origin/main
  elif git show-ref --verify --quiet refs/remotes/origin/master; then
    git checkout -b master origin/master
  else
    echo "ERROR: No main or master branch found in $repo" >&2
  fi
}

for repo in ~/.emacs.d/stateful/elpaca/repos/*; do
    count=$(ls "$repo" | wc -l)

    if [[ $count -eq 0 ]]; then
      echo "Found, $repo"

      (cd "$repo" && git fetch --all && checkout)
    fi
done