summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-01-23help: use parse_config_key for man configLibravatar Jeff King1-7/+7
The resulting code ends up about the same length, but it is a little more self-explanatory. It now explicitly documents and checks the pre-condition that the incoming var starts with "man.", and drops the magic offset "4". Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-23submodule: simplify memory handling in config parsingLibravatar Jeff King1-16/+14
We keep a strbuf for the name of the submodule, even though we only ever add one string to it. Let's just use xmemdupz instead, which is slightly more efficient and makes it easier to follow what is going on. Unfortunately, we still end up having to deal with some memory ownership issues in some code branches, as we have to allocate the string in order to do a string list lookup, and then only sometimes want to hand ownership of that string over to the string_list. Still, making that explicit in the code (as opposed to sometimes detaching the strbuf, and then always releasing it) makes it a little more obvious what is going on. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-23submodule: use parse_config_key when parsing configLibravatar Jeff King1-9/+10
This makes the code a lot simpler to read by dropping a whole bunch of constant offsets. As a bonus, it means we also feed the whole config variable name to our error functions: [before] $ git -c submodule.foo.fetchrecursesubmodules=bogus checkout fatal: bad foo.fetchrecursesubmodules argument: bogus [after] $ git -c submodule.foo.fetchrecursesubmodules=bogus checkout fatal: bad submodule.foo.fetchrecursesubmodules argument: bogus Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-23userdiff: drop parse_driver functionLibravatar Jeff King1-29/+21
When we parse userdiff config, we generally assume that diff.name.key will affect the "key" value of the "name" driver. However, without confirming that the key is a valid userdiff key, we may accidentally conflict with the ancient "diff.color.*" namespace. The current code is careful not to even create a driver struct if we do not see a key that is known by the diff-driver code. However, this carefulness is unnecessary; the default driver with no keys set behaves exactly the same as having no driver at all. We can simply set up the driver struct as soon as we see we have a config key that looks like a driver. This makes the code a bit more readable. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-23convert some config callbacks to parse_config_keyLibravatar Jeff King3-28/+13
These callers can drop some inline pointer arithmetic and magic offset constants, making them more readable and less error-prone (those constants had to match the lengths of strings, but there is no automatic verification of that fact). The "ep" pointer (presumably for "end pointer"), which points to the final key segment of the config variable, is given the more standard name "key" to describe its function rather than its derivation. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-23archive-tar: use parse_config_key when parsing configLibravatar Jeff King2-10/+3
This is fewer lines of code, but more importantly, fixes a bogus pointer offset. We are looking for "tar." in the section, but later assume that the dot we found is at offset 9, not 3. This is a holdover from an earlier iteration of 767cf45 which called the section "tarfilter". As a result, we could erroneously reject some filters with dots in their name, as well as read uninitialized memory. Reported by (and test by) René Scharfe. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-23config: add helper function for parsing key namesLibravatar Jeff King2-0/+48
The config callback functions get keys of the general form: section.subsection.key (where the subsection may be contain arbitrary data, or may be missing). For matching keys without subsections, it is simple enough to call "strcmp". Matching keys with subsections is a little more complicated, and each callback does it in an ad-hoc way, usually involving error-prone pointer arithmetic. Let's provide a helper that keeps the pointer arithmetic all in one place. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-11Update draft release notes to 1.8.2Libravatar Junio C Hamano1-0/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-11Merge branch 'jk/maint-fast-import-doc-reorder'Libravatar Junio C Hamano1-46/+52
* jk/maint-fast-import-doc-reorder: git-fast-import(1): reorganise options git-fast-import(1): combine documentation of --[no-]relative-marks
2013-01-11Merge branch 'jk/shortlog-no-wrap-doc'Libravatar Junio C Hamano1-0/+3
* jk/shortlog-no-wrap-doc: git-shortlog(1): document behaviour of zero-width wrap
2013-01-11Merge branch 'rs/zip-with-uncompressed-size-in-the-header'Libravatar Junio C Hamano1-5/+2
Improve compatibility of our zip output to fill uncompressed size in the header, which we can do without seeking back (even though it should not be necessary). * rs/zip-with-uncompressed-size-in-the-header: archive-zip: write uncompressed size into header even with streaming
2013-01-11Merge branch 'rs/zip-tests'Libravatar Junio C Hamano5-80/+140
Update zip tests to skip some that cannot be handled on platform unzip. * rs/zip-tests: t5003: check if unzip supports symlinks t5000, t5003: move ZIP tests into their own script t0024, t5000: use test_lazy_prereq for UNZIP t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead
2013-01-11Merge branch 'jn/xml-depends-on-asciidoc-conf'Libravatar Junio C Hamano1-5/+3
* jn/xml-depends-on-asciidoc-conf: docs: manpage XML depends on asciidoc.conf
2013-01-11Merge branch 'jk/unify-exit-code-by-receiving-signal'Libravatar Junio C Hamano4-7/+5
The internal logic had to deal with two representations of a death of a child process by a signal. * jk/unify-exit-code-by-receiving-signal: run-command: encode signal death as a positive integer
2013-01-11Merge branch 'jc/merge-blobs'Libravatar Junio C Hamano8-50/+117
Update the disused merge-tree proof-of-concept code. * jc/merge-blobs: merge-tree: fix d/f conflicts merge-tree: add comments to clarify what these functions are doing merge-tree: lose unused "resolve_directories" merge-tree: lose unused "flags" from merge_list Which merge_file() function do you mean?
2013-01-11Merge branch 'jc/format-patch-reroll'Libravatar Junio C Hamano6-33/+84
Teach "format-patch" to prefix v4- to its output files for the fourth iteration of a patch series, to make it easier for the submitter to keep separate copies for iterations. * jc/format-patch-reroll: format-patch: give --reroll-count a short synonym -v format-patch: document and test --reroll-count format-patch: add --reroll-count=$N option get_patch_filename(): split into two functions get_patch_filename(): drop "just-numbers" hack get_patch_filename(): simplify function signature builtin/log.c: stop using global patch_suffix builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter() builtin/log.c: drop unused "numbered" parameter from make_cover_letter()
2013-01-11Merge branch 'maint'Libravatar Junio C Hamano0-0/+0
2013-01-11Merge branch 'as/api-allocation-doc' into maintLibravatar Junio C Hamano1-6/+8
* as/api-allocation-doc: api-allocation-growing.txt: encourage better variable naming
2013-01-11Merge branch 'jk/enable-test-lint-by-default' into maintLibravatar Junio C Hamano1-0/+1
We have two simple and quick tests to catch common mistakes when writing test scripts, but we did not run them by default when running tests. * jk/enable-test-lint-by-default: tests: turn on test-lint by default
2013-01-11Merge branch 'ap/merge-stop-at-prepare-commit-msg-failure' into maintLibravatar Junio C Hamano2-2/+17
"git merge" started calling prepare-commit-msg hook like "git commit" does some time ago, but forgot to pay attention to the exit status of the hook. * ap/merge-stop-at-prepare-commit-msg-failure: merge: Honor prepare-commit-msg return code
2013-01-11Merge branch 'jc/submittingpatches' into maintLibravatar Junio C Hamano1-84/+91
* jc/submittingpatches: SubmittingPatches: give list and maintainer addresses SubmittingPatches: remove overlong checklist SubmittingPatches: mention subsystems with dedicated repositories SubmittingPatches: who am I and who cares?
2013-01-11Merge branch 'os/gitweb-highlight-uncaptured' into maintLibravatar Junio C Hamano1-1/+1
"gitweb", when sorting by age to show repositories with new activities first, used to sort repositories with absolutely nothing in it early, which was not very useful. * os/gitweb-highlight-uncaptured: gitweb: fix error in sanitize when highlight is enabled
2013-01-11Merge branch 'jn/less-reconfigure' into maintLibravatar Junio C Hamano1-2/+8
When autoconf is used, any build on a different commit always ran "config.status --recheck" even when unnecessary. * jn/less-reconfigure: build: do not automatically reconfigure unless configure.ac changed
2013-01-11Merge branch 'kb/maint-bundle-doc' into maintLibravatar Junio C Hamano1-5/+4
* kb/maint-bundle-doc: Documentation: full-ness of a bundle is significant for cloning Documentation: correct example restore from bundle
2013-01-11Merge branch 'as/test-name-alias-uniquely' into maintLibravatar Junio C Hamano1-6/+6
* as/test-name-alias-uniquely: Use longer alias names in subdirectory tests
2013-01-11Merge branch 'jn/warn-on-inaccessible-loosen' into maintLibravatar Junio C Hamano5-7/+31
When attempting to read the XDG-style $HOME/.config/git/config and finding that $HOME/.config/git is a file, we gave a wrong error message, instead of treating the case as "a custom config file does not exist there" and moving on. * 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-11Merge branch 'ja/directory-attrs' into maintLibravatar Junio C Hamano3-9/+76
The attribute mechanism didn't allow limiting attributes to be applied to only a single directory itself with "path/" like the exclude mechanism does. * ja/directory-attrs: Add directory pattern matching to attributes
2013-01-11Merge branch 'jc/fetch-ignore-symref' into maintLibravatar Junio C Hamano2-1/+54
"git fetch --mirror" and fetch that uses other forms of refspec with wildcard used to attempt to update a symbolic ref that match the wildcard on the receiving end, which made little sense (the real ref that is pointed at by the symbolic ref would be updated anyway). Symbolic refs no longer are affected by such a fetch. * jc/fetch-ignore-symref: fetch: ignore wildcarded refspecs that update local symbolic refs
2013-01-11Merge branch 'ss/svn-prompt' into maintLibravatar Junio C Hamano2-28/+60
The way "git svn" asked for password using SSH_ASKPASS and GIT_ASKPASS was not in line with the rest of the system. * ss/svn-prompt: git-svn, perl/Git.pm: extend and use Git->prompt method for querying users perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set git-svn, perl/Git.pm: add central method for prompting passwords
2013-01-10Merge branch 'maint'Libravatar Junio C Hamano1-0/+36
* maint: Prepare for 1.8.1.1 Makefile: detect when PYTHON_PATH changes (cherry-picked)
2013-01-10Update draft release notes to 1.8.2Libravatar Junio C Hamano1-0/+30
2013-01-10Prepare for 1.8.1.1Libravatar Junio C Hamano2-1/+37
2013-01-10Makefile: detect when PYTHON_PATH changesLibravatar Christian Couder2-2/+15
When make is run, the python scripts are created from *.py files that are changed to use the python given by PYTHON_PATH. And PYTHON_PATH is set by default to /usr/bin/python on Linux. However, next time make is run with a different value in PYTHON_PATH, we failed to regenerate these scripts. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-10Merge branch 'ta/remove-stale-translated-tut' into maintLibravatar Junio C Hamano1-675/+0
* ta/remove-stale-translated-tut: Remove Documentation/pt_BR/gittutorial.txt
2013-01-10Merge branch 'tb/test-t9810-no-sed-i' into maintLibravatar Junio C Hamano1-10/+14
* tb/test-t9810-no-sed-i: t9810: Do not use sed -i
2013-01-10Merge branch 'tb/test-t9020-no-which' into maintLibravatar Junio C Hamano1-2/+2
* tb/test-t9020-no-which: t9020: which is not portable
2013-01-10Merge branch 'mh/pthreads-autoconf' into maintLibravatar Junio C Hamano1-1/+11
* mh/pthreads-autoconf: configure.ac: fix pthreads detection on Mac OS X
2013-01-10Merge branch 'jc/same-encoding' into maintLibravatar Junio C Hamano1-12/+4
* jc/same-encoding: format_commit_message(): simplify calls to logmsg_reencode()
2013-01-10Merge branch 'sp/shortlog-missing-lf' into maintLibravatar Junio C Hamano4-12/+34
* sp/shortlog-missing-lf: strbuf_add_wrapped*(): Remove unused return value shortlog: fix wrapping lines of wraplen
2013-01-10Merge branch 'md/gitweb-sort-by-age' into maintLibravatar Junio C Hamano1-14/+21
* md/gitweb-sort-by-age: gitweb: Sort projects with undefined ages last
2013-01-10Merge branch 'nd/invalidate-i-t-a-cache-tree' into maintLibravatar Junio C Hamano3-17/+65
* nd/invalidate-i-t-a-cache-tree: cache-tree: invalidate i-t-a paths after generating trees cache-tree: fix writing cache-tree when CE_REMOVE is present cache-tree: replace "for" loops in update_one with "while" loops cache-tree: remove dead i-t-a code in verify_cache()
2013-01-10Merge branch 'jk/repack-ref-racefix' into maintLibravatar Junio C Hamano1-1/+4
* jk/repack-ref-racefix: refs: do not use cached refs in repack_without_ref
2013-01-10Merge branch 'rb/http-cert-cred-no-username-prompt' into maintLibravatar Junio C Hamano1-0/+1
* rb/http-cert-cred-no-username-prompt: http.c: Avoid username prompt for certifcate credentials
2013-01-10Merge branch 'jc/comment-cygwin-win32api-in-makefile'Libravatar Junio C Hamano1-0/+4
* jc/comment-cygwin-win32api-in-makefile: Makefile: add comment on CYGWIN_V15_WIN32API
2013-01-10Merge branch 'as/api-allocation-doc'Libravatar Junio C Hamano1-6/+8
* as/api-allocation-doc: api-allocation-growing.txt: encourage better variable naming
2013-01-10Merge branch 'rs/leave-base-name-in-name-field-of-tar'Libravatar Junio C Hamano1-0/+2
Improve compatibility with implementations of "tar" that do not like empty name field in header (with the additional prefix field holding everything). * rs/leave-base-name-in-name-field-of-tar: archive-tar: split long paths more carefully
2013-01-10Merge branch 'jl/interrupt-clone-remove-separate-git-dir'Libravatar Junio C Hamano2-2/+14
When "git clone --separate-git-dir" is interrupted, we failed to remove the real location we created the repository. * jl/interrupt-clone-remove-separate-git-dir: clone: support atomic operation with --separate-git-dir
2013-01-10Merge branch 'as/dir-c-cleanup'Libravatar Junio C Hamano7-62/+171
Refactor and generally clean up the directory traversal API implementation. * as/dir-c-cleanup: dir.c: rename free_excludes() to clear_exclude_list() dir.c: refactor is_path_excluded() dir.c: refactor is_excluded() dir.c: refactor is_excluded_from_list() dir.c: rename excluded() to is_excluded() dir.c: rename excluded_from_list() to is_excluded_from_list() dir.c: rename path_excluded() to is_path_excluded() dir.c: rename cryptic 'which' variable to more consistent name Improve documentation and comments regarding directory traversal API api-directory-listing.txt: update to match code
2013-01-10Merge branch 'jk/config-uname'Libravatar Junio C Hamano2-542/+540
Move the bits to set fallback default based on the platform from the main Makefile to a separate file, so that it can be included in Makefiles in subdirectories. * jk/config-uname: Makefile: hoist uname autodetection to config.mak.uname
2013-01-10Merge branch 'nd/wildmatch'Libravatar Junio C Hamano13-9/+564
Allows pathname patterns in .gitignore and .gitattributes files with double-asterisks "foo/**/bar" to match any number of directory hierarchies. * nd/wildmatch: wildmatch: replace variable 'special' with better named ones compat/fnmatch: respect NO_FNMATCH* even on glibc wildmatch: fix "**" special case t3070: Disable some failing fnmatch tests test-wildmatch: avoid Windows path mangling Support "**" wildcard in .gitignore and .gitattributes wildmatch: make /**/ match zero or more directories wildmatch: adjust "**" behavior wildmatch: fix case-insensitive matching wildmatch: remove static variable force_lower_case wildmatch: make wildmatch's return value compatible with fnmatch t3070: disable unreliable fnmatch tests Integrate wildmatch to git wildmatch: follow Git's coding convention wildmatch: remove unnecessary functions Import wildmatch from rsync ctype: support iscntrl, ispunct, isxdigit and isprint ctype: make sane_ctype[] const array Conflicts: Makefile