gitweb.git
Merge branch 'rs/fix-unlink-unix-socket'Junio C Hamano Wed, 23 Jul 2014 18:35:59 +0000 (11:35 -0700)

Merge branch 'rs/fix-unlink-unix-socket'

The unix-domain socket used by the sample credential cache daemon
tried to unlink an existing stale one at a wrong path, if the path
to the socket was given as an overlong path that does not fit in
sun_path member of the sockaddr_un structure.

* rs/fix-unlink-unix-socket:
unix-socket: remove stale socket before calling chdir()

Merge branch 'ta/string-list-init'Junio C Hamano Wed, 23 Jul 2014 18:35:54 +0000 (11:35 -0700)

Merge branch 'ta/string-list-init'

* ta/string-list-init:
replace memset with string-list initializers
string-list: add string_list initializer helper function

Merge branch 'mb/local-clone-after-applying-insteadof'Junio C Hamano Wed, 23 Jul 2014 18:35:49 +0000 (11:35 -0700)

Merge branch 'mb/local-clone-after-applying-insteadof'

Apply the "if cloning from a local disk, physically copy repository
using hardlinks, unless otherwise told not to with --no-local"
optimization when url.*.insteadOf mechanism rewrites a "git clone
$URL" that refers to a repository over the network to a clone from
a local disk.

* mb/local-clone-after-applying-insteadof:
use local cloning if insteadOf makes a local URL

Merge branch 'jk/tag-sort'Junio C Hamano Wed, 23 Jul 2014 18:35:45 +0000 (11:35 -0700)

Merge branch 'jk/tag-sort'

* jk/tag-sort:
tag: support configuring --sort via .gitconfig
tag: fix --sort tests to use cat<<-\EOF format

Sync with maintJunio C Hamano Tue, 22 Jul 2014 18:00:23 +0000 (11:00 -0700)

Sync with maint

* maint:
Documentation: fix missing text for rev-parse --verify

Merge branch 'rs/code-cleaning'Junio C Hamano Tue, 22 Jul 2014 17:59:36 +0000 (10:59 -0700)

Merge branch 'rs/code-cleaning'

* rs/code-cleaning:
remote-testsvn: use internal argv_array of struct child_process in cmd_import()
bundle: use internal argv_array of struct child_process in create_bundle()
fast-import: use hashcmp() for SHA1 hash comparison
transport: simplify fetch_objs_via_rsync() using argv_array
run-command: use internal argv_array of struct child_process in run_hook_ve()
use commit_list_count() to count the members of commit_lists
strbuf: use strbuf_addstr() for adding C strings

Merge branch 'nd/path-max-must-go'Junio C Hamano Tue, 22 Jul 2014 17:59:31 +0000 (10:59 -0700)

Merge branch 'nd/path-max-must-go'

* nd/path-max-must-go:
prep_exclude: remove the artificial PATH_MAX limit
dir.h: move struct exclude declaration to top level
dir.c: coding style fix

Merge branch 'jk/alloc-commit-id'Junio C Hamano Tue, 22 Jul 2014 17:59:24 +0000 (10:59 -0700)

Merge branch 'jk/alloc-commit-id'

Make sure all in-core commit objects are assigned a unique number
so that they can be annotated using the commit-slab API.

* jk/alloc-commit-id:
diff-tree: avoid lookup_unknown_object
object_as_type: set commit index
alloc: factor out commit index
add object_as_type helper for casting objects
parse_object_buffer: do not set object type
move setting of object->type to alloc_* functions
alloc: write out allocator definitions
alloc.c: remove the alloc_raw_commit_node() function

Merge branch 'kb/perf-trace'Junio C Hamano Tue, 22 Jul 2014 17:59:18 +0000 (10:59 -0700)

Merge branch 'kb/perf-trace'

* kb/perf-trace:
api-trace.txt: add trace API documentation
progress: simplify performance measurement by using getnanotime()
wt-status: simplify performance measurement by using getnanotime()
git: add performance tracing for git's main() function to debug scripts
trace: add trace_performance facility to debug performance issues
trace: add high resolution timer function to debug performance issues
trace: add 'file:line' to all trace output
trace: move code around, in preparation to file:line output
trace: add current timestamp to all trace output
trace: disable additional trace output for unit tests
trace: add infrastructure to augment trace output with additional info
sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
trace: improve trace performance
trace: remove redundant printf format attribute
trace: consistently name the format parameter
trace: move trace declarations from cache.h to new trace.h

Merge branch 'ah/fix-http-push' into maintJunio C Hamano Tue, 22 Jul 2014 17:29:07 +0000 (10:29 -0700)

Merge branch 'ah/fix-http-push' into maint

* ah/fix-http-push:
http-push.c: make CURLOPT_IOCTLDATA a usable pointer

Merge branch 'po/error-message-style' into maintJunio C Hamano Tue, 22 Jul 2014 17:28:59 +0000 (10:28 -0700)

Merge branch 'po/error-message-style' into maint

* po/error-message-style:
doc: give some guidelines for error messages

Merge branch 'zk/log-graph-showsig' into maintJunio C Hamano Tue, 22 Jul 2014 17:28:51 +0000 (10:28 -0700)

Merge branch 'zk/log-graph-showsig' into maint

* zk/log-graph-showsig:
log: fix indentation for --graph --show-signature

