Add a contributing doc + ncdu 1.16

This commit is contained in:
Yorhel 2021-07-02 13:44:45 +02:00
parent 2f07d8e8e0
commit ecb76f9797
27 changed files with 186 additions and 20 deletions

1
.gitignore vendored
View file

@ -41,6 +41,7 @@ dat/tuwf/man/xml.pod
dat/ylib.md dat/ylib.md
dat/ylib.pod dat/ylib.pod
dat/yxml/man.md dat/yxml/man.md
pub/contributing.html
pub/doc.html pub/doc.html
pub/doc/commvis.html pub/doc/commvis.html
pub/doc/dcstats.html pub/doc/dcstats.html

View file

@ -14,6 +14,7 @@
# file which is then converted into .html again with the proper template. # file which is then converted into .html again with the proper template.
# .log: A ChangeLog-formatted file, converted through .md into .html. # .log: A ChangeLog-formatted file, converted through .md into .html.
PAGES=\ PAGES=\
"contributing.md"\
"doc.md"\ "doc.md"\
"doc/commvis.md"\ "doc/commvis.md"\
"doc/dcstats.md"\ "doc/dcstats.md"\

44
dat/contributing.md Normal file
View file

@ -0,0 +1,44 @@
% Want to contribute?
Every free/open source software project is run in a different way. To set the
right expectations and prevent disappointment and/or wasted effort, here's a
few notes on how I deal with contributions.
**Feedback** of any kind is always welcome, but I make no promise that I will
act on it. Feel free to open an issue on [my Gitea
instance](https://code.blicky.net/yorhel) or mail me at
[projects@yorhel.nl](mailto:projects@yorhel.nl).
I love **bug reports**, so don't hesitate to report anything that doesn't work
or doesn't work as you had expected. Whether I will actually fix it depends on
the nature of the bug, of course, but I do very much value stable and reliable
software.
**Feature requests** are welcome, but I tend to not act on most of them and may
sometimes outright reject a feature if it seems out of scope. It's still good
to have a list of potential features to work on if I feel like making myself
useful, so new ideas are nonetheless appreciated.
Feel free to send **patches** and **pull requests** for trivial fixes for
simple bugs, documentation issues, typos, etc. If the change is trivial to
review and improves the software in a noticeable way, I'm happy to apply it.
Don't bother submitting patches for things that don't noticeably improve the
software. I don't give a damn about compiler warnings when they don't affect
the correctness of the code. Slight inconsistencies in code style or typos in
variable names or comments (i.e. non-user visible parts) don't really need
fixing, either.
When it comes to patches or pull requests for larger fixes or new features, I
strongly advise you to get in touch first to discuss your planned changes.
After all, there's a good chance I already have opinions about it. Generally
speaking, I have no intention to merge code that I haven't thoroughly reviewed,
and I enjoy programming much more than I enjoy reviewing other people's code,
so just throwing patches over the fence and expecting me to merge anything is a
recipe for disappointment.
If you use my software in combination with **proprietary software** or a
proprietary OS (MacOS, Windows), then you're mostly on your own. I write free
software because I care about user freedom, so I'm not inclined to spend time
and effort improving my code to better work with software that I don't plan to
ever use. I may accept the occasional fix if it's simple enough, but I've no
intention to bend over backwards.

View file

@ -20,6 +20,12 @@ the incidental article on this site. Enjoy your stay!
<!-- These announcements are parsed by mkfeed.pl, see that file for formatting --> <!-- These announcements are parsed by mkfeed.pl, see that file for formatting -->
## Announcements <a href="/feed.atom"><img src="/img/feed_icon.png" alt="Atom feed"></a> ## Announcements <a href="/feed.atom"><img src="/img/feed_icon.png" alt="Atom feed"></a>
`2021-07-02` - ncdu 1.16 released <!-- tags: ncdu, link: /ncdu -->
: A minor feature & bugfix release. This adds dynamic sizing of the file size
bar, an `$NCDU_LEVEL` environment variable when spawning a subshell, more
file mode flags and allows for a few future extensions to the JSON dump
format. [Ncdu homepage](/ncdu) - [Changelog](/ncdu/changes).
`2020-10-22` - nginx-confgen 2.0 released <!-- link: /nginx-confgen --> `2020-10-22` - nginx-confgen 2.0 released <!-- link: /nginx-confgen -->
: Completely rewritten in C for easier, more portable and more lightweight : Completely rewritten in C for easier, more portable and more lightweight
builds. Variables are now globally scoped, `pre_if` supports braces, builds. Variables are now globally scoped, `pre_if` supports braces,

View file

@ -9,13 +9,13 @@ POSIX-like environment with ncurses installed.
## Download ## Download
Latest version Latest version
: 1.15.1 ([ncdu-1.15.1.tar.gz](/download/ncdu-1.15.1.tar.gz) - [changes](/ncdu/changes)) : 1.16 ([ncdu-1.16.tar.gz](/download/ncdu-1.16.tar.gz) - [changes](/ncdu/changes))
I also have convenient static binaries for Linux I also have convenient static binaries for Linux
[i486](/download/ncdu-linux-i486-1.15.1.tar.gz), [i486](/download/ncdu-linux-i486-1.16.tar.gz),
[x86_64](/download/ncdu-linux-x86_64-1.15.1.tar.gz), [x86_64](/download/ncdu-linux-x86_64-1.16.tar.gz),
[ARM](/download/ncdu-linux-arm-1.15.1.tar.gz) and [ARM](/download/ncdu-linux-arm-1.16.tar.gz) and
[AArch64](/download/ncdu-linux-aarch64-1.15.1.tar.gz). Download, extract [AArch64](/download/ncdu-linux-aarch64-1.16.tar.gz). Download, extract
and run; no compilation or installation necessary (uses and run; no compilation or installation necessary (uses
[musl](http://www.musl-libc.org/)). [musl](http://www.musl-libc.org/)).
@ -72,6 +72,9 @@ A port to z/OS is available [here](https://dovetail.com/community/ncdu.html).
- [Duc](http://duc.zevv.nl/) - Multiple user interfaces. - [Duc](http://duc.zevv.nl/) - Multiple user interfaces.
- [gt5](http://gt5.sourceforge.net/) - Quite similar to ncdu, but a different approach. - [gt5](http://gt5.sourceforge.net/) - Quite similar to ncdu, but a different approach.
- [gdu](https://github.com/dundee/gdu) - Go disk usage analyzer inspired by ncdu.
- [dua](https://github.com/Byron/dua-cli) - Rust disk usage analyzer.
- [godu](https://github.com/viktomas/godu) - Another Go disk usage analyzer, with a slightly different browser UI.
- [tdu](http://webonastick.com/tdu/) - Another small ncurses-based disk usage visualization utility. - [tdu](http://webonastick.com/tdu/) - Another small ncurses-based disk usage visualization utility.
- [tdu](https://bitbucket.org/josephpaul0/tdu) - Go command-line tool with ncdu JSON export. - [tdu](https://bitbucket.org/josephpaul0/tdu) - Go command-line tool with ncdu JSON export.
- [TreeSize](http://treesize.sourceforge.net/) - GTK, using a treeview. - [TreeSize](http://treesize.sourceforge.net/) - GTK, using a treeview.
@ -83,3 +86,4 @@ A port to z/OS is available [here](https://dovetail.com/community/ncdu.html).
- [xdiskusage](http://xdiskusage.sourceforge.net/) - FLTK, with a treemap display. - [xdiskusage](http://xdiskusage.sourceforge.net/) - FLTK, with a treemap display.
- [fsv](http://fsv.sourceforge.net/) - 3D visualization. - [fsv](http://fsv.sourceforge.net/) - 3D visualization.
- [Philesight](http://zevv.nl/play/code/philesight/) - Web-based clone of Filelight. - [Philesight](http://zevv.nl/play/code/philesight/) - Web-based clone of Filelight.
- [psHFO](https://github.com/FrankieDevOp/psdu) - Human-friendly du for PowerShell.

View file

@ -19,17 +19,18 @@ object is an array:
## Versioning ## Versioning
The `<majorver>` and `<minorver>` elements indicate the version of The `<majorver>` and `<minorver>` elements indicate the version of
the file format. These are numbers with accepted values in the range of `0 the file format. These are numbers with accepted values in the range of
<= version <= 10000`. Major version must be `1`. Minor version is `0` for `0 <= version <= 10000`. Major version must be `1`. Minor version is `0` for
ncdu 1.9 till 1.12, and `1` since ncdu 1.13 for the addition of the extended ncdu 1.9 till 1.12, `1` for ncdu 1.13 till 1.15.2 for the addition of the
mode. The major version should increase if backwards-incompatible changes are extended mode and `2` since ncdu 1.16 for the addition of the `nlink` field.
made (preferably never), the minor version can be increased to indicate The major version should increase if backwards-incompatible changes are made
additions to the existing format. (preferably never), the minor version can be increased to indicate additions to
the existing format.
## Metadata ## Metadata
The `<metadata>` element is a JSON object holding whatever (short) metadata The `<metadata>` element is a JSON object holding whatever (short) metadata
you'd want. This block is currently (1.9-1.14.2) ignored by ncdu when you'd want. This block is currently (1.9-1.16) ignored by ncdu when
importing, but it writes out the following keys when exporting: importing, but it writes out the following keys when exporting:
progname progname
@ -94,15 +95,18 @@ dev
ino ino
: Number. Inode number as reported by `lstat().st_ino`. Together with the Device : Number. Inode number as reported by `lstat().st_ino`. Together with the Device
ID this uniquely identifies a file in this dump. In the case of hard links, two ID this uniquely identifies a file in this dump. In the case of hard links, two
objects may appear with the same (`dev`,`ino`) combination. A value of 0 is objects may appear with the same (`dev`,`ino`) combination. As of ncdu
assumed if this field is absent. This is currently (ncdu 1.9-1.14.2) not a 1.16, this field is only exported if `st_nlink > 1`. A value of 0 is
problem as long as the `hlnkc` field is false, otherwise it will consider assumed if this field is absent, which is fine as long as the `hlnkc` field
everything with the same `dev` and empty `ino` values as a single hardlinked is false and `nlink` is 1, otherwise everything with the same `dev` and
file. Accepted values are in the range of `0 <= ino < 2^64`. empty `ino` values will be considered as a single hardlinked file.
Accepted values are in the range of `0 <= ino < 2^64`.
hlnkc hlnkc
: Boolean. `true` if this is a file with `lstat().st_nlink > 1`. If absent, : Boolean. `true` if this is a file with `lstat().st_nlink > 1`. This field
`false` is assumed. redundant if the `nlink` field is also set, but is still included in new
dumps for backwards compatibility with ncdu versions prior to 1.16. If both
this and the `nlink` fields are absent, `false` is assumed.
read\_error read\_error
: Boolean. `true` if something went wrong while reading this entry. I.e. the : Boolean. `true` if something went wrong while reading this entry. I.e. the
@ -139,6 +143,12 @@ excluded
interpreted to be equivalent to "pattern". This field should be absent if the interpreted to be equivalent to "pattern". This field should be absent if the
item has not been excluded from the calculation. item has not been excluded from the calculation.
nlink
: (since ncdu 1.16) Number, the value of `lstat().st_nlink`. If this field is
present and has a value larger than 1, this file is considered for hardlink
counting. Accepted values are in the range `1 <= nlink < 2^32`. If absent,
`1` is assumed.
notreg notreg
: Boolean. This is `true` if neither S\_ISREG() nor S\_ISDIR() evaluates to true. : Boolean. This is `true` if neither S\_ISREG() nor S\_ISDIR() evaluates to true.
I.e. this is a symlink, character device, block device, FIFO, socket, or I.e. this is a symlink, character device, block device, FIFO, socket, or
@ -166,7 +176,9 @@ mode
mtime mtime
: Number, last modification time as a UNIX timestamp. Accepted range: : Number, last modification time as a UNIX timestamp. Accepted range:
`0 <= mtime < 2^64`. `0 <= mtime < 2^64`. As of ncdu 1.16, this number may also include an
(infinite precision) decimal part for fractional seconds, though the
decimal part is (currently) discarded during import.
## Miscellaneous notes ## Miscellaneous notes

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmDe+gEACgkQYjlMaYwn
OfryOg/9GCT2YZ57FWaLLOfnplaVAfm6G71fs1db0YClF+rVmxUnJkAlc+gNRWP+
CJE3/hSy27d/TE0BVUbffQUjGWtZ8K97C1ody/o6IvSJhFxsgyOLBtkI/AYWfclC
c7OziMh4/uTw5hbkGz4YCyST9K6iBx9a0oJwaF41ix2fxAHYN2+eRT6RDjCg+9ad
j/Hk0+tvKa7iczr4uK3VV3/HKQfRj2PSOsT6UF8n+EfRqgWNZRxYcepETkMHei6E
mgJ255EVtQigaSJOTQs53nFo+XiZL9nv5RhScsIwXqYEtU/N/DfC2wF+6oYIK6mG
i+X1x3Z4wd8eUF5O+c21NPYP7zY8VAbvYzz2kxT2QHfPCe3HgiRsMLlegBTaKDFt
syQ2p79xo0ylK9yrJKD+aUxtZqU9PeR+Ktd2KEsOJwBO/3Ur0ICH/ryucHjEDfEU
aImrPpZ+q5A6CNgy7YmApz2FKszrb/MdYyK5g64PJ50TI1Y4aubYr5hl2uQh1Pqi
cuwMt9iGLmWvdug3F3+JLYtsa+c+x4ro/f03QycUXMD5vHFfQDe53qFfpjbfhyr7
WObu+sR+T9JCCmWpC02H4RPonIJnEzeBMCqOTtqCh9F6obHSIciasovGXsrruvQy
8+ik48yGFhysQCP654km8084YHNKDfXuOcT1PgsvE9TFceKLdnY=
=TfEs
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
8846e965c6c008d572cb42ad3a56400b ncdu-1.16.tar.gz

View file

@ -0,0 +1 @@
0ebff95373a9b7e7976b22bc763043e40d12c62b ncdu-1.16.tar.gz

View file

@ -0,0 +1 @@
2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4 ncdu-1.16.tar.gz

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmDe+gcACgkQYjlMaYwn
OfqA8BAA3iGJonxORTZRUXPyNPIb24tlbRHVhriYoaT/6Q8TItrPEO5NXDJAeNCh
1dHZmsttN83ZN+m9r48MO9i4XSqxpfUR72ciP7jxc7lj9w6Ndf+F/BA6d5tgYL+T
PE5VnDgnenraca+WtCpOUjMazoaJNI0tfGPUPlvDOhbv2JrVF7YECvVZhZg1cRSJ
LFJ03BZrg6C3777nBkJjgVqVQ+w/YRuToRP0SS2Awp8rwP/GrSUqvo5nH5iIXPD8
msntcddO8q8Shf92rFqcAusK73jhMUqUQBfNIr6DB8hYE5+dXXDIChW4l73f7/P8
FHVT9TXd1W0R1ScxXoR2Tr8ENQZQtbfCwFy2h7PvQA5nAOB2/2elxwZHknxpRo69
+P2fWRyS7QnCvk3sAaG4g85DvXhYd7J8h5StfPKuDeg4l76jGlS3fMhNNG3ohftF
w/pjNBF6osGBJoXCyBJA53PLWKhRQen0Az9zhKvaxyix1m3udm4p1r01hJkQC386
oj4xWlTSuP9AY5iVpnm0V1F+vIeBqvbQHX99r3yvNOWHnDP0vtpjL+O8v5R92xZt
EyYIyVxBHEdY1jmKVG5aWy0sxZIWJKpB1f5FwXP+mBLCrGY49Fsfxgj6bWJFQ/2I
6xCByb7R5DU0vEmOmngZaOAytqBhZE/9utkynicHTHa4euJ8hw8=
=J2KF
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
5222e4bf3723c5ca4f062cfeb518ec38 ncdu-linux-aarch64-1.16.tar.gz

View file

@ -0,0 +1 @@
91db59634e8f940535cecb1230e510445aa19fd0 ncdu-linux-aarch64-1.16.tar.gz

View file

@ -0,0 +1 @@
c04baf55f268d53eaac8a54f3a6be11c320dccc7c0f9abae99c35ca9a40d0a9a ncdu-linux-aarch64-1.16.tar.gz

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmDe+gwACgkQYjlMaYwn
Ofqp6BAA33OL+cHAgo+nAh5XtZE9cYPFkjvrq1NEnPRMBqREPz18ZnK+vEmYbJg1
nabMzXeM26CzaqvuRA13Z6fCWVAGDz3+63HSSTF6uG0cCXzDW649FRtU5NcCGtW8
z0uHjty5oN44tPMbE0a/GgSSAU9iGrhMt/Ry2q8AtAryuXZM80EUyusj3ET7rGxJ
y8EJTlnwPHVrbgqEInpBeNPuf/ybOO3kpiicnZK87hwlQrl0/i7sDcgBsBPgXpSL
LUCG2237iCfc079kyn350vdtA97bnl8mHDTyiq1Sa/goyfZE+cYXj9693Dl+rWqK
Kdbdz9ZKxEpZqghK4oPowT4FV47iXKPLJz/29IDazwwWxfR2pFEC3KvqRf2+ygaC
zJjp388tkR42BllUDUnAI2+rXqEDs27JNCEkrTZ8r4p1kuT2/Hp4SCmzpm2qOOg+
6Ai5aSlzislRDSZveTCqyKfWLSSRI5JwInozkjdRGJAfnM53Vu/B1HtFMgBXv0nv
8MStpDC0WdcNU+hRCrSff8z0Ci9jFovQMJKR8alAteK8CEilptWbyWJ5iF3uFj5q
GCEydLd8B35YbNcMRdjvhXPpll2FRaQtqecx2zNoDJz3DdTEc2HH25UzJHuzDkhL
skgD0bZ1qA+Cwoo2/P9AA0S7xRh4H176UZa0fGKAddjsiUH+NCg=
=kYkC
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
490558089d9ecc99492734c4af9fb211 ncdu-linux-arm-1.16.tar.gz

View file

@ -0,0 +1 @@
f689efb46fb70fc6f5266b89be699108af8391d6 ncdu-linux-arm-1.16.tar.gz

View file

@ -0,0 +1 @@
0ac47f8cc96dfc59392f93347862c739604e97f9ef978e4592abc05f337ca443 ncdu-linux-arm-1.16.tar.gz

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmDe+hEACgkQYjlMaYwn
OfrtfhAAjVMmL+gqnufREBWiZyjHo18gN0iiKpJdvnQhGo34ZvRCZtOEFsIHFL9Z
bqCqOAeBglX7FD0SnOLXe6lWrRDTSJE9pvISKmTx8EEEqLp0EUFSY8q8fOdXRVmy
EwyeqE5VysQSIJBCOVS7TK+qMiGgJHdsZQPgZCPagKNbvL0DCBCEMIXRcOC7cyXO
OGPhLiT9ayE9Guspexf+5mnxcbGKEB9PCpllBL+S2tSAYCRAtTPdQNTGOULr3RNK
cZqKBl2bSTIq5VBWKymES5QC+Ubb15odeti3y5TLXhrLokukqqYnFMTR8bCBApgS
H/dzYZ+DLKOreV74b47Umlj2wqDMk5B4iVMBDLGEq3qXMHkT7aPSqpcH/GUqRH/2
ggs8ypBn0mecBeiUe1OZNWXlHYIQQko3HioCgnIufrvfmRVmMBqJ2Wh0Lv4/lZj9
kI5D4scUcF9fZ5OrEy+I8HYxVrmGN17hVBLc23ykVqjhJyKcW5c+Vw2bB0rd89LL
hUUV+Fs4U9rH+mEgV9zv5lSPzQNNYkSWcnR5hGi/LR68BtmGYVeux/utMOOuugr0
a0NaFBUH/6FBB0BpKQ7gb5h225WY8wjqQ9B4n6kNKKbwouo4J7neGdDnV8VhiCmp
OSV0HhIyV6+UAay6nGyN1EkO41r6WTKJbruFkdhYD2Sj3itVmyk=
=rH1l
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
1b37d914389c651a5039889e6563fe17 ncdu-linux-i486-1.16.tar.gz

View file

@ -0,0 +1 @@
7425aa13da2b94082620faef3310b1e1c7112445 ncdu-linux-i486-1.16.tar.gz

View file

@ -0,0 +1 @@
980d921aca67a7819f3d1be62294d73726b54453e4203a7f2b0ab0680b373435 ncdu-linux-i486-1.16.tar.gz

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmDe+hUACgkQYjlMaYwn
OfpmgA//ZWO/hZu9Z/1GOyTdzHrHkqWa50rBL/hgOtVQbIJlo54GKf1U/o9AhrIp
F5Rh2gUHMdmtg/SYZ15eb5xAmE/oUyWS9mhg0d1nEewb7qtsTGH1YC8S9QhIwuxP
d/kP6uhR27o1w3cANkwngXW230Qk19in9GCB/2brlB1UWW5r+IwUDUOPUSbJMzJS
oXJn6OvS1hHKT5FSKKkACjitV7audAPD3ZTB1o68ccc/q+auAbDJI0Ge9TzxfiAF
dwJx3jxH/cgCTEGaNeol9O2ou4mC1Ix/XCtQMzn8MoYOOo9dvNs7snfw6g/LSbHo
EHT79zQBRrP01mRTSaGe53xeKE5HSE5/51DnaBohbn3toPRQLf4A+uebMGOZEWka
/aEEdC8G7aZADAOe7olQctb/hvSwbhY6OPw6ogoBmwJKlbgSTl4teuQv5PpN/XaM
bicWFEH/LonO3z4tAmdr1M3tz5AZeAEvd8Ey50RQciihVEuFaSlwXWZspOF886RT
U/Sb5x0Fwi0BbXC1xtukvH7Xn6lT0Bp9RD9LJnoteBiEqhx6GGhywSvUZ4mk4GJv
/haOSN2ANj+nVcT6FrnlyK2CKco26U2QwsfCTVmABRbigC0MKarHzVUYv6yibjHW
puav7fAOcF3R4OKaJsuKjOB0ojqtNUE3W3X1j1acJEJ30AYfu50=
=lrDH
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
84be2ed3ca89a2dce34b700e13386400 ncdu-linux-x86_64-1.16.tar.gz

View file

@ -0,0 +1 @@
ed28ae616e9c092c20841d06e547bff5ed14adf5 ncdu-linux-x86_64-1.16.tar.gz

View file

@ -0,0 +1 @@
20f041000f2f4909d3559ad76a769ab74b6849dd8093c8f29e037ebfc5a96c5d ncdu-linux-x86_64-1.16.tar.gz

View file

@ -123,6 +123,9 @@
<li><a href="/" class="small special">Projects home </a></li> <li><a href="/" class="small special">Projects home </a></li>
</ul> </ul>
$endif$ $endif$
<ul>
<li><a href="/contributing.html" class="small item1-contributing">Contributing</a></li>
</ul>
</nav> </nav>
<p> <p>