summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-04-03Merge branch 'jk/fully-peeled-packed-ref' into maint-1.8.1Libravatar Junio C Hamano9-27/+145
* jk/fully-peeled-packed-ref: pack-refs: add fully-peeled trait pack-refs: write peeled entry for non-tags use parse_object_or_die instead of die("bad object") avoid segfaults on parse_object failure
2013-04-03Merge branch 'ap/maint-diff-rename-avoid-overlap' into maint-1.8.1Libravatar Junio C Hamano2-1/+67
* ap/maint-diff-rename-avoid-overlap: tests: make sure rename pretty print works diff: prevent pprint_rename from underrunning input diff: Fix rename pretty-print when suffix and prefix overlap
2013-04-03Merge branch 'yd/doc-merge-annotated-tag' into maint-1.8.1Libravatar Junio C Hamano2-1/+26
* yd/doc-merge-annotated-tag: Documentation: merging a tag is a special case
2013-04-03Merge branch 'ap/maint-update-index-h-is-for-help' into maint-1.8.1Libravatar Junio C Hamano1-1/+1
* ap/maint-update-index-h-is-for-help: update-index: allow "-h" to also display options
2013-04-03Merge branch 'jc/perl-cat-blob' into maint-1.8.1Libravatar Junio C Hamano1-10/+7
* jc/perl-cat-blob: Git.pm: fix cat_blob crashes on large files
2013-04-03Merge branch 'ob/imap-send-ssl-verify' into maint-1.8.1Libravatar Junio C Hamano1-0/+11
* ob/imap-send-ssl-verify: imap-send: support Server Name Indication (RFC4366)
2013-04-03Merge branch 'nd/index-pack-l10n-buf-overflow' into maint-1.8.1Libravatar Junio C Hamano1-4/+5
* nd/index-pack-l10n-buf-overflow: index-pack: fix buffer overflow caused by translations
2013-04-03git-tag(1): we tag HEAD by defaultLibravatar Thomas Rast1-0/+6
The <commit>|<object> argument is actually not explained anywhere (except implicitly in the description of an unannotated tag). Write a little explanation, in particular to cover the default. Signed-off-by: Thomas Rast <trast@inf.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-28git help config: s/insn/instruction/Libravatar Matthias Krüger1-1/+1
"insn" appears to be an in-code abbreviation and should not appear in manual/help pages. Signed-off-by: Matthias Krüger <matthias.krueger@famsik.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-27merge-tree: fix typo in merge-tree.c::unresolvedLibravatar John Keeping1-1/+1
When calculating whether there is a d/f conflict, the calculation of whether both sides are directories generates an incorrect references mask because it does not use the loop index to set the correct bit. Fix this typo. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-27git-commit doc: describe use of multiple `-m` optionsLibravatar Christian Helmuth1-0/+2
The text is copied from Documentation/git-tag.txt. Signed-off-by: Christian Helmuth <christian.helmuth@genode-labs.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-27git-pull doc: fix grammo ("conflicts" is plural)Libravatar Mihai Capotă1-1/+1
Signed-off-by: Mihai Capotă <mihai@mihaic.ro> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-26Correct the docs about GIT_SSH.Libravatar Dan Bornstein1-3/+6
In particular, it can get called with four arguments if you happen to be referring to a repo using the ssh:// scheme with a non-default port number. Signed-off-by: Dan Bornstein <danfuzz@milk.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-25Merge branch 'lf/bundle-verify-list-prereqs' into maint-1.8.1Libravatar Junio C Hamano1-5/+5
"git bundle verify" did not say "records a complete history" for a bundle that does not have any prerequisites. * lf/bundle-verify-list-prereqs: bundle: Add colons to list headings in "verify" bundle: Fix "verify" output if history is complete
2013-03-25Merge branch 'tk/doc-filter-branch' into maint-1.8.1Libravatar Junio C Hamano1-2/+25
Add an example use of "--env-filter" in "filter-branch" documentation. * tk/doc-filter-branch: Documentation: filter-branch env-filter example git-filter-branch.txt: clarify ident variables usage
2013-03-25Merge branch 'dm/ni-maxhost-may-be-missing' into maint-1.8.1Libravatar Junio C Hamano2-4/+11
Some sources failed to compile on systems that lack NI_MAXHOST in their system header. * dm/ni-maxhost-may-be-missing: git-compat-util.h: Provide missing netdb.h definitions
2013-03-25Merge branch 'gp/describe-match-uses-glob-pattern' into maint-1.8.1Libravatar Junio C Hamano1-2/+3
The "--match=<pattern>" argument "git describe" takes uses glob pattern but it wasn't obvious from the documentation. * gp/describe-match-uses-glob-pattern: describe: Document --match pattern format
2013-03-25Merge branch 'nd/doc-index-format' into maint-1.8.1Libravatar Junio C Hamano3-5/+13
The v4 index format was not documented. * nd/doc-index-format: update-index: list supported idx versions and their features read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr() index-format.txt: mention of v4 is missing in some places
2013-03-25Merge branch 'wk/doc-pre-rebase' into maint-1.8.1Libravatar Junio C Hamano1-3/+5
The arguments given to pre-rebase hook were not documented. * wk/doc-pre-rebase: Documentation/githooks: Explain pre-rebase parameters
2013-03-25Merge branch 'jc/color-diff-doc' into maint-1.8.1Libravatar Junio C Hamano1-2/+2
The "--color=<when>" argument to the commands in the diff family was described poorly. * jc/color-diff-doc: diff-options: unconfuse description of --color
2013-03-21Documentation: merging a tag is a special caseLibravatar Junio C Hamano2-1/+26
When asking Git to merge a tag (such as a signed tag or annotated tag), it will always create a merge commit even if fast-forward was possible. It's like having --no-ff present on the command line. It's a difference from the default behavior described in git-merge.txt. It should be documented as an exception of "FAST-FORWARD MERGE" section and "--ff" option description. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Reviewed-by: Yann Droneaud <ydroneaud@opteya.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-18pack-refs: add fully-peeled traitLibravatar Michael Haggerty3-6/+67
Older versions of pack-refs did not write peel lines for refs outside of refs/tags. This meant that on reading the pack-refs file, we might set the REF_KNOWS_PEELED flag for such a ref, even though we do not know anything about its peeled value. The previous commit updated the writer to always peel, no matter what the ref is. That means that packed-refs files written by newer versions of git are fine to be read by both old and new versions of git. However, we still have the problem of reading packed-refs files written by older versions of git, or by other implementations which have not yet learned the same trick. The simplest fix would be to always unset the REF_KNOWS_PEELED flag for refs outside of refs/tags that do not have a peel line (if it has a peel line, we know it is valid, but we cannot assume a missing peel line means anything). But that loses an important optimization, as upload-pack should not need to load the object pointed to by refs/heads/foo to determine that it is not a tag. Instead, we add a "fully-peeled" trait to the packed-refs file. If it is set, we know that we can trust a missing peel line to mean that a ref cannot be peeled. Otherwise, we fall back to assuming nothing. [commit message and tests by Jeff King <peff@peff.net>] Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-17t1507: Test that branchname@{upstream} is interpreted as branchLibravatar Kacper Kornet1-0/+4
Syntax branchname@{upstream} should interpret its argument as a name of a branch. Add the test to check that it doesn't try to interpret it as a refname if the branch in question does not exist. Signed-off-by: Kacper Kornet <draenog@pld-linux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-17pack-refs: write peeled entry for non-tagsLibravatar Jeff King2-8/+50
When we pack an annotated tag ref, we write not only the sha1 of the tag object along with the ref, but also the sha1 obtained by peeling the tag. This lets readers of the pack-refs file know the peeled value without having to actually load the object, speeding up upload-pack's ref advertisement. The writer marks a packed-refs file with peeled refs using the "peeled" trait at the top of the file. When the reader sees this trait, it knows that each ref is either followed by its peeled value, or it is not an annotated tag. However, there is a mismatch between the assumptions of the reader and writer. The writer will only peel refs under refs/tags, but the reader does not know this; it will assume a ref without a peeled value must not be a tag object. Thus an annotated tag object placed outside of the refs/tags hierarchy will not have its peeled value printed by upload-pack. The simplest way to fix this is to start writing peel values for all refs. This matches what the reader expects for both new and old versions of git. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-17use parse_object_or_die instead of die("bad object")Libravatar Jeff King3-9/+3
Some call-sites do: o = parse_object(sha1); if (!o) die("bad object %s", some_name); We can now handle that as a one-liner, and get more consistent output. In the third case of this patch, it looks like we are losing information, as the existing message also outputs the sha1 hex; however, parse_object will already have written a more specific complaint about the sha1, so there is no point in repeating it here. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-17avoid segfaults on parse_object failureLibravatar Jeff King4-5/+26
Many call-sites of parse_object assume that they will get a non-NULL return value; this is not the case if we encounter an error while parsing the object. This patch adds a wrapper function around parse_object that handles dying automatically, and uses it anywhere we immediately try to access the return value as a non-NULL pointer (i.e., anywhere that we would currently segfault). This wrapper may also be useful in other places. The most obvious one is code like: o = parse_object(sha1); if (!o) die(...); However, these should not be mechanically converted to parse_object_or_die, as the die message is sometimes customized. Later patches can address these sites on a case-by-case basis. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-17rev-parse: clarify documentation of $name@{upstream} syntaxLibravatar Kacper Kornet1-4/+4
"git rev-parse" interprets string in string@{upstream} as a name of a branch not a ref. For example, refs/heads/master@{upstream} looks for an upstream branch that is merged by git-pull to ref refs/heads/refs/heads/master not to refs/heads/master. However the documentation could mislead a user to believe that the string is interpreted as ref. Signed-off-by: Kacper Kornet <draenog@pld-linux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-17sha1_name: pass object name length to diagnose_invalid_sha1_path()Libravatar René Scharfe1-18/+14
The only caller of diagnose_invalid_sha1_path() extracts a substring from an object name by creating a NUL-terminated copy of the interesting part. Add a length parameter to the function and thus avoid the need for an allocation, thereby simplifying the code. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-16Makefile: keep LIB_H entries together and sortedLibravatar René Scharfe1-16/+13
As a follow-up to 60d24dd25 (Makefile: fold XDIFF_H and VCSSVN_H into LIB_H), let the unconditional additions to LIB_H form a single sorted list. Also drop the duplicate entry for xdiff/xdiff.h, which was easy to spot after sorting. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-16index-pack: fix buffer overflow caused by translationsLibravatar Nguyễn Thái Ngọc Duy1-4/+5
The translation of "completed with %d local objects" is put in a 48-byte buffer, which may be enough for English but not true for any translations. Convert it to use strbuf (i.e. no hard limit on translation length). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-11git.c: make usage match manual pageLibravatar Kevin Bracey1-2/+2
Reorder option list in command-line usage to match the manual page. Also make it less than 80-characters wide. Signed-off-by: Kevin Bracey <kevin@bracey.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-10Translate git_more_info_string consistentlyLibravatar Kevin Bracey1-1/+1
"git help" translated the "See 'git help <command>' for more information..." message, but "git" didn't. Signed-off-by: Kevin Bracey <kevin@bracey.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-09perf: update documentation of GIT_PERF_REPEAT_COUNTLibravatar Antoine Pelisse1-1/+1
Currently the documentation of GIT_PERF_REPEAT_COUNT says the default is five while "perf-lib.sh" uses a value of three as a default. Update the documentation so that it is consistent with the code. Signed-off-by: Antoine Pelisse <apelisse@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-08bundle: Add colons to list headings in "verify"Libravatar Lukas Fleischer1-4/+4
These slightly improve the reading flow by making it obvious that a list follows. Also, make the wording of both headings consistent by changing "contains %d ref(s)" to "contains this ref"/"contains these %d refs". Signed-off-by: Lukas Fleischer <git@cryptocrack.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-07bundle: Fix "verify" output if history is completeLibravatar Lukas Fleischer1-1/+1
A more informative message for "complete" bundles was added in commit 8c3710fd3011 (tweak "bundle verify" of a complete history, 2012-06-04). However, the prerequisites ref list is currently read *after* we check if it equals zero, which means we never actually use the number of prerequisite refs to decide when to print the newly introduced message. The code incorrectly uses the number of references recorded in the bundle instead. Signed-off-by: Lukas Fleischer <git@cryptocrack.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-07Merge branch 'mh/maint-ceil-absolute' into maintLibravatar Junio C Hamano3-16/+52
* mh/maint-ceil-absolute: Provide a mechanism to turn off symlink resolution in ceiling paths
2013-03-07gitweb/README: remove reference to git.kernel.orgLibravatar Fredrik Gustafsson1-3/+0
git.kernel.org no longer uses gitweb but has switched to cgit. Info about this can be found on: https://www.kernel.org/pelican.html or simply by looking at http://git.kernel.org . This is change since 2013-03-01. Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-06tests: make sure rename pretty print worksLibravatar Antoine Pelisse1-0/+54
Add basic use cases and corner cases tests for "git diff -M --summary/stat". Signed-off-by: Antoine Pelisse <apelisse@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-01Git 1.8.1.5Libravatar Junio C Hamano3-2/+9
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-01Make !pattern in .gitattributes non-fatalLibravatar Thomas Rast2-4/+7
Before 82dce99 (attr: more matching optimizations from .gitignore, 2012-10-15), .gitattributes did not have any special treatment of a leading '!'. The docs, however, always said The rules how the pattern matches paths are the same as in `.gitignore` files; see linkgit:gitignore[5]. By those rules, leading '!' means pattern negation. So 82dce99 correctly determined that this kind of line makes no sense and should be disallowed. However, users who actually had a rule for files starting with a '!' are in a bad position: before 82dce99 '!' matched that literal character, so it is conceivable that users have .gitattributes with such lines in them. After 82dce99 the unescaped version was disallowed in such a way that git outright refuses to run(!) most commands in the presence of such a .gitattributes. It therefore becomes very hard to fix, let alone work with, such repositories. Let's at least allow the users to fix their repos: change the fatal error into a warning. Reported-by: mathstuf@gmail.com Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-01Merge branch 'wk/user-manual' into maintLibravatar Junio C Hamano1-56/+77
* wk/user-manual: user-manual: Flesh out uncommitted changes and submodule updates user-manual: Use request-pull to generate "please pull" text user-manual: Reorganize the reroll sections, adding 'git rebase -i'
2013-03-01Documentation/githooks: Fix linkgitLibravatar Andrew Wong1-1/+1
Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-27Update draft release notes to 1.8.1.5Libravatar Junio C Hamano1-1/+5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-27Merge branch 'ef/non-ascii-parse-options-error-diag' into maintLibravatar Junio C Hamano1-1/+4
* ef/non-ascii-parse-options-error-diag: parse-options: report uncorrupted multi-byte options
2013-02-27Merge branch 'wk/man-deny-current-branch-is-default-these-days' into maintLibravatar Junio C Hamano1-3/+4
* wk/man-deny-current-branch-is-default-these-days: user-manual: typofix (ofthe->of the) user-manual: Update for receive.denyCurrentBranch=refuse
2013-02-27Merge branch 'jn/less-reconfigure' into maintLibravatar Junio C Hamano1-6/+8
* jn/less-reconfigure: Makefile: avoid infinite loop on configure.ac change
2013-02-27Documentation/submodule: Add --force to update synopsisLibravatar Brad King1-1/+1
In commit 9db31bdf (submodule: Add --force option for git submodule update, 2011-04-01) we added the option to the implementation's usage synopsis but forgot to add it to the synopsis in the command documentation. Add the option to the synopsis in the same location it is reported in usage and re-wrap the options to avoid long lines. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-26diff: prevent pprint_rename from underrunning inputLibravatar Thomas Rast1-7/+10
The logic described in d020e27 (diff: Fix rename pretty-print when suffix and prefix overlap, 2013-02-23) is wrong: The proof in the comment is valid only if both strings are the same length. *One* of old/new can reach a-1 (b-1, resp.) if 'a' is a suffix of 'b' (or vice versa). Since the intent was to let the loop run down to the '/' at the end of the common prefix, fix it by making that distinction explicit: if there is no prefix, allow no underrun. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-26Documentation: filter-branch env-filter exampleLibravatar Tadeusz Andrzej Kadłubowski1-0/+20
filter-branch --env-filter example that shows how to change the email address in all commits before publishing a project. Signed-off-by: Tadeusz Andrzej Kadłubowski <yess@hell.org.pl> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-26git-filter-branch.txt: clarify ident variables usageLibravatar Tadeusz Andrzej Kadłubowski1-2/+5
There is a rare edge case of git-filter-branch: a filter that unsets identity variables from the environment. Link to git-commit-tree clarifies how Git would fall back in this situation. Signed-off-by: Tadeusz Andrzej Kadłubowski <yess@hell.org.pl> Signed-off-by: Junio C Hamano <gitster@pobox.com>