Merge branch 'mg/fix-log-mergetag-color' into maintJunio C Hamano Tue, 22 Jul 2014 17:28:43 +0000 (10:28 -0700)

Merge branch 'mg/fix-log-mergetag-color' into maint

* mg/fix-log-mergetag-color:
log: correctly identify mergetag signature verification status

Merge branch 'cb/filter-branch-prune-empty-degenerate... Junio C Hamano Tue, 22 Jul 2014 17:28:30 +0000 (10:28 -0700)

Merge branch 'cb/filter-branch-prune-empty-degenerate-merges' into maint

* cb/filter-branch-prune-empty-degenerate-merges:
filter-branch: eliminate duplicate mapped parents

Merge branch 'ye/doc-http-proto' into maintJunio C Hamano Tue, 22 Jul 2014 17:28:02 +0000 (10:28 -0700)

Merge branch 'ye/doc-http-proto' into maint

* ye/doc-http-proto:
http-protocol.txt: Basic Auth is defined in RFC 2617, not RFC 2616

Merge branch 'jm/api-strbuf-doc' into maintJunio C Hamano Tue, 22 Jul 2014 17:26:52 +0000 (10:26 -0700)

Merge branch 'jm/api-strbuf-doc' into maint

* jm/api-strbuf-doc:
api-strbuf.txt minor typos

Merge branch 'jm/dedup-test-config' into maintJunio C Hamano Tue, 22 Jul 2014 17:26:45 +0000 (10:26 -0700)

Merge branch 'jm/dedup-test-config' into maint

* jm/dedup-test-config:
t/t7810-grep.sh: remove duplicate test_config()

Merge branch 'sk/test-cmp-bin' into maintJunio C Hamano Tue, 22 Jul 2014 17:26:34 +0000 (10:26 -0700)

Merge branch 'sk/test-cmp-bin' into maint

* sk/test-cmp-bin:
t5000, t5003: do not use test_cmp to compare binary files

Merge branch 'jm/doc-wording-tweaks' into maintJunio C Hamano Tue, 22 Jul 2014 17:26:17 +0000 (10:26 -0700)

Merge branch 'jm/doc-wording-tweaks' into maint

* jm/doc-wording-tweaks:
Documentation: wording fixes in the user manual and glossary

Merge branch 'jm/instaweb-apache-24' into maintJunio C Hamano Tue, 22 Jul 2014 17:25:24 +0000 (10:25 -0700)

Merge branch 'jm/instaweb-apache-24' into maint

* jm/instaweb-apache-24:
git-instaweb: add support for Apache 2.4

Merge branch 'bg/xcalloc-nmemb-then-size' into maintJunio C Hamano Tue, 22 Jul 2014 17:25:17 +0000 (10:25 -0700)

Merge branch 'bg/xcalloc-nmemb-then-size' into maint

* bg/xcalloc-nmemb-then-size:
transport-helper.c: rearrange xcalloc arguments
remote.c: rearrange xcalloc arguments
reflog-walk.c: rearrange xcalloc arguments
pack-revindex.c: rearrange xcalloc arguments
notes.c: rearrange xcalloc arguments
imap-send.c: rearrange xcalloc arguments
http-push.c: rearrange xcalloc arguments
diff.c: rearrange xcalloc arguments
config.c: rearrange xcalloc arguments
commit.c: rearrange xcalloc arguments
builtin/remote.c: rearrange xcalloc arguments
builtin/ls-remote.c: rearrange xcalloc arguments

Merge branch 'cb/byte-order' into maintJunio C Hamano Tue, 22 Jul 2014 17:25:02 +0000 (10:25 -0700)

Merge branch 'cb/byte-order' into maint

* cb/byte-order:
compat/bswap.h: fix endianness detection
compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN
compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER

Merge branch 'lt/request-pull' into maintJunio C Hamano Tue, 22 Jul 2014 17:23:41 +0000 (10:23 -0700)

Merge branch 'lt/request-pull' into maint

* lt/request-pull:
fix brown paper bag breakage in t5150-request-pull.sh

Merge branch 'ep/shell-assign-and-export-vars' into... Junio C Hamano Tue, 22 Jul 2014 17:22:57 +0000 (10:22 -0700)

Merge branch 'ep/shell-assign-and-export-vars' into maint

* ep/shell-assign-and-export-vars:
scripts: more "export VAR=VALUE" fixes
scripts: "export VAR=VALUE" construct is not portable

Merge branch 'maint-1.9' into maintJunio C Hamano Tue, 22 Jul 2014 17:17:34 +0000 (10:17 -0700)

Merge branch 'maint-1.9' into maint

* maint-1.9:
Documentation: fix missing text for rev-parse --verify

Merge branch 'maint-1.8.5' into maint-1.9Junio C Hamano Tue, 22 Jul 2014 17:16:50 +0000 (10:16 -0700)

Merge branch 'maint-1.8.5' into maint-1.9

* maint-1.8.5:
Documentation: fix missing text for rev-parse --verify

Documentation: fix missing text for rev-parse --verifybrian m. carlson Mon, 21 Jul 2014 23:00:35 +0000 (23:00 +0000)

Documentation: fix missing text for rev-parse --verify

The caret (^) is used as a markup symbol in AsciiDoc. Due to the
inability of AsciiDoc to parse a line containing an unmatched caret, it
omitted the line from the output, resulting in the man page missing the
end of a sentence. Escape this caret so that the man page ends up with
the complete text.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 21 Jul 2014 19:35:39 +0000 (12:35 -0700)

