Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on fossil.
#
# 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/fossil.e>
#           or at <http://angg.twu.net/e/fossil.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/>.
#
#######




# «.tcl-from-fossil»		(to "tcl-from-fossil")
# «.strace-fossil»		(to "strace-fossil")
# «.inspecting-.fossil»		(to "inspecting-.fossil")
# «.find-fossil-links»		(to "find-fossil-links")
# «.fsl»			(to "fsl")
# «.sd»				(to "sd")
# «.fossil-ui»			(to "fossil-ui")
# «.remember-password»		(to "remember-password")
# «.git-to-fossil-and-back»	(to "git-to-fossil-and-back")
# «.init»			(to "init")
# «.angg-repo-initial»		(to "angg-repo-initial")
# «.angg-repo»			(to "angg-repo")
# «.angg-compile-fossil»	(to "angg-compile-fossil")
# «.autopush»			(to "autopush")
# «.vc-fossil.el»		(to "vc-fossil.el")



https://en.wikipedia.org/wiki/Fossil_(software)

https://www.youtube.com/watch?v=zyGEdOiQkVk
https://fossil-scm.org/home/doc/trunk/www/th1.md

https://www.google.com/url?q=http://fossil-scm.org/home/doc/trunk/www/quickstart.wiki&sa=D&source=hangouts&ust=1580427302732000&usg=AFQjCNF--1cdmwtLMiZMfiUV4ZLfPc91dA
http://fossil-scm.org/home/doc/trunk/www/quickstart.wiki




#####
#
# The fossil repo for Tcl
# 2020jan08
#
#####

# «tcl-from-fossil» (to ".tcl-from-fossil")
# https://wiki.tcl-lang.org/page/Fossil
# https://wiki.tcl-lang.org/page/Getting+Started+With+Working+On+The+Tcl%2FTk+Core

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/
fossil clone http://mirror1.tcl-lang.org/tcl tcl.fossil
fossil pull  http://core.tcl-lang.org/tcl -R tcl.fossil

# (find-fline "~/usrc/tcl/")
rm -Rv ~/usrc/tcl/
mkdir  ~/usrc/tcl/
cd     ~/usrc/tcl/
fossil open ~/usrc/tcl.fossil

(code-c-d "tclsrc" "~/usrc/tcl/")
;; (find-tclsrcfile "")





#####
#
# Straceing fossil to discover which files it uses
# 2020jan08
#
#####

# «strace-fossil» (to ".strace-fossil")
# (find-angg ".zshrc" "strace")
# (find-sh "fossil help")
# (find-sh "fossil help all")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)

alias strace-to='strace -f -etrace=open,stat,fork,_exit,execve,wait4,chdir -o'
alias strace-to='strace -f -etrace=open,stat,fork,execve,wait4,chdir -o'
strace-to /tmp/s fossil all ls

# (find-fline "/tmp/s")




#####
#
# Inspecting the ~/.fossil file
# 2020jan08
#
#####

# «inspecting-.fossil» (to ".inspecting-.fossil")
# (find-sh "file ~/.fossil")
# /home/edrx/.fossil: SQLite 3.x database (Fossil global configuration), last written using SQLite version 3027002

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
laf     ~/.fossil
file    ~/.fossil
sqlite3 ~/.fossil
.help
.tables
select * from global_config;
.dump global_config;
.dump;
.dump *;




#####
#
# find-fossil-links
# 2020jan08
#
#####

# «find-fossil-links» (to ".find-fossil-links")
# (find-angg ".emacs.templates" "find-fossil-links")

# (find-sh "fossil help")
# (find-sh "fossil help clone")
# (find-sh "fossil help pull")
# (find-sh "fossil help all")
# (find-sh "fossil help open")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -fv   ~/usrc/fossil-repos/oorexx-mode.fsl
mkdir -p ~/usrc/fossil-repos/
cd       ~/usrc/fossil-repos/

