Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on magit.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
#   (find-eev-quick-intro)
#   http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/magit.e>
#           or at <http://angg.twu.net/e/magit.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/.emacs[.html]>,
#                 <http://angg.twu.net/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######



# «.absolute-minimum»		(to "absolute-minimum")
# «.emacsclient»		(to "emacsclient")
# «.with-editor»		(to "with-editor")
# «.with-editor-fix»		(to "with-editor-fix")
# «.magit-deep-dive»		(to "magit-deep-dive")
# «.tkdiff»			(to "tkdiff")
# «.magit-on-eev-2020oct28»	(to "magit-on-eev-2020oct28")
# «.magit-on-eev-2023dec26»	(to "magit-on-eev-2023dec26")
# «.edrxrepl»			(to "edrxrepl")
# «.2020-merging»		(to "2020-merging")
# «.zaiste-video»		(to "zaiste-video")
# «.system-crafters-live»	(to "system-crafters-live")
# «.magit-compat-jan2023»	(to "magit-compat-jan2023")
# «.magit-merge-absorb»		(to "magit-merge-absorb")
# «.merge-dec-2023»		(to "merge-dec-2023")

# (find-angg ".emacs" "magit")





#####
#
# The episode of "Absolute Minimum" about magit
# 2020oct28
#
#####

# «absolute-minimum»  (to ".absolute-minimum")
# http://www.youtube.com/watch?v=NDP91RNgT4A Git in Spacemacs/Emacs with Magit
# (find-youtubedl-links "/sda5/videos/" "Git in Spacemacs_Emacs with Magit" "NDP91RNgT4A" ".webm" "absminmagit")
# (find-youtubedl-links "/sda5/videos/" nil "NDP91RNgT4A" nil "absminmagit")
# (code-video "absminmagitvideo" "/sda5/videos/Git in Spacemacs_Emacs with Magit-NDP91RNgT4A.webm")
# (find-absminmagitvideo)
# (find-absminmagitvideo "0:00")
# (find-absminmagitvideo "0:40" "with the git layer enabled")
# (find-absminmagitvideo "0:51" "space g s -> magit-status")
# (find-absminmagitvideo "0:58" "space g b -> magit-blame")
# (find-absminmagitvideo "1:37" "diff")
# (find-absminmagitvideo "2:05" "let's commit a file")
# (find-absminmagitvideo "2:26" "visual selection")
# (find-absminmagitvideo "5:20" "pull changes")
# (find-absminmagitvideo "5:46" "with a nasty unmerged next to it")
# (find-absminmagitvideo "5:59" "edit this file")
# (find-absminmagitvideo "6:06" "new window called edit")
# (find-absminmagitvideo "6:58" "merge local branches")
# (find-absminmagitvideo "7:10" "git-blame")
# (find-absminmagitvideo "7:28" "stashes")

# (eev-avadj-mode)

# (find-magitnode "Top")
# (find-magitnode "Keystroke Index")





#####
#
# Configuring how magit uses emacsclient
# 2020nov01
#
#####

# «emacsclient»  (to ".emacsclient")
# (find-magitnode "Committing" "Emacsclient")
# (find-magitnode "Editing Commit Messages" "emacsclient")
# (find-magitnode "I am having problems committing" "emacsclient")
# (find-magitnode "git-commit-mode isn't used when committing from the command-line" "EDITOR=emacsclient")
# (find-magitnode "Debugging Tools" "emacsclient")
# (find-magitgrep "grep --color -niH --null -e emacsclient *")
# (find-magitfile "")

* (server-start)
* (getenv "EDITOR")
* (setenv "EDITOR" (ee-expand "~/bigsrc/emacs26/lib-src/emacsclient"))



#####
#
# with-editor
# 2021jan03
#
#####

