summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-01-23tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()Libravatar Nguyễn Thái Ngọc Duy2-1/+18
We do ignore trailing slash on a directory, so pathspec "abc/" matches directory "abc". A submodule is also a directory. Apply the same logic to it. This makes "git log submodule-path" and "git log submodule-path/" produce the same output. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-06pathspec.c: support adding prefix magic to a pathspec with mnemonic magicLibravatar Nguyễn Thái Ngọc Duy1-10/+18
Back in 233c3e6 (parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN - 2013-07-14), parse_pathspec() is taught to save prefix length as a dynamic magic. This is needed when the pathspec is passed to another process and and prefix lenght would be lost. Back then we support two cases. If the pathspec is normal, e.g. "abc", we simply add the prefix to become ":(prefix:2)abc". If the pathspec contains long magic, e.g. ":(foo,bar)abc" then we turn it to ":(foo,bar,prefix:2)abc". We do not support prefixing on short form, because the only supported mnemonic '/' disappears after the the preprocessing steps. With the introduction of exclude magic with mnemonic '!', we need to add support for the short form case so that ':!abc' becomes ':(exclude,prefix:2)abc'. Without this, it will break cd Documentation git add -p -- . ':!technical' Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-06Support pathspec magic :(exclude) and its short form :!Libravatar Nguyễn Thái Ngọc Duy7-13/+324
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-06glossary-content.txt: rephrase magic signature partLibravatar Nguyễn Thái Ngọc Duy1-17/+12
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-06Start 1.9 cycleLibravatar Junio C Hamano3-2/+135
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-06Merge branch 'jk/remove-experimental-loose-object-support'Libravatar Junio C Hamano19-143/+0
* jk/remove-experimental-loose-object-support: drop support for "experimental" loose objects
2013-12-06Merge branch 'nd/magic-pathspec'Libravatar Junio C Hamano2-10/+13
"git diff -- ':(icase)makefile'" were rejected unnecessarily. This needs to be merged to 'maint' later. * nd/magic-pathspec: diff: restrict pathspec limitations to diff b/f case only
2013-12-06Merge branch 'rr/for-each-ref-decoration'Libravatar Junio C Hamano3-27/+150
Add a few formatting directives to "git for-each-ref --format=...", to paint them in color, etc. * rr/for-each-ref-decoration: for-each-ref: avoid color leakage for-each-ref: introduce %(color:...) for color for-each-ref: introduce %(upstream:track[short]) for-each-ref: introduce %(HEAD) asterisk marker t6300 (for-each-ref): don't hardcode SHA-1 hexes t6300 (for-each-ref): clearly demarcate setup
2013-12-06Merge branch 'jc/bundle'Libravatar Junio C Hamano1-16/+16
Code clean-up. * jc/bundle: bundle: use argv-array
2013-12-06Merge branch 'rh/remote-hg-bzr-updates'Libravatar Junio C Hamano5-24/+29
Updates to remote-bzr and remote-hg in contrib. * rh/remote-hg-bzr-updates: remote-bzr, remote-hg: fix email address regular expression test-hg.sh: help user correlate verbose output with email test test-hg.sh: fix duplicate content strings in author tests test-hg.sh: avoid obsolete 'test' syntax test-hg.sh: eliminate 'local' bashism test-bzr.sh, test-hg.sh: prepare for change to push.default=simple test-bzr.sh, test-hg.sh: allow running from any dir test-lib.sh: convert $TEST_DIRECTORY to an absolute path
2013-12-06Merge branch 'jn/perl-lib-extra'Libravatar Junio C Hamano2-2/+15
Allow customizing the paths to Perl modules with the new PERLLIB_EXTRA makefile variable. * jn/perl-lib-extra: Makefile: add PERLLIB_EXTRA variable that adds to default perl path Makefile: rebuild perl scripts when perl paths change
2013-12-05Merge branch 'gj/push-more-verbose-advice' (early part)Libravatar Junio C Hamano1-0/+7
* 'gj/push-more-verbose-advice' (early part): push: enhance unspecified push default warning
2013-12-05Merge branch 'jn/mediawiki-makefile-updates'Libravatar Junio C Hamano1-2/+7
Build and installation procedure clean-up. * jn/mediawiki-makefile-updates: git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace git-remote-mediawiki build: make 'install' command configurable git-remote-mediawiki: honor DESTDIR in "make install" git-remote-mediawiki: do not remove installed files in "clean" target
2013-12-05Merge branch 'jl/submodule-update-retire-orig-flags'Libravatar Junio C Hamano2-4/+12
Code clean-up. * jl/submodule-update-retire-orig-flags: submodule update: remove unnecessary orig_flags variable
2013-12-05Merge branch 'nd/wt-status-align-i18n'Libravatar Junio C Hamano1-27/+53
An attempt to automatically align the names in the "git status" output, taking the display width of (translated) section labels into account. * nd/wt-status-align-i18n: wt-status: take the alignment burden off translators
2013-12-05Merge branch 'sb/sha1-loose-object-info-check-existence'Libravatar Junio C Hamano2-6/+15
"git cat-file --batch-check=ok" did not check the existence of the named object. * sb/sha1-loose-object-info-check-existence: sha1_loose_object_info(): do not return success on missing object
2013-12-05Merge branch 'jk/two-way-merge-corner-case-fix'Libravatar Junio C Hamano3-97/+121
Fix a rather longstanding corner-case bug in twoway "reset to there" merge, which is most often seen in "git am --abort". * jk/two-way-merge-corner-case-fix: t1005: add test for "read-tree --reset -u A B" t1005: reindent unpack-trees: fix "read-tree -u --reset A B" with conflicted index
2013-12-05Merge branch 'jc/ref-excludes'Libravatar Junio C Hamano6-2/+155
People often wished a way to tell "git log --branches" (and "git log --remotes --not --branches") to exclude some local branches from the expansion of "--branches" (similarly for "--tags", "--all" and "--glob=<pattern>"). Now they have one. * jc/ref-excludes: rev-parse: introduce --exclude=<glob> to tame wildcards rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API rev-list --exclude: tests document --exclude option revision: introduce --exclude=<glob> to tame wildcards
2013-12-05Merge branch 'nv/parseopt-opt-arg'Libravatar Junio C Hamano7-14/+63
Enhance "rev-parse --parseopt" mode to help parsing options with an optional parameter. * nv/parseopt-opt-arg: rev-parse --parseopt: add the --stuck-long mode Use the word 'stuck' instead of 'sticked'
2013-12-05Merge branch 'bc/http-100-continue'Libravatar Junio C Hamano3-10/+28
Issue "100 Continue" responses to help use of GSS-Negotiate authentication scheme over HTTP transport when needed. * bc/http-100-continue: remote-curl: fix large pushes with GSSAPI remote-curl: pass curl slot_results back through run_slot http: return curl's AUTHAVAIL via slot_results
2013-12-05Merge branch 'jc/merge-base-reflog'Libravatar Junio C Hamano3-18/+195
Code the logic in "pull --rebase" that figures out a fork point from reflog entries in C. * jc/merge-base-reflog: merge-base: teach "--fork-point" mode merge-base: use OPT_CMDMODE and clarify the command line parsing
2013-12-05Merge branch 'jk/replace-perl-in-built-scripts'Libravatar Junio C Hamano4-5/+5
* jk/replace-perl-in-built-scripts: use @@PERL@@ in built scripts
2013-12-05Merge branch 'jh/loose-object-dirs-creation-race'Libravatar Junio C Hamano1-1/+3
When two processes created one loose object file each, which fell into the same fan-out bucket that previously did not have any objects, they both tried to do an equivalent of mkdir .git/objects/$fanout && chmod $shared_perm .git/objects/$fanout before writing into their file .git/objects/$fanout/$remainder, one of which could have failed unnecessarily when the second invocation of mkdir found that the directory already has been created by the first one. * jh/loose-object-dirs-creation-race: sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
2013-12-05Merge branch 'jk/robustify-parse-commit'Libravatar Junio C Hamano15-33/+32
* jk/robustify-parse-commit: checkout: do not die when leaving broken detached HEAD use parse_commit_or_die instead of custom message use parse_commit_or_die instead of segfaulting assume parse_commit checks for NULL commit assume parse_commit checks commit->object.parsed log_tree_diff: die when we fail to parse a commit
2013-12-05Merge branch 'ak/submodule-foreach-quoting'Libravatar Junio C Hamano2-1/+15
A behavior change, but a worthwhile one: "git submodule foreach" was treating its arguments as part of a single command to be concatenated and passed to a shell, making writing buggy scripts too easy. This patch preserves the old "just pass it to the shell" behavior when a single argument is passed to 'git submodule foreach' and moves to a new "skip the shell and use the arguments passed unmolested" behavior when more than one argument is passed. The old behavior (always concatenating and passing to the shell) was similar to the 'ssh' command, while the new behavior (switching on the number of arguments) is what 'xterm -e' does. May need more thought to make sure this change is advertised well so that scripts that used multiple arguments but added their own extra layer of quoting are not broken. * ak/submodule-foreach-quoting: submodule foreach: skip eval for more than one argument
2013-12-03Sync with 1.8.5.1Libravatar Junio C Hamano3-3/+13
* maint: Git 1.8.5.1 ref-iteration doc: add_submodule_odb() returns 0 for success
2013-12-03Merge branch 'nd/glossary-content-pathspec-markup'Libravatar Junio C Hamano1-3/+3
* nd/glossary-content-pathspec-markup: glossary-content.txt: fix documentation of "**" patterns
2013-12-03Merge branch 'jj/doc-markup-gitcli'Libravatar Junio C Hamano1-5/+5
* jj/doc-markup-gitcli: Documentation/gitcli.txt: fix double quotes
2013-12-03Merge branch 'jj/doc-markup-hints-in-coding-guidelines'Libravatar Junio C Hamano1-3/+31
* jj/doc-markup-hints-in-coding-guidelines: State correct usage of literal examples in man pages in the coding standards
2013-12-03Merge branch 'jj/log-doc'Libravatar Junio C Hamano1-26/+25
Mark-up fixes. * jj/log-doc: Documentation/git-log.txt: mark-up fix and minor rephasing Documentation/git-log: update "--log-size" description
2013-12-03Merge branch 'jj/rev-list-options-doc'Libravatar Junio C Hamano1-156/+87
Mark-up and grammo fixes. * jj/rev-list-options-doc: Documentation/rev-list-options.txt: fix some grammatical issues and typos Documentation/rev-list-options.txt: fix mark-up
2013-12-03Merge branch 'mi/typofixes'Libravatar Junio C Hamano8-10/+10
* mi/typofixes: contrib: typofixes Documentation/technical/http-protocol.txt: typofixes typofixes: fix misspelt comments
2013-12-03Merge branch 'tb/doc-fetch-pack-url'Libravatar Junio C Hamano1-8/+7
* tb/doc-fetch-pack-url: git-fetch-pack uses URLs like git-fetch
2013-12-03Git 1.8.5.1Libravatar Junio C Hamano4-3/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-03ref-iteration doc: add_submodule_odb() returns 0 for successLibravatar Nick Townsend1-2/+2
The usage sample of add_submodule_odb() function in the Submodules section expects non-zero return value for success, but the function actually reports success with zero. Helped-by: René Scharfe <l.s.r@web.de> Reviewed-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Nick Townsend <nick.townsend@mac.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-02Sync with 1.8.4.5Libravatar Junio C Hamano4-6/+45
2013-12-02Git 1.8.4.5Libravatar Junio C Hamano4-3/+17
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-02submodule: do not copy unknown update mode from .gitmodulesLibravatar Junio C Hamano2-5/+30
When submodule.$name.update is given as hint from the upstream in the .gitmodules file, we used to blindly copy it to .git/config, unless there already is a value defined for the submodule. However, there is no reason to expect that the update mode hinted by the upstream is available in the version of Git the user is using, and a really custom "!cmd" prepared by an upstream person running on Linux may not even be available to a user on Windows. It is simply irresponsible to copy the setting blindly and to attempt to use it during a later "submodule update" without validating it first. Just show the suggested value to the diagnostic output, and set the value to 'none' in the configuration, if it is not one of the ones that are known to be supported by this version of Git. Helped-by: Jens Lehmann <Jens.Lehmann@web.de> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-27Git 1.8.5Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-27Sync with maintLibravatar Junio C Hamano0-0/+0
* maint: remote-hg: don't decode UTF-8 paths into Unicode objects
2013-11-27remote-hg: don't decode UTF-8 paths into Unicode objectsLibravatar Richard Hansen1-1/+1
The internal mercurial API expects ordinary 8-bit string objects, not Unicode string objects. With this change, the test-hg.sh unit tests pass again. Signed-off-by: Richard Hansen <rhansen@bbn.com> Reviewed-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-25Merge branch 'rh/remote-hg-bzr-updates' (early part)Libravatar Junio C Hamano1-1/+1
Unbreaks a recent breakage due to use of unquote-c-style. This may need to be cherry-picked down to 1.8.4.x series. * 'rh/remote-hg-bzr-updates' (early part): remote-hg: don't decode UTF-8 paths into Unicode objects
2013-11-21drop support for "experimental" loose objectsLibravatar Jeff King19-143/+0
In git v1.4.3, we introduced a new loose object format that encoded some object information outside of the zlib stream. Ultimately the format was dropped in v1.5.3, but we kept the reading side around to help people migrate objects. Each time we open a loose object, we use a heuristic to check whether it is in the normal loose format, or the experimental one. This heuristic is robust in the face of valid data, but it tends to treat corrupted or garbage data as an experimental object. With the regular format, we would notice quickly that zlib's crc does not check out and complain. With the experimental object, we are likely to extract a nonsensical object size and try to allocate a huge buffer, resulting in xmalloc calling "die". This latter behavior is much worse, for two reasons. One, git reports an allocation error when the real error is corruption. And two, the program dies unconditionally, so you cannot even run fsck (which would otherwise ignore the broken object and keep going). We could try to improve the heuristic to err on the side of normal objects in the face of corruption, but there is really little point. The experimental format is long-dead, and was never enabled by default to begin with. We can instead simply remove it. The only affected repository would be one that explicitly set core.legacyheaders in 2007, and then never repacked in the intervening 6 years. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-21glossary-content.txt: fix documentation of "**" patternsLibravatar Nguyễn Thái Ngọc Duy1-3/+3
"**" means bold in ASCIIDOC, so we need to escape it. This is similar to 8447dc8 (gitignore.txt: fix documentation of "**" patterns - 2013-11-07) Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-20Documentation/gitcli.txt: fix double quotesLibravatar Jason St. John1-5/+5
Replace double quotes around literal examples with backticks Signed-off-by: Jason St. John <jstjohn@purdue.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-20diff: restrict pathspec limitations to diff b/f case onlyLibravatar Nguyễn Thái Ngọc Duy2-10/+13
builtin_diff_b_f() needs a path, not pathspec. Other modes in diff can deal with pathspec just fine. But because of the current GUARD_PATHSPEC() location, other modes also reject :(glob) and :(icase). Move GUARD_PATHSPEC(), and the "path" assignment statement, which is the reason of this GUARD_PATHSPEC(), inside builtin_diff_b_f(). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-20Git 1.8.5-rc3Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-20Sync with 1.8.4.4Libravatar Junio C Hamano2-1/+12
2013-11-20Git 1.8.4.4Libravatar Junio C Hamano3-2/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-11-20Merge branch 'mb/relnotes-1.8.5-fix'Libravatar Junio C Hamano1-82/+84
* mb/relnotes-1.8.5-fix: RelNotes: spelling & grammar fixes