fossil clone http://fossil.0branch.com/oorexx-mode    oorexx-mode.fsl
fossil pull  http://fossil.0branch.com/oorexx-mode -R oorexx-mode.fsl
fossil all ls

# cd        ~/usrc/oorexx-mode/ && fossil close
# rm -Rfv   ~/usrc/oorexx-mode/
mkdir -p    ~/usrc/oorexx-mode/
cd          ~/usrc/oorexx-mode/
fossil open ~/usrc/fossil-repos/oorexx-mode.fsl

# (code-c-d "oorexxmode" "~/usrc/oorexx-mode/")
# (find-oorexxmodefile "")




#####
#
# fsl
# 2020jan08
#
#####

# «fsl» (to ".fsl")
# http://fossil.0branch.com/fsl
# http://fossil.0branch.com/fsl/home
# http://fossil.0branch.com/fsl/dir?ci=trunk
# http://yfl.bahmanm.com/Members/ttmrichter/yfl-blog/fsl-interceptor-creation

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -fv ~/usrc/fossil-repos/fsl.fsl
mkdir -p ~/usrc/fossil-repos/
cd       ~/usrc/fossil-repos/

fossil clone http://fossil.0branch.com/fsl    fsl.fsl
fossil pull  http://fossil.0branch.com/fsl -R fsl.fsl
fossil all ls

# cd        ~/usrc/fsl/ && fossil close
# rm -Rfv   ~/usrc/fsl/
mkdir -p    ~/usrc/fsl/
cd          ~/usrc/fsl/
fossil open ~/usrc/fossil-repos/fsl.fsl

cp -v ~/usrc/fsl/fsl ~/bin/

fsl
rm -v ~/.fslrc
fsl
# (find-fline "~/.fslrc")

# (code-c-d "fsl" "~/usrc/fsl/")
# (find-fslfile "")






#####
#
# sd
# 2020jan08
#
#####

# «sd» (to ".sd")
# http://fossil.0branch.com/sd

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -fv ~/usrc/fossil-repos/sd.fsl
mkdir -p ~/usrc/fossil-repos/
cd       ~/usrc/fossil-repos/

fossil clone http://fossil.0branch.com/sd    sd.fsl
fossil pull  http://fossil.0branch.com/sd -R sd.fsl
fossil all ls

# cd        ~/usrc/sd/ && fossil close
# rm -Rfv   ~/usrc/sd/
mkdir -p    ~/usrc/sd/
cd          ~/usrc/sd/
fossil open ~/usrc/fossil-repos/sd.fsl

# (code-c-d "sd" "~/usrc/sd/")
# (find-sdfile "")
# (find-sdfile "www/man.md")




#####
#
# fossil-ui
# 2020jan10
#
#####

# «fossil-ui» (to ".fossil-ui")
# (find-sh "fossil help ui")
# (find-eepitch-intro "1.2. Two targets")

* (find-3EE '(eepitch-shell) '(eepitch-shell2))
* (eepitch-shell)
cd ~/usrc/oorexx-mode/
fossil ui
*
* (eepitch-shell2)
ps ax | grep fossil
killall fossil

# Clicking a circle next to the timestamp,
# then a second circle
# gives a diff between two commits



* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/srf/
fossil ui





#####
#
# remember-password
# 2021jan18
#
#####

# «remember-password»  (to ".remember-password")
# (find-status   "fossil")
# (find-vldifile "fossil.list")
# (find-udfile   "fossil/")
# (find-udfile "fossil/README.Debian" "https://www.fossil-scm.org")
# https://www.fossil-scm.org/home/doc/trunk/www/password.wiki




#####
#
# git-to-fossil-and-back
# 2021jan19
#
#####

# «git-to-fossil-and-back»  (to ".git-to-fossil-and-back")
# https://fossil-scm.org/home/doc/trunk/www/inout.wiki
# https://fossil-scm.org/home/doc/aaf8cfa2/www/inout.wiki
# https://www.fossil-scm.org/forum/forumpost/21904efdf6
# https://fossil-scm.org/home/doc/trunk/www/mirrortogithub.md




