whitespace woes

This commit is contained in:
reaction.la 2022-05-23 14:05:10 +10:00
parent 5c0c8a2a67
commit da88ce597f
No known key found for this signature in database
GPG Key ID: 99914792148C8388
11 changed files with 48 additions and 52 deletions

1
.gitattributes vendored
View File

@ -5,6 +5,7 @@
# Force the following filetypes to have unix eols and encoding, so that Windows does not break them. # Force the following filetypes to have unix eols and encoding, so that Windows does not break them.
# If a file is going to be used on linux and windows, we want it invariant, # If a file is going to be used on linux and windows, we want it invariant,
# rather than automatically translated, because automatic translation always screw things up. # rather than automatically translated, because automatic translation always screw things up.
* text=auto eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4
.gitignore text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4 .gitignore text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4
.gitattributes text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4 .gitattributes text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4
.gitmodules text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4 .gitmodules text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4

View File

@ -1,7 +1,7 @@
[core] [core]
autocrlf = input autocrlf = input
whitespace = -tab-in-indent,tabwidth=4,indent-with-non-tab,trailing-space,space-before-tab whitespace = -tab-in-indent,tabwidth=4,indent-with-non-tab,trailing-space,space-before-tab
safecrlf safecrlf=warn
[apply] [apply]
whitespace = fix whitespace = fix
ignoreWhitespace = no ignoreWhitespace = no
@ -9,25 +9,5 @@
lg = log --max-count=6 --oneline --pretty='format:%C(auto)%h %d %Creset%p %C("#60A0FF")%cr %Cgreen %cn %G? %GT trust%Creset%n%s%n' lg = log --max-count=6 --oneline --pretty='format:%C(auto)%h %d %Creset%p %C("#60A0FF")%cr %Cgreen %cn %G? %GT trust%Creset%n%s%n'
graph = log --max-count=18 --graph --pretty=format:'%C(auto)%h %s %Cgreen(%cr) %C(bold blue)%cn %G?%Creset' --abbrev-commit graph = log --max-count=18 --graph --pretty=format:'%C(auto)%h %s %Cgreen(%cr) %C(bold blue)%cn %G?%Creset' --abbrev-commit
alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ / | grep -v ^'alias ' | sort alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ / | grep -v ^'alias ' | sort
fixws = !"\
if (! git diff-files --quiet .) && \
(! git diff-index --quiet --cached HEAD) ; then \
git commit -m FIXWS_SAVE_INDEX && \
git add -u :/ && \
git commit -m Fix_whitespace && \
git rebase --whitespace=fix HEAD~2 && \
git reset HEAD~ && \
git reset --soft HEAD~ ; \
elif (! git diff-files --quiet .) ; then \
git add -u :/ && \
git commit -m Fix_whitespace && \
git rebase --whitespace=fix HEAD~ && \
git reset HEAD~ ; \
elif (! git diff-index --quiet --cached HEAD) ; then \
git commit -m FIXWS_SAVE_INDEX && \
git rebase --whitespace=fix HEAD~ && \
git reset --soft HEAD~ ; \
fi"
check-whitespace = !"git diff --check $(git hash-object -t tree /dev/null) HEAD"
[commit] [commit]
gpgSign = true gpgSign = true

2
.gitignore vendored
View File

@ -14,7 +14,7 @@ sqlite3/sqlite-doc/
*.vcxproj.filters *.vcxproj.filters
*.html *.html
*.htm *.htm
wallet.cppcheck *.cppcheck
# User-specific files (MonoDevelop/Xamarin Studio) # User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs *.userprefs

View File

@ -1,7 +1,7 @@
--- ---
# katex # katex
title: Number encoding title: Number encoding
... ---
# The problem to be solved # The problem to be solved
As computers and networks grow, any fixed length fields As computers and networks grow, any fixed length fields

View File