# «with-editor»  (to ".with-editor")
# https://github.com/magit/with-editor
# https://github.com/magit/with-editor/issues/86 
# (find-node "(with-editor)Top")
# (find-node "(with-editor)Configuring With-Editor" "with-editor-locate-emacsclient")
# (find-node "(with-editor)Debugging")
# (find-epackage-links 'with-editor)
# (find-epackage       'with-editor)
# (code-c-d "witheditor" "~/.emacs.d/elpa/with-editor-20210117.2008/")
# (find-witheditorfile "")
# (find-witheditorfile "with-editor.el" "(defun with-editor-locate-emacsclient ")
# (find-witheditorfile "with-editor.el" "(defun with-editor-debug")
# (find-witheditorfile "with-editor.el" "(defmacro with-editor ")
# (require 'with-editor)
# (load    "with-editor.el")
# (load    "with-editor.elc")
# (with-editor-debug)

# (find-eppp process-environment)
# (find-efunctiondescr 'with-editor)
# (find-efunction      'with-editor)

(with-editor (find-eppp process-environment))
(find-eppp (with-editor process-environment))

# «with-editor-fix»  (to ".with-editor-fix")
# eval-buffer: Loading file /home/edrx/.emacs.d/elpa/with-editor-20210117.2008/with-editor.elc failed to provide feature ‘with-editor’

# (require 'with-editor)
# (load    "with-editor.el")
# (load    "with-editor.elc")






#####
#
# Magit Deep Dive - a talk at the EmacsConf 2019
# 2020dec06
#
#####

# «magit-deep-dive»  (to ".magit-deep-dive")
# https://emacsconf.org/2019/talks/14/
# https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-14-magit-deep-dive--jonathanchu.webm
# (code-video "megitdeepdvideo" "$S/https/mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-14-magit-deep-dive--jonathanchu.webm")
# (find-megitdeepdvideo "0:00")
# (find-megitdeepdvideo "2:53" "main four features")
# (find-megitdeepdvideo "3:40" "command-log-mode")
# (find-megitdeepdvideo "4:30" "g and G refresh")
# (find-megitdeepdvideo "5:20" "?")
# (find-megitdeepdvideo "6:30" "diffing")
# (find-megitdeepdvideo "7:30" "hunk profiling")
# (find-megitdeepdvideo "8:20" "C-c C-t to bring up the history")




#####
#
# How to use tkdiff with magit
# 2020nov03
#
#####

# «tkdiff»  (to ".tkdiff")
# (find-es "git" "gitk-tkdiff")




#####
#
# Using magit to work on the eev repo (2020oct28 version)
# 2020oct28
#
#####

# «magit-on-eev-2020oct28»  (to ".magit-on-eev-2020oct28")
# (find-eev2-links)

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
* (eepitch-shell2)
(TZ=GMT date; date) > ~/eev-current/VERSION

rm -Rfv /tmp/eev-g
mkdir   /tmp/eev-g/
cd      /tmp/eev-g/ && git clone https://github.com/edrx/eev.git .
cd      /tmp/eev-g/
git checkout UTF-8

# (find-gitk "/tmp/eev-g/")

export PAGER=cat
git log --oneline --graph --all -20

# Old versions:
rm -Rfv /tmp/eev-o
mkdir   /tmp/eev-o/
cd      /tmp/eev-o/ && git clone /tmp/eev-g/ .

cd ~/eev-current/ && cp -v $(cd /tmp/eev-g/ && git ls-files) /tmp/eev-g/
cd      /tmp/eev-g/

  # cp -iv ~/eev-current/README-old.md .
  # cp -iv ~/eev-current/eev-helpful.el .
  # mv -iv README.md README-old.md
  # git rm README.md
  # git add README-old.md
  # git add eev-hydras.el
  # git add eev-helpful.el

  # cp -iv ~/eev-current/eev-rstdoc.el .
  # git add eev-rstdoc.el
  # cp -iv ~/eev-current/.dir-locals.el .
  # git add .dir-locals.el

  # git rm eev-pkg.el
  # git commit

