From: Junio C Hamano Date: Mon, 29 Jan 2007 02:55:48 +0000 (+0000) Subject: Autogenerated HTML docs for v1.5.0-rc2-72-gdf391 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7ad22dc9253e1434fcf289ab9cfe23067018e0a9;p=git.git Autogenerated HTML docs for v1.5.0-rc2-72-gdf391 --- diff --git a/cmds-ancillaryinterrogators.txt b/cmds-ancillaryinterrogators.txt index f5fef71c4..b09fdfa24 100644 --- a/cmds-ancillaryinterrogators.txt +++ b/cmds-ancillaryinterrogators.txt @@ -13,7 +13,7 @@ gitlink:git-cherry[1]:: gitlink:git-count-objects[1]:: Count unpacked number of objects and their disk consumption. -gitlink:git-fsck-objects[1]:: +gitlink:git-fsck[1]:: Verifies the connectivity and validity of the objects in the database. gitlink:git-get-tar-commit-id[1]:: diff --git a/cmds-ancillarymanipulators.txt b/cmds-ancillarymanipulators.txt index 993482c63..be261365f 100644 --- a/cmds-ancillarymanipulators.txt +++ b/cmds-ancillarymanipulators.txt @@ -19,6 +19,6 @@ gitlink:git-relink[1]:: gitlink:git-repack[1]:: Pack unpacked objects in a repository. -gitlink:git-repo-config[1]:: +gitlink:git-config[1]:: Get and set repository or global options. diff --git a/config.txt b/config.txt index ebda2e0f6..e5e019fed 100644 --- a/config.txt +++ b/config.txt @@ -62,7 +62,7 @@ The values following the equals sign in variable assign are all either a string, an integer, or a boolean. Boolean values may be given as yes/no, 0/1 or true/false. Case is not significant in boolean values, when converting value to the canonical form using '--bool' type specifier; -`git-repo-config` will ensure that the output is "true" or "false". +`git-config` will ensure that the output is "true" or "false". String values may be entirely or partially enclosed in double quotes. You need to enclose variable value in double quotes if you want to diff --git a/core-intro.txt b/core-intro.txt index 0458dc3d0..abafefc71 100644 --- a/core-intro.txt +++ b/core-intro.txt @@ -82,7 +82,7 @@ size> + + . The structured objects can further have their structure and connectivity to other objects verified. This is generally done with -the `git-fsck-objects` program, which generates a full dependency graph +the `git-fsck` program, which generates a full dependency graph of all objects, and verifies their internal consistency (in addition to just verifying their superficial consistency through the hash). diff --git a/core-tutorial.html b/core-tutorial.html index 1d4cba40a..4bf34c34d 100644 --- a/core-tutorial.html +++ b/core-tutorial.html @@ -1358,7 +1358,7 @@ the remote repository URL in the local repository's config file like this:

-
$ git repo-config remote.linus.url http://www.kernel.org/pub/scm/git/git.git/
+
$ git config remote.linus.url http://www.kernel.org/pub/scm/git/git.git/

and use the "linus" keyword with git pull instead of the full URL.

Examples.

@@ -1969,7 +1969,7 @@ to follow, not easier.

diff --git a/core-tutorial.txt b/core-tutorial.txt index 7317489cf..86a9c7521 100644 --- a/core-tutorial.txt +++ b/core-tutorial.txt @@ -1130,7 +1130,7 @@ the remote repository URL in the local repository's config file like this: ------------------------------------------------ -$ git repo-config remote.linus.url http://www.kernel.org/pub/scm/git/git.git/ +$ git config remote.linus.url http://www.kernel.org/pub/scm/git/git.git/ ------------------------------------------------ and use the "linus" keyword with `git pull` instead of the full URL. diff --git a/cvs-migration.html b/cvs-migration.html index 249264969..61880351a 100644 --- a/cvs-migration.html +++ b/cvs-migration.html @@ -298,7 +298,7 @@ them first before running git pull.

The pull command knows where to get updates from because of certain configuration variables that were set by the first git clone -command; see git repo-config -l and the git-repo-config(1) man +command; see git config -l and the git-config(1) man page for details.

@@ -416,7 +416,7 @@ repositories without the need for a central maintainer.