Merge branch 'maint'

* maint:
use xmemdupz() to allocate copies of strings given by start and length
use xcalloc() to allocate zero-initialized memory

Ninth batch for 2.1Junio C Hamano Mon, 21 Jul 2014 19:13:03 +0000 (12:13 -0700)

Ninth batch for 2.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rs/unify-is-branch'Junio C Hamano Mon, 21 Jul 2014 18:18:57 +0000 (11:18 -0700)

Merge branch 'rs/unify-is-branch'

* rs/unify-is-branch:
refs.c: add a public is_branch function

Merge branch 'kb/avoid-fchmod-for-now'Junio C Hamano Mon, 21 Jul 2014 18:18:54 +0000 (11:18 -0700)

Merge branch 'kb/avoid-fchmod-for-now'

Replaces the only two uses of fchmod() with chmod() because the
former does not work on Windows port and because luckily we can.

* kb/avoid-fchmod-for-now:
config: use chmod() instead of fchmod()

Merge branch 'sk/mingw-uni-fix'Junio C Hamano Mon, 21 Jul 2014 18:18:50 +0000 (11:18 -0700)

Merge branch 'sk/mingw-uni-fix'

* sk/mingw-uni-fix:
Win32: Unicode file name support (dirent)
Win32: Unicode file name support (except dirent)

Merge branch 'ek/alt-odb-entry-fix'Junio C Hamano Mon, 21 Jul 2014 18:18:46 +0000 (11:18 -0700)

Merge branch 'ek/alt-odb-entry-fix'

* ek/alt-odb-entry-fix:
sha1_file: do not add own object directory as alternate

Merge branch 'kb/hashmap-updates'Junio C Hamano Mon, 21 Jul 2014 18:18:44 +0000 (11:18 -0700)

Merge branch 'kb/hashmap-updates'

* kb/hashmap-updates:
hashmap: add string interning API
hashmap: add simplified hashmap_get_from_hash() API
hashmap: improve struct hashmap member documentation
hashmap: factor out getting a hash code from a SHA1

Merge branch 'jk/remote-curl-squelch-extra-errors'Junio C Hamano Mon, 21 Jul 2014 18:18:40 +0000 (11:18 -0700)

Merge branch 'jk/remote-curl-squelch-extra-errors'

* jk/remote-curl-squelch-extra-errors:
remote-curl: mark helper-protocol errors more clearly
remote-curl: use error instead of fprintf(stderr)
remote-curl: do not complain on EOF from parent git

Merge branch 'rs/ref-transaction-0'Junio C Hamano Mon, 21 Jul 2014 18:18:37 +0000 (11:18 -0700)

Merge branch 'rs/ref-transaction-0'

Early part of the "ref transaction" topic.

* rs/ref-transaction-0:
refs.c: change ref_transaction_update() to do error checking and return status
refs.c: remove the onerr argument to ref_transaction_commit
update-ref: use err argument to get error from ref_transaction_commit
refs.c: make update_ref_write update a strbuf on failure
refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
refs.c: log_ref_write should try to return meaningful errno
refs.c: make resolve_ref_unsafe set errno to something meaningful on error
refs.c: commit_packed_refs to return a meaningful errno on failure
refs.c: make remove_empty_directories always set errno to something sane
refs.c: verify_lock should set errno to something meaningful
refs.c: make sure log_ref_setup returns a meaningful errno
refs.c: add an err argument to repack_without_refs
lockfile.c: make lock_file return a meaningful errno on failurei
lockfile.c: add a new public function unable_to_lock_message
refs.c: add a strbuf argument to ref_transaction_commit for error logging
refs.c: allow passing NULL to ref_transaction_free
refs.c: constify the sha arguments for ref_transaction_create|delete|update
refs.c: ref_transaction_commit should not free the transaction
refs.c: remove ref_transaction_rollback

Merge branch 'jl/submodule-tests'Junio C Hamano Mon, 21 Jul 2014 18:18:30 +0000 (11:18 -0700)

Merge branch 'jl/submodule-tests'

* jl/submodule-tests:
revert: add t3513 for submodule updates
stash: add t3906 for submodule updates
am: add t4255 for submodule updates
cherry-pick: add t3512 for submodule updates
pull: add t5572 for submodule updates
rebase: add t3426 for submodule updates
merge: add t7613 for submodule updates
bisect: add t6041 for submodule updates
reset: add t7112 for submodule updates
read-tree: add t1013 for submodule updates
apply: add t4137 for submodule updates
checkout: call the new submodule update test framework
submodules: add the lib-submodule-update.sh test library
test-lib: add test_dir_is_empty()

Merge branch 'ak/profile-feedback-build'Junio C Hamano Mon, 21 Jul 2014 18:17:47 +0000 (11:17 -0700)

Merge branch 'ak/profile-feedback-build'

* ak/profile-feedback-build:
Fix profile feedback with -jN and add profile-fast
Run the perf test suite for profile feedback too
Don't define away __attribute__ on gcc
Use BASIC_FLAGS for profile feedback

Merge branch 'cc/for-each-mergetag'Junio C Hamano Mon, 21 Jul 2014 18:17:45 +0000 (11:17 -0700)

Merge branch 'cc/for-each-mergetag'