git ls-files --modified
git ls-files --modified | my-cmp-tkdiff /tmp/eev-o/ /tmp/eev-g/
# (load "with-editor.el")
# (magit-status "/tmp/eev-g/")
# (find-gitk    "/tmp/eev-g/")

git checkout master
git merge UTF-8
# (magit-status "/tmp/eev-g/")

git checkout UTF-8
git merge UTF-8


# (find-magitnode "Status Buffer")
# (find-magitnode "Staging and Unstaging")
# (find-magitnode "Applying")
# (find-magitnode "Pushing")
#
#   (s)tage all changes
#   (c)ommit -> (c)reate
#   (P)ush -> (p)ushremote
#   https://github.com/edrx/eev

** (find-emacsclient-links)
* (server-start)
export EDITOR=emacsclient

git checkout master
git merge UTF-8
# (find-gitk    "/tmp/eev-g/")
# (magit-status "/tmp/eev-g/")

* (server-stop)

git checkout UTF-8
git merge master
git merge origin/master
#
# (find-gitk "/tmp/eev-g/")

# (find-eev2-links 2 "tar -cvzf /tmp/eev2.tgz")
# (find-efunction 'find-eev2-links "tar -cvzf /tmp/eev2.tgz")

cd /tmp/eev-g/
tar -cvzf /tmp/eev2.tgz $(cd /tmp/eev-g/ && git ls-files)
tar -cvf  /tmp/eev2.tar $(cd /tmp/eev-g/ && git ls-files)
laf       /tmp/eev2.tgz

cp /tmp/eev2.tgz ~/TH/R/eev-current/

eev2-upload
eev2-upload-tar

# Test the tar:
# (find-fline "/tmp/eep/")
rm -Rv /tmp/eep/
mkdir  /tmp/eep/
cd     /tmp/eep/
wget http://angg.twu.net/eev-current/eev2.tar
wget https://elpa.gnu.org/packages/eev-20211101.tar

# (find-eev-install-intro "5.4. `package-install-file'")
# (package-install-file "/tmp/eep/eev2.tar")
# (package-install-file "/tmp/eep/eev-20211101.tar")





#####
#
# magit-on-eev-2023dec26
# 2023dec26
#
#####

# «magit-on-eev-2023dec26»  (to ".magit-on-eev-2023dec26")
# (find-eev2-links)

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# Optional:
(TZ=GMT date; date) > ~/eev-current/VERSION

rm -Rfv /tmp/eev-g
mkdir   /tmp/eev-g/
cd      /tmp/eev-g/ && git clone https://github.com/edrx/eev.git .
cd      /tmp/eev-g/
git checkout UTF-8

# (find-gitk "/tmp/eev-g/")

export PAGER=cat
git log --oneline --graph --all -20

# Old versions:
rm -Rfv /tmp/eev-o
mkdir   /tmp/eev-o/
cd      /tmp/eev-o/ && git clone /tmp/eev-g/ .

cd ~/eev-current/ && cp -v $(cd /tmp/eev-g/ && git ls-files) /tmp/eev-g/
cd      /tmp/eev-g/

git ls-files --modified
git ls-files --modified | my-cmp-tkdiff /tmp/eev-o/ /tmp/eev-g/
# (load "with-editor.el")
# (magit-status "/tmp/eev-g/")
# (find-gitk    "/tmp/eev-g/")

git checkout master
git merge UTF-8
git commit -m "Trying to merge the branches."
git mergetool --tool=emerge
# (magit-status "/tmp/eev-g/")

git checkout UTF-8
git merge master
# (magit-status "/tmp/eev-g/")

git mergetool --tool=tkdiff
git mergetool --tool=emerge

git checkout UTF-8
git checkout master
git merge UTF-8
# (magit-status "/tmp/eev-g/")

git checkout UTF-8
git merge UTF-8




#####
#
# edrxrepl
# 2020nov03
#
#####