@ -28,18 +28,25 @@ winConfigure.bat
Should the libraries change in a subsequent `pull ` you will need Should the libraries change in a subsequent `pull ` you will need
```bat ```bat
pull -f --recurse-submodules git pull
rem you get a status message indicating libraries have been updated.
git pull -force --recurse-submodules
winConfigure.bat winConfigure.bat
``` ```
in order to rebuild the libraries.
The `--force` is necessary, because `winConfigure.bat` changes
many of the library files, and therefore git will abort the pull.
[cryptographic software is under attack]:./docs/contributor_code_of_conduct.html#code-will-be-cryptographically-signed [cryptographic software is under attack]:./docs/contributor_code_of_conduct.html#code-will-be-cryptographically-signed
"Contributor Code of Conduct" "Contributor Code of Conduct"
{target="_blank"} {target="_blank"}
winConfigure.bat also configures the repository you just created to use `winConfigure.bat` also configures the repository you just created to use
`.gitconfig` in the repository, causing git to to implement GPG signed `.gitconfig` in the repository, causing git to to implement GPG signed
commits -- because [cryptographic software is under attack] from NSA commits -- because [cryptographic software is under attack] from NSA
entryists, and shills, who seek to introduce backdoors. entryists and shills, who seek to introduce backdoors.
This may be inconvenient if you do not have `gpg` installed and set up. This may be inconvenient if you do not have `gpg` installed and set up.
@ -48,32 +55,40 @@ This may be inconvenient if you do not have `gpg` installed and set up.
1. `git lg` to display the gpg trust information for the last four commits. 1. `git lg` to display the gpg trust information for the last four commits.
For this to be useful you need to import the repository public key For this to be useful you need to import the repository public key
`public_key.gpg` into gpg, and locally sign that key. `public_key.gpg` into gpg, and locally sign that key.
1. `git fixws` to standardise white space to the project standards 1. `git graph` to graph the commit tree with signing status
1. `git graph` to graph the commit tree
1. `git alias` to display the git aliases. 1. `git alias` to display the git aliases.
```bash ```bash
# To verify that the signature on future pulls is unchanged. # To verify that the signature on future pulls is
# unchanged.
gpg --import public_key.gpg gpg --import public_key.gpg
gpg --lsign 096EAE16FB8D62E75D243199BC4482E49673711C gpg --lsign 096EAE16FB8D62E75D243199BC4482E49673711C
# We ignore the Gpg Web of Trust model and instead use
# the Zooko identity model.
# We use Gpg signatures to verify that remote repository
# code is coming from an unchanging entity, not for
# Gpg Web of Trust. Web of Trust is too complicated
# and too user hostile to be workable or safe.
# Never --sign any Gpg key related to this project. --lsign it.
# Never check any Gpg key related to this project against a
# public gpg key repository. It should not be there.
# Never use any email address on a gpg key related to this project
# unless it is only used for project purposes, or a fake email,
# or the email of an enemy.
``` ```
We ignore the Gpg Web of Trust model and instead use the Zooko
identity model.
We use Gpg signatures to verify that remote repository code
is coming from an unchanging entity, not for Gpg Web of Trust. Web
of Trust is too complicated and too user hostile to be workable or safe.
Never --sign any Gpg key related to this project. --lsign it.
Never check any Gpg key related to this project against a public
gpg key repository. It should not be there.
Never use any email address on a gpg key related to this project
unless it is only used for project purposes, or a fake email, or the
email of an enemy. We don't want Gpg used to link different email
addresses as owned by the same entity, and we don't want email
addresses used to link people to the project, because those
identities would then come under state and quasi state pressure.
To build the documentation in its intended html form from the markdown To build the documentation in its intended html form from the markdown
files, execute the bash script file `docs/mkdocs.sh`, in an environment where files, execute the bash script file `docs/mkdocs.sh`, in an environment where
`pandoc` is available. On Windows, if Git Bash and Pandoc has been `pandoc` is available. On Windows, if Git Bash and Pandoc
installed, you should be able to run a shell file in bash by double clicking on it. has been installed, you should be able to run this shell
file in bash by double clicking on it.
[Pre alpha release](./RELEASE_NOTES.html), which means it does not yet work even well enough for [Pre alpha release](./RELEASE_NOTES.html), which means it does not yet work even well enough for
it to be apparent what it would do if it did work. it to be apparent what it would do if it did work.