* cc/for-each-mergetag:
commit: add for_each_mergetag()

Fix contrib/subtree Makefile to patch #! lineCharles Bailey Sat, 19 Jul 2014 16:08:57 +0000 (17:08 +0100)

Fix contrib/subtree Makefile to patch #! line

Signed-off-by: Charles Bailey <cbailey32@bloomberg.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

use xmemdupz() to allocate copies of strings given... René Scharfe Sat, 19 Jul 2014 15:35:34 +0000 (17:35 +0200)

use xmemdupz() to allocate copies of strings given by start and length

Use xmemdupz() to allocate the memory, copy the data and make sure to
NUL-terminate the result, all in one step. The resulting code is
shorter, doesn't contain the constants 1 and '\0', and avoids
duplicating function parameters.

For blame, the last copied byte (o->file.ptr[o->file.size]) is always
set to NUL by fake_working_tree_commit() or read_sha1_file(), so no
information is lost by the conversion to using xmemdupz().

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

use xcalloc() to allocate zero-initialized memoryRené Scharfe Sat, 19 Jul 2014 13:56:26 +0000 (15:56 +0200)

use xcalloc() to allocate zero-initialized memory

Use xcalloc() instead of xmalloc() followed by memset() to allocate
and zero out memory because it's shorter and avoids duplicating the
function parameters.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

replace memset with string-list initializersTanay Abhra Fri, 18 Jul 2014 09:19:00 +0000 (02:19 -0700)

replace memset with string-list initializers

Using memset and then manually setting values of the string-list
members is not future proof as the internal representation of
string-list may change any time.
Use `string_list_init()` or STRING_LIST_INIT_* macros instead of
memset.

Signed-off-by: Tanay Abhra <tanayabh@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

string-list: add string_list initializer helper functionTanay Abhra Fri, 18 Jul 2014 09:18:59 +0000 (02:18 -0700)

string-list: add string_list initializer helper function

The string-list API has STRING_LIST_INIT_* macros to be used
to define variables with initializers, but lacks functions
to initialize an uninitialized piece of memory to be used as
a string-list at the run-time.
Introduce `string_list_init()` function for that.

Signed-off-by: Tanay Abhra <tanayabh@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

unix-socket: remove stale socket before calling chdir()René Scharfe Sun, 20 Jul 2014 08:00:41 +0000 (10:00 +0200)

unix-socket: remove stale socket before calling chdir()

unix_stream_listen() is given a path. It calls unix_sockaddr_init(),
which in turn can call chdir(). After that a relative path doesn't
mean the same as before. Any use of the original path should thus
happen before that call. For that reason, unlink the given path
(to get rid of a possibly existing stale socket) right at the
beginning of the function.

Noticed-by: Karsten Blees <karsten.blees@gmail.com>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote-testsvn: use internal argv_array of struct child... René Scharfe Fri, 18 Jul 2014 15:20:19 +0000 (17:20 +0200)

remote-testsvn: use internal argv_array of struct child_process in cmd_import()

Use the existing argv_array member instead of providing our own. This
way we don't have to initialize or clean it up explicitly.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bundle: use internal argv_array of struct child_process... René Scharfe Thu, 17 Jul 2014 23:27:41 +0000 (01:27 +0200)

bundle: use internal argv_array of struct child_process in create_bundle()

Use the existing argv_array member instead of providing our own. This
way the argv_array is cleared after use automatically for us; it was
leaking before.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fast-import: use hashcmp() for SHA1 hash comparisonRené Scharfe Fri, 18 Jul 2014 16:00:51 +0000 (18:00 +0200)

fast-import: use hashcmp() for SHA1 hash comparison

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

transport: simplify fetch_objs_via_rsync() using argv_arrayRené Scharfe Fri, 18 Jul 2014 15:12:34 +0000 (17:12 +0200)

transport: simplify fetch_objs_via_rsync() using argv_array

Use the existing argv_array member instead of building the arguments
list using a string array and a strbuf. This way we don't need magic
number constants and allocations are cleaned up for us automatically
by run_command().

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

run-command: use internal argv_array of struct child_pr... René Scharfe Wed, 16 Jul 2014 21:57:47 +0000 (23:57 +0200)

run-command: use internal argv_array of struct child_process in run_hook_ve()

Use the existing argv_array member instead of providing our own. This
way we don't have to initialize or clean it up explicitly.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

use commit_list_count() to count the members of commit_... René Scharfe Wed, 16 Jul 2014 23:52:09 +0000 (01:52 +0200)

use commit_list_count() to count the members of commit_lists

Call commit_list_count() instead of open-coding it repeatedly.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

strbuf: use strbuf_addstr() for adding C stringsRené Scharfe Wed, 16 Jul 2014 23:38:18 +0000 (01:38 +0200)

strbuf: use strbuf_addstr() for adding C strings

Avoid code duplication and let strbuf_addstr() call strlen() for us.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

use local cloning if insteadOf makes a local URLMichael Barabanov Thu, 17 Jul 2014 07:09:32 +0000 (00:09 -0700)

use local cloning if insteadOf makes a local URL

Move the is_local logic to the place where origin remote has been setup and
check if the remote url can be used to do local cloning.

This saves a lot of space (and time) in some of the mirroring scenarios that
involve insteadOf rewrites.

Signed-off-by: Michael Barabanov <michael.barabanov@windriver.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

