neulab/tldr huggingface dataset:
~/.local/share/lftp/log or ~/.lftp/log The file things are logged to when lftp moves into the background in nohup mode.
~/.local/share/lftp/transfer_log or ~/.lftp/transfer_log The file transfers are logged to when log:enabled/xfer setting is set to `yes'.  The location can be changed by log:file/xfer setting.
~/.local/share/lftp/bookmarks or ~/.lftp/bookmarks The file is used to store lftp's bookmarks.  See the bookmark command.
~/.local/share/lftp/cwd_history or ~/.lftp/cwd_history The file is used to store last working directories for each site visited.
~/.local/share/lftp/bg/ or ~/.lftp/bg/ The directory is used to store named sockets for backgrounded lftp processes.
~/.cache/lftp/DHT/ or ~/.lftp/DHT/" The directory is used to store DHT id and nodes cache for IPv4 and IPv6.  File name suffix is the host name.
~/.cache/lftp/edit/ or ~/.lftp/edit/" The directory is used to store temporary files for edit command.
~/.local/share/lftp/torrent/md/ or ~/.lftp/torrent/md/" The directory is used to store torrent metadata. It is especially useful for magnet links, cached metadata can be loaded from the directory.  It can also serve as torrent history, file names are the info_hash of torrents.
~/.netrc The file is consulted to get default login and password to a server when it is specified without a protocol to the `open' command.  Passwords are also searched here if an URL with user name but with no password is used.
ftpd(8), ftp(1) RFC854 (telnet), RFC959 (ftp), RFC1123, RFC1945 (http/1.0), RFC2052 (SRV RR), RFC2228 (ftp security extensions), RFC2389 (ftp FEAT), RFC2428 (ftp/ipv6), RFC2518 (WebDAV), RFC2616 (http/1.1), RFC2617 (http/1.1 authentication), RFC2640 (ftp i18n), RFC3659 (ftp extensions), RFC4217 (ftp over ssl), BEP0003 (BitTorrent Protocol), BEP0005 (DHT Protocol), BEP0006 (Fast Extension), BEP0007 (IPv6 Tracker Extension), BEP0009 (Extension for Peers to Send Metadata Files), BEP0010 (Extension Protocol), BEP0012 (Multitracker Metadata Extension), BEP0023 (Tracker Returns Compact Peer Lists), BEP0032 (DHT Extensions for IPv6). https://tools.ietf.org/html/draft-preston-ftpext-deflate-04 (ftp deflate transmission mode), https://tools.ietf.org/html/draft-dd-pret-00 (PRET command), https://tools.ietf.org/html/draft-ietf-secsh-filexfer-13 (sftp). http://wiki.theory.org/BitTorrentSpecification http://www.bittornado.com/docs/multitracker-spec.txt http://www.rasterbar.com/products/libtorrent/dht_sec.html (DHT security extension) http://xbtt.sourceforge.net/udp_tracker_protocol.html (UDP tracker)
Alexander V. Lukyanov lav@yars.free.net
This manual page was originally written by Christoph Lameter <clameter@debian.org>, for the Debian GNU/Linux system. The page was improved and updated later by Nicolas Lichtmaier <nick@Feedback.com.ar>, James Troup <J.J.Troup@comp.brad.ac.uk> and Alexander V. Lukyanov <lav@yars.free.net>.
FACTOR(1)                         User Commands                        FACTOR(1)
factor - factor numbers
factor [NUMBER]... factor OPTION
Print the prime factors of each specified integer NUMBER.  If none are specified on the command line, read them from standard input.
Written by Paul Rubin, Torbjorn Granlund, and Niels Moller.
GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report any translation bugs to <https://translationproject.org/team/>
Copyright Â© 2021 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
Full documentation <https://www.gnu.org/software/coreutils/factor> or available locally via: info '(coreutils) factor invocation'
UNRAR(1)                          RAR archiver                          UNRAR(1)
unrar - extract files from rar archives
unrar <command> [-<switch 1> -<switch N>] archive [files...] [path...]
This manual page documents briefly the unrar command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. Commands and options described here are as of unrar 2.02.
After the program name comes a command and then optional switches with dashes before them.  A summary of commands is included below.  For a complete description, run unrar without options.
e      Extract files to current directory.
l      List archive content.
p      Print file to stdout.
t      Test archive files.
v      Verbosely list archive.
x      Extract files with full path.
NOTE: Every switch must be separated by a whitespace. You cannot put them together.
-av-   Disable AV check.
-c-    Disable comments show.
-f     Freshen files.
-kb    Keep broken extracted files.
-ierr  Send all messages to stderr.
-inul  Disable all messages.
-o+    Overwrite existing files.
-o-    Do not overwrite existing files.
-p<password> Set password.
-p-    Do not query password.
-r     Recurse subdirectories.
-u     Update files.
-v     List all volumes.
-x<file> Exclude specified file.
-x@<list> Exclude files in specified list file.
-x@    Read file names to exclude from stdin.
-y     Assume Yes on all queries.
This manual page was written by Petr Cech <cech@debian.org> according to "unrar -h" for the Debian GNU/Linux system (but may be used by others).
MUPDF(1)                     General Commands Manual                    MUPDF(1)
mupdf - MuPDF is a lightweight PDF viewer written in portable C
mupdf [options] file[page_number]
MuPDF is a document viewer that can show PDF, XPS, EPUB, XHTML, CBZ, and various image formats such as PNG, JPEG, GIF, and TIFF.
A description of each of the supported options is included below.
-p password Uses the given password to open an encrypted PDF file.  The password is tried both as user and owner password.
-r resolution Changes the initial zoom level, specified as the resolution in dpi.  The default value is 72.
-A bits Changes the anti-aliasing quality, specified as a number of bits between 0 (off) and 8 (best).  The default value is 8.
-C RRGGBB Sets the full-page tint using hexadecimal color syntax.  The default value is FFFAF0.
-W width Page width in points for EPUB layout.
-H height Page height in points for EPUB layout.
-S size Font size in points for EPUB layout.
-U CSS-file User style sheet for EPUB layout.
Left mouse button click A left click on a hyper link follows the link.  In presentation mode advances to the next page.
Right mouse button click In presentation mode goes back to the previous page.
Left mouse button drag Pan the page.  Panning beyond the bottom or top edge will go to the next or previous page.
Right mouse button drag Select text in an area.  On X11, the selected text can be pasted in another application with a middle click.  Press Ctrl+C to copy the selected text to the clipboard.  On Windows, the selected text will automatically be copied to the clipboard.
Scroll wheel Pan page up or down.  Does not change page when reaching the bottom or top edge.
Shift + Scroll wheel Pan page left or right.
Control + Scroll wheel Zoom in or out.
Page navigation:
. pgdn space Go to the next page.
, pgup b backspace Go to the previous page.
123g   Go to page 123.
g, G   Go to the first or last page.
m      Mark current page for snap back.  Up to 256 pages can be marked.
t      Pop back to the latest mark.
[0–9]m Save the current page number in the numbered register.
[0–9]t Go to the page saved in the numbered register.
Zooming and rotating:
+, -   Zoom in or out.
W, H   Zoom page to exactly fit width/height of window.
Z      Zoom page to fit either to width or height of window.
z      Reset zoom level.
[, ]   Rotate page left (counter-clockwise) or right (clockwise).
w      Shrinkwrap window to fit the page.
f      Toggles fullscreen mode.
Panning:
h, left, j, k, l, right Pan page left, down, up, or right.
Searching:
/, ?   Search for text forwards or backwards.
n, N   Find the next/previous search result.
<, >   Increase/decrease EPUB/XHTML font size.
r      Reload file.
p      Toggle presentation mode.
c      Toggle between color and grayscale rendering.
C      Toggle full-page color tinting.
I      Toggle between normal and inverted color rendering.
E      Toggle ICC color mode.
e      Toggle spot color mode.
A      Set bit of anti-aliasing to use. The default is 8.  0 means no anti-aliasing, 9 means no anti-aliasing, centre-of-pixel rule, 10 means no anti-aliasing, any-part-of-a-pixel rule.
P      Show page number and total number of pages.
S      Save updated document file.
q      Quit.
SIGHUP Sending a SIGHUP signal to the mupdf process will also cause the viewed file to be reloaded automatically, for use in e.g. build scripts.
mutool(1).
MuPDF is Copyright 2006–2021 Artifex Software, Inc.
SYNCTHING(1)                        Syncthing                       SYNCTHING(1)
syncthing - Syncthing
syncthing [-audit] [-auditfile=<file|-|-->] [-browser-only] [device-id] [-generate=<dir>] [-gui-address=<address>] [-gui-apikey=<key>] [-home=<dir> | -config=<dir> -data=<dir>] [-logfile=<filename>] [-logflags=<flags>] [-no-browser] [-no-console] [-no-restart] [-paths] [-paused] [-reset-database] [-reset-deltas] [-unpaused] [-upgrade] [-upgrade-check] [-upgrade-to=<url>] [-verbose] [-version]
Syncthing lets you synchronize your files bidirectionally across multiple devices. This means the creation, modification or deletion of files on one machine will automatically be replicated to your other devices. We believe your data is your data alone and you deserve to choose where it is stored. Therefore Syncthing does not upload your data to the cloud but exchanges your data across your machines as soon as they are online at the same time.
The syncthing core application is a command-line program which usually runs in the background and handles the synchronization. It provides a built-in, HTML and JavaScript based user interface to be controlled from a web browser. This frontend communicates with the core application through some HTTP APIs, which other apps like graphical system integration helpers can use as well, for greatest flexibility. A link to reach the GUI and API is printed among the first few log messages.
-audit Write events to timestamped file audit-YYYYMMDD-HHMMSS.log.
-auditfile=<file|-|--> Use specified file or stream ("-" for stdout, "--" for stderr) for audit events, rather than the timestamped default file name.
-browser-only Open the web UI in a browser for an already running Syncthing instance.
-device-id Print device ID to command line.
-generate=<dir> Generate key and config in specified dir, then exit.
-gui-address=<address> Override GUI listen address. Set this to an address (0.0.0.0:8384) or file path (/var/run/st.sock, for UNIX sockets).
-home=<dir> Set common configuration and data directory. The default configuration directory is $HOME/.config/syncthing (Unix-like), $HOME/Library/Application Support/Syncthing (Mac) and %LOCALAPPDATA%\Syncthing (Windows).
-config=<dir> Set configuration directory. Alternative to -home and must be used together with -data.
-data=<dir> Set data (e.g. database) directory. Alternative to -home and must be used together with -config.
-logfile=<filename> Set destination filename for logging (use "-" for stdout, which is the default option).
-logflags=<flags> Select information in log line prefix. The -logflags value is a sum of the following:
• 1: Date
• 2: Time
• 4: Microsecond time
• 8: Long filename
• 16: Short filename
To prefix each log line with date and time, set -logflags=3 (1 + 2 from above). The value 0 is used to disable all of the above. The default is to show time only (2).
-no-browser Do not start a browser.
-no-console Hide the console window. (On Windows only)
-no-restart Do not restart Syncthing when it exits. The monitor process will still run to handle crashes and writing to logfiles (if configured to).
-paths Print the paths used for configuration, keys, database, GUI overrides, default sync folder and the log file.
-paused Start with all devices and folders paused.
-reset-database Reset the database, forcing a full rescan and resync. Create .stfolder folders in each sync folder if they do not already exist. Caution: Ensure that all sync folders which are mountpoints are already mounted.  Inconsistent versions may result if the mountpoint is later mounted and contains older versions.
-reset-deltas Reset delta index IDs, forcing a full index exchange.
-unpaused Start with all devices and folders unpaused.
-upgrade Perform upgrade.
-upgrade-check Check for available upgrade.
-upgrade-to=<url> Force upgrade directly from specified URL.
-verbose Print verbose log output.
-version Show version.
0      Success / Shutdown
1      Error
2      Upgrade not available
3      Restarting
4      Upgrading
Exit codes over 125 are usually returned by the shell/binary loader/default signal handler. Exit codes over 128+N on Unix usually represent the signal which caused the process to exit. For example, 128 + 9 (SIGKILL) = 137.
Syncthing can use a SOCKS, HTTP, or HTTPS proxy to talk to the outside world. The proxy is used for outgoing connections only - it is not possible to accept incoming connections through the proxy. The proxy is configured through the environment variable all_proxy. Somewhat unusually, this variable must be named in lower case - it is not “ALL_PROXY”. For example:
$ export all_proxy=socks://192.0.2.42:8081
The following environment variables modify Syncthing’s behavior in ways that are mostly useful for developers. Use with care.  If you start Syncthing from within service managers like systemd or supervisor, path expansion may not be supported.
STTRACE Used to increase the debugging verbosity in specific or all facilities, generally mapping to a Go package. Enabling any of these also enables microsecond timestamps, file names plus line numbers. Enter a comma-separated string of facilities to trace. syncthing -help always outputs an up-to-date list. The valid facility strings are:
Main and operational facilities:
config Configuration loading and saving.
db     The database layer.
main   Main package.
model  The root hub; the largest chunk of the system. File pulling, index transmission and requests for chunks.
scanner File change detection and hashing.
versioner File versioning.
Networking facilities:
beacon Multicast and broadcast UDP discovery packets: Selected interfaces and addresses.
connections Connection handling.
dialer Dialing connections.
discover Remote device discovery requests, replies and registration of devices.
nat    NAT discovery and port mapping.
pmp    NAT-PMP discovery and port mapping.
protocol The BEP protocol.
relay  Relay interaction (strelaysrv).
upnp   UPnP discovery and port mapping.
Other facilities:
fs     Filesystem access.
events Event generation and logging.
http   REST API.
sha256 SHA256 hashing package (this facility currently unused).
stats  Persistent device and folder statistics.
sync   Mutexes. Used for debugging race conditions and deadlocks.
upgrade Binary upgrades.
walkfs Filesystem access while walking.
all    All of the above.
STBLOCKPROFILE Write block profiles to block-$pid-$timestamp.pprof every 20 seconds.
STCPUPROFILE Write a CPU profile to cpu-$pid.pprof on exit.
STDEADLOCKTIMEOUT Used for debugging internal deadlocks; sets debug sensitivity. Use only under direction of a developer.
STDEADLOCKTHRESHOLD Used for debugging internal deadlocks; sets debug sensitivity. Use only under direction of a developer.
STGUIASSETS Directory to load GUI assets from. Overrides compiled in assets. Useful for developing webgui, commonly use STGUIASSETS=gui bin/syncthing.
STHASHING Specify which hashing package to use. Defaults to automatic based on performance. Specify “minio” (compatibility) or “standard” for the default Go implementation.
STHEAPPROFILE Write heap profiles to heap-$pid-$timestamp.pprof each time heap usage increases.
STNODEFAULTFOLDER Don’t create a default folder when starting for the first time. This variable will be ignored anytime after the first run.
STNORESTART Equivalent to the -no-restart flag
STNOUPGRADE Disable automatic upgrades.
STPROFILER Set to a listen address such as “127.0.0.1:9090” to start the profiler with HTTP access, which then can be reached at http://localhost:9090/debug/pprof. See go tool pprof for more information.
STPERFSTATS Write running performance statistics to perf-$pid.csv. Not supported on Windows.
STRECHECKDBEVERY Time before folder statistics (file, dir, … counts) are recalculated from scratch. The given duration must be parseable by Go’s time.ParseDuration. If missing or not parseable, the default value of 1 month is used. To force recalculation on every startup, set it to 1s.
GOMAXPROCS Set the maximum number of CPU cores to use. Defaults to all available CPU cores.
GOGC   Percentage of heap growth at which to trigger GC. Default is 100. Lower numbers keep peak memory usage down, at the price of CPU usage (i.e. performance).
syncthing-config(5), syncthing-stignore(5), syncthing-device-ids(7), syncthing-security(7), syncthing-networking(7), syncthing-versioning(7), syncthing-faq(7)
The Syncthing Authors
2014-2019, The Syncthing Authors
MINGLE(1)                    General Commands Manual                   MINGLE(1)
mingle - fast edge bundling
mingle [ options ] [ -o outfile ] [ files ]
mingle takes as input a graph in DOT format with node position information (the pos attribute) and bundles the edges.
The following options are supported:
-m k   indicates which method to use for bundling. A value of 0 corresponds to a force-directed bundling.  A value of 2 uses a cluster plus ink saving approach. If available, a value 1 denotes an agglomerative ink saving method. Normally, the last is the default.
-a k   specifies the maximum turning angle, in degrees, as a non-negative real.  The larger the value, the more edges may bend. If the value is 0, there is no limitation on the turning angle. The default is 40.  The parameter is not used in force-directed bundling.
-c v   specifies which compatability measure to use. The value 0, the default, uses a distance metric, while a value of 1 relies on full compatability. This value is only used in force-directed bundling.
-i k   gives the maximum number of iterative divisions of edges allowd in force-directed bundling.  The default is 4.
-k k   gives the number of neighbors to be used in forming a nearest neighbor graph. This parameter is only used in the agglomerative method. The default is 10.
-K k   is a positive real value giving the force constant used in force- directed bundling. By default, the value is determined automatically.
-o file puts output in file. Default output is stdout
-p k   Except for the force-directed method, bundling minimizes ink*(k−cos(turningangle)). The larger the value of k, the less emphasis is put on avoiding sharp turning angles and the faster the bundling.  The default value is -1.
-r k   is a non-negative integer giving the maximum recursion level used in the agglomerative method. The default is 100.
-T fmt specifies the output format. At present, the output is always in the DOT format. If fmt is "simple", the output is a simple, schematic representation of the drawing. Only the node positions and edges are retained from the original graph. If fmt is "gv", the drawing information is attached to the input graph.
-v k   determines the verbose level used for tracing the algorithm. The value k is optional; if not provided, the value 1 is used.
-?     Print usage and exit.
At present, mingle does not handle graphs with loops or directed multiedges. So, a graph with edges a -> b and b -> a is acceptable, but not if it has edges a -> b and a -> b or a -- b and a -- b.
Emden R. Gansner <erg@graphviz.org>, Yifan Hu <yifanhu@yahoo.com>
sfdp(1), neato(1), gvpr(1)
Emden R. Gansner, Yifan Hu, Stephen C. North and Carlos Scheidegger, ``Multilevel Agglomerative Edge Bundling for Visualizing Large Graphs'', IEEE Pacific Visualization Symposium PacificVis, pp. 187‐194, 2011.
GIT-UPDATE-INDEX(1)                Git Manual                GIT-UPDATE-INDEX(1)
git-update-index - Register file contents in the working tree to the index
git update-index [--add] [--remove | --force-remove] [--replace] [--refresh] [-q] [--unmerged] [--ignore-missing] [(--cacheinfo <mode>,<object>,<file>)...] [--chmod=(+|-)x] [--[no-]assume-unchanged] [--[no-]skip-worktree] [--[no-]ignore-skip-worktree-entries] [--[no-]fsmonitor-valid] [--ignore-submodules] [--[no-]split-index] [--[no-|test-|force-]untracked-cache] [--[no-]fsmonitor] [--really-refresh] [--unresolve] [--again | -g] [--info-only] [--index-info] [-z] [--stdin] [--index-version <n>] [--verbose] [--] [<file>...]
Modifies the index. Each file mentioned is updated into the index and any unmerged or needs updating state is cleared.
See also git-add(1) for a more user-friendly way to do some of the most common operations on the index.
The way git update-index handles files it is told about can be modified using the various options:
--add If a specified file isn’t in the index already then it’s added. Default behaviour is to ignore new files.
--remove If a specified file is in the index but is missing then it’s removed. Default behavior is to ignore removed file.
--refresh Looks at the current index and checks to see if merges or updates are needed by checking stat() information.
-q Quiet. If --refresh finds that the index needs an update, the default behavior is to error out. This option makes git update-index continue anyway.
--ignore-submodules Do not try to update submodules. This option is only respected when passed before --refresh.
--unmerged If --refresh finds unmerged changes in the index, the default behavior is to error out. This option makes git update-index continue anyway.
--ignore-missing Ignores missing files during a --refresh
--cacheinfo <mode>,<object>,<path>, --cacheinfo <mode> <object> <path> Directly insert the specified info into the index. For backward compatibility, you can also give these three arguments as three separate parameters, but new users are encouraged to use a single-parameter form.
--index-info Read index information from stdin.
--chmod=(+|-)x Set the execute permissions on the updated files.
--[no-]assume-unchanged When this flag is specified, the object names recorded for the paths are not updated. Instead, this option sets/unsets the "assume unchanged" bit for the paths. When the "assume unchanged" bit is on, the user promises not to change the file and allows Git to assume that the working tree file matches what is recorded in the index. If you want to change the working tree file, you need to unset the bit to tell Git. This is sometimes helpful when working with a big project on a filesystem that has very slow lstat(2) system call (e.g. cifs).
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--really-refresh Like --refresh, but checks stat information unconditionally, without regard to the "assume unchanged" setting.
--[no-]skip-worktree When one of these flags is specified, the object name recorded for the paths are not updated. Instead, these options set and unset the "skip-worktree" bit for the paths. See section "Skip-worktree bit" below for more information.
--[no-]ignore-skip-worktree-entries Do not remove skip-worktree (AKA "index-only") entries even when the --remove option was specified.
--[no-]fsmonitor-valid When one of these flags is specified, the object name recorded for the paths are not updated. Instead, these options set and unset the "fsmonitor valid" bit for the paths. See section "File System Monitor" below for more information.
-g, --again Runs git update-index itself on the paths whose index entries are different from those from the HEAD commit.
--unresolve Restores the unmerged or needs updating state of a file during a merge if it was cleared by accident.
--info-only Do not create objects in the object database for all <file> arguments that follow this flag; just insert their object IDs into the index.
--force-remove Remove the file from the index even when the working directory still has such a file. (Implies --remove.)
--replace By default, when a file path exists in the index, git update-index refuses an attempt to add path/file. Similarly if a file path/file exists, a file path cannot be added. With --replace flag, existing entries that conflict with the entry being added are automatically removed with warning messages.
--stdin Instead of taking list of paths from the command line, read list of paths from the standard input. Paths are separated by LF (i.e. one path per line) by default.
--verbose Report what is being added and removed from index.
--index-version <n> Write the resulting index out in the named on-disk format version. Supported versions are 2, 3 and 4. The current default version is 2 or 3, depending on whether extra features are used, such as git add -N.
Version 4 performs a simple pathname compression that reduces index size by 30%-50% on large repositories, which results in faster load time. Version 4 is relatively young (first released in 1.8.0 in October 2012). Other Git implementations such as JGit and libgit2 may not support it yet.
-z Only meaningful with --stdin or --index-info; paths are separated with NUL character instead of LF.
--split-index, --no-split-index Enable or disable split index mode. If split-index mode is already enabled and --split-index is given again, all changes in $GIT_DIR/index are pushed back to the shared index file.
These options take effect whatever the value of the core.splitIndex configuration variable (see git-config(1)). But a warning is emitted when the change goes against the configured value, as the configured value will take effect next time the index is read and this will remove the intended effect of the option.
--untracked-cache, --no-untracked-cache Enable or disable untracked cache feature. Please use --test-untracked-cache before enabling it.
These options take effect whatever the value of the core.untrackedCache configuration variable (see git-config(1)). But a warning is emitted when the change goes against the configured value, as the configured value will take effect next time the index is read and this will remove the intended effect of the option.
--test-untracked-cache Only perform tests on the working directory to make sure untracked cache can be used. You have to manually enable untracked cache using --untracked-cache or --force-untracked-cache or the core.untrackedCache configuration variable afterwards if you really want to use it. If a test fails the exit code is 1 and a message explains what is not working as needed, otherwise the exit code is 0 and OK is printed.
--force-untracked-cache Same as --untracked-cache. Provided for backwards compatibility with older versions of Git where --untracked-cache used to imply --test-untracked-cache but this option would enable the extension unconditionally.
--fsmonitor, --no-fsmonitor Enable or disable files system monitor feature. These options take effect whatever the value of the core.fsmonitor configuration variable (see git-config(1)). But a warning is emitted when the change goes against the configured value, as the configured value will take effect next time the index is read and this will remove the intended effect of the option.
-- Do not interpret any more arguments as options.
<file> Files to act on. Note that files beginning with .  are discarded. This includes ./file and dir/./file. If you don’t want this, then use cleaner names. The same applies to directories ending / and paths with //
USING --REFRESH --refresh does not calculate a new sha1 file or bring the index up to date for mode/content changes. But what it does do is to "re-match" the stat information of a file with the index, so that you can refresh the index for a file that hasn’t been changed but where the stat entry is out of date.
For example, you’d want to do this after doing a git read-tree, to link up the stat index details with the proper files.
USING --CACHEINFO OR --INFO-ONLY --cacheinfo is used to register a file that is not in the current working directory. This is useful for minimum-checkout merging.
To pretend you have a file at path with mode and sha1, say:
$ git update-index --add --cacheinfo <mode>,<sha1>,<path>
--info-only is used to register files without placing them in the object database. This is useful for status-only repositories.
Both --cacheinfo and --info-only behave similarly: the index is updated but the object database isn’t. --cacheinfo is useful when the object is in the database but the file isn’t available locally. --info-only is useful when the file is available, but you do not wish to update the object database.
USING --INDEX-INFO --index-info is a more powerful mechanism that lets you feed multiple entry definitions from the standard input, and designed specifically for scripts. It can take inputs of three formats:
1. mode SP type SP sha1 TAB path
This format is to stuff git ls-tree output into the index.
2. mode SP sha1 SP stage TAB path
This format is to put higher order stages into the index file and matches git ls-files --stage output.
3. mode SP sha1 TAB path
This format is no longer produced by any Git command, but is and will continue to be supported by update-index --index-info.
To place a higher stage entry to the index, the path should first be removed by feeding a mode=0 entry for the path, and then feeding necessary input lines in the third format.
For example, starting with this index:
$ git ls-files -s 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0       frotz
you can feed the following input to --index-info:
$ git update-index --index-info 0 0000000000000000000000000000000000000000      frotz 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1       frotz 100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2       frotz
The first line of the input feeds 0 as the mode to remove the path; the SHA-1 does not matter as long as it is well formatted. Then the second and third line feeds stage 1 and stage 2 entries for that path. After the above, we would end up with this:
$ git ls-files -s 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1       frotz 100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2       frotz
USING “ASSUME UNCHANGED” BIT Many operations in Git depend on your filesystem to have an efficient lstat(2) implementation, so that st_mtime information for working tree files can be cheaply checked to see if the file contents have changed from the version recorded in the index file. Unfortunately, some filesystems have inefficient lstat(2). If your filesystem is one of them, you can set "assume unchanged" bit to paths you have not changed to cause Git not to do this check. Note that setting this bit on a path does not mean Git will check the contents of the file to see if it has changed — it makes Git to omit any checking and assume it has not changed. When you make changes to working tree files, you have to explicitly tell Git about it by dropping "assume unchanged" bit, either before or after you modify them.
In order to set "assume unchanged" bit, use --assume-unchanged option. To unset, use --no-assume-unchanged. To see which files have the "assume unchanged" bit set, use git ls-files -v (see git-ls-files(1)).
The command looks at core.ignorestat configuration variable. When this is true, paths updated with git update-index paths... and paths updated with other Git commands that update both index and working tree (e.g. git apply --index, git checkout-index -u, and git read-tree -u) are automatically marked as "assume unchanged". Note that "assume unchanged" bit is not set if git update-index --refresh finds the working tree file matches the index (use git update-index --really-refresh if you want to mark them as "assume unchanged").
To update and refresh only the files already checked out:
$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh
On an inefficient filesystem with core.ignorestat set
$ git update-index --really-refresh              (1) $ git update-index --no-assume-unchanged foo.c   (2) $ git diff --name-only                           (3) $ edit foo.c $ git diff --name-only                           (4) M foo.c $ git update-index foo.c                         (5) $ git diff --name-only                           (6) $ edit foo.c $ git diff --name-only                           (7) $ git update-index --no-assume-unchanged foo.c   (8) $ git diff --name-only                           (9) M foo.c
1. forces lstat(2) to set "assume unchanged" bits for paths that match index. 2. mark the path to be edited. 3. this does lstat(2) and finds index matches the path. 4. this does lstat(2) and finds index does not match the path. 5. registering the new version to index sets "assume unchanged" bit. 6. and it is assumed unchanged. 7. even after you edit it. 8. you can tell about the change after the fact. 9. now it checks with lstat(2) and finds it has been changed.
SKIP-WORKTREE BIT Skip-worktree bit can be defined in one (long) sentence: When reading an entry, if it is marked as skip-worktree, then Git pretends its working directory version is up to date and read the index version instead.
To elaborate, "reading" means checking for file existence, reading file attributes or file content. The working directory version may be present or absent. If present, its content may match against the index version or not. Writing is not affected by this bit, content safety is still first priority. Note that Git can update working directory file, that is marked skip-worktree, if it is safe to do so (i.e. working directory version matches index version)
Although this bit looks similar to assume-unchanged bit, its goal is different from assume-unchanged bit’s. Skip-worktree also takes precedence over assume-unchanged bit when both are set.
This mode is designed for repositories with very large indexes, and aims at reducing the time it takes to repeatedly write these indexes.
In this mode, the index is split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in $GIT_DIR/index, the split index, while the shared index file contains all index entries and stays unchanged.
All changes in the split index are pushed back to the shared index file when the number of entries in the split index reaches a level specified by the splitIndex.maxPercentChange config variable (see git-config(1)).
Each time a new shared index file is created, the old shared index files are deleted if their modification time is older than what is specified by the splitIndex.sharedIndexExpire config variable (see git-config(1)).
To avoid deleting a shared index file that is still used, its modification time is updated to the current time every time a new split index based on the shared index file is either created or read from.
This cache is meant to speed up commands that involve determining untracked files such as git status.
This feature works by recording the mtime of the working tree directories and then omitting reading directories and stat calls against files in those directories whose mtime hasn’t changed. For this to work the underlying operating system and file system must change the st_mtime field of directories if files in the directory are added, modified or deleted.
You can test whether the filesystem supports that with the --test-untracked-cache option. The --untracked-cache option used to implicitly perform that test in older versions of Git, but that’s no longer the case.
If you want to enable (or disable) this feature, it is easier to use the core.untrackedCache configuration variable (see git-config(1)) than using the --untracked-cache option to git update-index in each repository, especially if you want to do so across all repositories you use, because you can set the configuration variable to true (or false) in your $HOME/.gitconfig just once and have it affect all repositories you touch.
When the core.untrackedCache configuration variable is changed, the untracked cache is added to or removed from the index the next time a command reads the index; while when --[no-|force-]untracked-cache are used, the untracked cache is immediately added to or removed from the index.
Before 2.17, the untracked cache had a bug where replacing a directory with a symlink to another directory could cause it to incorrectly show files tracked by git as untracked. See the "status: add a failing test showing a core.untrackedCache bug" commit to git.git. A workaround for that is (and this might work for other undiscovered bugs in the future):
$ git -c core.untrackedCache=false status
This bug has also been shown to affect non-symlink cases of replacing a directory with a file when it comes to the internal structures of the untracked cache, but no case has been reported where this resulted in wrong "git status" output.
There are also cases where existing indexes written by git versions before 2.17 will reference directories that don’t exist anymore, potentially causing many "could not open directory" warnings to be printed on "git status". These are new warnings for existing issues that were previously silently discarded.
As with the bug described above the solution is to one-off do a "git status" run with core.untrackedCache=false to flush out the leftover bad data.
This feature is intended to speed up git operations for repos that have large working directories.
It enables git to work together with a file system monitor (see the "fsmonitor-watchman" section of githooks(5)) that can inform it as to what files have been modified. This enables git to avoid having to lstat() every file to find modified files.
When used in conjunction with the untracked cache, it can further improve performance by avoiding the cost of scanning the entire working directory looking for new files.
If you want to enable (or disable) this feature, it is easier to use the core.fsmonitor configuration variable (see git-config(1)) than using the --fsmonitor option to git update-index in each repository, especially if you want to do so across all repositories you use, because you can set the configuration variable in your $HOME/.gitconfig just once and have it affect all repositories you touch.
When the core.fsmonitor configuration variable is changed, the file system monitor is added to or removed from the index the next time a command reads the index. When --[no-]fsmonitor are used, the file system monitor is immediately added to or removed from the index.
The command honors core.filemode configuration variable. If your repository is on a filesystem whose executable bits are unreliable, this should be set to false (see git-config(1)). This causes the command to ignore differences in file modes recorded in the index and the file mode on the filesystem if they differ only on executable bit. On such an unfortunate filesystem, you may need to use git update-index --chmod=.
Quite similarly, if core.symlinks configuration variable is set to false (see git-config(1)), symbolic links are checked out as plain files, and this command does not modify a recorded file mode from symbolic link to regular file.
The command looks at core.ignorestat configuration variable. See Using "assume unchanged" bit section above.
The command also looks at core.trustctime configuration variable. It can be useful when the inode change time is regularly modified by something outside Git (file system crawlers and backup systems use ctime for marking files processed) (see git-config(1)).
The untracked cache extension can be enabled by the core.untrackedCache configuration variable (see git-config(1)).
Users often try to use the assume-unchanged and skip-worktree bits to tell Git to ignore changes to files that are tracked. This does not work as expected, since Git may still check working tree files against the index when performing certain operations. In general, Git does not provide a way to ignore changes to tracked files, so alternate solutions are recommended.
For example, if the file you want to change is some sort of config file, the repository can include a sample config file that can then be copied into the ignored name and modified. The repository can even include a script to treat the sample file as a template, modifying and copying it automatically.
git-config(1), git-add(1), git-ls-files(1)
HELP2MAN(1)                       User Commands                      HELP2MAN(1)
help2man - generate a simple manual page
help2man [OPTION]... EXECUTABLE
`help2man' generates a man page out of `--help' and `--version' output.
-n, --name=STRING description for the NAME paragraph
-s, --section=SECTION section number for manual page (1, 6, 8)
-m, --manual=TEXT name of manual (User Commands, ...)
-S, --source=TEXT source of program (FSF, Debian, ...)
-L, --locale=STRING select locale (default "C")
-i, --include=FILE include material from `FILE'
-I, --opt-include=FILE include material from `FILE' if it exists
-o, --output=FILE send output to `FILE'
-p, --info-page=TEXT name of Texinfo manual
-N, --no-info suppress pointer to Texinfo manual
-l, --libtool exclude the `lt-' from the program name
--help print this help, then exit
--version print version number, then exit
EXECUTABLE should accept `--help' and `--version' options and produce output on stdout although alternatives may be specified using:
-h, --help-option=STRING help option string
-v, --version-option=STRING version option string
--version-string=STRING version string
--no-discard-stderr include stderr when parsing option output
Additional material may be included in the generated output with the --include and --opt-include options.  The format is simple:
[section] text
/pattern/ text
Blocks of verbatim *roff text are inserted into the output either at the start of the given [section] (case insensitive), or after a paragraph matching /pattern/.
Patterns use the Perl regular expression syntax and may be followed by the i, s or m modifiers (see perlre(1)).
Lines before the first section or pattern which begin with `-' are processed as options.  Anything else is silently ignored and may be used for comments, RCS keywords and the like.
The section output order (for those included) is:
NAME SYNOPSIS DESCRIPTION OPTIONS other ENVIRONMENT FILES EXAMPLES AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO
Any [NAME] or [SYNOPSIS] sections appearing in the include file will replace what would have automatically been produced (although you can still override the former with --name if required).
Other sections are prepended to the automatically produced output for the standard sections given above, or included at other (above) in the order they were encountered in the include file.
Placement of the text within the section may be explicitly requested by using the syntax [<section], [=section] or [>section] to place the additional text before, in place of, or after the default output respectively.
The latest version of this distribution is available on-line from:
ftp://ftp.gnu.org/gnu/help2man/
Written by Brendan O'Dea <bod@debian.org>
Report bugs to <bug-help2man@gnu.org>.
Copyright Â© 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2020, 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The full documentation for help2man is maintained as a Texinfo manual. If the info and help2man programs are properly installed at your site, the command
info help2man
LVCREATE(8)                  System Manager's Manual                 LVCREATE(8)
lvcreate - create a logical volume in an existing volume group
lvcreate [-A|--autobackup {y|n}] [-C|--contiguous {y|n}] [-d|--debug] [-h|--help] [-i|--stripes StripesI] [-I|--stripesize StripeSizeI]] {-l|--extents LogicalExtentsNumber| -L|--size LogicalVolumeSize[kKmMgGtT]} [-n|--name LogicalVolumeName] [-p|--permission{r|rw}] [-r|--readahead ReadAheadSectors] [-v|--verbose][-Z|--zero{y|n}] VolumeGroupName [PhysicalVolumePath...]
lvcreate {-l/--extents LogicalExtentsNumber | -L/--size LogicalVolumeSize[kKmMgGtT]} [-c/--chunksize ChunkSize] -s/--snapshot -n/--name SnapshotLogicalVolumeName OriginalLogicalVolumePath [PhysicalVolumePath...]
lvcreate creates a new logical volume in a volume group ( see vgcreate(8), vgchange(8) ) by allocating logical extents from the free physical extent pool of that volume group.  If there are not enough free physical extents then the volume group can be extended ( see vgextend(8) ) with other physical volumes or by reducing existing logical volumes of this volume group in size ( see lvreduce(8), e2fsadm(8) ). The second form supports the creation of snapshot logical volumes which keep the contents of the original logical volume for backup purposes.
OPTIONS -A, --autobackup {y|n} Controls automatic backup of VG metadata after the change ( see vgcfgbackup(8) ). Default is yes.
-c, --chunksize ChunkSize Power of 2 chunk size for the snapshot logical volume between 4k and 1024k.
-C, --contiguous y/n Sets or resets the contiguous allocation policy for logical volumes. Default is no contiguous allocation based on a next free principle.
-d, --debug Enables additional debugging output (if compiled with DEBUG).
-h, --help Print a usage message on standard output and exit successfully.
-i, --stripes Stripes Gives the number of stripes.  This is equal to the number of physical volumes to scatter the logical volume.
-I, --stripesize StripeSize Gives the number of kilobytes for the granularity of the stripes. StripeSize must be 2^n (n = 2 to 9)
-l, --extents LogicalExtentsNumber Gives the number of logical extents to allocate for the new logical volume.
-L, --size LogicalVolumeSize[kKmMgGtT] Gives the size to allocate for the new logical volume.  A size suffix of K for kilobytes, M for megabytes, G for gigabytes or T for terabytes is optional. Default unit is megabytes.
-n, --name LogicalVolumeName The name for the new logical volume. Without this option a default names of "lvol#" will be generated where # is the LVM internal number of the logical volume.
-p, --permission r/w Set access permissions to read only or read and write. Default is read and write.
-r, --readahead ReadAheadSectors Set read ahead sector count of this logical volume to a value between 2 and 120.
-s, --snapshot Create a snapshot logical volume (or snapshot) for an existing, so called original logical volume (or origin).  Snapshots provide a 'frozen image' of the contents of the origin while the origin can still be updated. They enable consistent backups and online recovery of removed/overwritten data/files. The snapshot does not need the same amount of storage the origin has. In a typical scenario, 15-20% might be enough. In case the snapshot runs out of storage, use lvextend(8) to grow it. Shrinking a snapshot is supported by lvreduce(8) as well. Run lvdisplay(8) on the snapshot in order to check how much data is allocated to it.
-v, --verbose Gives verbose information about lvcreate's activities.
-Z, --zero y/n Controls zeroing of the first KB of data in the new logical volume. Default is yes.
Warning: trying to mount an unzeroed logical volume can cause the system to hang.
Examples "lvcreate -i 3 -I 8 -L 100 vg00" tries to create a striped logical volume with 3 stripes, a stripesize of 8KB and a size of 100MB in the volume group named vg00. The logical volume name will be chosen by lvcreate.
"lvcreate --size 100m --snapshot --name snap /dev/vg00/lvol1" creates a snapshot logical volume named /dev/vg00/snap which has access to the contents of the original logical volume named /dev/vg00/lvol1 at snapshot logical volume creation time. If the original logical volume contains a file system, you can mount the snapshot logical volume on an arbitrary directory in order to access the contents of the filesystem to run a backup while the original filesystem is updated.
lvcreate returns an exit code of 0 for success or > 0 for error: