summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-12-18diff: let "git diff -O" read orderfile from any file and fail properlyLibravatar Samuel Bronson2-15/+34
The -O flag really shouldn't silently fail to do anything when given a path that it can't read from. However, it should be able to read from un-mmappable files, such as: * pipes/fifos * /dev/null: It's a character device (at least on Linux) * ANY empty file: Quoting Linux mmap(2), "SUSv3 specifies that mmap() should fail if length is 0. However, in kernels before 2.6.12, mmap() succeeded in this case: no mapping was created and the call returned addr. Since kernel 2.6.12, mmap() fails with the error EINVAL for this case." We especially want "-O/dev/null" to work, since we will be documenting it as the way to cancel "diff.orderfile" when we add that. (Note: "-O/dev/null" did have the right effect, since the existing error handling essentially worked out to "silently ignore the orderfile". But this was probably more coincidence than anything else.) So, lets toss all of that logic to get the file mmapped and just use strbuf_read_file() instead, which gives us decent error handling practically for free. Signed-off-by: Samuel Bronson <naesten@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-18t4056: add new tests for "git diff -O"Libravatar Samuel Bronson1-0/+68
Adapted from $gmane/236427 by Anders Waldenborg, "diff: Add diff.orderfile configuration variable". Signed-off-by: Anders Waldenborg <anders@0x63.nu> Signed-off-by: Samuel Bronson <naesten@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-12Update draft release notes to 1.9Libravatar Junio C Hamano1-1/+17
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-12Merge branch 'jn/scripts-updates'Libravatar Junio C Hamano53-600/+87
* jn/scripts-updates: remove #!interpreter line from shell libraries test: replace shebangs with descriptions in shell libraries test: make FILEMODE a lazy prereq contrib: remove git-p4import mark contributed hooks executable mark perl test scripts executable mark Windows build scripts executable
2013-12-12Merge branch 'cn/thin-push-capability'Libravatar Junio C Hamano2-8/+25
Allow receive-pack to insist on receiving a fat pack from "git push" clients. * cn/thin-push-capability: send-pack: don't send a thin pack to a server which doesn't support it
2013-12-12Merge branch 'jk/remove-deprecated'Libravatar Junio C Hamano18-411/+48
* jk/remove-deprecated: stop installing git-tar-tree link peek-remote: remove deprecated alias of ls-remote lost-found: remove deprecated command tar-tree: remove deprecated command repo-config: remove deprecated alias for "git config"
2013-12-12Merge branch 'tr/commit-slab-cleanup'Libravatar Junio C Hamano1-8/+31
* tr/commit-slab-cleanup: commit-slab: sizeof() the right type in xrealloc commit-slab: declare functions "static inline" commit-slab: document clear_$slabname()
2013-12-12Merge branch 'rs/doc-submitting-patches'Libravatar Junio C Hamano1-2/+9
* rs/doc-submitting-patches: SubmittingPatches: document how to handle multiple patches
2013-12-12Merge branch 'tr/doc-git-cherry'Libravatar Junio C Hamano1-33/+110
* tr/doc-git-cherry: Documentation: revamp git-cherry(1)
2013-12-12Merge branch 'cl/p4-use-diff-tree'Libravatar Junio C Hamano1-1/+1
* cl/p4-use-diff-tree: git p4: Use git diff-tree instead of format-patch
2013-12-12Merge branch 'tr/config-multivalue-lift-max'Libravatar Junio C Hamano2-6/+77
* tr/config-multivalue-lift-max: config: arbitrary number of matches for --unset and --replace-all
2013-12-12Merge branch 'mh/fetch-tags-in-addition-to-normal-refs'Libravatar Junio C Hamano14-320/+503
The "--tags" option to "git fetch" used to be literally a synonym to a "refs/tags/*:refs/tags/*" refspec, which meant that (1) as an explicit refspec given from the command line, it silenced the lazy "git fetch" default that is configured, and (2) also as an explicit refspec given from the command line, it interacted with "--prune" to remove any tag that the remote we are fetching from does not have. This demotes it to an option; with it, we fetch all tags in addition to what would be fetched without the option, and it does not interact with the decision "--prune" makes to see what remote-tracking refs the local has are missing the remote counterpart. * mh/fetch-tags-in-addition-to-normal-refs: (23 commits) fetch: improve the error messages emitted for conflicting refspecs handle_duplicate(): mark error message for translation ref_remote_duplicates(): extract a function handle_duplicate() ref_remove_duplicates(): simplify loop logic t5536: new test of refspec conflicts when fetching ref_remove_duplicates(): avoid redundant bisection git-fetch.txt: improve description of tag auto-following fetch-options.txt: simplify ifdef/ifndef/endif usage fetch, remote: properly convey --no-prune options to subprocesses builtin/remote.c:update(): use struct argv_array builtin/remote.c: reorder function definitions query_refspecs(): move some constants out of the loop fetch --prune: prune only based on explicit refspecs fetch --tags: fetch tags *in addition to* other stuff fetch: only opportunistically update references based on command line get_expanded_map(): avoid memory leak get_expanded_map(): add docstring builtin/fetch.c: reorder function definitions get_ref_map(): rename local variables api-remote.txt: correct section "struct refspec" ...
2013-12-09Merge git://repo.or.cz/git-guiLibravatar Junio C Hamano8-17/+56
* git://repo.or.cz/git-gui: git-gui: correct spelling errors in comments git-gui: add menu item to launch a bash shell on Windows. git-gui: corrected setup of git worktree under cygwin. git-gui: right half window is paned git-gui: Add gui.displayuntracked option git-gui: show the maxrecentrepo config option in the preferences dialog git-gui: added gui.maxrecentrepo to extend the number of remembered repos git-gui: Improve font rendering on retina macbooks
2013-12-09Merge git://ozlabs.org/~paulus/gitkLibravatar Junio C Hamano1-210/+353
* git://ozlabs.org/~paulus/gitk: gitk: Recognize -L option gitk: Support showing the gathered inline diffs gitk: Split out diff part in $commitinfo gitk: Refactor per-line part of getblobdiffline and its support gitk: Support -G option from the command line gitk: Tag display improvements
2013-12-06config: arbitrary number of matches for --unset and --replace-allLibravatar Thomas Rast2-6/+77
git-config used a static match array to hold the matches we want to unset/replace when using --unset or --replace-all. Use a variable-sized array instead. This in particular fixes the symptoms git-svn had when storing large numbers of svn-remote.*.added-placeholder entries in the config file. While the tests are rather more paranoid than just --unset and --replace-all, the other operations already worked. Indeed git-svn's usage only breaks the first time *after* creating so many entries, when it wants to unset and re-add them all. Reported-by: Jess Hottenstein <jess.hottenstein@gmail.com> Signed-off-by: Thomas Rast <tr@thomasrast.ch> 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-05Sync with 1.8.5Libravatar Junio C Hamano28-7537/+9220
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-03stop installing git-tar-tree linkLibravatar Jonathan Nieder2-2/+1
When the built-in "git tar-tree" command (a thin wrapper around "git archive") was removed in 925ceccf (tar-tree: remove deprecated command, 2013-11-10), the build continued to install a non-functioning git-tar-tree command in gitexecdir by mistake: $ PATH=$(git --exec-path):$PATH $ git-tar-tree -h fatal: cannot handle tar-tree internally The list of links in gitexecdir is populated from BUILTIN_OBJS, which includes builtin/tar-tree.o to implement "git get-tar-commit-id". Rename the get-tar-commit-id source file to builtin/get-tar-commit-id.c to reflect its purpose and fix 'make install'. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>