.mailmap: map different names with the same email addre... Stefan Beller Thu, 10 Jul 2014 12:48:26 +0000 (14:48 +0200)

.mailmap: map different names with the same email address together

Pretty much one year ago (94b410bba864, Jul 12 2013, .mailmap: Map
email addresses to names) I cleaned up the output of `git shortlog
-sne` of git.git by writing a .mailmap file fot the git.git project.

During the year Jens, Kazuki and Trần contributed to git.git using
different names, but the same email address; unify them.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tag: support configuring --sort via .gitconfigJacob Keller Wed, 16 Jul 2014 21:48:02 +0000 (14:48 -0700)

tag: support configuring --sort via .gitconfig

Add support for configuring default sort ordering for git tags. Command
line option will override this configured value, using the exact same
syntax.

Cc: Jeff King <peff@peff.net>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

refs.c: add a public is_branch functionRonnie Sahlberg Tue, 15 Jul 2014 23:02:38 +0000 (16:02 -0700)

refs.c: add a public is_branch function

Both refs.c and fsck.c have their own private copies of the is_branch function.
Delete the is_branch function from fsck.c and make the version in refs.c
public.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

config: use chmod() instead of fchmod()Karsten Blees Tue, 15 Jul 2014 22:54:30 +0000 (00:54 +0200)

config: use chmod() instead of fchmod()

There is no fchmod() on native Windows platforms (MinGW and MSVC), and the
equivalent Win32 API (SetFileInformationByHandle) requires Windows Vista.

Use chmod() instead.

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 2.0.2Junio C Hamano Wed, 16 Jul 2014 18:48:16 +0000 (11:48 -0700)

Sync with 2.0.2

* maint:
Git 2.0.2
annotate: use argv_array

Eighth batch for 2.1Junio C Hamano Wed, 16 Jul 2014 18:47:32 +0000 (11:47 -0700)

Eighth batch for 2.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ah/fix-http-push'Junio C Hamano Wed, 16 Jul 2014 18:33:11 +0000 (11:33 -0700)

Merge branch 'ah/fix-http-push'

An ancient rewrite passed a wrong pointer to a curl library
function in a rarely used code path.

* ah/fix-http-push:
http-push.c: make CURLOPT_IOCTLDATA a usable pointer

Merge branch 'rs/code-cleaning'Junio C Hamano Wed, 16 Jul 2014 18:33:09 +0000 (11:33 -0700)

Merge branch 'rs/code-cleaning'

* rs/code-cleaning:
fsck: simplify fsck_commit_buffer() by using commit_list_count()
commit: use commit_list_append() instead of duplicating its code
merge: simplify merge_trivial() by using commit_list_append()
use strbuf_addch for adding single characters
use strbuf_addbuf for adding strbufs

Merge branch 'jk/skip-prefix'Junio C Hamano Wed, 16 Jul 2014 18:33:06 +0000 (11:33 -0700)

Merge branch 'jk/skip-prefix'

One more to an already graduated topic.

* jk/skip-prefix:
tag: use skip_prefix instead of magic numbers

Merge branch 'po/error-message-style'Junio C Hamano Wed, 16 Jul 2014 18:33:03 +0000 (11:33 -0700)

Merge branch 'po/error-message-style'

* po/error-message-style:
doc: give some guidelines for error messages

Merge branch 'jl/test-lint-scripts'Junio C Hamano Wed, 16 Jul 2014 18:33:01 +0000 (11:33 -0700)

Merge branch 'jl/test-lint-scripts'

* jl/test-lint-scripts:
t/Makefile: always test all lint targets when running tests
t/Makefile: check helper scripts for non-portable shell commands too

Merge branch 'zk/log-graph-showsig'Junio C Hamano Wed, 16 Jul 2014 18:32:57 +0000 (11:32 -0700)

Merge branch 'zk/log-graph-showsig'

The "--show-signature" option did not pay much attention to
"--graph".

* zk/log-graph-showsig:
log: fix indentation for --graph --show-signature

Merge branch 'mg/fix-log-mergetag-color'Junio C Hamano Wed, 16 Jul 2014 18:32:36 +0000 (11:32 -0700)

Merge branch 'mg/fix-log-mergetag-color'

* mg/fix-log-mergetag-color:
log: correctly identify mergetag signature verification status

Merge branch 'kb/path-max-must-go'Junio C Hamano Wed, 16 Jul 2014 18:32:33 +0000 (11:32 -0700)

Merge branch 'kb/path-max-must-go'

* kb/path-max-must-go:
cache.h: rename cache_def_free to cache_def_clear

Merge branch 'cb/filter-branch-prune-empty-degenerate... Junio C Hamano Wed, 16 Jul 2014 18:29:06 +0000 (11:29 -0700)

Merge branch 'cb/filter-branch-prune-empty-degenerate-merges'

"filter-branch" left an empty single-parent commit that results when
all parents of a merge commit gets mapped to the same commit, even
under "--prune-empty".

* cb/filter-branch-prune-empty-degenerate-merges:
filter-branch: eliminate duplicate mapped parents

Merge branch 'mk/merge-incomplete-files'Junio C Hamano Wed, 16 Jul 2014 18:26:04 +0000 (11:26 -0700)

Merge branch 'mk/merge-incomplete-files'

Merging changes into a file that ends in an incomplete line made the
last line into a complete one, even when the other branch did not
change anything around the end of file.