diff --git a/cvs-migration.txt b/cvs-migration.txt index 775bf4266..764cc560b 100644 --- a/cvs-migration.txt +++ b/cvs-migration.txt @@ -36,7 +36,7 @@ them first before running git pull. ================================ The `pull` command knows where to get updates from because of certain configuration variables that were set by the first `git clone` -command; see `git repo-config -l` and the gitlink:git-repo-config[1] man +command; see `git config -l` and the gitlink:git-config[1] man page for details. ================================ diff --git a/everyday.html b/everyday.html index 5c3ff9c2b..b98f6e088 100644 --- a/everyday.html +++ b/everyday.html @@ -290,7 +290,7 @@ of git repositories.

  • -git-fsck-objects(1) to check the repository for errors. +git-fsck(1) to check the repository for errors.

  • @@ -318,7 +318,7 @@ Check health and remove cruft.
    -
    $ git fsck-objects (1)
    +
    $ git fsck (1)
     $ git count-objects (2)
     $ git repack (3)
     $ git gc (4)
    @@ -656,12 +656,12 @@ Push into another repository.
    satellite$ git clone mothership:frotz frotz (1)
     satellite$ cd frotz
    -satellite$ git repo-config --get-regexp '^(remote|branch)\.' (2)
    +satellite$ git config --get-regexp '^(remote|branch)\.' (2)
     remote.origin.url mothership:frotz
     remote.origin.fetch refs/heads/*:refs/remotes/origin/*
     branch.master.remote origin
     branch.master.merge refs/heads/master
    -satellite$ git repo-config remote.origin.push \
    +satellite$ git config remote.origin.push \
                master:refs/remotes/satellite/master (3)
     satellite$ edit/compile/test/commit
     satellite$ git push origin (4)
    @@ -1069,7 +1069,7 @@ upload to public HTTP server hosted by your ISP.
     
    diff --git a/everyday.txt b/everyday.txt index ca36a76da..08c61b1f1 100644 --- a/everyday.txt +++ b/everyday.txt @@ -28,7 +28,7 @@ Everybody uses these commands to maintain git repositories. * gitlink:git-init[1] or gitlink:git-clone[1] to create a new repository. - * gitlink:git-fsck-objects[1] to check the repository for errors. + * gitlink:git-fsck[1] to check the repository for errors. * gitlink:git-prune[1] to remove unused objects in the repository. @@ -43,7 +43,7 @@ Examples Check health and remove cruft.:: + ------------ -$ git fsck-objects <1> +$ git fsck <1> $ git count-objects <2> $ git repack <3> $ git gc <4> @@ -212,12 +212,12 @@ Push into another repository.:: ------------ satellite$ git clone mothership:frotz frotz <1> satellite$ cd frotz -satellite$ git repo-config --get-regexp '^(remote|branch)\.' <2> +satellite$ git config --get-regexp '^(remote|branch)\.' <2> remote.origin.url mothership:frotz remote.origin.fetch refs/heads/*:refs/remotes/origin/* branch.master.remote origin branch.master.merge refs/heads/master -satellite$ git repo-config remote.origin.push \ +satellite$ git config remote.origin.push \ master:refs/remotes/satellite/master <3> satellite$ edit/compile/test/commit satellite$ git push origin <4> diff --git a/git-config.html b/git-config.html new file mode 100644 index 000000000..0f2104bf2 --- /dev/null +++ b/git-config.html @@ -0,0 +1,1402 @@ + + + + + + +git-config(1) + + + +

    SYNOPSIS

    +
    +
    +
    git-config [--global] [type] name [value [value_regex]] +git-config [--global] [type] --add name value +git-config [--global] [type] --replace-all name [value [value_regex]] +git-config [--global] [type] --get name [value_regex] +git-config [--global] [type] --get-all name [value_regex] +git-config [--global] [type] --unset name [value_regex] +git-config [--global] [type] --unset-all name [value_regex] +git-config [--global] -l | --list
    +
    +

    DESCRIPTION

    +
    +

    You can query/set/replace/unset options with this command. The name is +actually the section and the key separated by a dot, and the value will be +escaped.

    +

    Multiple lines can be added to an option by using the --add option. +If you want to update or unset an option which can occur on multiple +lines, a POSIX regexp value_regex needs to be given. Only the +existing values that match the regexp are updated or unset. If +you want to handle the lines that do not match the regex, just +prepend a single exclamation mark in front (see EXAMPLES).

    +

    The type specifier can be either --int or --bool, which will make +git-config ensure that the variable(s) are of the given type and +convert the value to the canonical form (simple decimal number for int, +a "true" or "false" string for bool). If no type specifier is passed, +no checks or transformations are performed on the value.

    +

    This command will fail if:

    +
      +
    1. +

      +The .git/config file is invalid, +

      +
    2. +
    3. +

      +Can not write to .git/config, +

      +
    4. +
    5. +

      +no section was provided, +

      +
    6. +
    7. +

      +the section or key is invalid, +

      +
    8. +
    9. +

      +you try to unset an option which does not exist, +

      +
    10. +
    11. +

      +you try to unset/set an option for which multiple lines match, or +

      +
    12. +
    13. +

      +you use --global option without $HOME being properly set. +

      +
    14. +
    +
    +

    OPTIONS

    +
    +
    +
    +--replace-all +
    +
    +

    + Default behavior is to replace at most one line. This replaces + all lines matching the key (and optionally the value_regex). +

    +
    +
    +--add +
    +
    +

    + Adds a new line to the option without altering any existing + values. This is the same as providing ^$ as the value_regex. +

    +
    +
    +--get +
    +
    +

    + Get the value for a given key (optionally filtered by a regex + matching the value). Returns error code 1 if the key was not + found and error code 2 if multiple key values were found. +

    +
    +
    +--get-all +
    +
    +

    + Like get, but does not fail if the number of values for the key + is not exactly one. +

    +
    +
    +--get-regexp +
    +
    +

    + Like --get-all, but interprets the name as a regular expression. +

    +
    +
    +--global +
    +
    +

    + Use global ~/.gitconfig file rather than the repository .git/config. +

    +
    +
    +--unset +
    +
    +

    + Remove the line matching the key from config file. +

    +
    +
    +--unset-all +
    +
    +

    + Remove all matching lines from config file. +

    +
    +
    +-l, --list +
    +
    +

    + List all variables set in config file. +

    +
    +
    +--bool +
    +
    +

    + git-config will ensure that the output is "true" or "false" +

    +
    +
    +--int +
    +
    +

    + git-config will ensure that the output is a simple + decimal number. An optional value suffix of k, m, or g + in the config file will cause the value to be multiplied + by 1024, 1048576, or 1073741824 prior to output. +

    +
    +
    +
    +

    ENVIRONMENT

    +
    +
    +
    +GIT_CONFIG +
    +
    +

    + Take the configuration from the given file instead of .git/config. + Using the "--global" option forces this to ~/.gitconfig. +

    +
    +
    +GIT_CONFIG_LOCAL +
    +
    +

    + Currently the same as $GIT_CONFIG; when Git will support global + configuration files, this will cause it to take the configuration + from the global configuration file in addition to the given file. +

    +
    +
    +
    +

    EXAMPLE

    +
    +

    Given a .git/config like this:

    +
    +
    +
    #
    +# This is the config file, and
    +# a '#' or ';' character indicates
    +# a comment
    +#
    +
    +
    +
    +
    ; core variables
    +[core]
    +        ; Don't trust file modes
    +        filemode = false
    +
    +
    +
    +
    ; Our diff algorithm
    +[diff]
    +        external = "/usr/local/bin/gnu-diff -u"
    +        renames = true
    +
    +
    +
    +
    ; Proxy settings
    +[core]
    +        gitproxy="ssh" for "ssh://kernel.org/"
    +        gitproxy="proxy-command" for kernel.org
    +        gitproxy="myprotocol-command" for "my://"
    +        gitproxy=default-proxy ; for all the rest
    +
    +

    you can set the filemode to true with

    +
    +
    +
    % git config core.filemode true
    +
    +

    The hypothetical proxy command entries actually have a postfix to discern +what URL they apply to. Here is how to change the entry for kernel.org +to "ssh".

    +
    +
    +
    % git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'
    +
    +

    This makes sure that only the key/value pair for kernel.org is replaced.

    +

    To delete the entry for renames, do

    +
    +
    +
    % git config --unset diff.renames
    +
    +

    If you want to delete an entry for a multivar (like core.gitproxy above), +you have to provide a regex matching the value of exactly one line.

    +

    To query the value for a given key, do

    +
    +
    +
    % git config --get core.filemode
    +
    +

    or

    +
    +
    +
    % git config core.filemode
    +
    +

    or, to query a multivar:

    +
    +
    +
    % git config --get core.gitproxy "for kernel.org$"
    +
    +

    If you want to know all the values for a multivar, do:

    +
    +
    +
    % git config --get-all core.gitproxy
    +
    +

    If you like to live dangerous, you can replace all core.gitproxy by a +new one with

    +
    +
    +
    % git config --replace-all core.gitproxy ssh
    +
    +

    However, if you really only want to replace the line for the default proxy, +i.e. the one without a "for …" postfix, do something like this:

    +
    +
    +
    % git config core.gitproxy ssh '! for '
    +
    +

    To actually match only values with an exclamation mark, you have to

    +
    +
    +
    % git config section.key value '[!]'
    +
    +

    To add a new proxy, without altering any of the existing ones, use

    +
    +
    +
    % git config core.gitproxy '"proxy" for example.com'
    +
    +
    +

    CONFIGURATION FILE

    +
    +

    The git configuration file contains a number of variables that affect +the git command's behavior. .git/config file for each repository +is used to store the information for that repository, and +$HOME/.gitconfig is used to store per user information to give +fallback values for .git/config file.

    +

    They can be used by both the git plumbing +and the porcelains. The variables are divided into sections, where +in the fully qualified variable name the variable itself is the last +dot-separated segment and the section name is everything before the last +dot. The variable names are case-insensitive and only alphanumeric +characters are allowed. Some variables may appear multiple times.

    +

    Syntax

    +

    The syntax is fairly flexible and permissive; whitespaces are mostly +ignored. The # and ; characters begin comments to the end of line, +blank lines are ignored.

    +

    The file consists of sections and variables. A section begins with +the name of the section in square brackets and continues until the next +section begins. Section names are not case sensitive. Only alphanumeric +characters, - and . are allowed in section names. Each variable +must belong to some section, which means that there must be section +header before first setting of a variable.

    +

    Sections can be further divided into subsections. To begin a subsection +put its name in double quotes, separated by space from the section name, +in the section header, like in example below:

    +
    +
    +
            [section "subsection"]
    +
    +
    +

    Subsection names can contain any characters except newline (doublequote +" and backslash have to be escaped as \" and \\, +respecitvely) and are case sensitive. Section header cannot span multiple +lines. Variables may belong directly to a section or to a given subsection. +You can have [section] if you have [section "subsection"], but you +don't need to.

    +

    There is also (case insensitive) alternative [section.subsection] syntax. +In this syntax subsection names follow the same restrictions as for section +name.

    +

    All the other lines are recognized as setting variables, in the form +name = value. If there is no equal sign on the line, the entire line +is taken as name and the variable is recognized as boolean "true". +The variable names are case-insensitive and only alphanumeric +characters and - are allowed. There can be more than one value +for a given variable; we say then that variable is multivalued.

    +

    Leading and trailing whitespace in a variable value is discarded. +Internal whitespace within a variable value is retained verbatim.

    +

    The values following the equals sign in variable assign are all either +a string, an integer, or a boolean. Boolean values may be given as yes/no, +0/1 or true/false. Case is not significant in boolean values, when +converting value to the canonical form using --bool type specifier; +git-config will ensure that the output is "true" or "false".

    +

    String values may be entirely or partially enclosed in double quotes. +You need to enclose variable value in double quotes if you want to +preserve leading or trailing whitespace, or if variable value contains +beginning of comment characters (if it contains # or ;). +Double quote " and backslash \ characters in variable value must +be escaped: use \" for " and \\ for \.

    +

    The following escape sequences (beside \" and \\) are recognized: +\n for newline character (NL), \t for horizontal tabulation (HT, TAB) +and \b for backspace (BS). No other char escape sequence, nor octal +char sequences are valid.

    +

    Variable value ending in a \ is continued on the next line in the +customary UNIX fashion.

    +

    Some variables may require special value format.

    +

    Example

    +
    +
    +
    # Core variables
    +[core]
    +        ; Don't trust file modes
    +        filemode = false
    +
    +
    +
    +
    # Our diff algorithm
    +[diff]
    +        external = "/usr/local/bin/gnu-diff -u"
    +        renames = true
    +
    +
    +
    +
    [branch "devel"]
    +        remote = origin
    +        merge = refs/heads/devel
    +
    +
    +
    +
    # Proxy settings
    +[core]
    +        gitProxy="ssh" for "ssh://kernel.org/"
    +        gitProxy=default-proxy ; for the rest
    +
    +

    Variables

    +

    Note that this list is non-comprehensive and not necessarily complete. +For command-specific variables, you will find a more detailed description +in the appropriate manual page. You will find a description of non-core +porcelain configuration variables in the respective porcelain documentation.

    +
    +
    +core.fileMode +
    +
    +

    + If false, the executable bit differences between the index and + the working copy are ignored; useful on broken filesystems like FAT. + See git-update-index(1). True by default. +

    +
    +
    +core.gitProxy +
    +
    +

    + A "proxy command" to execute (as command host port) instead + of establishing direct connection to the remote server when + using the git protocol for fetching. If the variable value is + in the "COMMAND for DOMAIN" format, the command is applied only + on hostnames ending with the specified domain string. This variable + may be set multiple times and is matched in the given order; + the first match wins. +

    +

    Can be overridden by the GIT_PROXY_COMMAND environment variable +(which always applies universally, without the special "for" +handling).

    +
    +
    +core.ignoreStat +
    +
    +

    + The working copy files are assumed to stay unchanged until you + mark them otherwise manually - Git will not detect the file changes + by lstat() calls. This is useful on systems where those are very + slow, such as Microsoft Windows. See git-update-index(1). + False by default. +

    +
    +
    +core.preferSymlinkRefs +
    +
    +

    + Instead of the default "symref" format for HEAD + and other symbolic reference files, use symbolic links. + This is sometimes needed to work with old scripts that + expect HEAD to be a symbolic link. +

    +
    +
    +core.logAllRefUpdates +
    +
    +

    + Updates to a ref <ref> is logged to the file + "$GIT_DIR/logs/<ref>", by appending the new and old + SHA1, the date/time and the reason of the update, but + only when the file exists. If this configuration + variable is set to true, missing "$GIT_DIR/logs/<ref>" + file is automatically created for branch heads. +

    +

    This information can be used to determine what commit +was the tip of a branch "2 days ago".

    +

    This value is true by default in a repository that has +a working directory associated with it, and false by +default in a bare repository.

    +
    +
    +core.repositoryFormatVersion +
    +
    +

    + Internal variable identifying the repository format and layout + version. +

    +
    +
    +core.sharedRepository +
    +
    +

    + When group (or true), the repository is made shareable between + several users in a group (making sure all the files and objects are + group-writable). When all (or world or everybody), the + repository will be readable by all users, additionally to being + group-shareable. When umask (or false), git will use permissions + reported by umask(2). See git-init(1). False by default. +

    +
    +
    +core.warnAmbiguousRefs +
    +
    +

    + If true, git will warn you if the ref name you passed it is ambiguous + and might match multiple refs in the .git/refs/ tree. True by default. +

    +
    +
    +core.compression +
    +
    +

    + An integer -1..9, indicating the compression level for objects that + are not in a pack file. -1 is the zlib and git default. 0 means no + compression, and 1..9 are various speed/size tradeoffs, 9 being + slowest. +

    +
    +
    +core.legacyheaders +
    +
    +

    + A boolean which enables the legacy object header format in case + you want to interoperate with old clients accessing the object + database directly (where the "http://" and "rsync://" protocols + count as direct access). +

    +
    +
    +core.packedGitWindowSize +
    +
    +

    + Number of bytes of a pack file to map into memory in a + single mapping operation. Larger window sizes may allow + your system to process a smaller number of large pack files + more quickly. Smaller window sizes will negatively affect + performance due to increased calls to the operating system's + memory manager, but may improve performance when accessing + a large number of large pack files. +

    +

    Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 +MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should +be reasonable for all users/operating systems. You probably do +not need to adjust this value.

    +

    Common unit suffixes of k, m, or g are supported.

    +
    +
    +core.packedGitLimit +
    +
    +

    + Maximum number of bytes to map simultaneously into memory + from pack files. If Git needs to access more than this many + bytes at once to complete an operation it will unmap existing + regions to reclaim virtual address space within the process. +

    +

    Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms. +This should be reasonable for all users/operating systems, except on +the largest projects. You probably do not need to adjust this value.

    +

    Common unit suffixes of k, m, or g are supported.

    +
    +
    +alias.* +
    +
    +

    + Command aliases for the git(1) command wrapper - e.g. + after defining "alias.last = cat-file commit HEAD", the invocation + "git last" is equivalent to "git cat-file commit HEAD". To avoid + confusion and troubles with script usage, aliases that + hide existing git commands are ignored. Arguments are split by + spaces, the usual shell quoting and escaping is supported. + quote pair and a backslash can be used to quote them. +

    +
    +
    +apply.whitespace +
    +
    +

    + Tells git-apply how to handle whitespaces, in the same way + as the --whitespace option. See git-apply(1). +

    +
    +
    +branch.<name>.remote +
    +
    +

    + When in branch <name>, it tells git fetch which remote to fetch. + If this option is not given, git fetch defaults to remote "origin". +

    +
    +
    +branch.<name>.merge +
    +
    +

    + When in branch <name>, it tells git fetch the default refspec to + be marked for merging in FETCH_HEAD. The value has exactly to match + a remote part of one of the refspecs which are fetched from the remote + given by "branch.<name>.remote". + The merge information is used by git pull (which at first calls + git fetch) to lookup the default branch for merging. Without + this option, git pull defaults to merge the first refspec fetched. + Specify multiple values to get an octopus merge. +

    +
    +
    +color.branch +
    +
    +

    + A boolean to enable/disable color in the output of + git-branch(1). May be set to true (or always), + false (or never) or auto, in which case colors are used + only when the output is to a terminal. Defaults to false. +

    +
    +
    +color.branch.<slot> +
    +
    +

    + Use customized color for branch coloration. <slot> is one of + current (the current branch), local (a local branch), + remote (a tracking branch in refs/remotes/), plain (other + refs). +

    +

    The value for these configuration variables is a list of colors (at most +two) and attributes (at most one), separated by spaces. The colors +accepted are normal, black, red, green, yellow, blue, +magenta, cyan and white; the attributes are bold, dim, ul, +blink and reverse. The first color given is the foreground; the +second is the background. The position of the attribute, if any, +doesn't matter.

    +
    +
    +color.diff +
    +
    +

    + When true (or always), always use colors in patch. + When false (or never), never. When set to auto, use + colors only when the output is to the terminal. +

    +
    +
    +color.diff.<slot> +
    +
    +

    + Use customized color for diff colorization. <slot> specifies + which part of the patch to use the specified color, and is one + of plain (context text), meta (metainformation), frag + (hunk header), old (removed lines), new (added lines), + commit (commit headers), or whitespace (highlighting dubious + whitespace). The values of these variables may be specified as + in color.branch.<slot>. +

    +
    +
    +color.pager +
    +
    +

    + A boolean to enable/disable colored output when the pager is in + use (default is true). +

    +
    +
    +color.status +
    +
    +

    + A boolean to enable/disable color in the output of + git-status(1). May be set to true (or always), + false (or never) or auto, in which case colors are used + only when the output is to a terminal. Defaults to false. +

    +
    +
    +color.status.<slot> +
    +
    +

    + Use customized color for status colorization. <slot> is + one of header (the header text of the status message), + added or updated (files which are added but not committed), + changed (files which are changed but not added in the index), + or untracked (files which are not tracked by git). The values of + these variables may be specified as in color.branch.<slot>. +

    +
    +
    +diff.renameLimit +
    +
    +

    + The number of files to consider when performing the copy/rename + detection; equivalent to the git diff option -l. +

    +
    +
    +diff.renames +
    +
    +

    + Tells git to detect renames. If set to any boolean value, it + will enable basic rename detection. If set to "copies" or + "copy", it will detect copies, as well. +

    +
    +
    +fetch.unpackLimit +
    +
    +

    + If the number of objects fetched over the git native + transfer is below this + limit, then the objects will be unpacked into loose object + files. However if the number of received objects equals or + exceeds this limit then the received pack will be stored as + a pack, after adding any missing delta bases. Storing the + pack from a push can make the push operation complete faster, + especially on slow filesystems. +

    +
    +
    +format.headers +
    +
    +

    + Additional email headers to include in a patch to be submitted + by mail. See git-format-patch(1). +

    +
    +
    +gc.reflogexpire +
    +
    +

    + git reflog expire removes reflog entries older than + this time; defaults to 90 days. +

    +
    +
    +gc.reflogexpireunreachable +
    +
    +

    + git reflog expire removes reflog entries older than + this time and are not reachable from the current tip; + defaults to 30 days. +

    +
    +
    +gc.rerereresolved +
    +
    +

    + Records of conflicted merge you resolved earlier are + kept for this many days when git rerere gc is run. + The default is 60 days. See git-rerere(1). +

    +
    +
    +gc.rerereunresolved +
    +
    +

    + Records of conflicted merge you have not resolved are + kept for this many days when git rerere gc is run. + The default is 15 days. See git-rerere(1). +

    +
    +
    +gitcvs.enabled +
    +
    +

    + Whether the cvs pserver interface is enabled for this repository. + See git-cvsserver(1). +

    +
    +
    +gitcvs.logfile +
    +
    +

    + Path to a log file where the cvs pserver interface well… logs + various stuff. See git-cvsserver(1). +

    +
    +
    +http.sslVerify +
    +
    +

    + Whether to verify the SSL certificate when fetching or pushing + over HTTPS. Can be overridden by the GIT_SSL_NO_VERIFY environment + variable. +

    +
    +
    +http.sslCert +
    +
    +

    + File containing the SSL certificate when fetching or pushing + over HTTPS. Can be overridden by the GIT_SSL_CERT environment + variable. +

    +
    +
    +http.sslKey +
    +
    +

    + File containing the SSL private key when fetching or pushing + over HTTPS. Can be overridden by the GIT_SSL_KEY environment + variable. +

    +
    +
    +http.sslCAInfo +
    +
    +

    + File containing the certificates to verify the peer with when + fetching or pushing over HTTPS. Can be overridden by the + GIT_SSL_CAINFO environment variable. +

    +
    +
    +http.sslCAPath +
    +
    +

    + Path containing files with the CA certificates to verify the peer + with when fetching or pushing over HTTPS. Can be overridden + by the GIT_SSL_CAPATH environment variable. +

    +
    +
    +http.maxRequests +
    +
    +

    + How many HTTP requests to launch in parallel. Can be overridden + by the GIT_HTTP_MAX_REQUESTS environment variable. Default is 5. +

    +
    +
    +http.lowSpeedLimit, http.lowSpeedTime +
    +
    +

    + If the HTTP transfer speed is less than http.lowSpeedLimit + for longer than http.lowSpeedTime seconds, the transfer is aborted. + Can be overridden by the GIT_HTTP_LOW_SPEED_LIMIT and + GIT_HTTP_LOW_SPEED_TIME environment variables. +

    +
    +
    +http.noEPSV +
    +
    +

    + A boolean which disables using of EPSV ftp command by curl. + This can helpful with some "poor" ftp servers which doesn't + support EPSV mode. Can be overridden by the GIT_CURL_FTP_NO_EPSV + environment variable. Default is false (curl will use EPSV). +

    +
    +
    +i18n.commitEncoding +
    +
    +

    + Character encoding the commit messages are stored in; git itself + does not care per se, but this information is necessary e.g. when + importing commits from emails or in the gitk graphical history + browser (and possibly at other places in the future or in other + porcelains). See e.g. git-mailinfo(1). Defaults to utf-8. +

    +
    +
    +i18n.logOutputEncoding +
    +
    +

    + Character encoding the commit messages are converted to when + running git-log and friends. +

    +
    +
    +log.showroot +
    +
    +

    + If true, the initial commit will be shown as a big creation event. + This is equivalent to a diff against an empty tree. + Tools like git-log(1) or git-whatchanged(1), which + normally hide the root commit will now show it. True by default. +

    +
    +
    +merge.summary +
    +
    +

    + Whether to include summaries of merged commits in newly created + merge commit messages. False by default. +

    +
    +
    +merge.verbosity +
    +
    +

    + Controls the amount of output shown by the recursive merge + strategy. Level 0 outputs nothing except a final error + message if conflicts were detected. Level 1 outputs only + conflicts, 2 outputs conflicts and file changes. Level 5 and + above outputs debugging information. The default is level 2. +

    +
    +
    +pack.window +
    +
    +

    + The size of the window used by git-pack-objects(1) when no + window size is given on the command line. Defaults to 10. +

    +
    +
    +pull.octopus +
    +
    +

    + The default merge strategy to use when pulling multiple branches + at once. +

    +
    +
    +pull.twohead +
    +
    +

    + The default merge strategy to use when pulling a single branch. +

    +
    +
    +remote.<name>.url +
    +
    +

    + The URL of a remote repository. See git-fetch(1) or + git-push(1). +

    +
    +
    +remote.<name>.fetch +
    +
    +

    + The default set of "refspec" for git-fetch(1). See + git-fetch(1). +

    +
    +
    +remote.<name>.push +
    +
    +

    + The default set of "refspec" for git-push(1). See + git-push(1). +

    +
    +
    +remote.<name>.receivepack +
    +
    +

    + The default program to execute on the remote side when pushing. See + option --exec of git-push(1). +

    +
    +
    +remote.<name>.uploadpack +
    +
    +

    + The default program to execute on the remote side when fetching. See + option --exec of git-fetch-pack(1). +

    +
    +
    +repack.usedeltabaseoffset +
    +
    +

    + Allow git-repack(1) to create packs that uses + delta-base offset. Defaults to false. +

    +
    +
    +show.difftree +
    +
    +

    + The default git-diff-tree(1) arguments to be used + for git-show(1). +

    +
    +
    +showbranch.default +
    +
    +

    + The default set of branches for git-show-branch(1). + See git-show-branch(1). +

    +
    +
    +tar.umask +
    +
    +

    + By default, git-tar-tree(1) sets file and directories modes + to 0666 or 0777. While this is both useful and acceptable for projects + such as the Linux Kernel, it might be excessive for other projects. + With this variable, it becomes possible to tell + git-tar-tree(1) to apply a specific umask to the modes above. + The special value "user" indicates that the user's current umask will + be used. This should be enough for most projects, as it will lead to + the same permissions as git-checkout(1) would use. The default + value remains 0, which means world read-write. +

    +
    +
    +user.email +
    +
    +

    + Your email address to be recorded in any newly created commits. + Can be overridden by the GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL + environment variables. See git-commit-tree(1). +

    +
    +
    +user.name +
    +
    +

    + Your full name to be recorded in any newly created commits. + Can be overridden by the GIT_AUTHOR_NAME and GIT_COMMITTER_NAME + environment variables. See git-commit-tree(1). +

    +
    +
    +user.signingkey +
    +
    +

    + If git-tag(1) is not selecting the key you want it to + automatically when creating a signed tag, you can override the + default selection with this variable. This option is passed + unchanged to gpg's --local-user parameter, so you may specify a key + using any method that gpg supports. +

    +
    +
    +whatchanged.difftree +
    +
    +

    + The default git-diff-tree(1) arguments to be used + for git-whatchanged(1). +

    +
    +
    +imap +
    +
    +

    + The configuration variables in the imap section are described + in git-imap-send(1). +

    +
    +
    +receive.unpackLimit +
    +
    +

    + If the number of objects received in a push is below this + limit then the objects will be unpacked into loose object + files. However if the number of received objects equals or + exceeds this limit then the received pack will be stored as + a pack, after adding any missing delta bases. Storing the + pack from a push can make the push operation complete faster, + especially on slow filesystems. +

    +
    +
    +receive.denyNonFastForwards +
    +
    +

    + If set to true, git-receive-pack will deny a ref update which is + not a fast forward. Use this to prevent such an update via a push, + even if that push is forced. This configuration variable is + set when initializing a shared repository. +

    +
    +
    +transfer.unpackLimit +
    +
    +

    + When fetch.unpackLimit or receive.unpackLimit are + not set, the value of this variable is used instead. +

    +
    +
    +
    +

    Author

    +
    +

    Written by Johannes Schindelin <Johannes.Schindelin@gmx.de>

    +
    +

    Documentation

    +
    +

    Documentation by Johannes Schindelin, Petr Baudis and the git-list <git@vger.kernel.org>.

    +
    +

    GIT

    +
    +

    Part of the git(7) suite

    +
    + + + diff --git a/git-config.txt b/git-config.txt new file mode 100644 index 000000000..6624484fe --- /dev/null +++ b/git-config.txt @@ -0,0 +1,227 @@ +git-config(1) +============= + +NAME +---- +git-config - Get and set repository or global options + + +SYNOPSIS +-------- +[verse] +'git-config' [--global] [type] name [value [value_regex]] +'git-config' [--global] [type] --add name value +'git-config' [--global] [type] --replace-all name [value [value_regex]] +'git-config' [--global] [type] --get name [value_regex] +'git-config' [--global] [type] --get-all name [value_regex] +'git-config' [--global] [type] --unset name [value_regex] +'git-config' [--global] [type] --unset-all name [value_regex] +'git-config' [--global] -l | --list + +DESCRIPTION +----------- +You can query/set/replace/unset options with this command. The name is +actually the section and the key separated by a dot, and the value will be +escaped. + +Multiple lines can be added to an option by using the '--add' option. +If you want to update or unset an option which can occur on multiple +lines, a POSIX regexp `value_regex` needs to be given. Only the +existing values that match the regexp are updated or unset. If +you want to handle the lines that do *not* match the regex, just +prepend a single exclamation mark in front (see EXAMPLES). + +The type specifier can be either '--int' or '--bool', which will make +'git-config' ensure that the variable(s) are of the given type and +convert the value to the canonical form (simple decimal number for int, +a "true" or "false" string for bool). If no type specifier is passed, +no checks or transformations are performed on the value. + +This command will fail if: + +. The .git/config file is invalid, +. Can not write to .git/config, +. no section was provided, +. the section or key is invalid, +. you try to unset an option which does not exist, +. you try to unset/set an option for which multiple lines match, or +. you use --global option without $HOME being properly set. + + +OPTIONS +------- + +--replace-all:: + Default behavior is to replace at most one line. This replaces + all lines matching the key (and optionally the value_regex). + +--add:: + Adds a new line to the option without altering any existing + values. This is the same as providing '^$' as the value_regex. + +--get:: + Get the value for a given key (optionally filtered by a regex + matching the value). Returns error code 1 if the key was not + found and error code 2 if multiple key values were found. + +--get-all:: + Like get, but does not fail if the number of values for the key + is not exactly one. + +--get-regexp:: + Like --get-all, but interprets the name as a regular expression. + +--global:: + Use global ~/.gitconfig file rather than the repository .git/config. + +--unset:: + Remove the line matching the key from config file. + +--unset-all:: + Remove all matching lines from config file. + +-l, --list:: + List all variables set in config file. + +--bool:: + git-config will ensure that the output is "true" or "false" + +--int:: + git-config will ensure that the output is a simple + decimal number. An optional value suffix of 'k', 'm', or 'g' + in the config file will cause the value to be multiplied + by 1024, 1048576, or 1073741824 prior to output. + + +ENVIRONMENT +----------- + +GIT_CONFIG:: + Take the configuration from the given file instead of .git/config. + Using the "--global" option forces this to ~/.gitconfig. + +GIT_CONFIG_LOCAL:: + Currently the same as $GIT_CONFIG; when Git will support global + configuration files, this will cause it to take the configuration + from the global configuration file in addition to the given file. + + +EXAMPLE +------- + +Given a .git/config like this: + + # + # This is the config file, and + # a '#' or ';' character indicates + # a comment + # + + ; core variables + [core] + ; Don't trust file modes + filemode = false + + ; Our diff algorithm + [diff] + external = "/usr/local/bin/gnu-diff -u" + renames = true + + ; Proxy settings + [core] + gitproxy="ssh" for "ssh://kernel.org/" + gitproxy="proxy-command" for kernel.org + gitproxy="myprotocol-command" for "my://" + gitproxy=default-proxy ; for all the rest + +you can set the filemode to true with + +------------ +% git config core.filemode true +------------ + +The hypothetical proxy command entries actually have a postfix to discern +what URL they apply to. Here is how to change the entry for kernel.org +to "ssh". + +------------ +% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$' +------------ + +This makes sure that only the key/value pair for kernel.org is replaced. + +To delete the entry for renames, do + +------------ +% git config --unset diff.renames +------------ + +If you want to delete an entry for a multivar (like core.gitproxy above), +you have to provide a regex matching the value of exactly one line. + +To query the value for a given key, do + +------------ +% git config --get core.filemode +------------ + +or + +------------ +% git config core.filemode +------------ + +or, to query a multivar: + +------------ +% git config --get core.gitproxy "for kernel.org$" +------------ + +If you want to know all the values for a multivar, do: + +------------ +% git config --get-all core.gitproxy +------------ + +If you like to live dangerous, you can replace *all* core.gitproxy by a +new one with + +------------ +% git config --replace-all core.gitproxy ssh +------------ + +However, if you really only want to replace the line for the default proxy, +i.e. the one without a "for ..." postfix, do something like this: + +------------ +% git config core.gitproxy ssh '! for ' +------------ + +To actually match only values with an exclamation mark, you have to + +------------ +% git config section.key value '[!]' +------------ + +To add a new proxy, without altering any of the existing ones, use + +------------ +% git config core.gitproxy '"proxy" for example.com' +------------ + + +include::config.txt[] + + +Author +------ +Written by Johannes Schindelin + +Documentation +-------------- +Documentation by Johannes Schindelin, Petr Baudis and the git-list . + +GIT +--- +Part of the gitlink:git[7] suite + diff --git a/git-for-each-ref.html b/git-for-each-ref.html index 8e00127ce..029b2c1ae 100644 --- a/git-for-each-ref.html +++ b/git-for-each-ref.html @@ -272,7 +272,7 @@ git-for-each-ref(1) Manual Page

    SYNOPSIS

    -

    git-for-each-ref [--count=<count>]* [--shell|--perl|--python] [--sort=<key>]* [--format=<format>] [<pattern>]

    +

    git-for-each-ref [--count=<count>]* [--shell|--perl|--python|--tcl] [--sort=<key>]* [--format=<format>] [<pattern>]

    DESCRIPTION

    @@ -335,7 +335,7 @@ host language allowing their direct evaluation in that language.

    ---shell, --perl, --python +--shell, --perl, --python, --tcl

    @@ -488,7 +488,7 @@ eval "$eval"

    diff --git a/git-for-each-ref.txt b/git-for-each-ref.txt index 06e7ab1ec..da52eba7b 100644 --- a/git-for-each-ref.txt +++ b/git-for-each-ref.txt @@ -7,7 +7,7 @@ git-for-each-ref - Output information on each ref SYNOPSIS -------- -'git-for-each-ref' [--count=]\* [--shell|--perl|--python] [--sort=]\* [--format=] [] +'git-for-each-ref' [--count=]\* [--shell|--perl|--python|--tcl] [--sort=]\* [--format=] [] DESCRIPTION ----------- @@ -49,7 +49,7 @@ OPTIONS using fnmatch(3). Refs that do not match the pattern are not shown. ---shell, --perl, --python:: +--shell, --perl, --python, --tcl:: If given, strings that substitute `%(fieldname)` placeholders are quoted as string literals suitable for the specified host language. This is meant to produce diff --git a/git-fsck-objects.html b/git-fsck-objects.html index fe336df21..8c5f8906a 100644 --- a/git-fsck-objects.html +++ b/git-fsck-objects.html @@ -272,226 +272,16 @@ git-fsck-objects(1) Manual Page

    SYNOPSIS

    -
    -
    git-fsck-objects [--tags] [--root] [--unreachable] [--cache] - [--full] [--strict] [<object>*]
    +

    git-fsck-objects

    DESCRIPTION

    -

    Verifies the connectivity and validity of the objects in the database.

    -
    -

    OPTIONS

    -
    -
    -
    -<object> -
    -
    -

    - An object to treat as the head of an unreachability trace. -

    -

    If no objects are given, git-fsck-objects defaults to using the -index file and all SHA1 references in .git/refs/* as heads.

    -
    -
    ---unreachable -
    -
    -

    - Print out objects that exist but that aren't readable from any - of the reference nodes. -

    -
    -
    ---root -
    -
    -

    - Report root nodes. -

    -
    -
    ---tags -
    -
    -

    - Report tags. -

    -
    -
    ---cache -
    -
    -

    - Consider any object recorded in the index also as a head node for - an unreachability trace. -

    -
    -
    ---full -
    -
    -

    - Check not just objects in GIT_OBJECT_DIRECTORY - ($GIT_DIR/objects), but also the ones found in alternate - object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES - or $GIT_DIR/objects/info/alternates, - and in packed git archives found in $GIT_DIR/objects/pack - and corresponding pack subdirectories in alternate - object pools. -

    -
    -
    ---strict -
    -
    -

    - Enable more strict checking, namely to catch a file mode - recorded with g+w bit set, which was created by older - versions of git. Existing repositories, including the - Linux kernel, git itself, and sparse repository have old - objects that triggers this check, but it is recommended - to check new projects with this flag. -

    -
    -
    -

    It tests SHA1 and general object sanity, and it does full tracking of -the resulting reachability and everything else. It prints out any -corruption it finds (missing or bad objects), and if you use the ---unreachable flag it will also print out objects that exist but -that aren't readable from any of the specified head nodes.

    -

    So for example

    -
    -
    -
    git-fsck-objects --unreachable HEAD $(cat .git/refs/heads/*)
    -
    -

    will do quite a _lot_ of verification on the tree. There are a few -extra validity tests to be added (make sure that tree objects are -sorted properly etc), but on the whole if "git-fsck-objects" is happy, you -do have a valid tree.

    -

    Any corrupt objects you will have to find in backups or other archives -(i.e., you can just remove them and do an "rsync" with some other site in -the hopes that somebody else has the object you have corrupted).

    -

    Of course, "valid tree" doesn't mean that it wasn't generated by some -evil person, and the end result might be crap. git is a revision -tracking system, not a quality assurance system ;)

    -
    -

    Extracted Diagnostics

    -
    -
    -
    -expect dangling commits - potential heads - due to lack of head information -
    -
    -

    - You haven't specified any nodes as heads so it won't be - possible to differentiate between un-parented commits and - root nodes. -

    -
    -
    -missing sha1 directory <dir> -
    -
    -

    - The directory holding the sha1 objects is missing. -

    -
    -
    -unreachable <type> <object> -
    -
    -

    - The <type> object <object>, isn't actually referred to directly - or indirectly in any of the trees or commits seen. This can - mean that there's another root node that you're not specifying - or that the tree is corrupt. If you haven't missed a root node - then you might as well delete unreachable nodes since they - can't be used. -

    -
    -
    -missing <type> <object> -
    -
    -

    - The <type> object <object>, is referred to but isn't present in - the database. -

    -
    -
    -dangling <type> <object> -
    -
    -

    - The <type> object <object>, is present in the database but never - directly used. A dangling commit could be a root node. -

    -
    -
    -warning: git-fsck-objects: tree <tree> has full pathnames in it -
    -
    -

    - And it shouldn't… -

    -
    -
    -sha1 mismatch <object> -
    -
    -

    - The database has an object who's sha1 doesn't match the - database value. - This indicates a serious data integrity problem. -

    -
    -
    -
    -

    Environment Variables

    -
    -
    -
    -GIT_OBJECT_DIRECTORY -
    -
    -

    - used to specify the object database root (usually $GIT_DIR/objects) -

    -
    -
    -GIT_INDEX_FILE -
    -
    -

    - used to specify the index file of the index -

    -
    -
    -GIT_ALTERNATE_OBJECT_DIRECTORIES -
    -
    -

    - used to specify additional object database roots (usually unset) -

    -
    -
    -
    -

    Author

    -
    -

    Written by Linus Torvalds <torvalds@osdl.org>

    -
    -

    Documentation

    -
    -

    Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

    -
    -

    GIT

    -
    -

    Part of the git(7) suite

    +

    This is a synonym for git-fsck(1). Please refer to the +documentation of that command.

    diff --git a/git-fsck-objects.txt b/git-fsck-objects.txt index d0af99d35..f21061ecf 100644 --- a/git-fsck-objects.txt +++ b/git-fsck-objects.txt @@ -8,132 +8,10 @@ git-fsck-objects - Verifies the connectivity and validity of the objects in the SYNOPSIS -------- -[verse] -'git-fsck-objects' [--tags] [--root] [--unreachable] [--cache] - [--full] [--strict] [*] +'git-fsck-objects' ... DESCRIPTION ----------- -Verifies the connectivity and validity of the objects in the database. - -OPTIONS -------- -:: - An object to treat as the head of an unreachability trace. -+ -If no objects are given, git-fsck-objects defaults to using the -index file and all SHA1 references in .git/refs/* as heads. - ---unreachable:: - Print out objects that exist but that aren't readable from any - of the reference nodes. - ---root:: - Report root nodes. - ---tags:: - Report tags. - ---cache:: - Consider any object recorded in the index also as a head node for - an unreachability trace. - ---full:: - Check not just objects in GIT_OBJECT_DIRECTORY - ($GIT_DIR/objects), but also the ones found in alternate - object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES - or $GIT_DIR/objects/info/alternates, - and in packed git archives found in $GIT_DIR/objects/pack - and corresponding pack subdirectories in alternate - object pools. - ---strict:: - Enable more strict checking, namely to catch a file mode - recorded with g+w bit set, which was created by older - versions of git. Existing repositories, including the - Linux kernel, git itself, and sparse repository have old - objects that triggers this check, but it is recommended - to check new projects with this flag. - -It tests SHA1 and general object sanity, and it does full tracking of -the resulting reachability and everything else. It prints out any -corruption it finds (missing or bad objects), and if you use the -'--unreachable' flag it will also print out objects that exist but -that aren't readable from any of the specified head nodes. - -So for example - - git-fsck-objects --unreachable HEAD $(cat .git/refs/heads/*) - -will do quite a _lot_ of verification on the tree. There are a few -extra validity tests to be added (make sure that tree objects are -sorted properly etc), but on the whole if "git-fsck-objects" is happy, you -do have a valid tree. - -Any corrupt objects you will have to find in backups or other archives -(i.e., you can just remove them and do an "rsync" with some other site in -the hopes that somebody else has the object you have corrupted). - -Of course, "valid tree" doesn't mean that it wasn't generated by some -evil person, and the end result might be crap. git is a revision -tracking system, not a quality assurance system ;) - -Extracted Diagnostics ---------------------- - -expect dangling commits - potential heads - due to lack of head information:: - You haven't specified any nodes as heads so it won't be - possible to differentiate between un-parented commits and - root nodes. - -missing sha1 directory '':: - The directory holding the sha1 objects is missing. - -unreachable :: - The object , isn't actually referred to directly - or indirectly in any of the trees or commits seen. This can - mean that there's another root node that you're not specifying - or that the tree is corrupt. If you haven't missed a root node - then you might as well delete unreachable nodes since they - can't be used. - -missing :: - The object , is referred to but isn't present in - the database. - -dangling :: - The object , is present in the database but never - 'directly' used. A dangling commit could be a root node. - -warning: git-fsck-objects: tree has full pathnames in it:: - And it shouldn't... - -sha1 mismatch :: - The database has an object who's sha1 doesn't match the - database value. - This indicates a serious data integrity problem. - -Environment Variables ---------------------- - -GIT_OBJECT_DIRECTORY:: - used to specify the object database root (usually $GIT_DIR/objects) - -GIT_INDEX_FILE:: - used to specify the index file of the index - -GIT_ALTERNATE_OBJECT_DIRECTORIES:: - used to specify additional object database roots (usually unset) - -Author ------- -Written by Linus Torvalds - -Documentation --------------- -Documentation by David Greaves, Junio C Hamano and the git-list . - -GIT ---- -Part of the gitlink:git[7] suite +This is a synonym for gitlink:git-fsck[1]. Please refer to the +documentation of that command. diff --git a/git-fsck.html b/git-fsck.html new file mode 100644 index 000000000..cb4ddbaae --- /dev/null +++ b/git-fsck.html @@ -0,0 +1,498 @@ + + + + + + +git-fsck(1) + + + +

    SYNOPSIS

    +
    +
    +
    git-fsck [--tags] [--root] [--unreachable] [--cache] + [--full] [--strict] [<object>*]
    +
    +

    DESCRIPTION

    +
    +

    Verifies the connectivity and validity of the objects in the database.

    +
    +

    OPTIONS

    +
    +
    +
    +<object> +
    +
    +

    + An object to treat as the head of an unreachability trace. +

    +

    If no objects are given, git-fsck defaults to using the +index file and all SHA1 references in .git/refs/* as heads.

    +
    +
    +--unreachable +
    +
    +

    + Print out objects that exist but that aren't readable from any + of the reference nodes. +

    +
    +
    +--root +
    +
    +

    + Report root nodes. +

    +
    +
    +--tags +
    +
    +

    + Report tags. +

    +
    +
    +--cache +
    +
    +

    + Consider any object recorded in the index also as a head node for + an unreachability trace. +

    +
    +
    +--full +
    +
    +

    + Check not just objects in GIT_OBJECT_DIRECTORY + ($GIT_DIR/objects), but also the ones found in alternate + object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES + or $GIT_DIR/objects/info/alternates, + and in packed git archives found in $GIT_DIR/objects/pack + and corresponding pack subdirectories in alternate + object pools. +

    +
    +
    +--strict +
    +
    +

    + Enable more strict checking, namely to catch a file mode + recorded with g+w bit set, which was created by older + versions of git. Existing repositories, including the + Linux kernel, git itself, and sparse repository have old + objects that triggers this check, but it is recommended + to check new projects with this flag. +

    +
    +
    +

    It tests SHA1 and general object sanity, and it does full tracking of +the resulting reachability and everything else. It prints out any +corruption it finds (missing or bad objects), and if you use the +--unreachable flag it will also print out objects that exist but +that aren't readable from any of the specified head nodes.

    +

    So for example

    +
    +
    +
    git-fsck --unreachable HEAD $(cat .git/refs/heads/*)
    +
    +

    will do quite a _lot_ of verification on the tree. There are a few +extra validity tests to be added (make sure that tree objects are +sorted properly etc), but on the whole if "git-fsck" is happy, you +do have a valid tree.

    +

    Any corrupt objects you will have to find in backups or other archives +(i.e., you can just remove them and do an "rsync" with some other site in +the hopes that somebody else has the object you have corrupted).

    +

    Of course, "valid tree" doesn't mean that it wasn't generated by some +evil person, and the end result might be crap. git is a revision +tracking system, not a quality assurance system ;)

    +
    +

    Extracted Diagnostics

    +
    +
    +
    +expect dangling commits - potential heads - due to lack of head information +
    +
    +

    + You haven't specified any nodes as heads so it won't be + possible to differentiate between un-parented commits and + root nodes. +

    +
    +
    +missing sha1 directory <dir> +
    +
    +

    + The directory holding the sha1 objects is missing. +

    +
    +
    +unreachable <type> <object> +
    +
    +

    + The <type> object <object>, isn't actually referred to directly + or indirectly in any of the trees or commits seen. This can + mean that there's another root node that you're not specifying + or that the tree is corrupt. If you haven't missed a root node + then you might as well delete unreachable nodes since they + can't be used. +

    +
    +
    +missing <type> <object> +
    +
    +

    + The <type> object <object>, is referred to but isn't present in + the database. +

    +
    +
    +dangling <type> <object> +
    +
    +

    + The <type> object <object>, is present in the database but never + directly used. A dangling commit could be a root node. +

    +
    +
    +warning: git-fsck: tree <tree> has full pathnames in it +
    +
    +

    + And it shouldn't… +

    +
    +
    +sha1 mismatch <object> +
    +
    +

    + The database has an object who's sha1 doesn't match the + database value. + This indicates a serious data integrity problem. +

    +
    +
    +
    +

    Environment Variables

    +
    +
    +
    +GIT_OBJECT_DIRECTORY +
    +
    +

    + used to specify the object database root (usually $GIT_DIR/objects) +

    +
    +
    +GIT_INDEX_FILE +
    +
    +

    + used to specify the index file of the index +

    +
    +
    +GIT_ALTERNATE_OBJECT_DIRECTORIES +
    +
    +

    + used to specify additional object database roots (usually unset) +

    +
    +
    +
    +

    Author

    +
    +

    Written by Linus Torvalds <torvalds@osdl.org>

    +
    +

    Documentation

    +
    +

    Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

    +
    +

    GIT

    +
    +

    Part of the git(7) suite

    +
    + + + diff --git a/git-fsck.txt b/git-fsck.txt new file mode 100644 index 000000000..058009d2f --- /dev/null +++ b/git-fsck.txt @@ -0,0 +1,139 @@ +git-fsck(1) +=========== + +NAME +---- +git-fsck - Verifies the connectivity and validity of the objects in the database + + +SYNOPSIS +-------- +[verse] +'git-fsck' [--tags] [--root] [--unreachable] [--cache] + [--full] [--strict] [*] + +DESCRIPTION +----------- +Verifies the connectivity and validity of the objects in the database. + +OPTIONS +------- +:: + An object to treat as the head of an unreachability trace. ++ +If no objects are given, git-fsck defaults to using the +index file and all SHA1 references in .git/refs/* as heads. + +--unreachable:: + Print out objects that exist but that aren't readable from any + of the reference nodes. + +--root:: + Report root nodes. + +--tags:: + Report tags. + +--cache:: + Consider any object recorded in the index also as a head node for + an unreachability trace. + +--full:: + Check not just objects in GIT_OBJECT_DIRECTORY + ($GIT_DIR/objects), but also the ones found in alternate + object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES + or $GIT_DIR/objects/info/alternates, + and in packed git archives found in $GIT_DIR/objects/pack + and corresponding pack subdirectories in alternate + object pools. + +--strict:: + Enable more strict checking, namely to catch a file mode + recorded with g+w bit set, which was created by older + versions of git. Existing repositories, including the + Linux kernel, git itself, and sparse repository have old + objects that triggers this check, but it is recommended + to check new projects with this flag. + +It tests SHA1 and general object sanity, and it does full tracking of +the resulting reachability and everything else. It prints out any +corruption it finds (missing or bad objects), and if you use the +'--unreachable' flag it will also print out objects that exist but +that aren't readable from any of the specified head nodes. + +So for example + + git-fsck --unreachable HEAD $(cat .git/refs/heads/*) + +will do quite a _lot_ of verification on the tree. There are a few +extra validity tests to be added (make sure that tree objects are +sorted properly etc), but on the whole if "git-fsck" is happy, you +do have a valid tree. + +Any corrupt objects you will have to find in backups or other archives +(i.e., you can just remove them and do an "rsync" with some other site in +the hopes that somebody else has the object you have corrupted). + +Of course, "valid tree" doesn't mean that it wasn't generated by some +evil person, and the end result might be crap. git is a revision +tracking system, not a quality assurance system ;) + +Extracted Diagnostics +--------------------- + +expect dangling commits - potential heads - due to lack of head information:: + You haven't specified any nodes as heads so it won't be + possible to differentiate between un-parented commits and + root nodes. + +missing sha1 directory '':: + The directory holding the sha1 objects is missing. + +unreachable :: + The object , isn't actually referred to directly + or indirectly in any of the trees or commits seen. This can + mean that there's another root node that you're not specifying + or that the tree is corrupt. If you haven't missed a root node + then you might as well delete unreachable nodes since they + can't be used. + +missing :: + The object , is referred to but isn't present in + the database. + +dangling :: + The object , is present in the database but never + 'directly' used. A dangling commit could be a root node. + +warning: git-fsck: tree has full pathnames in it:: + And it shouldn't... + +sha1 mismatch :: + The database has an object who's sha1 doesn't match the + database value. + This indicates a serious data integrity problem. + +Environment Variables +--------------------- + +GIT_OBJECT_DIRECTORY:: + used to specify the object database root (usually $GIT_DIR/objects) + +GIT_INDEX_FILE:: + used to specify the index file of the index + +GIT_ALTERNATE_OBJECT_DIRECTORIES:: + used to specify additional object database roots (usually unset) + +Author +------ +Written by Linus Torvalds + +Documentation +-------------- +Documentation by David Greaves, Junio C Hamano and the git-list . + +GIT +--- +Part of the gitlink:git[7] suite + diff --git a/git-pack-redundant.html b/git-pack-redundant.html index 2c8047429..e5c0e07ef 100644 --- a/git-pack-redundant.html +++ b/git-pack-redundant.html @@ -283,7 +283,7 @@ are redundant. The output is suitable for piping to given will be ignored when checking which packs are required. This makes the following command useful when wanting to remove packs which contain unreachable objects.

    -

    git-fsck-objects --full --unreachable | cut -d -f3 | git-pack-redundant --all | xargs rm

    +

    git-fsck --full --unreachable | cut -d -f3 | git-pack-redundant --all | xargs rm

    OPTIONS

    @@ -335,7 +335,7 @@ objects.

    diff --git a/git-pack-redundant.txt b/git-pack-redundant.txt index be2c64eb5..94bbea0db 100644 --- a/git-pack-redundant.txt +++ b/git-pack-redundant.txt @@ -21,7 +21,7 @@ given will be ignored when checking which packs are required. This makes the following command useful when wanting to remove packs which contain unreachable objects. -git-fsck-objects --full --unreachable | cut -d ' ' -f3 | \ +git-fsck --full --unreachable | cut -d ' ' -f3 | \ git-pack-redundant --all | xargs rm OPTIONS diff --git a/git-prune.html b/git-prune.html index bc8913320..2ac8b6980 100644 --- a/git-prune.html +++ b/git-prune.html @@ -276,7 +276,7 @@ git-prune(1) Manual Page

    DESCRIPTION

    -

    This runs git-fsck-objects --unreachable using all the refs +

    This runs git-fsck --unreachable using all the refs available in $GIT_DIR/refs, optionally with additional set of objects specified on the command line, and prunes all objects unreachable from any of these head objects from the object database. @@ -340,7 +340,7 @@ borrows from your repository via its

    diff --git a/git-prune.txt b/git-prune.txt index a11e30309..0b44f3015 100644 --- a/git-prune.txt +++ b/git-prune.txt @@ -13,7 +13,7 @@ SYNOPSIS DESCRIPTION ----------- -This runs `git-fsck-objects --unreachable` using all the refs +This runs `git-fsck --unreachable` using all the refs available in `$GIT_DIR/refs`, optionally with additional set of objects specified on the command line, and prunes all objects unreachable from any of these head objects from the object database. diff --git a/git-pull.html b/git-pull.html index 230f8df2f..15ff659f8 100644 --- a/git-pull.html +++ b/git-pull.html @@ -723,7 +723,7 @@ git pull, git pull origin current branch. Normally the branch merged in is the HEAD of the remote repository, but the choice is determined by the branch.<name>.remote and - branch.<name>.merge options; see git-repo-config(1) + branch.<name>.merge options; see git-config(1) for details.

    @@ -794,7 +794,7 @@ would want to start over, you can recover with

    SEE ALSO

    Author

    @@ -813,7 +813,7 @@ Junio C Hamano and the git-list <git@vger.kernel.org>.

    diff --git a/git-pull.txt b/git-pull.txt index 3e5f11572..a81d68cce 100644 --- a/git-pull.txt +++ b/git-pull.txt @@ -42,7 +42,7 @@ git pull, git pull origin:: current branch. Normally the branch merged in is the HEAD of the remote repository, but the choice is determined by the branch..remote and - branch..merge options; see gitlink:git-repo-config[1] + branch..merge options; see gitlink:git-config[1] for details. git pull origin next:: @@ -94,7 +94,7 @@ gitlink:git-reset[1]. SEE ALSO -------- -gitlink:git-fetch[1], gitlink:git-merge[1], gitlink:git-repo-config[1] +gitlink:git-fetch[1], gitlink:git-merge[1], gitlink:git-config[1] Author diff --git a/git-remote.html b/git-remote.html index 54131b493..883cce54c 100644 --- a/git-remote.html +++ b/git-remote.html @@ -287,7 +287,7 @@ update remote-tracking branches <name>/<branch>.

    In the third form, gives some information about the remote <name>.

    The remote configuration is achieved using the remote.origin.url and remote.origin.fetch configuration variables. (See -git-repo-config(1)).

    +git-config(1)).

    Examples

    @@ -316,7 +316,7 @@ $ git checkout -b nfs linux-nfs/master

    Author

    @@ -332,7 +332,7 @@ $ git checkout -b nfs linux-nfs/master
    diff --git a/git-remote.txt b/git-remote.txt index 5b93a8c8b..358c1acfc 100644 --- a/git-remote.txt +++ b/git-remote.txt @@ -28,7 +28,7 @@ In the third form, gives some information about the remote . The remote configuration is achieved using the `remote.origin.url` and `remote.origin.fetch` configuration variables. (See -gitlink:git-repo-config[1]). +gitlink:git-config[1]). Examples -------- @@ -58,7 +58,7 @@ See Also -------- gitlink:git-fetch[1] gitlink:git-branch[1] -gitlink:git-repo-config[1] +gitlink:git-config[1] Author ------ diff --git a/git-repo-config.html b/git-repo-config.html index c2c82087f..0e004c6ac 100644 --- a/git-repo-config.html +++ b/git-repo-config.html @@ -272,1130 +272,16 @@ git-repo-config(1) Manual Page

    SYNOPSIS

    -
    -
    git-repo-config [--global] [type] name [value [value_regex]] -git-repo-config [--global] [type] --add name value -git-repo-config [--global] [type] --replace-all name [value [value_regex]] -git-repo-config [--global] [type] --get name [value_regex] -git-repo-config [--global] [type] --get-all name [value_regex] -git-repo-config [--global] [type] --unset name [value_regex] -git-repo-config [--global] [type] --unset-all name [value_regex] -git-repo-config [--global] -l | --list
    +

    git-repo-config

    DESCRIPTION

    -

    You can query/set/replace/unset options with this command. The name is -actually the section and the key separated by a dot, and the value will be -escaped.

    -

    Multiple lines can be added to an option by using the --add option. -If you want to update or unset an option which can occur on multiple -lines, a POSIX regexp value_regex needs to be given. Only the -existing values that match the regexp are updated or unset. If -you want to handle the lines that do not match the regex, just -prepend a single exclamation mark in front (see EXAMPLES).

    -

    The type specifier can be either --int or --bool, which will make -git-repo-config ensure that the variable(s) are of the given type and -convert the value to the canonical form (simple decimal number for int, -a "true" or "false" string for bool). If no type specifier is passed, -no checks or transformations are performed on the value.

    -

    This command will fail if:

    -
      -
    1. -

      -The .git/config file is invalid, -

      -
    2. -
    3. -

      -Can not write to .git/config, -

      -
    4. -
    5. -

      -no section was provided, -

      -
    6. -
    7. -

      -the section or key is invalid, -

      -
    8. -
    9. -

      -you try to unset an option which does not exist, -

      -
    10. -
    11. -

      -you try to unset/set an option for which multiple lines match, or -

      -
    12. -
    13. -

      -you use --global option without $HOME being properly set. -

      -
    14. -
    -
    -

    OPTIONS

    -
    -
    -
    ---replace-all -
    -
    -

    - Default behavior is to replace at most one line. This replaces - all lines matching the key (and optionally the value_regex). -

    -
    -
    ---add -
    -
    -

    - Adds a new line to the option without altering any existing - values. This is the same as providing ^$ as the value_regex. -

    -
    -
    ---get -
    -
    -

    - Get the value for a given key (optionally filtered by a regex - matching the value). Returns error code 1 if the key was not - found and error code 2 if multiple key values were found. -

    -
    -
    ---get-all -
    -
    -

    - Like get, but does not fail if the number of values for the key - is not exactly one. -

    -
    -
    ---get-regexp -
    -
    -

    - Like --get-all, but interprets the name as a regular expression. -

    -
    -
    ---global -
    -
    -

    - Use global ~/.gitconfig file rather than the repository .git/config. -

    -
    -
    ---unset -
    -
    -

    - Remove the line matching the key from config file. -

    -
    -
    ---unset-all -
    -
    -

    - Remove all matching lines from config file. -

    -
    -
    --l, --list -
    -
    -

    - List all variables set in config file. -

    -
    -
    ---bool -
    -
    -

    - git-repo-config will ensure that the output is "true" or "false" -

    -
    -
    ---int -
    -
    -

    - git-repo-config will ensure that the output is a simple - decimal number. An optional value suffix of k, m, or g - in the config file will cause the value to be multiplied - by 1024, 1048576, or 1073741824 prior to output. -

    -
    -
    -
    -

    ENVIRONMENT

    -
    -
    -
    -GIT_CONFIG -
    -
    -

    - Take the configuration from the given file instead of .git/config. - Using the "--global" option forces this to ~/.gitconfig. -

    -
    -
    -GIT_CONFIG_LOCAL -
    -
    -

    - Currently the same as $GIT_CONFIG; when Git will support global - configuration files, this will cause it to take the configuration - from the global configuration file in addition to the given file. -

    -
    -
    -
    -

    EXAMPLE

    -
    -

    Given a .git/config like this:

    -
    -
    -
    #
    -# This is the config file, and
    -# a '#' or ';' character indicates
    -# a comment
    -#
    -
    -
    -
    -
    ; core variables
    -[core]
    -        ; Don't trust file modes
    -        filemode = false
    -
    -
    -
    -
    ; Our diff algorithm
    -[diff]
    -        external = "/usr/local/bin/gnu-diff -u"
    -        renames = true
    -
    -
    -
    -
    ; Proxy settings
    -[core]
    -        gitproxy="ssh" for "ssh://kernel.org/"
    -        gitproxy="proxy-command" for kernel.org
    -        gitproxy="myprotocol-command" for "my://"
    -        gitproxy=default-proxy ; for all the rest
    -
    -

    you can set the filemode to true with

    -
    -
    -
    % git repo-config core.filemode true
    -
    -

    The hypothetical proxy command entries actually have a postfix to discern -what URL they apply to. Here is how to change the entry for kernel.org -to "ssh".

    -
    -
    -
    % git repo-config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'
    -
    -

    This makes sure that only the key/value pair for kernel.org is replaced.

    -

    To delete the entry for renames, do

    -
    -
    -
    % git repo-config --unset diff.renames
    -
    -

    If you want to delete an entry for a multivar (like core.gitproxy above), -you have to provide a regex matching the value of exactly one line.

    -

    To query the value for a given key, do

    -
    -
    -
    % git repo-config --get core.filemode
    -
    -

    or

    -
    -
    -
    % git repo-config core.filemode
    -
    -

    or, to query a multivar:

    -
    -
    -
    % git repo-config --get core.gitproxy "for kernel.org$"
    -
    -

    If you want to know all the values for a multivar, do:

    -
    -
    -
    % git repo-config --get-all core.gitproxy
    -
    -

    If you like to live dangerous, you can replace all core.gitproxy by a -new one with

    -
    -
    -
    % git repo-config --replace-all core.gitproxy ssh
    -
    -

    However, if you really only want to replace the line for the default proxy, -i.e. the one without a "for …" postfix, do something like this:

    -
    -
    -
    % git repo-config core.gitproxy ssh '! for '
    -
    -

    To actually match only values with an exclamation mark, you have to

    -
    -
    -
    % git repo-config section.key value '[!]'
    -
    -

    To add a new proxy, without altering any of the existing ones, use

    -
    -
    -
    % git repo-config core.gitproxy '"proxy" for example.com'
    -
    -
    -

    CONFIGURATION FILE

    -
    -

    The git configuration file contains a number of variables that affect -the git command's behavior. .git/config file for each repository -is used to store the information for that repository, and -$HOME/.gitconfig is used to store per user information to give -fallback values for .git/config file.

    -

    They can be used by both the git plumbing -and the porcelains. The variables are divided into sections, where -in the fully qualified variable name the variable itself is the last -dot-separated segment and the section name is everything before the last -dot. The variable names are case-insensitive and only alphanumeric -characters are allowed. Some variables may appear multiple times.

    -

    Syntax

    -

    The syntax is fairly flexible and permissive; whitespaces are mostly -ignored. The # and ; characters begin comments to the end of line, -blank lines are ignored.

    -

    The file consists of sections and variables. A section begins with -the name of the section in square brackets and continues until the next -section begins. Section names are not case sensitive. Only alphanumeric -characters, - and . are allowed in section names. Each variable -must belong to some section, which means that there must be section -header before first setting of a variable.

    -

    Sections can be further divided into subsections. To begin a subsection -put its name in double quotes, separated by space from the section name, -in the section header, like in example below:

    -
    -
    -
            [section "subsection"]
    -
    -
    -

    Subsection names can contain any characters except newline (doublequote -" and backslash have to be escaped as \" and \\, -respecitvely) and are case sensitive. Section header cannot span multiple -lines. Variables may belong directly to a section or to a given subsection. -You can have [section] if you have [section "subsection"], but you -don't need to.

    -

    There is also (case insensitive) alternative [section.subsection] syntax. -In this syntax subsection names follow the same restrictions as for section -name.

    -

    All the other lines are recognized as setting variables, in the form -name = value. If there is no equal sign on the line, the entire line -is taken as name and the variable is recognized as boolean "true". -The variable names are case-insensitive and only alphanumeric -characters and - are allowed. There can be more than one value -for a given variable; we say then that variable is multivalued.

    -

    Leading and trailing whitespace in a variable value is discarded. -Internal whitespace within a variable value is retained verbatim.

    -

    The values following the equals sign in variable assign are all either -a string, an integer, or a boolean. Boolean values may be given as yes/no, -0/1 or true/false. Case is not significant in boolean values, when -converting value to the canonical form using --bool type specifier; -git-repo-config will ensure that the output is "true" or "false".

    -

    String values may be entirely or partially enclosed in double quotes. -You need to enclose variable value in double quotes if you want to -preserve leading or trailing whitespace, or if variable value contains -beginning of comment characters (if it contains # or ;). -Double quote " and backslash \ characters in variable value must -be escaped: use \" for " and \\ for \.

    -

    The following escape sequences (beside \" and \\) are recognized: -\n for newline character (NL), \t for horizontal tabulation (HT, TAB) -and \b for backspace (BS). No other char escape sequence, nor octal -char sequences are valid.

    -

    Variable value ending in a \ is continued on the next line in the -customary UNIX fashion.

    -

    Some variables may require special value format.

    -

    Example

    -
    -
    -
    # Core variables
    -[core]
    -        ; Don't trust file modes
    -        filemode = false
    -
    -
    -
    -
    # Our diff algorithm
    -[diff]
    -        external = "/usr/local/bin/gnu-diff -u"
    -        renames = true
    -
    -
    -
    -
    [branch "devel"]
    -        remote = origin
    -        merge = refs/heads/devel
    -
    -
    -
    -
    # Proxy settings
    -[core]
    -        gitProxy="ssh" for "ssh://kernel.org/"
    -        gitProxy=default-proxy ; for the rest
    -
    -

    Variables

    -

    Note that this list is non-comprehensive and not necessarily complete. -For command-specific variables, you will find a more detailed description -in the appropriate manual page. You will find a description of non-core -porcelain configuration variables in the respective porcelain documentation.

    -
    -
    -core.fileMode -
    -
    -

    - If false, the executable bit differences between the index and - the working copy are ignored; useful on broken filesystems like FAT. - See git-update-index(1). True by default. -

    -
    -
    -core.gitProxy -
    -
    -

    - A "proxy command" to execute (as command host port) instead - of establishing direct connection to the remote server when - using the git protocol for fetching. If the variable value is - in the "COMMAND for DOMAIN" format, the command is applied only - on hostnames ending with the specified domain string. This variable - may be set multiple times and is matched in the given order; - the first match wins. -

    -

    Can be overridden by the GIT_PROXY_COMMAND environment variable -(which always applies universally, without the special "for" -handling).

    -
    -
    -core.ignoreStat -
    -
    -

    - The working copy files are assumed to stay unchanged until you - mark them otherwise manually - Git will not detect the file changes - by lstat() calls. This is useful on systems where those are very - slow, such as Microsoft Windows. See git-update-index(1). - False by default. -

    -
    -
    -core.preferSymlinkRefs -
    -
    -

    - Instead of the default "symref" format for HEAD - and other symbolic reference files, use symbolic links. - This is sometimes needed to work with old scripts that - expect HEAD to be a symbolic link. -

    -
    -
    -core.logAllRefUpdates -
    -
    -

    - Updates to a ref <ref> is logged to the file - "$GIT_DIR/logs/<ref>", by appending the new and old - SHA1, the date/time and the reason of the update, but - only when the file exists. If this configuration - variable is set to true, missing "$GIT_DIR/logs/<ref>" - file is automatically created for branch heads. -

    -

    This information can be used to determine what commit -was the tip of a branch "2 days ago".

    -

    This value is true by default in a repository that has -a working directory associated with it, and false by -default in a bare repository.

    -
    -
    -core.repositoryFormatVersion -
    -
    -

    - Internal variable identifying the repository format and layout - version. -

    -
    -
    -core.sharedRepository -
    -
    -

    - When group (or true), the repository is made shareable between - several users in a group (making sure all the files and objects are - group-writable). When all (or world or everybody), the - repository will be readable by all users, additionally to being - group-shareable. When umask (or false), git will use permissions - reported by umask(2). See git-init(1). False by default. -

    -
    -
    -core.warnAmbiguousRefs -
    -
    -

    - If true, git will warn you if the ref name you passed it is ambiguous - and might match multiple refs in the .git/refs/ tree. True by default. -

    -
    -
    -core.compression -
    -
    -

    - An integer -1..9, indicating the compression level for objects that - are not in a pack file. -1 is the zlib and git default. 0 means no - compression, and 1..9 are various speed/size tradeoffs, 9 being - slowest. -

    -
    -
    -core.legacyheaders -
    -
    -

    - A boolean which enables the legacy object header format in case - you want to interoperate with old clients accessing the object - database directly (where the "http://" and "rsync://" protocols - count as direct access). -

    -
    -
    -core.packedGitWindowSize -
    -
    -

    - Number of bytes of a pack file to map into memory in a - single mapping operation. Larger window sizes may allow - your system to process a smaller number of large pack files - more quickly. Smaller window sizes will negatively affect - performance due to increased calls to the operating system's - memory manager, but may improve performance when accessing - a large number of large pack files. -

    -

    Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 -MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should -be reasonable for all users/operating systems. You probably do -not need to adjust this value.

    -

    Common unit suffixes of k, m, or g are supported.

    -
    -
    -core.packedGitLimit -
    -
    -

    - Maximum number of bytes to map simultaneously into memory - from pack files. If Git needs to access more than this many - bytes at once to complete an operation it will unmap existing - regions to reclaim virtual address space within the process. -

    -

    Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms. -This should be reasonable for all users/operating systems, except on -the largest projects. You probably do not need to adjust this value.

    -

    Common unit suffixes of k, m, or g are supported.

    -
    -
    -alias.* -
    -
    -

    - Command aliases for the git(1) command wrapper - e.g. - after defining "alias.last = cat-file commit HEAD", the invocation - "git last" is equivalent to "git cat-file commit HEAD". To avoid - confusion and troubles with script usage, aliases that - hide existing git commands are ignored. Arguments are split by - spaces, the usual shell quoting and escaping is supported. - quote pair and a backslash can be used to quote them. -

    -
    -
    -apply.whitespace -
    -
    -

    - Tells git-apply how to handle whitespaces, in the same way - as the --whitespace option. See git-apply(1). -

    -
    -
    -branch.<name>.remote -
    -
    -

    - When in branch <name>, it tells git fetch which remote to fetch. - If this option is not given, git fetch defaults to remote "origin". -

    -
    -
    -branch.<name>.merge -
    -
    -

    - When in branch <name>, it tells git fetch the default refspec to - be marked for merging in FETCH_HEAD. The value has exactly to match - a remote part of one of the refspecs which are fetched from the remote - given by "branch.<name>.remote". - The merge information is used by git pull (which at first calls - git fetch) to lookup the default branch for merging. Without - this option, git pull defaults to merge the first refspec fetched. - Specify multiple values to get an octopus merge. -

    -
    -
    -color.branch -
    -
    -

    - A boolean to enable/disable color in the output of - git-branch(1). May be set to true (or always), - false (or never) or auto, in which case colors are used - only when the output is to a terminal. Defaults to false. -

    -
    -
    -color.branch.<slot> -
    -
    -

    - Use customized color for branch coloration. <slot> is one of - current (the current branch), local (a local branch), - remote (a tracking branch in refs/remotes/), plain (other - refs). -

    -

    The value for these configuration variables is a list of colors (at most -two) and attributes (at most one), separated by spaces. The colors -accepted are normal, black, red, green, yellow, blue, -magenta, cyan and white; the attributes are bold, dim, ul, -blink and reverse. The first color given is the foreground; the -second is the background. The position of the attribute, if any, -doesn't matter.

    -
    -
    -color.diff -
    -
    -

    - When true (or always), always use colors in patch. - When false (or never), never. When set to auto, use - colors only when the output is to the terminal. -

    -
    -
    -color.diff.<slot> -
    -
    -

    - Use customized color for diff colorization. <slot> specifies - which part of the patch to use the specified color, and is one - of plain (context text), meta (metainformation), frag - (hunk header), old (removed lines), new (added lines), - commit (commit headers), or whitespace (highlighting dubious - whitespace). The values of these variables may be specified as - in color.branch.<slot>. -

    -
    -
    -color.pager -
    -
    -

    - A boolean to enable/disable colored output when the pager is in - use (default is true). -

    -
    -
    -color.status -
    -
    -

    - A boolean to enable/disable color in the output of - git-status(1). May be set to true (or always), - false (or never) or auto, in which case colors are used - only when the output is to a terminal. Defaults to false. -

    -
    -
    -color.status.<slot> -
    -
    -

    - Use customized color for status colorization. <slot> is - one of header (the header text of the status message), - added or updated (files which are added but not committed), - changed (files which are changed but not added in the index), - or untracked (files which are not tracked by git). The values of - these variables may be specified as in color.branch.<slot>. -

    -
    -
    -diff.renameLimit -
    -
    -

    - The number of files to consider when performing the copy/rename - detection; equivalent to the git diff option -l. -

    -
    -
    -diff.renames -
    -
    -

    - Tells git to detect renames. If set to any boolean value, it - will enable basic rename detection. If set to "copies" or - "copy", it will detect copies, as well. -

    -
    -
    -fetch.unpackLimit -
    -
    -

    - If the number of objects fetched over the git native - transfer is below this - limit, then the objects will be unpacked into loose object - files. However if the number of received objects equals or - exceeds this limit then the received pack will be stored as - a pack, after adding any missing delta bases. Storing the - pack from a push can make the push operation complete faster, - especially on slow filesystems. -

    -
    -
    -format.headers -
    -
    -

    - Additional email headers to include in a patch to be submitted - by mail. See git-format-patch(1). -

    -
    -
    -gc.reflogexpire -
    -
    -

    - git reflog expire removes reflog entries older than - this time; defaults to 90 days. -

    -
    -
    -gc.reflogexpireunreachable -
    -
    -

    - git reflog expire removes reflog entries older than - this time and are not reachable from the current tip; - defaults to 30 days. -

    -
    -
    -gc.rerereresolved -
    -
    -

    - Records of conflicted merge you resolved earlier are - kept for this many days when git rerere gc is run. - The default is 60 days. See git-rerere(1). -

    -
    -
    -gc.rerereunresolved -
    -
    -

    - Records of conflicted merge you have not resolved are - kept for this many days when git rerere gc is run. - The default is 15 days. See git-rerere(1). -

    -
    -
    -gitcvs.enabled -
    -
    -

    - Whether the cvs pserver interface is enabled for this repository. - See git-cvsserver(1). -

    -
    -
    -gitcvs.logfile -
    -
    -

    - Path to a log file where the cvs pserver interface well… logs - various stuff. See git-cvsserver(1). -

    -
    -
    -http.sslVerify -
    -
    -

    - Whether to verify the SSL certificate when fetching or pushing - over HTTPS. Can be overridden by the GIT_SSL_NO_VERIFY environment - variable. -

    -
    -
    -http.sslCert -
    -
    -

    - File containing the SSL certificate when fetching or pushing - over HTTPS. Can be overridden by the GIT_SSL_CERT environment - variable. -

    -
    -
    -http.sslKey -
    -
    -

    - File containing the SSL private key when fetching or pushing - over HTTPS. Can be overridden by the GIT_SSL_KEY environment - variable. -

    -
    -
    -http.sslCAInfo -
    -
    -

    - File containing the certificates to verify the peer with when - fetching or pushing over HTTPS. Can be overridden by the - GIT_SSL_CAINFO environment variable. -

    -
    -
    -http.sslCAPath -
    -
    -

    - Path containing files with the CA certificates to verify the peer - with when fetching or pushing over HTTPS. Can be overridden - by the GIT_SSL_CAPATH environment variable. -

    -
    -
    -http.maxRequests -
    -
    -

    - How many HTTP requests to launch in parallel. Can be overridden - by the GIT_HTTP_MAX_REQUESTS environment variable. Default is 5. -

    -
    -
    -http.lowSpeedLimit, http.lowSpeedTime -
    -
    -

    - If the HTTP transfer speed is less than http.lowSpeedLimit - for longer than http.lowSpeedTime seconds, the transfer is aborted. - Can be overridden by the GIT_HTTP_LOW_SPEED_LIMIT and - GIT_HTTP_LOW_SPEED_TIME environment variables. -

    -
    -
    -http.noEPSV -
    -
    -

    - A boolean which disables using of EPSV ftp command by curl. - This can helpful with some "poor" ftp servers which doesn't - support EPSV mode. Can be overridden by the GIT_CURL_FTP_NO_EPSV - environment variable. Default is false (curl will use EPSV). -

    -
    -
    -i18n.commitEncoding -
    -
    -

    - Character encoding the commit messages are stored in; git itself - does not care per se, but this information is necessary e.g. when - importing commits from emails or in the gitk graphical history - browser (and possibly at other places in the future or in other - porcelains). See e.g. git-mailinfo(1). Defaults to utf-8. -

    -
    -
    -i18n.logOutputEncoding -
    -
    -

    - Character encoding the commit messages are converted to when - running git-log and friends. -

    -
    -
    -log.showroot -
    -
    -

    - If true, the initial commit will be shown as a big creation event. - This is equivalent to a diff against an empty tree. - Tools like git-log(1) or git-whatchanged(1), which - normally hide the root commit will now show it. True by default. -

    -
    -
    -merge.summary -
    -
    -

    - Whether to include summaries of merged commits in newly created - merge commit messages. False by default. -

    -
    -
    -merge.verbosity -
    -
    -

    - Controls the amount of output shown by the recursive merge - strategy. Level 0 outputs nothing except a final error - message if conflicts were detected. Level 1 outputs only - conflicts, 2 outputs conflicts and file changes. Level 5 and - above outputs debugging information. The default is level 2. -

    -
    -
    -pack.window -
    -
    -

    - The size of the window used by git-pack-objects(1) when no - window size is given on the command line. Defaults to 10. -

    -
    -
    -pull.octopus -
    -
    -

    - The default merge strategy to use when pulling multiple branches - at once. -

    -
    -
    -pull.twohead -
    -
    -

    - The default merge strategy to use when pulling a single branch. -

    -
    -
    -remote.<name>.url -
    -
    -

    - The URL of a remote repository. See git-fetch(1) or - git-push(1). -

    -
    -
    -remote.<name>.fetch -
    -
    -

    - The default set of "refspec" for git-fetch(1). See - git-fetch(1). -

    -
    -
    -remote.<name>.push -
    -
    -

    - The default set of "refspec" for git-push(1). See - git-push(1). -

    -
    -
    -remote.<name>.receivepack -
    -
    -

    - The default program to execute on the remote side when pushing. See - option --exec of git-push(1). -

    -
    -
    -remote.<name>.uploadpack -
    -
    -

    - The default program to execute on the remote side when fetching. See - option --exec of git-fetch-pack(1). -

    -
    -
    -repack.usedeltabaseoffset -
    -
    -

    - Allow git-repack(1) to create packs that uses - delta-base offset. Defaults to false. -

    -
    -
    -show.difftree -
    -
    -

    - The default git-diff-tree(1) arguments to be used - for git-show(1). -

    -
    -
    -showbranch.default -
    -
    -

    - The default set of branches for git-show-branch(1). - See git-show-branch(1). -

    -
    -
    -tar.umask -
    -
    -

    - By default, git-tar-tree(1) sets file and directories modes - to 0666 or 0777. While this is both useful and acceptable for projects - such as the Linux Kernel, it might be excessive for other projects. - With this variable, it becomes possible to tell - git-tar-tree(1) to apply a specific umask to the modes above. - The special value "user" indicates that the user's current umask will - be used. This should be enough for most projects, as it will lead to - the same permissions as git-checkout(1) would use. The default - value remains 0, which means world read-write. -

    -
    -
    -user.email -
    -
    -

    - Your email address to be recorded in any newly created commits. - Can be overridden by the GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL - environment variables. See git-commit-tree(1). -

    -
    -
    -user.name -
    -
    -

    - Your full name to be recorded in any newly created commits. - Can be overridden by the GIT_AUTHOR_NAME and GIT_COMMITTER_NAME - environment variables. See git-commit-tree(1). -

    -
    -
    -user.signingkey -
    -
    -

    - If git-tag(1) is not selecting the key you want it to - automatically when creating a signed tag, you can override the - default selection with this variable. This option is passed - unchanged to gpg's --local-user parameter, so you may specify a key - using any method that gpg supports. -

    -
    -
    -whatchanged.difftree -
    -
    -

    - The default git-diff-tree(1) arguments to be used - for git-whatchanged(1). -

    -
    -
    -imap -
    -
    -

    - The configuration variables in the imap section are described - in git-imap-send(1). -

    -
    -
    -receive.unpackLimit -
    -
    -

    - If the number of objects received in a push is below this - limit then the objects will be unpacked into loose object - files. However if the number of received objects equals or - exceeds this limit then the received pack will be stored as - a pack, after adding any missing delta bases. Storing the - pack from a push can make the push operation complete faster, - especially on slow filesystems. -

    -
    -
    -receive.denyNonFastForwards -
    -
    -

    - If set to true, git-receive-pack will deny a ref update which is - not a fast forward. Use this to prevent such an update via a push, - even if that push is forced. This configuration variable is - set when initializing a shared repository. -

    -
    -
    -transfer.unpackLimit -
    -
    -

    - When fetch.unpackLimit or receive.unpackLimit are - not set, the value of this variable is used instead. -

    -
    -
    -
    -

    Author

    -
    -

    Written by Johannes Schindelin <Johannes.Schindelin@gmx.de>

    -
    -

    Documentation

    -
    -

    Documentation by Johannes Schindelin, Petr Baudis and the git-list <git@vger.kernel.org>.

    -
    -

    GIT

    -
    -

    Part of the git(7) suite

    +

    This is a synonym for git-config(1). Please refer to the +documentation of that command.

    diff --git a/git-repo-config.txt b/git-repo-config.txt index 9db3d3082..2deba3176 100644 --- a/git-repo-config.txt +++ b/git-repo-config.txt @@ -8,220 +8,11 @@ git-repo-config - Get and set repository or global options SYNOPSIS -------- -[verse] -'git-repo-config' [--global] [type] name [value [value_regex]] -'git-repo-config' [--global] [type] --add name value -'git-repo-config' [--global] [type] --replace-all name [value [value_regex]] -'git-repo-config' [--global] [type] --get name [value_regex] -'git-repo-config' [--global] [type] --get-all name [value_regex] -'git-repo-config' [--global] [type] --unset name [value_regex] -'git-repo-config' [--global] [type] --unset-all name [value_regex] -'git-repo-config' [--global] -l | --list +'git-repo-config' ... -DESCRIPTION ------------ -You can query/set/replace/unset options with this command. The name is -actually the section and the key separated by a dot, and the value will be -escaped. - -Multiple lines can be added to an option by using the '--add' option. -If you want to update or unset an option which can occur on multiple -lines, a POSIX regexp `value_regex` needs to be given. Only the -existing values that match the regexp are updated or unset. If -you want to handle the lines that do *not* match the regex, just -prepend a single exclamation mark in front (see EXAMPLES). - -The type specifier can be either '--int' or '--bool', which will make -'git-repo-config' ensure that the variable(s) are of the given type and -convert the value to the canonical form (simple decimal number for int, -a "true" or "false" string for bool). If no type specifier is passed, -no checks or transformations are performed on the value. - -This command will fail if: - -. The .git/config file is invalid, -. Can not write to .git/config, -. no section was provided, -. the section or key is invalid, -. you try to unset an option which does not exist, -. you try to unset/set an option for which multiple lines match, or -. you use --global option without $HOME being properly set. - - -OPTIONS -------- - ---replace-all:: - Default behavior is to replace at most one line. This replaces - all lines matching the key (and optionally the value_regex). - ---add:: - Adds a new line to the option without altering any existing - values. This is the same as providing '^$' as the value_regex. - ---get:: - Get the value for a given key (optionally filtered by a regex - matching the value). Returns error code 1 if the key was not - found and error code 2 if multiple key values were found. - ---get-all:: - Like get, but does not fail if the number of values for the key - is not exactly one. - ---get-regexp:: - Like --get-all, but interprets the name as a regular expression. - ---global:: - Use global ~/.gitconfig file rather than the repository .git/config. - ---unset:: - Remove the line matching the key from config file. ---unset-all:: - Remove all matching lines from config file. - --l, --list:: - List all variables set in config file. - ---bool:: - git-repo-config will ensure that the output is "true" or "false" - ---int:: - git-repo-config will ensure that the output is a simple - decimal number. An optional value suffix of 'k', 'm', or 'g' - in the config file will cause the value to be multiplied - by 1024, 1048576, or 1073741824 prior to output. - - -ENVIRONMENT +DESCRIPTION ----------- -GIT_CONFIG:: - Take the configuration from the given file instead of .git/config. - Using the "--global" option forces this to ~/.gitconfig. - -GIT_CONFIG_LOCAL:: - Currently the same as $GIT_CONFIG; when Git will support global - configuration files, this will cause it to take the configuration - from the global configuration file in addition to the given file. - - -EXAMPLE -------- - -Given a .git/config like this: - - # - # This is the config file, and - # a '#' or ';' character indicates - # a comment - # - - ; core variables - [core] - ; Don't trust file modes - filemode = false - - ; Our diff algorithm - [diff] - external = "/usr/local/bin/gnu-diff -u" - renames = true - - ; Proxy settings - [core] - gitproxy="ssh" for "ssh://kernel.org/" - gitproxy="proxy-command" for kernel.org - gitproxy="myprotocol-command" for "my://" - gitproxy=default-proxy ; for all the rest - -you can set the filemode to true with - ------------- -% git repo-config core.filemode true ------------- - -The hypothetical proxy command entries actually have a postfix to discern -what URL they apply to. Here is how to change the entry for kernel.org -to "ssh". - ------------- -% git repo-config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$' ------------- - -This makes sure that only the key/value pair for kernel.org is replaced. - -To delete the entry for renames, do - ------------- -% git repo-config --unset diff.renames ------------- - -If you want to delete an entry for a multivar (like core.gitproxy above), -you have to provide a regex matching the value of exactly one line. - -To query the value for a given key, do - ------------- -% git repo-config --get core.filemode ------------- - -or - ------------- -% git repo-config core.filemode ------------- - -or, to query a multivar: - ------------- -% git repo-config --get core.gitproxy "for kernel.org$" ------------- - -If you want to know all the values for a multivar, do: - ------------- -% git repo-config --get-all core.gitproxy ------------- - -If you like to live dangerous, you can replace *all* core.gitproxy by a -new one with - ------------- -% git repo-config --replace-all core.gitproxy ssh ------------- - -However, if you really only want to replace the line for the default proxy, -i.e. the one without a "for ..." postfix, do something like this: - ------------- -% git repo-config core.gitproxy ssh '! for ' ------------- - -To actually match only values with an exclamation mark, you have to - ------------- -% git repo-config section.key value '[!]' ------------- - -To add a new proxy, without altering any of the existing ones, use - ------------- -% git repo-config core.gitproxy '"proxy" for example.com' ------------- - - -include::config.txt[] - - -Author ------- -Written by Johannes Schindelin - -Documentation --------------- -Documentation by Johannes Schindelin, Petr Baudis and the git-list . - -GIT ---- -Part of the gitlink:git[7] suite - +This is a synonym for gitlink:git-config[1]. Please refer to the +documentation of that command. diff --git a/git-svn.html b/git-svn.html index e2909219e..f97fd5c7b 100644 --- a/git-svn.html +++ b/git-svn.html @@ -559,7 +559,7 @@ behind. SVN can version empty directories, and they are not removed by default if there are no files left in them. git cannot version empty directories. Enabling this flag will make the commit to SVN act like git.

    -

    repo-config key: svn.rmdir

    +

    config key: svn.rmdir

    -e @@ -574,7 +574,7 @@ Only used with the dcommit, set-tree and commit-diff

    Edit the commit message before committing to SVN. This is off by default for objects that are commits, and forced on when committing tree objects.

    -

    repo-config key: svn.edit

    +

    config key: svn.edit

    -l<num> @@ -589,8 +589,8 @@ Only used with the dcommit, set-tree and commit-diff

    They are both passed directly to git-diff-tree see git-diff-tree(1) for more information.

    -
    repo-config key: svn.l -repo-config key: svn.findcopiesharder
    +
    config key: svn.l +config key: svn.findcopiesharder
    -A<filename> @@ -612,7 +612,7 @@ committer name that does not exist in the authors-file, git-svn will abort operation. The user will then have to add the appropriate entry. Re-running the previous git-svn command after the authors-file is modified should continue operation.

    -

    repo-config key: svn.authorsfile

    +

    config key: svn.authorsfile

    -q @@ -644,8 +644,8 @@ to fetch before repacking. This defaults to repacking every
    --repack-flags are passed directly to gitlink:git-repack[1].
    -

    repo-config key: svn.repack -repo-config key: svn.repackflags

    +

    config key: svn.repack +config key: svn.repackflags

    -m @@ -702,7 +702,7 @@ end up having completely equivalent content. This can even be used to track branches across multiple SVN _repositories_.

    This option may be specified multiple times, once for each branch.

    -

    repo-config key: svn.branch

    +

    config key: svn.branch

    -i<GIT_SVN_ID> @@ -728,7 +728,7 @@ for more information on using GIT_SVN_ID. started tracking a branch and never tracked the trunk it was descended from.

    -

    repo-config key: svn.followparent

    +

    config key: svn.followparent

    --no-metadata @@ -748,7 +748,7 @@ able to fetch again, either. This is fine for one-shot imports.
    The 'git-svn log' command will not work on repositories using this,
     either.
    -

    repo-config key: svn.nometadata

    +

    config key: svn.nometadata

    @@ -911,7 +911,7 @@ detect them.

    diff --git a/git-svn.txt b/git-svn.txt index b95ff1da9..aea4a6bf5 100644 --- a/git-svn.txt +++ b/git-svn.txt @@ -204,7 +204,7 @@ removed by default if there are no files left in them. git cannot version empty directories. Enabling this flag will make the commit to SVN act like git. -repo-config key: svn.rmdir +config key: svn.rmdir -e:: --edit:: @@ -215,7 +215,7 @@ Edit the commit message before committing to SVN. This is off by default for objects that are commits, and forced on when committing tree objects. -repo-config key: svn.edit +config key: svn.edit -l:: --find-copies-harder:: @@ -226,8 +226,8 @@ They are both passed directly to git-diff-tree see gitlink:git-diff-tree[1] for more information. [verse] -repo-config key: svn.l -repo-config key: svn.findcopiesharder +config key: svn.l +config key: svn.findcopiesharder -A:: --authors-file=:: @@ -245,7 +245,7 @@ will abort operation. The user will then have to add the appropriate entry. Re-running the previous git-svn command after the authors-file is modified should continue operation. -repo-config key: svn.authorsfile +config key: svn.authorsfile -q:: --quiet:: @@ -262,8 +262,8 @@ repo-config key: svn.authorsfile --repack-flags are passed directly to gitlink:git-repack[1]. -repo-config key: svn.repack -repo-config key: svn.repackflags +config key: svn.repack +config key: svn.repackflags -m:: --merge:: @@ -304,7 +304,7 @@ used to track branches across multiple SVN _repositories_. This option may be specified multiple times, once for each branch. -repo-config key: svn.branch +config key: svn.branch -i:: --id :: @@ -320,7 +320,7 @@ for more information on using GIT_SVN_ID. started tracking a branch and never tracked the trunk it was descended from. -repo-config key: svn.followparent +config key: svn.followparent --no-metadata:: This gets rid of the git-svn-id: lines at the end of every commit. @@ -332,7 +332,7 @@ repo-config key: svn.followparent The 'git-svn log' command will not work on repositories using this, either. -repo-config key: svn.nometadata +config key: svn.nometadata -- diff --git a/git-update-index.html b/git-update-index.html index a4db23a8f..a4d149d69 100644 --- a/git-update-index.html +++ b/git-update-index.html @@ -688,7 +688,7 @@ now it checks with lstat(2) and finds it has been changed.

    The command honors core.filemode configuration variable. If your repository is on an filesystem whose executable bits are -unreliable, this should be set to false (see git-repo-config(1)). +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 @@ -698,7 +698,7 @@ need to use git-update-index --chmod=.

    See Also

    Author

    @@ -714,7 +714,7 @@ need to use git-update-index --chmod=.

    diff --git a/git-update-index.txt b/git-update-index.txt index 5bbae42d8..b161c8b32 100644 --- a/git-update-index.txt +++ b/git-update-index.txt @@ -289,7 +289,7 @@ Configuration The command honors `core.filemode` configuration variable. If your repository is on an filesystem whose executable bits are -unreliable, this should be set to 'false' (see gitlink:git-repo-config[1]). +unreliable, this should be set to 'false' (see gitlink: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 @@ -301,7 +301,7 @@ The command looks at `core.ignorestat` configuration variable. See See Also -------- -gitlink:git-repo-config[1] +gitlink:git-config[1] Author diff --git a/git-var.html b/git-var.html index e5354ef41..8fb2e8cf6 100644 --- a/git-var.html +++ b/git-var.html @@ -289,7 +289,7 @@ git-var(1) Manual Page Cause the logical variables to be listed. In addition, all the variables of the git configuration file .git/config are listed as well. (However, the configuration variables listing functionality - is deprecated in favor of git-repo-config -l.) + is deprecated in favor of git-config -l.)

    @@ -356,7 +356,7 @@ Your sysadmin must hate you!

    Author

    @@ -372,7 +372,7 @@ Your sysadmin must hate you!
    diff --git a/git-var.txt b/git-var.txt index 8a50638e9..9b0de1c11 100644 --- a/git-var.txt +++ b/git-var.txt @@ -20,7 +20,7 @@ OPTIONS Cause the logical variables to be listed. In addition, all the variables of the git configuration file .git/config are listed as well. (However, the configuration variables listing functionality - is deprecated in favor of `git-repo-config -l`.) + is deprecated in favor of `git-config -l`.) EXAMPLE -------- @@ -49,7 +49,7 @@ See Also -------- gitlink:git-commit-tree[1] gitlink:git-tag[1] -gitlink:git-repo-config[1] +gitlink:git-config[1] Author ------ diff --git a/git.html b/git.html index 9f6bfe8ab..93c1f25b7 100644 --- a/git.html +++ b/git.html @@ -286,7 +286,7 @@ and full access to internals.

    "man git-commandname" for documentation of each command. CVS users may also want to read CVS migration.

    The COMMAND is either a name of a Git command (see below) or an alias -as defined in the configuration file (see git-repo-config(1)).

    +as defined in the configuration file (see git-config(1)).

    OPTIONS

    @@ -686,7 +686,7 @@ ancillary user utilities.

    -git-repo-config(1) +git-config(1)

    @@ -737,7 +737,7 @@ ancillary user utilities.

    -git-fsck-objects(1) +git-fsck(1)

    @@ -1815,7 +1815,7 @@ forms a sequence of <ascii type without space> + <space> + <ascii size> + <byte\0> + <binary object data>.

    The structured objects can further have their structure and connectivity to other objects verified. This is generally done with -the git-fsck-objects program, which generates a full dependency graph +the git-fsck program, which generates a full dependency graph of all objects, and verifies their internal consistency (in addition to just verifying their superficial consistency through the hash).

    The object types in some more detail:

    @@ -2285,7 +2285,7 @@ contributors on the git-list <git@vger.kernel.org>.

    diff --git a/git.txt b/git.txt index 9761de36b..7cd346798 100644 --- a/git.txt +++ b/git.txt @@ -24,7 +24,7 @@ link:everyday.html[Everyday Git] for a useful minimum set of commands, and also want to read link:cvs-migration.html[CVS migration]. The COMMAND is either a name of a Git command (see below) or an alias -as defined in the configuration file (see gitlink:git-repo-config[1]). +as defined in the configuration file (see gitlink:git-config[1]). OPTIONS ------- diff --git a/howto-index.html b/howto-index.html index a1eaac2c5..6196e8587 100644 --- a/howto-index.html +++ b/howto-index.html @@ -375,7 +375,7 @@ as a Linux subsystem maintainer.

    diff --git a/howto/setup-git-server-over-http.txt b/howto/setup-git-server-over-http.txt index a202f3a46..8eadc2049 100644 --- a/howto/setup-git-server-over-http.txt +++ b/howto/setup-git-server-over-http.txt @@ -205,7 +205,7 @@ To check whether all is OK, do: Now, add the remote in your existing repository which contains the project you want to export: - $ git-repo-config remote.upload.url \ + $ git-config remote.upload.url \ http://@/my-new-repo.git/ It is important to put the last '/'; Without it, the server will send @@ -222,7 +222,7 @@ From your client repository, do This pushes branch 'master' (which is assumed to be the branch you want to export) to repository called 'upload', which we previously -defined with git-repo-config. +defined with git-config. Troubleshooting: diff --git a/tutorial.html b/tutorial.html index 196b28e38..ac99896da 100644 --- a/tutorial.html +++ b/tutorial.html @@ -276,8 +276,8 @@ public email address before doing any operation. The easiest way to do so is:

    -
    $ git repo-config --global user.name "Your Name Comes Here"
    -$ git repo-config --global user.email you@yourdomain.example.com
    +
    $ git config --global user.name "Your Name Comes Here"
    +$ git config --global user.email you@yourdomain.example.com
    @@ -566,11 +566,11 @@ repository in the repository configuration, and that location is used for pulls:

    -
    $ git repo-config --get remote.origin.url
    +
    $ git config --get remote.origin.url
     /home/bob/myrepo

    (The complete configuration created by git-clone is visible using -"git repo-config -l", and the git-repo-config(1) man page +"git config -l", and the git-config(1) man page explains the meaning of each option.)

    Git also keeps a pristine copy of Alice's master branch under the name "origin/master":

    @@ -788,7 +788,7 @@ digressions that may be interesting at this point are:

    diff --git a/tutorial.txt b/tutorial.txt index c27a4505d..adb1e3275 100644 --- a/tutorial.txt +++ b/tutorial.txt @@ -16,8 +16,8 @@ public email address before doing any operation. The easiest way to do so is: ------------------------------------------------ -$ git repo-config --global user.name "Your Name Comes Here" -$ git repo-config --global user.email you@yourdomain.example.com +$ git config --global user.name "Your Name Comes Here" +$ git config --global user.email you@yourdomain.example.com ------------------------------------------------ @@ -353,12 +353,12 @@ repository in the repository configuration, and that location is used for pulls: ------------------------------------- -$ git repo-config --get remote.origin.url +$ git config --get remote.origin.url /home/bob/myrepo ------------------------------------- (The complete configuration created by git-clone is visible using -"git repo-config -l", and the gitlink:git-repo-config[1] man page +"git config -l", and the gitlink:git-config[1] man page explains the meaning of each option.) Git also keeps a pristine copy of Alice's master branch under the