#####
#
# init
# 2021jan20
#
#####

# «init»  (to ".init")
# https://fossil-scm.org/home/doc/trunk/www/quickstart.wiki
# https://fossil-scm.org/home/help/info
# https://fossil-scm.org/home/help/init
# https://fossil-scm.org/home/help/open
# https://fossil-scm.org/home/help/all

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-fline "/tmp/foss/")
rm -Rv /tmp/foss/
mkdir  /tmp/foss/
cd     /tmp/foss/
fossil all list
fossil init foo.fsl
fossil all list
laf

# (find-fline "/tmp/foss2/")
rm -Rv /tmp/foss2/
mkdir  /tmp/foss2/
cd     /tmp/foss2/
fossil open /tmp/foss/foo.fsl

date > o
fossil add o
fossil commit
(First commit: added o)
.

* (find-3EE '(eepitch-shell) '(eepitch-shell2))
* (eepitch-shell)
* ;; Run "fossil ui" in the upper right window
cd /tmp/foss2/
fossil ui
*
* (eepitch-shell2)
* ;; Run "killall fossil" in the lower right window
ps ax | grep fossil
killall fossil
ps ax | grep fossil

fossil all ls
rm -v /tmp/foss/foo.fsl
fossil all ls

cd /tmp/foss2/
fossil ui
#-> repository does not exist or is in an unreadable directory: /tmp/foss/foo.fsl




#####
#
# angg-repo-initial
# 2021feb04
#
#####

# «angg-repo-initial»  (to ".angg-repo-initial")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
fossil info
fossil info help
fossil all
fossil all help
fossil all list
fossil all ls

laf ~/usrc/fossil-repos/
laf ~/usrc/fossil-repos/anggrepo.fsl

cd /tmp/
fossil help init
rm -v       anggrepo.fsl
fossil init anggrepo.fsl


* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)

cd ~/usrc/fossil-repos/
rm -v       anggrepo.fsl
fossil help init
fossil init anggrepo.fsl

# (find-fline "~/usrc/angg-repo/")
rm -Rv ~/usrc/angg-repo/
mkdir  ~/usrc/angg-repo/
cd     ~/usrc/angg-repo/
fossil help open
fossil open ~/usrc/fossil-repos/anggrepo.fsl

# (find-es "angg" "angg-repo-xargs-test")

cat ~/.files \
  | xargs -L 100 \
  | xargs -d '\n' -I '{}' -- \
      echo cp -av --parents --update '{}' ~/usrc/angg-repo/ \
  > /tmp/o

# (find-fline "/tmp/o")

cd ~/
sh /tmp/o
sh /tmp/o

cd ~/
cp -av --parents --update $(cat ~/.files) ~/usrc/angg-repo/

cd     ~/usrc/angg-repo/
fossil help add
fossil add $(cat ~/.files)

fossil help commit
fossil commit

date
date +'%Y%b%d %k:%M'
date +'%Y%b%d %k:%M' | tr A-Z a-z
fossil commit -m "$(date +'%Y%b%d %k:%M' | tr A-Z a-z)"
fossil --no-warnings commit -m "$(date +'%Y%b%d %k:%M' | tr A-Z a-z)"





#####
#
# angg-repo
# 2021jan20
#
#####

# «angg-repo»  (to ".angg-repo")
# (find-angg "LUA/timestamps.lua" "files-and-timestamps")
# (find-fline "~/.files")
# (find-fline "~/.timestamps")
# (find-fline "~/usrc/angg-repo/")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd     ~/usrc/angg-repo/

cd     ~/
cp -av --parents --update $(cat ~/.files) ~/usrc/angg-repo/

cd     ~/usrc/angg-repo/
fossil add $(cat ~/.files)
fossil commit --no-warnings -m "$(date +'%Y%b%d %k:%M' | tr A-Z a-z)"