* mk/merge-incomplete-files:
git-merge-file: do not add LF at EOF while applying unrelated change
t6023-merge-file.sh: fix and mark as broken invalid tests

Merge branch 'jk/strip-suffix'Junio C Hamano Wed, 16 Jul 2014 18:25:59 +0000 (11:25 -0700)

Merge branch 'jk/strip-suffix'

* jk/strip-suffix:
prepare_packed_git_one: refactor duplicate-pack check
verify-pack: use strbuf_strip_suffix
strbuf: implement strbuf_strip_suffix
index-pack: use strip_suffix to avoid magic numbers
use strip_suffix instead of ends_with in simple cases
replace has_extension with ends_with
implement ends_with via strip_suffix
add strip_suffix function
sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one()

Merge branch 'ep/submodule-code-cleanup'Junio C Hamano Wed, 16 Jul 2014 18:25:57 +0000 (11:25 -0700)

Merge branch 'ep/submodule-code-cleanup'

* ep/submodule-code-cleanup:
submodule.c: use the ARRAY_SIZE macro

Merge branch 'jk/replace-edit-raw'Junio C Hamano Wed, 16 Jul 2014 18:25:55 +0000 (11:25 -0700)

Merge branch 'jk/replace-edit-raw'

Teach "git replace --edit" mode a "--raw" option to allow
editing the bare-metal representation data of objects.

* jk/replace-edit-raw:
replace: add a --raw mode for --edit

Merge branch 'cc/replace-edit'Junio C Hamano Wed, 16 Jul 2014 18:25:47 +0000 (11:25 -0700)

Merge branch 'cc/replace-edit'

Teach "git replace" an "--edit" mode.

* cc/replace-edit:
replace: use argv_array in export_object
avoid double close of descriptors handed to run_command
replace: replace spaces with tabs in indentation

Merge branch 'tb/crlf-tests'Junio C Hamano Wed, 16 Jul 2014 18:25:45 +0000 (11:25 -0700)

Merge branch 'tb/crlf-tests'

* tb/crlf-tests:
t0027: combinations of core.autocrlf, core.eol and text
t0025: rename the test files

Merge branch 'nd/split-index'Junio C Hamano Wed, 16 Jul 2014 18:25:40 +0000 (11:25 -0700)

Merge branch 'nd/split-index'

An experiment to use two files (the base file and incremental
changes relative to it) to represent the index to reduce I/O cost
of rewriting a large index when only small part of the working tree
changes.

* nd/split-index: (32 commits)
t1700: new tests for split-index mode
t2104: make sure split index mode is off for the version test
read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
read-tree: note about dropping split-index mode or index version
read-tree: force split-index mode off on --index-output
rev-parse: add --shared-index-path to get shared index path
update-index --split-index: do not split if $GIT_DIR is read only
update-index: new options to enable/disable split index mode
split-index: strip pathname of on-disk replaced entries
split-index: do not invalidate cache-tree at read time
split-index: the reading part
split-index: the writing part
read-cache: mark updated entries for split index
read-cache: save deleted entries in split index
read-cache: mark new entries for split index
read-cache: split-index mode
read-cache: save index SHA-1 after reading
entry.c: update cache_changed if refresh_cache is set in checkout_entry()
cache-tree: mark istate->cache_changed on prime_cache_tree()
cache-tree: mark istate->cache_changed on cache tree update
...

Git 2.0.2 v2.0.2Junio C Hamano Wed, 16 Jul 2014 18:19:56 +0000 (11:19 -0700)

Git 2.0.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/fix-clone-single-starting-at-a-tag... Junio C Hamano Wed, 16 Jul 2014 18:17:36 +0000 (11:17 -0700)

Merge branch 'jc/fix-clone-single-starting-at-a-tag' into maint

"git clone -b brefs/tags/bar" would have mistakenly thought we were
following a single tag, even though it was a name of the branch,
because it incorrectly used strstr().

* jc/fix-clone-single-starting-at-a-tag:
builtin/clone.c: detect a clone starting at a tag correctly

Merge branch 'jk/pretty-G-format-fixes' into maintJunio C Hamano Wed, 16 Jul 2014 18:17:21 +0000 (11:17 -0700)

Merge branch 'jk/pretty-G-format-fixes' into maint

"%G" (nothing after G) is an invalid pretty format specifier, but
the parser did not notice it as garbage.

* jk/pretty-G-format-fixes:
move "%G" format test from t7510 to t6006
pretty: avoid reading past end-of-string with "%G"
t7510: check %G* pretty-format output
t7510: test a commit signed by an unknown key
t7510: use consistent &&-chains in loop
t7510: stop referring to master in later tests

Merge branch 'rs/fix-alt-odb-path-comparison' into... Junio C Hamano Wed, 16 Jul 2014 18:17:08 +0000 (11:17 -0700)

Merge branch 'rs/fix-alt-odb-path-comparison' into maint

Code to avoid adding the same alternate object store twice was
subtly broken for a long time, but nobody seems to have noticed.

* rs/fix-alt-odb-path-comparison:
sha1_file: avoid overrunning alternate object base string

Merge branch 'jk/commit-buffer-length' into maintJunio C Hamano Wed, 16 Jul 2014 18:16:38 +0000 (11:16 -0700)

Merge branch 'jk/commit-buffer-length' into maint

