summaryrefslogtreecommitdiff
path: root/Documentation
AgeCommit message (Collapse)AuthorFilesLines
2013-01-06Merge branch 'jn/warn-on-inaccessible-loosen'Libravatar Junio C Hamano2-0/+12
Deal with a situation where .config/git is a file and we notice .config/git/config is not readable due to ENOTDIR, not ENOENT. * jn/warn-on-inaccessible-loosen: config: exit on error accessing any config file doc: advertise GIT_CONFIG_NOSYSTEM config: treat user and xdg config permission problems as errors config, gitignore: failure to access with ENOTDIR is ok
2013-01-06Update draft release notes to 1.8.2Libravatar Junio C Hamano1-2/+43
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-05Merge branch 'wk/submodule-update-remote'Libravatar Junio C Hamano3-1/+35
The beginning of 'integrate with the tip of the remote branch, not the commit recorded in the superproject gitlink' support. * wk/submodule-update-remote: submodule add: If --branch is given, record it in .gitmodules submodule update: add --remote for submodule's upstream changes submodule: add get_submodule_config helper funtion
2013-01-05Merge branch 'jk/pathspec-literal'Libravatar Junio C Hamano1-0/+15
Allow scripts to feed literal paths to commands that take pathspecs, by disabling wildcard globbing. * jk/pathspec-literal: add global --literal-pathspecs option Conflicts: dir.c
2013-01-05Merge branch 'jc/format-color-auto'Libravatar Junio C Hamano1-1/+5
Introduce "log --format=%C(auto,blue)Foo%C(auto,reset)" that does not color its output when writing to a non-terminal. * jc/format-color-auto: log --format: teach %C(auto,black) to respect color config t6006: clean up whitespace
2013-01-05Merge branch 'jk/mailmap-from-blob'Libravatar Junio C Hamano3-2/+11
Allow us to read, and default to read, mailmap files from the tip of the history in bare repositories. This will help running tools like shortlog in server settings. * jk/mailmap-from-blob: mailmap: default mailmap.blob in bare repositories mailmap: fix some documentation loose-ends for mailmap.blob mailmap: clean up read_mailmap error handling mailmap: support reading mailmap from blobs mailmap: refactor mailmap parsing for non-file sources
2013-01-05Merge branch 'cr/push-force-tag-update'Libravatar Junio C Hamano2-7/+12
Require "-f" for push to update a tag, even if it is a fast-forward. * cr/push-force-tag-update: push: allow already-exists advice to be disabled push: rename config variable for more general use push: cleanup push rules comment push: clarify rejection of update to non-commit-ish push: require force for annotated tags push: require force for refs under refs/tags/ push: flag updates that require force push: keep track of "update" state separately push: add advice for rejected tag reference push: return reject reasons as a bitset
2013-01-05Merge branch 'fc/fast-export-fixes'Libravatar Junio C Hamano1-1/+1
Various updates to fast-export used in the context of the remote helper interface. * fc/fast-export-fixes: fast-export: make sure updated refs get updated fast-export: don't handle uninteresting refs fast-export: fix comparison in tests fast-export: trivial cleanup remote-testgit: implement the "done" feature manually remote-testgit: report success after an import remote-testgit: exercise more features remote-testgit: cleanup tests remote-testgit: remove irrelevant test remote-testgit: remove non-local functionality Add new simplified git-remote-testgit Rename git-remote-testgit to git-remote-testpy remote-helpers: fix failure message remote-testgit: fix direction of marks fast-export: avoid importing blob marks
2013-01-03Update draft release notes to 1.8.2Libravatar Junio C Hamano1-1/+10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-02Start 1.8.2 cycleLibravatar Junio C Hamano1-0/+97
Various fixes that have been cooking in 'next' have been merged. All of them should go to 'maint' for 1.8.1.1 later. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-02Merge branch 'mk/maint-graph-infinity-loop'Libravatar Junio C Hamano1-5/+5
The --graph code fell into infinite loop when asked to do what the code did not expect. * mk/maint-graph-infinity-loop: graph.c: infinite loop in git whatchanged --graph -m
2013-01-02Merge branch 'mh/ceiling'Libravatar Junio C Hamano1-8/+0
An element on GIT_CEILING_DIRECTORIES list that does not name the real path to a directory (i.e. a symbolic link) could have caused the GIT_DIR discovery logic to escape the ceiling. * mh/ceiling: string_list_longest_prefix(): remove function setup_git_directory_gently_1(): resolve symlinks in ceiling paths longest_ancestor_length(): require prefix list entries to be normalized longest_ancestor_length(): take a string_list argument for prefixes longest_ancestor_length(): use string_list_split() Introduce new function real_path_if_valid() real_path_internal(): add comment explaining use of cwd Introduce new static function real_path_internal()
2012-12-31Git 1.8.1Libravatar Junio C Hamano2-15/+20
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27Sync with 1.8.0.3Libravatar Junio C Hamano2-1/+16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27Git 1.8.0.3Libravatar Junio C Hamano2-1/+16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27git(1): show link to contributor summary pageLibravatar Junio C Hamano1-1/+4
We earlier removed a link to list of contributors that pointed to a defunct page; let's use a working one from Ohloh.net to replace it instead. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27Merge branch 'sl/maint-git-svn-docs' into maintLibravatar Junio C Hamano1-6/+85
* sl/maint-git-svn-docs: git-svn: Note about tags. git-svn: Expand documentation for --follow-parent git-svn: Recommend use of structure options. git-svn: Document branches with at-sign(@).
2012-12-27git-svn: Note about tags.Libravatar Sebastian Leske1-0/+6
Document that 'git svn' will import SVN tags as branches. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27git-svn: Expand documentation for --follow-parentLibravatar Sebastian Leske1-3/+12
Describe what the option --follow-parent does, and what happens if it is set or unset. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27git-svn: Recommend use of structure options.Libravatar Sebastian Leske1-3/+21
Document that when using git svn, one should usually either use the directory structure options to import branches as branches, or only import one subdirectory. The default behaviour of cloning all branches and tags as subdirectories in the working copy is usually not what the user wants. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27git-svn: Document branches with at-sign(@).Libravatar Sebastian Leske1-0/+46
git svn sometimes creates branches with an at-sign in the name (branchname@revision). These branches confuse many users and it is a FAQ why they are created. Document when git svn creates them. Signed-off-by: Sebastian Leske <sebastian.leske@sleske.name> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27Merge branch 'gb/maint-doc-svn-log-window-size' into maintLibravatar Junio C Hamano1-0/+7
* branch 'gb/maint-doc-svn-log-window-size': Document git-svn fetch --log-window-size parameter
2012-12-27Merge branch 'km/maint-doc-git-reset' into maintLibravatar Junio C Hamano1-4/+4
* branch 'km/maint-doc-git-reset': doc: git-reset: make "<mode>" optional
2012-12-27git-remote-helpers.txt: document invocation before input formatLibravatar Max Horn1-31/+31
In the distant past, the order things were documented was 'Invocation', 'Commands', 'Capabilities', ... Then it was decided that before giving a list of Commands, there should be an overall description of the 'Input format', which was a wise decision. However, this description was put as the very first thing, with the rationale that any implementor would want to know that first. However, it seems an implementor would actually first need to know how the remote helper will be invoked, so moving 'Invocation' to the front again seems logical. Moreover, we now don't switch from discussing the input format to the invocation style and then back to input related stuff. Signed-off-by: Max Horn <max@quendi.de> Acked-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-27Merge branch 'jk/avoid-mailto-invalid-in-doc' into maintLibravatar Junio C Hamano3-3/+3
* jk/avoid-mailto-invalid-in-doc: Documentation: don't link to example mail addresses
2012-12-27Merge branch 'tj/maint-doc-commit-sign' into maintLibravatar Junio C Hamano1-1/+5
* branch 'tj/maint-doc-commit-sign': Add -S, --gpg-sign option to manpage of "git commit"
2012-12-27Documentation: move diff.wordRegex from config.txt to diff-config.txtLibravatar Ramkumar Ramachandra2-6/+6
19299a8 (Documentation: Move diff.<driver>.* from config.txt to diff-config.txt, 2011-04-07) moved the diff configuration options to diff-config.txt, but forgot about diff.wordRegex, which was left behind in config.txt. Fix this. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-22Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
2012-12-22Merge branch 'jc/doc-diff-blobs' into maintLibravatar Junio C Hamano1-2/+7
* jc/doc-diff-blobs: Documentation: Describe "git diff <blob> <blob>" separately
2012-12-22Merge branch 'cr/doc-checkout-branch' into maintLibravatar Junio C Hamano1-10/+41
* cr/doc-checkout-branch: Documentation/git-checkout.txt: document 70c9ac2 behavior Documentation/git-checkout.txt: clarify usage
2012-12-22Merge branch 'ta/api-index-doc' into maintLibravatar Junio C Hamano1-2/+0
* ta/api-index-doc: Remove misleading date from api-index-skel.txt
2012-12-22Merge branch 'as/doc-for-devs' into maintLibravatar Junio C Hamano2-13/+16
* as/doc-for-devs: Documentation: move support for old compilers to CodingGuidelines SubmittingPatches: add convention of prefixing commit messages
2012-12-22Merge branch 'jc/fetch-tags-doc' into maintLibravatar Junio C Hamano1-8/+5
* jc/fetch-tags-doc: fetch --tags: clarify documentation
2012-12-22Merge branch 'nd/index-format-doc' into maintLibravatar Junio C Hamano1-2/+3
* nd/index-format-doc: index-format.txt: clarify what is "invalid"
2012-12-22Merge branch 'ta/doc-cleanup' into maintLibravatar Junio C Hamano20-68/+134
* ta/doc-cleanup: Documentation: build html for all files in technical and howto Documentation/howto: convert plain text files to asciidoc Documentation/technical: convert plain text files to asciidoc Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1 Split over-long synopsis in git-fetch-pack.txt into several lines
2012-12-22Sort howto documents in howto-index.txtLibravatar Thomas Ackermann1-1/+1
Howto documents in howto-index.txt were listed in a rather random order. So better sort them. Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-21Merge branch 'ta/new-command-howto'Libravatar Junio C Hamano2-2/+8
* ta/new-command-howto: Move ./technical/api-command.txt to ./howto/new-command.txt
2012-12-21Merge branch 'jc/doc-diff-blobs'Libravatar Junio C Hamano1-2/+7
"git diff <blob> <blob>" was not documented and was only hinted as an extension to "git diff <commit> <commit> -- <pathspec>", but comparison between two blobs are more special than that. It does not take any pathspec to begin with. * jc/doc-diff-blobs: Documentation: Describe "git diff <blob> <blob>" separately
2012-12-21Merge branch 'cr/doc-checkout-branch'Libravatar Junio C Hamano1-10/+41
Document the magic "git checkout <no-such-branch>" hack to create local branch out of a remote tracking branch that hasn't been documented so far. * cr/doc-checkout-branch: Documentation/git-checkout.txt: document 70c9ac2 behavior Documentation/git-checkout.txt: clarify usage
2012-12-21Merge branch 'ta/api-index-doc'Libravatar Junio C Hamano1-2/+0
* ta/api-index-doc: Remove misleading date from api-index-skel.txt
2012-12-21Merge branch 'jk/avoid-mailto-invalid-in-doc'Libravatar Junio C Hamano3-3/+3
Avoids invalid sample e-mail addresses from becoming mailto links in the formatted output. * jk/avoid-mailto-invalid-in-doc: Documentation: don't link to example mail addresses
2012-12-21Merge branch 'as/doc-for-devs'Libravatar Junio C Hamano2-13/+16
It might be a better idea to move the text the bottom one adds to the extended description from the quick checklist part. * as/doc-for-devs: Documentation: move support for old compilers to CodingGuidelines SubmittingPatches: add convention of prefixing commit messages
2012-12-21Merge branch 'jc/fetch-tags-doc'Libravatar Junio C Hamano1-8/+5
"git fetch --tags" was explained as if it were "git fetch --no-no-tags", which is not the case, causing confusion. * jc/fetch-tags-doc: fetch --tags: clarify documentation
2012-12-21Merge branch 'nd/index-format-doc'Libravatar Junio C Hamano1-2/+3
* nd/index-format-doc: index-format.txt: clarify what is "invalid"
2012-12-21Merge branch 'sl/git-svn-docs'Libravatar Junio C Hamano1-6/+85
* sl/git-svn-docs: git-svn: Note about tags. git-svn: Expand documentation for --follow-parent git-svn: Recommend use of structure options. git-svn: Document branches with at-sign(@).
2012-12-21Move ./technical/api-command.txt to ./howto/new-command.txtLibravatar Thomas Ackermann2-2/+8
The contents of this document does not describe any particular API, but is more about the way to add a new command, which belongs to the "How To" section of the documentation suite. Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-19add global --literal-pathspecs optionLibravatar Jeff King1-0/+15
Git takes pathspec arguments in many places to limit the scope of an operation. These pathspecs are treated not as literal paths, but as glob patterns that can be fed to fnmatch. When a user is giving a specific pattern, this is a nice feature. However, when programatically providing pathspecs, it can be a nuisance. For example, to find the latest revision which modified "$foo", one can use "git rev-list -- $foo". But if "$foo" contains glob characters (e.g., "f*"), it will erroneously match more entries than desired. The caller needs to quote the characters in $foo, and even then, the results may not be exactly the same as with a literal pathspec. For instance, the depth checks in match_pathspec_depth do not kick in if we match via fnmatch. This patch introduces a global command-line option (i.e., one for "git" itself, not for specific commands) to turn this behavior off. It also has a matching environment variable, which can make it easier if you are a script or porcelain interface that is going to issue many such commands. This option cannot turn off globbing for particular pathspecs. That could eventually be done with a ":(noglob)" magic pathspec prefix. However, that level of granularity is more cumbersome to use for many cases, and doing ":(noglob)" right would mean converting the whole codebase to use "struct pathspec", as the usual "const char **pathspec" cannot represent extra per-item flags. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-19Remove duplicate entry in ./Documentation/MakefileLibravatar Thomas Ackermann1-1/+0
Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-19submodule add: If --branch is given, record it in .gitmodulesLibravatar W. Trevor King1-0/+2
This allows you to easily record a submodule.<name>.branch option in .gitmodules when you add a new submodule. With this patch, $ git submodule add -b <branch> <repository> [<path>] $ git config -f .gitmodules submodule.<path>.branch <branch> reduces to $ git submodule add -b <branch> <repository> [<path>] This means that future calls to $ git submodule update --remote ... will get updates from the same branch that you used to initialize the submodule, which is usually what you want. Signed-off-by: W. Trevor King <wking@tremily.us> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-12-19submodule update: add --remote for submodule's upstream changesLibravatar W. Trevor King3-1/+33
The current `update` command incorporates the superproject's gitlinked SHA-1 ($sha1) into the submodule HEAD ($subsha1). Depending on the options you use, it may checkout $sha1, rebase the $subsha1 onto $sha1, or merge $sha1 into $subsha1. This helps you keep up with changes in the upstream superproject. However, it's also useful to stay up to date with changes in the upstream subproject. Previous workflows for incorporating such changes include the ungainly: $ git submodule foreach 'git checkout $(git config --file $toplevel/.gitmodules submodule.$name.branch) && git pull' With this patch, all of the useful functionality for incorporating superproject changes can be reused to incorporate upstream subproject updates. When you specify --remote, the target $sha1 is replaced with a $sha1 of the submodule's origin/master tracking branch. If you want to merge a different tracking branch, you can configure the `submodule.<name>.branch` option in `.gitmodules`. You can override the `.gitmodules` configuration setting for a particular superproject by configuring the option in that superproject's default configuration (using the usual configuration hierarchy, e.g. `.git/config`, `~/.gitconfig`, etc.). Previous use of submodule.<name>.branch ======================================= Because we're adding a new configuration option, it's a good idea to check if anyone else is already using the option. The foreach-pull example above was described by Ævar in commit f030c96d8643fa0a1a9b2bd9c2f36a77721fb61f Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Date: Fri May 21 16:10:10 2010 +0000 git-submodule foreach: Add $toplevel variable Gerrit uses the same interpretation for the setting, but because Gerrit has direct access to the subproject repositories, it updates the superproject repositories automatically when a subproject changes. Gerrit also accepts the special value '.', which it expands into the superproject's branch name. Although the --remote functionality is using `submodule.<name>.branch` slightly differently, the effect is the same. The foreach-pull example uses the option to record the name of the local branch to checkout before pulls. The tracking branch to be pulled is recorded in `.git/modules/<name>/config`, which was initialized by the module clone during `submodule add` or `submodule init`. Because the branch name stored in `submodule.<name>.branch` was likely the same as the branch name used during the initial `submodule add`, the same branch will be pulled in each workflow. Implementation details ====================== In order to ensure a current tracking branch state, `update --remote` fetches the submodule's remote repository before calculating the SHA-1. However, I didn't change the logic guarding the existing fetch: if test -z "$nofetch" then # Run fetch only if $sha1 isn't present or it # is not reachable from a ref. (clear_local_git_env; cd "$path" && ( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) && test -z "$rev") || git-fetch)) || die "$(eval_gettext "Unable to fetch in submodule path '\$path'")" fi There will not be a double-fetch, because the new $sha1 determined after the `--remote` triggered fetch should always exist in the repository. If it doesn't, it's because some racy process removed it from the submodule's repository and we *should* be re-fetching. Signed-off-by: W. Trevor King <wking@tremily.us> Signed-off-by: Junio C Hamano <gitster@pobox.com>