fossil help commit

* (find-3EE '(eepitch-shell) '(eepitch-shell2))
* (eepitch-shell)
cd ~/usrc/angg-repo/
fossil ui
*
* (eepitch-shell2)
ps ax | grep fossil
killall fossil






#####
#
# angg-compile-fossil
# 2021feb16
#
#####

# «angg-compile-fossil»  (to ".angg-compile-fossil")
# https://fossil-scm.org/home/uv/download.html
# https://fossil-scm.org/home/uv/fossil-linux-x64-2.15-preview-20210211.tar.gz

* (eepitch-Twu)
* (eepitch-kill)
* (eepitch-Twu)
uname -a
which fossil
fossil

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
tar -xvzf $S/https/fossil-scm.org/home/uv/fossil-linux-x64-2.15-preview-20210211.tar.gz
Scp-np fossil edrx@angg.twu.net:/home/edrx/bin/





# (find-es "angg" "timestamps")
# (find-angg "TH/Makefile" "Makefile.auto")
# (find-angg "TH/Makefile" "dirs")
# (find-node "(coreutils)cp invocation")
# (find-man "1 cp")
# (find-man "1 cp" "-u, --update")
# (find-man "1 cp" "--parents")
# (find-es "cvs" "rsync")


# (find-fline "~/usrc/angg-repo/")
# (find-fline "~/usrc/fossil-repos/")





#####
#
# autopush
# 2021jan21
#
#####

# «autopush»  (to ".autopush")

# https://fossil-scm.org/home/doc/trunk/www/concepts.wiki#workflow
# if you'd rather not push or pull automatically: fossil setting autosync off

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/srf/
fossil merge trunk
fossil ui
fossil commit -m 'merge trunk fix'




#####
#
# vc-fossil.el
# 2023jan25
#
#####

# «vc-fossil.el»  (to ".vc-fossil.el")
# (find-epackage-links 'vc-fossil "vcfossil" t)
# (find-epackages      'vc-fossil)
# (find-epackage       'vc-fossil)
# (code-c-d "vcfossil" "~/.emacs.d/elpa/vc-fossil-20221120.908/")
# (find-vcfossilfile "")

# (find-enode "Version Control")
# (find-enode "VC Change Log")



# http://fossil.0branch.com/oorexx-mode/timeline




- fossil clone http://fossil.0branch.com/oorexx-mode oorexx-mode.fossil





rm -fv ~/usrc/.fslckout






# (find-man "fossil")
# (find-sh "fossil help")
# (find-sh "fossil help clone")

# (find-fline "~/.fossil")

# (find-sh "fossil help close")
fossil close -f

rm -fv  ~/.fossil
ls -lAF ~/.fossil
sqlite  ~/.fossil

rm -Rfv     ~/usrc/oorexx-mode/
mkdir -p    ~/usrc/oorexx-mode/
cd          ~/usrc/oorexx-mode/
fossil open ~/usrc/fossil-repos//fossil-repos/oorexx-mode.fsl





# (find-status   "fossil")
# (find-vldifile "fossil.list")
# (find-udfile   "fossil/")
# (find-man "1 fossil")

http://www.fossil-scm.org/





* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# http://127.0.0.1:8080/



http://fossil-scm.org/home/doc/trunk/www/concepts.wiki#workflow

http://fossil.0branch.com/fsl/home fossil wrapper

<shrysr> does Fossil.. work with Emacs?
<shrysr> apparently.. so
         https://chiselapp.com/user/venks/repository/emacs-fossil/doc/tip/README.md
<wgreenhouse> shrysr: there's a vc-fossil, iirc
<shrysr> ya wgreenhouse interestingly it seems the emacswiki is the
         only place with the info
<shrysr> https://www.emacswiki.org/emacs/fossil
<wgreenhouse> is the vc integration shipped with fossil itself?
<grym> no
<grym> you need https://github.com/venks1/emacs-fossil





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