A handful of code paths had to read the commit object more than
once when showing header fields that are usually not parsed. The
internal data structure to keep track of the contents of the commit
object has been updated to reduce the need for this double-reading,
and to allow the caller find the length of the object.

* jk/commit-buffer-length:
reuse cached commit buffer when parsing signatures
commit: record buffer length in cache
commit: convert commit->buffer to a slab
commit-slab: provide a static initializer
use get_commit_buffer everywhere
convert logmsg_reencode to get_commit_buffer
use get_commit_buffer to avoid duplicate code
use get_cached_commit_buffer where appropriate
provide helpers to access the commit buffer
provide a helper to set the commit buffer
provide a helper to free commit buffer
sequencer: use logmsg_reencode in get_message
logmsg_reencode: return const buffer
do not create "struct commit" with xcalloc
commit: push commit_index update into alloc_commit_node
alloc: include any-object allocations in alloc_report
replace dangerous uses of strbuf_attach
commit_tree: take a pointer/len pair rather than a const strbuf

Merge branch 'bc/fix-rebase-merge-skip' into maintJunio C Hamano Wed, 16 Jul 2014 18:16:16 +0000 (11:16 -0700)

Merge branch 'bc/fix-rebase-merge-skip' into maint

During "git rebase --merge", a conflicted patch could not be
skipped with "--skip" if the next one also conflicted.

* bc/fix-rebase-merge-skip:
rebase--merge: fix --skip with two conflicts in a row

Merge branch 'maint-1.9' into maintJunio C Hamano Wed, 16 Jul 2014 18:11:06 +0000 (11:11 -0700)

Merge branch 'maint-1.9' into maint

* maint-1.9:
annotate: use argv_array

Merge branch 'maint-1.8.5' into maint-1.9Junio C Hamano Wed, 16 Jul 2014 18:10:30 +0000 (11:10 -0700)

Merge branch 'maint-1.8.5' into maint-1.9

* maint-1.8.5:
annotate: use argv_array
t7300: repair filesystem permissions with test_when_finished
enums: remove trailing ',' after last item in enum

annotate: use argv_arrayRené Scharfe Wed, 16 Jul 2014 08:51:33 +0000 (10:51 +0200)

annotate: use argv_array

Simplify the code and get rid of some magic constants by using
argv_array to build the argument list for cmd_blame. Be lazy and let
the OS release our allocated memory, as before.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

MinGW: fix compile error due to missing ELOOPKarsten Blees Tue, 15 Jul 2014 22:53:27 +0000 (00:53 +0200)

MinGW: fix compile error due to missing ELOOP

MinGW and MSVC before 2010 don't define ELOOP, use EMLINK (aka "Too many
links") instead.

Signed-off-by: Karsten Blees <blees@dcon.de>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_file: do not add own object directory as alternateEphrim Khong Tue, 15 Jul 2014 11:29:45 +0000 (13:29 +0200)

sha1_file: do not add own object directory as alternate

When adding alternate object directories, we try not to add the
directory of the current repository to avoid cycles. Unfortunately,
that test was broken, since it compared an absolute with a relative
path.

Signed-off-by: Ephrim Khong <dr.khong@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Win32: Unicode file name support (dirent)Karsten Blees Sat, 14 Jan 2012 21:01:09 +0000 (22:01 +0100)

Win32: Unicode file name support (dirent)

Changes opendir/readdir to use Windows Unicode APIs and convert between
UTF-8/UTF-16.

Removes parameter checks that are already covered by xutftowcs_path. This
changes detection of ENAMETOOLONG from MAX_PATH - 2 to MAX_PATH (matching
is_dir_empty in mingw.c). If name + "/*" or the resulting absolute path is
too long, FindFirstFile fails and errno is set through err_win_to_posix.

Increases the size of dirent.d_name to accommodate the full
WIN32_FIND_DATA.cFileName converted to UTF-8 (UTF-16 to UTF-8 conversion
may grow by factor three in the worst case).

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Win32: Unicode file name support (except dirent)Karsten Blees Thu, 15 Mar 2012 17:21:28 +0000 (18:21 +0100)

Win32: Unicode file name support (except dirent)

Replaces Windows "ANSI" APIs dealing with file- or path names with their
Unicode equivalent, adding UTF-8/UTF-16LE conversion as necessary.

The dirent API (opendir/readdir/closedir) is updated in a separate commit.

Adds trivial wrappers for access, chmod and chdir.

Adds wrapper for mktemp (needed for both mkstemp and mkdtemp).

The simplest way to convert a repository with legacy-encoded (e.g. Cp1252)
file names to UTF-8 ist to checkout with an old msysgit version and
"git add --all & git commit" with the new version.

Includes a fix for bug reported by John Chen:
On Windows XP (not Win7), directories cannot be deleted while a find handle
is open, causing "Deletion of directory '...' failed. Should I try again?"
prompts.

Prior to this commit, these failures were silently ignored due to
strbuf_free in is_dir_empty resetting GetLastError to ERROR_SUCCESS.

Close the find handle in is_dir_empty so that git doesn't block deletion
of the directory even after all other applications have released it.

Reported-by: John Chen <john0312@gmail.com>
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

.gitignore: "git-verify-commit" is a generated fileØyvind A. Holm Tue, 15 Jul 2014 13:40:24 +0000 (15:40 +0200)

.gitignore: "git-verify-commit" is a generated file

