neulab/tldr huggingface dataset:
-d     Turn debug on. Shows the "raw" timestamp, round trip time, time delta and and basic statistics of web server responses. Useful to determining the quality of a specific web server as time source.
-i     Set the pid file (default /var/run/htpdate.pid).
-l     Use syslog for output (levels LOG_WARNING and LOG_INFO). Convenient if you use htpdate from cron.
-m -M  These options specify the minimum (-m) and maximum (-M) polling intervals for HTP requests, in seconds. The default range is between 30 minutes and 32 hours. Htpdate calculates the optimal polling frequency between minimum and maximum values. Only applicable when running in daemon mode.
-p     Precision (in milliseconds) specifies the operating accuracy of htpdate. Internally htpdate uses a different algorithm to detect a time offset, when precision is specified. Precision only has effect in daemon mode. Use with caution.
-q     Query web server and display time, but do not change time (default in interactive mode).
-s     Set time immediate. In daemon mode -s only applies the first poll.
-t     Turn off sanity time check. By default a time offset larger than a year, compared to current localtime, is rejected. With -t set, any time stamp will be accepted.
-u     Set the user and group that the server normally runs at (default is root).
-x     Let htpdate compensate for the systematisch clock drift.
-D     Run as daemon (requires root privileges).
-F     Run in the foreground (requires root privileges). This is the same as -D but will not fork or write a PID file.
-P     Proxy server hostname or ip-address.
host   Web server hostname or ip-address. Up to 16 hosts may be specified, but in general 3 to 5 hosts should be enough for a redundant and accurate setup.
port   Portnumber (default 80 and 8080 for proxy server), accept prefix like http:// or https://
Request time from web server (don't update local clock): htpdate -q www.example.com
Request time from https web server: htpdate -q https://www.example.com
Verbose output (don't update local clock): htpdate -d -q www.example.com
Adjust time smoothly and log output to syslog (eg. cron): htpdate -a -l www.example.com
HTTP/1.0 request in IPv6 literal format (RFC 2732): htpdate -0 [2001:DB8:1af6::123]:80
Run htpdate as daemon: htpdate -D www.example.com
Run htpdate in the foreground with all output going to the terminal: htpdate -F www.example.com
Daemon mode for the security minded: htpdate -D -u nobody:nogroup www.example.com
Eddy Vervest <eddy@vervest.org>, http://www.vervest.org/htp
rdate, timed, ntpd, adjtimex, ntp_adjtime, HTP implementation by Roy Keene (http://www.rkeene.org/oss/htp/)
WC(1)                             User Commands                            WC(1)
wc - print newline, word, and byte counts for each file
wc [OPTION]... [FILE]... wc [OPTION]... --files0-from=F
Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified.  A word is a non-zero-length sequence of printable characters delimited by white space.
The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length.
-c, --bytes print the byte counts
-m, --chars print the character counts
-l, --lines print the newline counts
-L, --max-line-length print the maximum display width
-w, --words print the word counts
Written by Paul Rubin and David MacKenzie.
Full documentation <https://www.gnu.org/software/coreutils/wc> or available locally via: info '(coreutils) wc invocation'
GIT-RANGE-DIFF(1)                  Git Manual                  GIT-RANGE-DIFF(1)
git-range-diff - Compare two commit ranges (e.g. two versions of a branch)
git range-diff [--color=[<when>]] [--no-color] [<diff-options>] [--no-dual-color] [--creation-factor=<factor>] [--left-only | --right-only] ( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> )
This command shows the differences between two versions of a patch series, or more generally, two commit ranges (ignoring merge commits).
To that end, it first finds pairs of commits from both commit ranges that correspond with each other. Two commits are said to correspond when the diff between their patches (i.e. the author information, the commit message and the commit diff) is reasonably small compared to the patches' size. See ``Algorithm`` below for details.
Finally, the list of matching commits is shown in the order of the second commit range, with unmatched commits being inserted just after all of their ancestors have been shown.
There are three ways to specify the commit ranges:
•   <range1> <range2>: Either commit range can be of the form <base>..<rev>, <rev>^!  or <rev>^-<n>. See SPECIFYING RANGES in gitrevisions(7) for more details.
•   <rev1>...<rev2>. This is equivalent to <rev2>..<rev1> <rev1>..<rev2>.
•   <base> <rev1> <rev2>: This is equivalent to <base>..<rev1> <base>..<rev2>.
--no-dual-color When the commit diffs differ, ‘git range-diff` recreates the original diffs’ coloring, and adds outer -/+ diff markers with the background being red/green to make it easier to see e.g. when there was a change in what exact lines were added.
Additionally, the commit diff lines that are only present in the first commit range are shown "dimmed" (this can be overridden using the color.diff.<slot> config setting where <slot> is one of contextDimmed, oldDimmed and newDimmed), and the commit diff lines that are only present in the second commit range are shown in bold (which can be overridden using the config settings color.diff.<slot> with <slot> being one of contextBold, oldBold or newBold).
This is known to range-diff as "dual coloring". Use --no-dual-color to revert to color all lines according to the outer diff markers (and completely ignore the inner diff when it comes to color).
--creation-factor=<percent> Set the creation/deletion cost fudge factor to <percent>. Defaults to 60. Try a larger value if git range-diff erroneously considers a large change a total rewrite (deletion of one commit and addition of another), and a smaller one in the reverse case. See the ``Algorithm`` section below for an explanation why this is needed.
--left-only Suppress commits that are missing from the first specified range (or the "left range" when using the <rev1>...<rev2> format).
--right-only Suppress commits that are missing from the second specified range (or the "right range" when using the <rev1>...<rev2> format).
--[no-]notes[=<ref>] This flag is passed to the git log program (see git-log(1)) that generates the patches.
<range1> <range2> Compare the commits specified by the two ranges, where <range1> is considered an older version of <range2>.
<rev1>...<rev2> Equivalent to passing <rev2>..<rev1> and <rev1>..<rev2>.
<base> <rev1> <rev2> Equivalent to passing <base>..<rev1> and <base>..<rev2>. Note that <base> does not need to be the exact branch point of the branches. Example: after rebasing a branch my-topic, git range-diff my-topic@{u} my-topic@{1} my-topic would show the differences introduced by the rebase.
git range-diff also accepts the regular diff options (see git-diff(1)), most notably the --color=[<when>] and --no-color options. These options are used when generating the "diff between patches", i.e. to compare the author, commit message and diff of corresponding old/new commits. There is currently no means to tweak most of the diff options passed to git log when generating those patches.
The output of the range-diff command is subject to change. It is intended to be human-readable porcelain output, not something that can be used across versions of Git to get a textually stable range-diff (as opposed to something like the --stable option to git-patch-id(1)). There’s also no equivalent of git-apply(1) for range-diff, the output is not intended to be machine-readable.
This is particularly true when passing in diff options. Currently some options like --stat can, as an emergent effect, produce output that’s quite useless in the context of range-diff. Future versions of range-diff may learn to interpret such options in a manner specific to range-diff (e.g. for --stat producing human-readable output which summarizes how the diffstat changed).
This command uses the diff.color.* and pager.range-diff settings (the latter is on by default). See git-config(1).
When a rebase required merge conflicts to be resolved, compare the changes introduced by the rebase directly afterwards using:
$ git range-diff @{u} @{1} @
A typical output of git range-diff would look like this:
-:  ------- > 1:  0ddba11 Prepare for the inevitable! 1:  c0debee = 2:  cab005e Add a helpful message at the start 2:  f00dbal ! 3:  decafe1 Describe a bug @@ -1,3 +1,3 @@ Author: A U Thor <author@example.com>
-TODO: Describe a bug +Describe a bug @@ -324,5 +324,6 This is expected.
-+What is unexpected is that it will also crash. ++Unexpectedly, it also crashes. This is a bug, and the jury is ++still out there how to fix it best. See ticket #314 for details.
Contact 3:  bedead < -:  ------- TO-UNDO
In this example, there are 3 old and 3 new commits, where the developer removed the 3rd, added a new one before the first two, and modified the commit message of the 2nd commit as well its diff.
When the output goes to a terminal, it is color-coded by default, just like regular git diff's output. In addition, the first line (adding a commit) is green, the last line (deleting a commit) is red, the second line (with a perfect match) is yellow like the commit header of git show's output, and the third line colors the old commit red, the new one green and the rest like git show's commit header.
A naive color-coded diff of diffs is actually a bit hard to read, though, as it colors the entire lines red or green. The line that added "What is unexpected" in the old commit, for example, is completely red, even if the intent of the old commit was to add something.
To help with that, range uses the --dual-color mode by default. In this mode, the diff of diffs will retain the original diff colors, and prefix the lines with -/+ markers that have their background red or green, to make it more obvious that they describe how the diff itself changed.
The general idea is this: we generate a cost matrix between the commits in both commit ranges, then solve the least-cost assignment.
The cost matrix is populated thusly: for each pair of commits, both diffs are generated and the "diff of diffs" is generated, with 3 context lines, then the number of lines in that diff is used as cost.
To avoid false positives (e.g. when a patch has been removed, and an unrelated patch has been added between two iterations of the same patch series), the cost matrix is extended to allow for that, by adding fixed-cost entries for wholesale deletes/adds.
Example: Let commits 1--2 be the first iteration of a patch series and A--C the second iteration. Let’s assume that A is a cherry-pick of 2, and C is a cherry-pick of 1 but with a small modification (say, a fixed typo). Visualize the commits as a bipartite graph:
1            A
2            B
We are looking for a "best" explanation of the new series in terms of the old one. We can represent an "explanation" as an edge in the graph:
1            A / 2 --------'  B
This explanation comes for "free" because there was no change. Similarly C could be explained using 1, but that comes at some cost c>0 because of the modification:
1 ----.      A |    / 2 ----+---'  B | `----- C c>0
In mathematical terms, what we are looking for is some sort of a minimum cost bipartite matching; ‘1` is matched to C at some cost, etc. The underlying graph is in fact a complete bipartite graph; the cost we associate with every edge is the size of the diff between the two commits’ patches. To explain also new commits, we introduce dummy nodes on both sides:
1 ----.      A |    / 2 ----+---'  B | o     `----- C c>0 o            o
o            o
The cost of an edge o--C is the size of C's diff, modified by a fudge factor that should be smaller than 100%. The cost of an edge o--o is free. The fudge factor is necessary because even if 1 and C have nothing in common, they may still share a few empty lines and such, possibly making the assignment 1--C, o--o slightly cheaper than 1--o, o--C even if 1 and C have nothing in common. With the fudge factor we require a much larger common part to consider patches as corresponding.
The overall time needed to compute this algorithm is the time needed to compute n+m commit diffs and then n*m diffs of patches, plus the time needed to compute the least-cost assignment between n and m diffs. Git uses an implementation of the Jonker-Volgenant algorithm to solve the assignment problem, which has cubic runtime complexity. The matching found in this case will look like this:
1 ----.      A |    / 2 ----+---'  B .--+-----' o -'  `----- C c>0 o ---------- o
o ---------- o
git-log(1)
BOX(1)                       General Commands Manual                      BOX(1)
fnch@users.sourceforge.net Matteo Franchin 2003Matteo FranchinJuly 22, 2008;
box â€” A language to create figures and graphics.
box [-l library ]  {-st  | source.box }
This is the typical minimal syntax; see below for a list and explanation of the other options.
box compiles a box source file (to bytecode) and executes it. It can read the source from the standard input (with -st) or from the specified file.
-h        Show summary of options.
-st | source.box The user MUST provide either a source file or the option -st. In the latter case the source is read from the standard input.
-l library Link against the provided C library, before trying to execute the compiled code. When specifying ``-l g'', the library ``libg.so'' (or ``libg.dylib'') is searched, instead.
-L path   Add an additional path to be considered when searching for the libraries specified with the -l option. The option can be used more than once to specify more than one path. The last occurrence has the precedence on the formers and has precedence on the paths specified in the environmental variable ``BOX_LIBRARY_PATH''.
-I path   Add an additional path to be considered when searching for the file included with ``include "file"''. This option can be used more than once to specity more than one path. The last occurrence has the precedence on the formers and on the paths specified with the ``BOX_INCLUDE_PATH'' environmental variable. When using ``include "file"'' in your programs, the files ``file.bxh`` and ``file`` are searched (in this precise order).
-o outfile, -w outfile Write to outfile a human readable representation of the bytecode produced from the given box source (useful for debugging). Use -w if you want to overwrite existing files, otherwise use -o.
-se setupfile Include automatically the file setupfile before processing any other line of source.
-t        Compile only. The compiled code will not be linked and executed.
-f        Force execution, even when warning messages were displayed.
-v        Verbose message reports.
-e        Only error messages are reported (no warnings).
-si       Make the Box compiler totally silent.
These are the environmental variables used by Box:
BOX_LIBRARY_PATH Add additional search paths for Box libraries. The format is the same as the shell's $PATH: one or more directory pathnames separated by colons. See option -L.
BOX_INCLUDE_PATH Add additional search paths for Box header files. The format is the same as the shell's $PATH: one or more directory pathnames separated by colons. See option -I.
BOX_DEFAULT_LIBS A list of libraries which should be always used for linking. The format is the same as the shell's $PATH: one or more library names separated by colons.
More documentation, with a description of the Box language and its graphic library, can be found on the web: http://boxc.sourceforge.net
This manual page was written by Matteo Franchin fnch@users.sourceforge.net. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.
PWGEN(1)                     General Commands Manual                    PWGEN(1)
pwgen - generate pronounceable passwords
pwgen [ OPTION ] [ pw_length ] [ num_pw ]
The pwgen program generates passwords which are designed to be easily memorized by humans, while being as secure as possible.  Human-memorable passwords are never going to be as secure as completely completely random passwords.  In particular, passwords generated by pwgen without the -s option should not be used in places where the password could be attacked via an off-line brute-force attack.   On the other hand, completely randomly generated  passwords have a tendency to be written down, and are subject to being compromised in that fashion.
The pwgen program is designed to be used both interactively, and in shell scripts.  Hence, its default behavior differs depending on whether the standard output is a tty device or a pipe to another program.  Used interactively, pwgen will display a screenful of passwords, allowing the user to pick a single password, and then quickly erase the screen.  This prevents someone from being able to "shoulder surf" the user's chosen password.
When standard output (stdout) is not a tty, pwgen will only generate one password, as this tends to be much more convenient for shell scripts, and in order to be compatible with previous versions of this program.
-0, --no-numerals Don't include numbers in the generated passwords.
-1     Print the generated passwords one per line.
-A, --no-capitalize Don't bother to include any capital letters in the generated passwords.
-a, --alt-phonics This option doesn't do anything special; it is present only for backwards compatibility.
-B, --ambiguous Don't use characters that could be confused by the user when printed, such as 'l' and '1', or '0' or 'O'.  This reduces the number of possible passwords significantly, and as such reduces the quality of the passwords.  It may be useful for users who have bad vision, but in general use of this option is not recommended.
-c, --capitalize Include at least one capital letter in the password.  This is the default if the standard output is a tty device.
-C     Print the generated passwords in columns.  This is the default if the standard output is a tty device.
-N, --num-passwords=num Generate num passwords.  This defaults to a screenful if passwords are printed by columns, and one password otherwise.
-n, --numerals Include at least one number in the password.  This is the default if the standard output is a tty device.
-H, --sha1=/path/to/file[#seed] Will use the sha1's hash of given file and the optional seed to create password. It will allow you to compute the same password later, if you remember the file, seed, and pwgen's options used. ie: pwgen -H ~/your_favorite.mp3#your@email.com gives a list of possibles passwords for your pop3 account, and you can ask this list again and again.
WARNING: The passwords generated using this option are not very random.  If you use this option, make sure the attacker can not obtain a copy of the file.  Also, note that the name of the file may be easily available from the ~/.history or ~/.bash_history file.
-h, --help Print a help message.
-r chars, --remove-chars=chars Don't use the specified characters in password.  This option will disable the phomeme-based generator and uses the random password generator.
-s, --secure Generate completely random, hard-to-memorize passwords.  These should only be used for machine passwords, since otherwise it's almost guaranteed that users will simply write the password on a piece of paper taped to the monitor...
-v, --no-vowels Generate random passwords that do not contain vowels or numbers that might be mistaken for vowels.  It provides less secure passwords to allow system administrators to not have to worry with random passwords accidentally contain offensive substrings.
-y, --symbols Include at least one special character in the password.
This version of pwgen was written by Theodore Ts'o <tytso@alum.mit.edu>. It is modelled after a program originally written by Brandon S. Allbery, and then later extensively modified by Olaf Titz,  Jim Lynch, and others. It was rewritten from scratch by Theodore Ts'o because the original program was somewhat of a hack, and thus hard to maintain, and because the licensing status of the program was unclear.
passwd(1)
FILEFRAG(8)                  System Manager's Manual                 FILEFRAG(8)
filefrag - report on file fragmentation
filefrag [ -bblocksize ] [ -BeEkPsvVxX ] [ files...  ]
filefrag reports on how badly fragmented a particular file might be.  It makes allowances for indirect blocks for ext2 and ext3 file systems, but can be used on files for any file system.
The filefrag program initially attempts to get the extent information using FIEMAP ioctl which is more efficient and faster.  If FIEMAP is not supported then filefrag will fall back to using FIBMAP.
-B     Force the use of the older FIBMAP ioctl instead of the FIEMAP ioctl for testing purposes.
-bblocksize Use blocksize in bytes, or with [KMG] suffix, up to 1GB for output instead of the file system blocksize.  For compatibility with earlier versions of filefrag, if blocksize is unspecified it defaults to 1024 bytes.  Since blocksize is an optional argument, it must be added without any space after -b.
-e     Print output in extent format, even for block-mapped files.
-E     Display the contents of ext4's extent status cache.  This feature is not supported on all kernels, and is only supported on ext4 file systems.
-k     Use 1024-byte blocksize for output (identical to '-b1024').
-P     Pre-load the ext4 extent status cache for the file.  This is not supported on all kernels, and is only supported on ext4 file systems.
-s     Sync the file before requesting the mapping.
-v     Be verbose when checking for file fragmentation.
-V     Print version number of program and library.  If given twice, also print the FIEMAP flags that are understood by the current version.
-x     Display mapping of extended attributes.
-X     Display extent block numbers in hexadecimal format.
filefrag was written by Theodore Ts'o <tytso@mit.edu>.
OPENTTD(6)                      BSD Games Manual                      OPENTTD(6)
openttd — open source clone of the Microprose game “Transport Tycoon Deluxe”
openttd [-efhx] [-b blitter] [-c config_file] [-d [level | cat=lvl[,...]]] [-D [host][:port]] [-g [savegame]] [-G seed] [-I graphicsset] [-l host[:port]] [-m driver] [-M musicset] [-n host[:port][#player]] [-p password] [-P password] [-q savegame] [-r widthxheight] [-s driver] [-S soundset] [-t year] [-v driver]
-b blitter               Select the blitter blitter; see -h for a full list.
-c config_file           Use config_file instead of openttd.cfg.
-d [level]               Set debug verbosity for all categories to level, or 1 if omitted.
-d cat=lvl[,...]         Set debug verbosity to lvl for a specific category cat.
-D [host][:port]         Start a dedicated server.
Network debug level will be set to 6.  If you want to change this, set -d after setting -D.
-e                       Start in world editor mode.
-f                       Fork into background (dedicated server only, see -D).
-g [savegame]            Load savegame at start or start a new game if omitted.  savegame must be either an absolute path or one relative to the current path or one of the search paths.
-G seed                  Seed the pseudo random number generator with seed.
-h                       Display a summary of all options and list all the available AIs, blitters, sound, music and video drivers, graphics sets and sound sets.
-I graphicsset           Select the graphics set graphicsset; see -h for a full list.
-l host[:port]           Redirect DEBUG() output; see -D.
-m driver                Select the music driver driver; see -h for a full list.
-M musicset              Select the music set musicset; see -h for a full list.
-n host[:port][#player]  Join a network game, optionally specifying a port to connect to and player to play as.
-p password              Password used to join server.  Only useful with -n.
-P password              Password used to join company.  Only useful with -n.
-q savegame              Write some information about the specified savegame and exit.
-r widthxheight          Set the resolution to width × height pixels.
-s driver                Select the sound driver driver; see -h for a full list.
-S soundset              Select the sound set soundset; see -h for a full list.
-t year                  Set the starting year to year.
-v driver                Select the video driver driver; see -h for a full list.
-x                       Do not automatically save to config file on exit.
Wiki: https://wiki.openttd.org (includes community maintained manual), Forum: https://forum.openttd.org, News: https://www.openttd.org
Transport Tycoon Deluxe was written by Chris Sawyer and published by Microprose.  openttd is a free reimplementation.
GIT-AM(1)                          Git Manual                          GIT-AM(1)
git-am - Apply a series of patches from a mailbox
git am [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] [--[no-]3way] [--interactive] [--committer-date-is-author-date] [--ignore-date] [--ignore-space-change | --ignore-whitespace] [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>] [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet] [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>] [--quoted-cr=<action>] [(<mbox> | <Maildir>)...] git am (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)])
Splits mail messages in a mailbox into commit log message, authorship information and patches, and applies them to the current branch.
(<mbox>|<Maildir>)... The list of mailbox files to read patches from. If you do not supply this argument, the command reads from the standard input. If you supply directories, they will be treated as Maildirs.
-k, --keep Pass -k flag to git mailinfo (see git-mailinfo(1)).
--keep-non-patch Pass -b flag to git mailinfo (see git-mailinfo(1)).
--[no-]keep-cr With --keep-cr, call git mailsplit (see git-mailsplit(1)) with the same option, to prevent it from stripping CR at the end of lines. am.keepcr configuration variable can be used to specify the default behaviour.  --no-keep-cr is useful to override am.keepcr.
-c, --scissors Remove everything in body before a scissors line (see git- mailinfo(1)). Can be activated by default using the mailinfo.scissors configuration variable.
--no-scissors Ignore scissors lines (see git-mailinfo(1)).
--quoted-cr=<action> This flag will be passed down to git mailinfo (see git-mailinfo(1)).
-m, --message-id Pass the -m flag to git mailinfo (see git-mailinfo(1)), so that the Message-ID header is added to the commit message. The am.messageid configuration variable can be used to specify the default behaviour.
--no-message-id Do not add the Message-ID header to the commit message. no-message-id is useful to override am.messageid.
-q, --quiet Be quiet. Only print error messages.
-u, --utf8 Pass -u flag to git mailinfo (see git-mailinfo(1)). The proposed commit log message taken from the e-mail is re-coded into UTF-8 encoding (configuration variable i18n.commitEncoding can be used to specify project’s preferred encoding if it is not UTF-8).
This was optional in prior versions of git, but now it is the default. You can use --no-utf8 to override this.
--no-utf8 Pass -n flag to git mailinfo (see git-mailinfo(1)).
-3, --3way, --no-3way When the patch does not apply cleanly, fall back on 3-way merge if the patch records the identity of blobs it is supposed to apply to and we have those blobs available locally.  --no-3way can be used to override am.threeWay configuration variable. For more information, see am.threeWay in git-config(1).
--ignore-space-change, --ignore-whitespace, --whitespace=<option>, -C<n>, -p<n>, --directory=<dir>, --exclude=<path>, --include=<path>, --reject These flags are passed to the git apply (see git-apply(1)) program that applies the patch.
--patch-format By default the command will try to detect the patch format automatically. This option allows the user to bypass the automatic detection and specify the patch format that the patch(es) should be interpreted as. Valid formats are mbox, mboxrd, stgit, stgit-series and hg.
-i, --interactive Run interactively.
--committer-date-is-author-date By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the committer date by using the same value as the author date.
--ignore-date By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the author date by using the same value as the committer date.
--skip Skip the current patch. This is only meaningful when restarting an aborted patch.
--continue, -r, --resolved After a patch failure (e.g. attempting to apply conflicting patch), the user has applied it by hand and the index file stores the result of the application. Make a commit using the authorship and commit log extracted from the e-mail message and the current index file, and continue.
--resolvemsg=<msg> When a patch failure occurs, <msg> will be printed to the screen before exiting. This overrides the standard message informing you to use --continue or --skip to handle the failure. This is solely for internal use between git rebase and git am.
--abort Restore the original branch and abort the patching operation. Revert contents of files involved in the am operation to their pre-am state.
--quit Abort the patching operation but keep HEAD and the index untouched.
--show-current-patch[=(diff|raw)] Show the message at which git am has stopped due to conflicts. If raw is specified, show the raw contents of the e-mail message; if diff, show the diff portion only. Defaults to raw.
The commit author name is taken from the "From: " line of the message, and commit author date is taken from the "Date: " line of the message. The "Subject: " line is used as the title of the commit, after stripping common prefix "[PATCH <anything>]". The "Subject: " line is supposed to concisely describe what the commit is about in one line of text.
"From: ", "Date: ", and "Subject: " lines starting the body override the respective commit author name and title values taken from the headers.
The commit message is formed by the title taken from the "Subject: ", a blank line and the body of the message up to where the patch begins. Excess whitespace at the end of each line is automatically stripped.
The patch is expected to be inline, directly following the message. Any line that is of the form:
•   three-dashes and end-of-line, or
•   a line that begins with "diff -", or
•   a line that begins with "Index: "
is taken as the beginning of a patch, and the commit log message is terminated before the first occurrence of such a line.
When initially invoking git am, you give it the names of the mailboxes to process. Upon seeing the first patch that does not apply, it aborts in the middle. You can recover from this in one of two ways:
1. skip the current patch by re-running the command with the --skip option.
2. hand resolve the conflict in the working directory, and update the index file to bring it into a state that the patch should have produced. Then run the command with the --continue option.
The command refuses to process new mailboxes until the current operation is finished, so if you decide to start over from scratch, run git am --abort before running the command with mailbox names.
Before any patches are applied, ORIG_HEAD is set to the tip of the current branch. This is useful if you have problems with multiple commits, like running git am on the wrong branch or an error in the commits that is more easily fixed by changing the mailbox (e.g. errors in the "From:" lines).
This command can run applypatch-msg, pre-applypatch, and post-applypatch hooks. See githooks(5) for more information.
git-apply(1).
GIT-LOCK(1)                        Git Extras                        GIT-LOCK(1)
git-lock - Lock a file excluded from version control
git-lock <filename>
Lock local files from version control.
The name of the filename.
$ git lock config/database.yml
Written by Julio Napuri <julionc@gmail.com>
SWAPON(2)                   Linux Programmer's Manual                  SWAPON(2)
swapon, swapoff - start/stop swapping to file/device
#include <sys/swap.h>
int swapon(const char *path, int swapflags); int swapoff(const char *path);
swapon() sets the swap area to the file or block device specified by path.  swapoff() stops swapping to the file or block device specified by path.
If the SWAP_FLAG_PREFER flag is specified in the swapon() swapflags argument, the new swap area will have a higher priority than default. The priority is encoded within swapflags as:
(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK
If the SWAP_FLAG_DISCARD flag is specified in the swapon() swapflags argument, freed swap pages will be discarded before they are reused, if the swap device supports the discard or trim operation.  (This may improve performance on some Solid State Devices, but often it does not.) See also NOTES.
These functions may be used only by a privileged process (one having the CAP_SYS_ADMIN capability).
Priority Each swap area has a priority, either high or low.  The default priority is low.  Within the low-priority areas, newer areas are even lower priority than older areas.
All priorities set with swapflags are high-priority, higher than default. They may have any nonnegative value chosen by the caller.  Higher numbers mean higher priority.
Swap pages are allocated from areas in priority order, highest priority first.  For areas with different priorities, a higher-priority area is exhausted before using a lower-priority area.  If two or more areas have the same priority, and it is the highest priority available, pages are allocated on a round-robin basis between them.
As of Linux 1.3.6, the kernel usually follows these rules, but there are exceptions.
EBUSY  (for swapon()) The specified path is already being used as a swap area.
EINVAL The file path exists, but refers neither to a regular file nor to a block device;
EINVAL (swapon()) The indicated path does not contain a valid swap signature or resides on an in-memory filesystem such as tmpfs(5).
EINVAL (since Linux 3.4) (swapon()) An invalid flag value was specified in swapflags.
EINVAL (swapoff()) path is not currently a swap area.
ENFILE The system-wide limit on the total number of open files has been reached.
ENOENT The file path does not exist.
ENOMEM The system has insufficient memory to start swapping.
EPERM  The caller does not have the CAP_SYS_ADMIN capability. Alternatively, the maximum number of swap files are already in use; see NOTES below.
These functions are Linux-specific and should not be used in programs intended to be portable.  The second swapflags argument was introduced in Linux 1.3.2.
The partition or path must be prepared with mkswap(8).
There is an upper limit on the number of swap files that may be used, defined by the kernel constant MAX_SWAPFILES.  Before kernel 2.4.10, MAX_SWAPFILES has the value 8; since kernel 2.4.10, it has the value 32. Since kernel 2.6.18, the limit is decreased by 2 (thus: 30) if the kernel is built with the CONFIG_MIGRATION option (which reserves two swap table entries for the page migration features of mbind(2) and migrate_pages(2)).  Since kernel 2.6.32, the limit is further decreased by 1 if the kernel is built with the CONFIG_MEMORY_FAILURE option.
Discard of swap pages was introduced in kernel 2.6.29, then made conditional on the SWAP_FLAG_DISCARD flag in kernel 2.6.36, which still discards the entire swap area when swapon() is called, even if that flag bit is not set.
mkswap(8), swapoff(8), swapon(8)
ZPOOL(8)                   BSD System Manager's Manual                  ZPOOL(8)
zpool â€” configure ZFS storage pools
zpool -?V zpool version zpool <subcommand> [<args>]
The zpool command configures ZFS storage pools.  A storage pool is a collection of devices that provides physical storage and data replication for ZFS datasets.  All datasets within a storage pool share the same space. See zfs(8) for information on managing datasets.
For an overview of creating and managing ZFS storage pools see the zpoolconcepts(8) manual page.
The zpool command provides subcommands to create and destroy storage pools, add capacity to storage pools, and provide information about the storage pools.  The following subcommands are supported:
zpool -? Displays a help message.
zpool -V, --version An alias for the zpool version subcommand.
zpool version Displays the software version of the zpool userland utility and the zfs kernel module.
Creation zpool-create(8) Creates a new storage pool containing the virtual devices specified on the command line.
zpool-initialize(8) Begins initializing by writing to all unallocated regions on the specified devices, or all eligible devices in the pool if no individual devices are specified.
Destruction zpool-destroy(8) Destroys the given pool, freeing up any devices for other use.
zpool-labelclear(8) Removes ZFS label information from the specified device.
Virtual Devices zpool-attach(8) / zpool-detach(8) Increases or decreases redundancy by attach-ing or detach-ing a device on an existing vdev (virtual device).
zpool-add(8) / zpool-remove(8) Adds the specified virtual devices to the given pool, or removes the specified device from the pool.
zpool-replace(8) Replaces an existing device (which may be faulted) with a new one.
zpool-split(8) Creates a new pool by splitting all mirrors in an existing pool (which decreases its redundancy).
Properties Available pool properties listed in the zpoolprops(8) manual page.
zpool-list(8) Lists the given pools along with a health status and space usage.
zpool-get(8) / zpool-set(8) Retrieves the given list of properties (or all properties if all is used) for the specified storage pool(s).
Monitoring zpool-status(8) Displays the detailed health status for the given pools.
zpool-iostat(8) Displays logical I/O statistics for the given pools/vdevs. Physical I/Os may be observed via iostat(1).
zpool-events(8) Lists all recent events generated by the ZFS kernel modules.  These events are consumed by the zed(8) and used to automate administrative tasks such as replacing a failed device with a hot spare. For more information about the subclasses and event payloads that can be generated see the zfs-events(5) man page.
zpool-history(8) Displays the command history of the specified pool(s) or all pools if no pool is specified.
Maintenance zpool-scrub(8) Begins a scrub or resumes a paused scrub.
zpool-checkpoint(8) Checkpoints the current state of pool , which can be later restored by zpool import --rewind-to-checkpoint.
zpool-trim(8) Initiates an immediate on-demand TRIM operation for all of the free space in a pool.  This operation informs the underlying storage devices of all blocks in the pool which are no longer allocated and allows thinly provisioned devices to reclaim the space.
zpool-sync(8) This command forces all in-core dirty data to be written to the primary pool storage and not the ZIL. It will also update administrative information including quota reporting. Without arguments, zpool sync will sync all pools on the system. Otherwise, it will sync only the specified pool(s).
zpool-upgrade(8) Manage the on-disk format version of storage pools.
zpool-wait(8) Waits until all background activity of the given types has ceased in the given pool.
Fault Resolution zpool-offline(8) zpool-online(8) Takes the specified physical device offline or brings it online.
zpool-resilver(8) Starts a resilver. If an existing resilver is already running it will be restarted from the beginning.
zpool-reopen(8) Reopen all the vdevs associated with the pool.
zpool-clear(8) Clears device errors in a pool.
Import & Export zpool-import(8) Make disks containing ZFS storage pools available for use on the system.
zpool-export(8) Exports the given pools from the system.
zpool-reguid(8) Generates a new unique identifier for the pool.
0       Successful completion.
1       An error occurred.
2       Invalid command line options were specified.
Example 1 Creating a RAID-Z Storage Pool The following command creates a pool with a single raidz root vdev that consists of six disks.
# zpool create tank raidz sda sdb sdc sdd sde sdf
Example 2 Creating a Mirrored Storage Pool The following command creates a pool with two mirrors, where each mirror contains two disks.
# zpool create tank mirror sda sdb mirror sdc sdd
Example 3 Creating a ZFS Storage Pool by Using Partitions The following command creates an unmirrored pool using two disk partitions.
# zpool create tank sda1 sdb2
Example 4 Creating a ZFS Storage Pool by Using Files The following command creates an unmirrored pool using files. While not recommended, a pool based on files can be useful for experimental purposes.
# zpool create tank /path/to/file/a /path/to/file/b
Example 5 Adding a Mirror to a ZFS Storage Pool The following command adds two mirrored disks to the pool tank, assuming the pool is already made up of two-way mirrors.  The additional space is immediately available to any datasets within the pool.
# zpool add tank mirror sda sdb
Example 6 Listing Available ZFS Storage Pools The following command lists all available pools on the system.  In this case, the pool zion is faulted due to a missing device.  The results from this command are similar to the following:
# zpool list NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT rpool  19.9G  8.43G  11.4G         -    33%    42%  1.00x  ONLINE  - tank   61.5G  20.0G  41.5G         -    48%    32%  1.00x  ONLINE  - zion       -      -      -         -      -      -      -  FAULTED -
Example 7 Destroying a ZFS Storage Pool The following command destroys the pool tank and any datasets contained within.
# zpool destroy -f tank
Example 8 Exporting a ZFS Storage Pool The following command exports the devices in pool tank so that they can be relocated or later imported.
# zpool export tank
Example 9 Importing a ZFS Storage Pool The following command displays available pools, and then imports the pool tank for use on the system.  The results from this command are similar to the following:
# zpool import pool: tank id: 15451357997522795478 state: ONLINE action: The pool can be imported using its name or numeric identifier. config:
tank        ONLINE mirror    ONLINE sda     ONLINE sdb     ONLINE
# zpool import tank
Example 10 Upgrading All ZFS Storage Pools to the Current Version The following command upgrades all ZFS Storage pools to the current version of the software.
# zpool upgrade -a This system is currently running ZFS version 2.
Example 11 Managing Hot Spares The following command creates a new pool with an available hot spare:
# zpool create tank mirror sda sdb spare sdc
If one of the disks were to fail, the pool would be reduced to the degraded state.  The failed device can be replaced using the following command:
# zpool replace tank sda sdd
Once the data has been resilvered, the spare is automatically removed and is made available for use should another device fail. The hot spare can be permanently removed from the pool using the following command:
# zpool remove tank sdc
Example 12 Creating a ZFS Pool with Mirrored Separate Intent Logs The following command creates a ZFS storage pool consisting of two, two-way mirrors and mirrored log devices:
# zpool create pool mirror sda sdb mirror sdc sdd log mirror \ sde sdf
Example 13 Adding Cache Devices to a ZFS Pool The following command adds two disks for use as cache devices to a ZFS storage pool:
# zpool add pool cache sdc sdd
Once added, the cache devices gradually fill with content from main memory.  Depending on the size of your cache devices, it could take over an hour for them to fill.  Capacity and reads can be monitored using the iostat option as follows:
# zpool iostat -v pool 5
Example 14 Removing a Mirrored top-level (Log or Data) Device The following commands remove the mirrored log device mirror-2 and mirrored top-level data device mirror-1.
Given this configuration:
pool: tank state: ONLINE scrub: none requested config:
NAME        STATE     READ WRITE CKSUM tank        ONLINE       0     0     0 mirror-0  ONLINE       0     0     0 sda     ONLINE       0     0     0 sdb     ONLINE       0     0     0 mirror-1  ONLINE       0     0     0 sdc     ONLINE       0     0     0 sdd     ONLINE       0     0     0 logs mirror-2  ONLINE       0     0     0 sde     ONLINE       0     0     0 sdf     ONLINE       0     0     0
The command to remove the mirrored log mirror-2 is:
# zpool remove tank mirror-2
The command to remove the mirrored data mirror-1 is:
# zpool remove tank mirror-1
Example 15 Displaying expanded space on a device The following command displays the detailed information for the pool data.  This pool is comprised of a single raidz vdev where one of its devices increased its capacity by 10GB.  In this example, the pool will not be able to utilize this extra capacity until all the devices under the raidz vdev have been expanded.
# zpool list -v data NAME         SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT data        23.9G  14.6G  9.30G         -    48%    61%  1.00x  ONLINE  - raidz1    23.9G  14.6G  9.30G         -    48% sda         -      -      -         -      - sdb         -      -      -       10G      - sdc         -      -      -         -      -
Example 16 Adding output columns Additional columns can be added to the zpool status and zpool iostat output with -c option.
# zpool status -c vendor,model,size NAME     STATE  READ WRITE CKSUM vendor  model        size tank     ONLINE 0    0     0 mirror-0 ONLINE 0    0     0 U1       ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T U10      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T U11      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T U12      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T U13      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T U14      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T
# zpool iostat -vc size capacity     operations     bandwidth pool        alloc   free   read  write   read  write  size ----------  -----  -----  -----  -----  -----  -----  ---- rpool       14.6G  54.9G      4     55   250K  2.69M sda1      14.6G  54.9G      4     55   250K  2.69M   70G ----------  -----  -----  -----  -----  -----  -----  ----
ZFS_ABORT  Cause zpool to dump core on exit for the purposes of running ::findleaks.
ZFS_COLOR  Use ANSI color in zpool status output.
ZPOOL_IMPORT_PATH  The search path for devices or files to use with the pool. This is a colon-separated list of directories in which zpool looks for device nodes and files.  Similar to the -d option in zpool import.
ZPOOL_IMPORT_UDEV_TIMEOUT_MS  The maximum time in milliseconds that zpool import will wait for an expected device to be available.
ZPOOL_STATUS_NON_NATIVE_ASHIFT_IGNORE  If set, suppress warning about non- native vdev ashift in zpool status. The value is not used, only the presence or absence of the variable matters.
ZPOOL_VDEV_NAME_GUID  Cause zpool subcommands to output vdev guids by default.  This behavior is identical to the zpool status -g command line option.
ZPOOL_VDEV_NAME_FOLLOW_LINKS  Cause zpool subcommands to follow links for vdev names by default.  This behavior is identical to the zpool status -L command line option.
ZPOOL_VDEV_NAME_PATH  Cause zpool subcommands to output full vdev path names by default.  This behavior is identical to the zpool status -P command line option.
ZFS_VDEV_DEVID_OPT_OUT  Older OpenZFS implementations had issues when attempting to display pool config VDEV names if a devid NVP value is present in the pool's config.
For example, a pool that originated on illumos platform would have a devid value in the config and zpool status would fail when listing the config. This would also be true for future Linux based pools.
A pool can be stripped of any devid values on import or prevented from adding them on zpool create or zpool add by setting ZFS_VDEV_DEVID_OPT_OUT.
ZPOOL_SCRIPTS_AS_ROOT  Allow a privileged user to run the zpool status/iostat with the -c option.  Normally, only unprivileged users are allowed to run -c.
ZPOOL_SCRIPTS_PATH  The search path for scripts when running zpool status/iostat with the -c option. This is a colon- separated list of directories and overrides the default ~/.zpool.d and /etc/zfs/zpool.d search paths.