# «edrxrepl»  (to ".edrxrepl")
# https://github.com/edrx/edrxrepl
# (find-angg "edrxrepl/edrxrepl.lua")
# (find-angg "edrxrepl/README.org")
# (find-angg "edrxrepl/")

* (server-start)
* (getenv "EDITOR")
* (setenv "EDITOR" (ee-expand "~/bigsrc/emacs26/lib-src/emacsclient"))
* (setenv "EDITOR" (ee-expand "~/bigsrc/emacs27/lib-src/emacsclient"))
*
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rfv /tmp/edrxrepl
mkdir   /tmp/edrxrepl/
cd      /tmp/edrxrepl/ && git clone https://github.com/edrx/edrxrepl .
cd      /tmp/edrxrepl/

export PAGER=cat
git log --oneline --graph --all -20

cd ~/edrxrepl/ && cp -v $(cd /tmp/edrxrepl/ && git ls-files) /tmp/edrxrepl/
cd      /tmp/edrxrepl/

Small changes in the README.

# (find-fline "/tmp/edrxrepl/")
# (magit-status "/tmp/edrxrepl/")
#
#   (s)tage all changes
#   (c)ommit -> (c)reate
#   (P)ush -> (p)ushremote
#   https://github.com/edrx/edrxrepl
#   https://github.com/edrx/edrxrepl#Introduction




#####
#
# 2020-doubt-about-merging
# 2020dec17
#
#####

# «2020-merging»  (to ".2020-merging")
# http://angg.twu.net/eev-videos/2020-doubt-about-merging.mp4
# (find-ssr-links      "merg" "2020-doubt-about-merging")
# (find-eevvideo-links "merg" "2020-doubt-about-merging" nil "0:00")
# (code-video "mergvideo" "$S/http/angg.twu.net/eev-videos/2020-doubt-about-merging.mp4")
# (find-mergvideo "0:00")
# (find-mergvideo "0:33")

# (find-git-intro "(find-gitk ")
# (find-fline   "/tmp/git-test/")
# (find-fline   "/tmp/git-test/repo1/")
# (magit-status "/tmp/git-test/repo1/")
# (find-efunctiondescr 'smerge-mode)
# (find-efunction      'smerge-mode)
# (find-efunctiondescr 'magit-diff-mode)
# (find-efunction      'magit-diff-mode)
# (find-node "(magit)Resolving Conflicts")
# (find-node "(magit)Staging and Unstaging")
# (find-node "(magit)Applying")

# (find-magitfile "magit-commit.el" "(transient-define-prefix magit-commit ")




#####
#
# Emacs Magit - Getting Started - Emacs Doom 18
# 2021aug21
#
#####

# «zaiste-video»  (to ".zaiste-video")
# https://www.youtube.com/watch?v=7ywEgcbaiys
# (find-youtubedl-links "/sda5/videos/" nil "7ywEgcbaiys" nil "sclmagit")
# (find-youtubedl-links "/sda5/videos/" "Emacs_Magit_-_Getting_Started_-_Emacs_Doom_18" "7ywEgcbaiys" ".mkv" "sclmagit")
# (code-video "sclmagitvideo" "/sda5/videos/Emacs_Magit_-_Getting_Started_-_Emacs_Doom_18-7ywEgcbaiys.mkv")
# (find-sclmagitvideo "0:00")




#####
#
# System Crafters Live! - Taking a look at Magit 3.0 - Streaming with Emacs Lisp
# 2021aug21
#
#####

# «system-crafters-live»  (to ".system-crafters-live")
# https://www.youtube.com/watch?v=6X0iDFh83-Y
# (find-youtubedl-links "/sda5/videos/" nil "6X0iDFh83-Y" nil "sclmagit")
# (find-youtubedl-links "/sda5/videos/" "System_Crafters_Live_-_Taking_a_look_at_Magit_3.0_Streaming_with_Emacs_Lisp" "6X0iDFh83-Y" ".mkv" "sclmagit")
# (code-video "sclmagitvideo" "/sda5/videos/System_Crafters_Live_-_Taking_a_look_at_Magit_3.0_Streaming_with_Emacs_Lisp-6X0iDFh83-Y.mkv")
# (find-sclmagitvideo "0:00")