builtin/verify-commit.c was added in commit d07b00b ("verify-commit:
scriptable commit signature verification", 2014-06-23), update
.gitignore to ignore the generated file.

Signed-off-by: Øyvind A. Holm <sunny@sunbase.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

prep_exclude: remove the artificial PATH_MAX limitNguyễn Thái Ngọc Duy Mon, 14 Jul 2014 09:50:22 +0000 (11:50 +0200)

prep_exclude: remove the artificial PATH_MAX limit

This fixes a segfault in git-status with long paths on Windows,
where PATH_MAX is only 260.

This also fixes the problem of silently ignoring .gitignore if the
full path exceeds PATH_MAX. Now add_excludes_from_file() will report
if it gets ENAMETOOLONG.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

dir.h: move struct exclude declaration to top levelNguyễn Thái Ngọc Duy Mon, 14 Jul 2014 09:48:03 +0000 (11:48 +0200)

dir.h: move struct exclude declaration to top level

There is no actual nested struct here. Move it out for clarity.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

dir.c: coding style fixNguyễn Thái Ngọc Duy Mon, 14 Jul 2014 09:47:11 +0000 (11:47 +0200)

dir.c: coding style fix

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

revert: add t3513 for submodule updatesJens Lehmann Thu, 19 Jun 2014 20:12:56 +0000 (22:12 +0200)

revert: add t3513 for submodule updates

Test that the revert command updates the work tree as expected (for
submodule changes which don't result in conflicts). Add a helper function
to first revert the checked out target commit to make the last revert
produce the to-be-tested work tree.

Set the KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT and
KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR switches to
document that revert has the similar failures.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

stash: add t3906 for submodule updatesJens Lehmann Thu, 19 Jun 2014 20:12:54 +0000 (22:12 +0200)

stash: add t3906 for submodule updates

Test that the stash apply command updates the work tree as expected for
changes which don't result in conflicts. To make that work add a helper
function that uses read-tree to apply the changes of the target commit
to the work tree, then stashes these changes and at last applies that
stash.

Implement the KNOWN_FAILURE_STASH_DOES_IGNORE_SUBMODULE_CHANGES switch
and reuse two other already present switches to expect the known
failure that stash does ignore submodule changes.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

am: add t4255 for submodule updatesJens Lehmann Sun, 15 Jun 2014 17:03:53 +0000 (19:03 +0200)

am: add t4255 for submodule updates

Test that the am command updates the work tree as expected (for submodule
changes which don't result in conflicts). To make that work add two
helper functions that use format-patch to create the input for am.

Add the KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES
switch to expect the known failure that --no-ff merges attempt to merge
the new files in the former submodule directory with those of the removed
submodule.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

cherry-pick: add t3512 for submodule updatesJens Lehmann Sun, 15 Jun 2014 17:03:18 +0000 (19:03 +0200)

cherry-pick: add t3512 for submodule updates

Test that the cherry-pick command updates the work tree as expected (for
submodule changes which don't result in conflicts).

Set KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES
and KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to
document that cherry-pick has the same --no-ff known failures merge has.

Implement the KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT switch to expect
the known failure that while cherry picking just a SHA-1 update for an
ignored submodule the commit incorrectly fails with "The previous
cherry-pick is now empty, possibly due to conflict resolution.".

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pull: add t5572 for submodule updatesJens Lehmann Sun, 15 Jun 2014 17:02:47 +0000 (19:02 +0200)

pull: add t5572 for submodule updates

Test that the pull command updates the work tree as expected (for
submodule changes which don't result in conflicts) when used without
arguments or with the '--ff', '--ff-only' and '--no-ff' flag each. Add
helper functions to reset the branch to be updated to to the current
HEAD so that pull is doing the transition from HEAD to the given branch.

Set KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES
and KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to
document that pull has the same --no-ff known failures merge has.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase: add t3426 for submodule updatesJens Lehmann Thu, 19 Jun 2014 20:12:51 +0000 (22:12 +0200)

rebase: add t3426 for submodule updates

Test that the rebase command updates the work tree as expected for
changes which don't result in conflicts. To make that work add two
helper functions that add a commit only touching files and then
revert it. This allows to rebase the target commit over these two
and to compare the result.

Set KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to
document that "replace directory with submodule" fails for an
interactive rebase because a directory "sub1" already exists.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge: add t7613 for submodule updatesJens Lehmann Sun, 15 Jun 2014 17:01:41 +0000 (19:01 +0200)

merge: add t7613 for submodule updates

Test that the merge command updates the work tree as expected (for
submodule changes which don't result in conflicts) when used without
arguments or with the '--ff', '--ff-only' and '--no-ff' flag.

Implement the KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR
switch to expect the known failure that --no-ff merges do not create the
empty submodule directory.

The KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES
switch is also implemented to expect the known failure that --no-ff
merges attempt to merge the new files in the former submodule directory
with those of the removed submodule.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bisect: add t6041 for submodule updatesJens Lehmann Thu, 19 Jun 2014 20:12:48 +0000 (22:12 +0200)

bisect: add t6041 for submodule updates

Test that the bisect command updates the work tree as expected. To make
that work with the new submodule test framework a git_bisect helper
function is added. This adds a commit after the one given to be switched
to and makes that one the bad commit. The starting point is then given to
bisect as the good commit which makes bisect change the work tree to the
commit in between, which is the commit given.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>