#####
#
# A problem with magit and compat (jan 2023)
# 2023jan22
#
#####

# «magit-compat-jan2023»  (to ".magit-compat-jan2023")
# https://github.com/magit/magit/issues/4852

I use just package.el - I don't use use-package - so what worked for
me was this:

(package-initialize)
(package-refresh-contents)
(package-delete (ee-package-desc 'magit-section))
(package-delete (ee-package-desc 'magit))
(package-install 'magit-section)
(package-install 'magit)

but ee-package-desc is an eev-ism, defined here:
<http://angg.twu.net/eev-current/eev-elinks.el.html#ee-package-desc>...
the translation of the sexps above to a recipe that "normal"
package.el users can use is: delete both magit-section and magit by
hand, and install them again.

Deleting and reinstalling only magit and compat did not work for me,
but deleting and reinstalling magit and magit-section worked... but I
don't know why and I don't have time to discover =(




#####
#
# magit-merge-absorb
# 2023dec23
#
#####

# «magit-merge-absorb»  (to ".magit-merge-absorb")
# (find-efunctiondescr 'magit-merge-absorb)
# (find-efunction      'magit-merge-absorb)
# (find-magitnode "Merging" "magit-merge-absorb")



#####
#
# Problems with merge, dec2023
# 2023dec28
#
#####

# «merge-dec-2023»  (to ".merge-dec-2023")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-fline "/tmp/eev-a/")
rm -Rfv   /tmp/eev-a
mkdir     /tmp/eev-a/
cd        /tmp/eev-a/
git clone /tmp/eev-g/ .

export PAGER=cat
# (find-gitk "/tmp/eev-g/")
git branch
git help branch


rm -Rfv /tmp/eev-g
mkdir   /tmp/eev-g/
cd      /tmp/eev-g/ && git clone https://github.com/edrx/eev.git .
cd      /tmp/eev-g/
git checkout UTF-8

# (find-gitk "/tmp/eev-g/")

git log --oneline --graph --all -20

# Old versions:
rm -Rfv /tmp/eev-o
mkdir   /tmp/eev-o/
cd      /tmp/eev-o/ && git clone /tmp/eev-g/ .

cd ~/eev-current/ && cp -v $(cd /tmp/eev-g/ && git ls-files) /tmp/eev-g/
cd      /tmp/eev-g/

  # cp -iv ~/eev-current/README-old.md .
  # cp -iv ~/eev-current/eev-helpful.el .
  # mv -iv README.md README-old.md
  # git rm README.md
  # git add README-old.md
  # git add eev-hydras.el
  # git add eev-helpful.el

  # cp -iv ~/eev-current/eev-rstdoc.el .
  # git add eev-rstdoc.el
  # cp -iv ~/eev-current/.dir-locals.el .
  # git add .dir-locals.el

  # git rm eev-pkg.el
  # git commit

git ls-files --modified
git ls-files --modified | my-cmp-tkdiff /tmp/eev-o/ /tmp/eev-g/
# (load "with-editor.el")
# (magit-status "/tmp/eev-g/")
# (find-gitk    "/tmp/eev-g/")

git checkout master
git merge UTF-8
# (magit-status "/tmp/eev-g/")

git checkout UTF-8
git merge UTF-8






# https://emacs.stackexchange.com/questions/24030/git-rm-from-magit
# https://github.com/magit/magit/issues/3498 Add "delete" command to magit-file-popup #3498
# (find-magitnode "Running Git Manually" "!")

https://github.com/magit/forge




#  Local Variables:
#  coding:               utf-8-unix
#  End: