OSDN Git Service
Nguyễn Thái Ngọc Duy [Sun, 13 Nov 2011 10:22:14 +0000 (17:22 +0700)]
Convert many resolve_ref() calls to read_ref*() and ref_exists()
resolve_ref() may return a pointer to a static buffer, which is not
safe for long-term use because if another resolve_ref() call happens,
the buffer may be changed. Many call sites though do not care about
this buffer. They simply check if the return value is NULL or not.
Convert all these call sites to new wrappers to reduce resolve_ref()
calls from 57 to 34. If we change resolve_ref() prototype later on
to avoid passing static buffer out, this helps reduce changes.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 13 Nov 2011 06:14:53 +0000 (22:14 -0800)]
Git 1.7.8-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 12 Nov 2011 05:34:06 +0000 (21:34 -0800)]
Merge branch 'ly/mktree-using-strbuf'
* ly/mktree-using-strbuf:
mktree: fix a memory leak in write_tree()
Junio C Hamano [Thu, 10 Nov 2011 17:10:51 +0000 (09:10 -0800)]
Merge "Move 'builtin-*' into a 'builtin/' subdirectory"
Junio C Hamano [Thu, 10 Nov 2011 17:05:31 +0000 (09:05 -0800)]
Merge 'build-in git-mktree'
* commit '
633e3556ccbc': (5835 commits)
build-in git-mktree
allow -t abbreviation for --track in git branch
gitweb: Remove function prototypes (cleanup)
Documentation: cloning to empty directory is allowed
Clarify kind of conflict in merge-one-file helper
git config: clarify --add and --get-color
archive-tar.c: squelch a type mismatch warning
Start 1.6.4 development
Start 1.6.3.1 maintenance series.
GIT 1.6.3
t4029: use sh instead of bash
t4200: convert sed expression which operates on non-text file to perl
t4200: remove two unnecessary lines
t/annotate-tests.sh: avoid passing a non-newline terminated file to sed
t4118: avoid sed invocation on file without terminating newline
t4118: add missing '&&'
t8005: use egrep when extended regular expressions are required
git-clean doc: the command only affects paths under $(cwd)
improve error message in config.c
t4018-diff-funcname: add cpp xfuncname pattern to syntax test
...
Liu Yuan [Thu, 10 Nov 2011 08:39:22 +0000 (16:39 +0800)]
mktree: fix a memory leak in write_tree()
We forget to call strbuf_release to release the buf memory.
Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 9 Nov 2011 13:46:39 +0000 (05:46 -0800)]
Merge branch 'sn/complete-bash-wo-process-subst'
* sn/complete-bash-wo-process-subst:
completion: don't leak variable from the prompt into environment
SZEDER Gábor [Wed, 9 Nov 2011 10:02:50 +0000 (11:02 +0100)]
completion: don't leak variable from the prompt into environment
Commit
e5b8eebc (completion: fix issue with process substitution not
working on Git for Windows, 2011-10-26) introduced a new variable in
__git_ps1_show_upstream(), but didn't declare it as local to prevent it
from leaking into the environment.
We may want to rewrite it like the following, but that can wait until the
next cycle.
while read key value
do
...
done <<-EOF
$(git config -z --get-regexp ...)
EOF
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 9 Nov 2011 00:42:33 +0000 (16:42 -0800)]
Update draft release notes to 1.7.8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 9 Nov 2011 00:40:31 +0000 (16:40 -0800)]
Merge branch 'jc/remote-setbranches-usage-fix'
* jc/remote-setbranches-usage-fix:
remote: fix set-branches usage
Junio C Hamano [Wed, 9 Nov 2011 00:40:27 +0000 (16:40 -0800)]
Merge branch 'fc/remote-seturl-usage-fix'
* fc/remote-seturl-usage-fix:
remote: fix remote set-url usage
Junio C Hamano [Wed, 9 Nov 2011 00:38:14 +0000 (16:38 -0800)]
Sync with 1.7.7.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 9 Nov 2011 00:37:00 +0000 (16:37 -0800)]
Git 1.7.7.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 9 Nov 2011 00:35:53 +0000 (16:35 -0800)]
Merge branch 'jc/maint-remove-renamed-ref' into maint
* jc/maint-remove-renamed-ref:
branch -m/-M: remove undocumented RENAMED-REF
Conflicts:
refs.c
Junio C Hamano [Wed, 9 Nov 2011 00:26:50 +0000 (16:26 -0800)]
Merge branch 'jm/maint-gitweb-filter-forks-fix' into maint
* jm/maint-gitweb-filter-forks-fix:
gitweb: fix regression when filtering out forks
Junio C Hamano [Wed, 9 Nov 2011 00:26:45 +0000 (16:26 -0800)]
Merge branch 'dm/pack-objects-update' into maint
* dm/pack-objects-update:
pack-objects: don't traverse objects unnecessarily
pack-objects: rewrite add_descendants_to_write_order() iteratively
pack-objects: use unsigned int for counter and offset values
pack-objects: mark add_to_write_order() as inline
Junio C Hamano [Tue, 8 Nov 2011 18:17:40 +0000 (10:17 -0800)]
docs: Update install-doc-quick
The preformatted documentation pages live in their own repositories
these days. Adjust the installation procedure to the updated layout.
Tested-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Tue, 8 Nov 2011 21:29:30 +0000 (16:29 -0500)]
docs: don't mention --quiet or --exit-code in git-log(1)
These are diff-options, but they don't actually make sense
in the context of log.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 8 Nov 2011 00:48:34 +0000 (16:48 -0800)]
Git 1.7.8-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 8 Nov 2011 00:43:19 +0000 (16:43 -0800)]
Merge branch 'ss/blame-textconv-fake-working-tree'
* ss/blame-textconv-fake-working-tree:
blame.c: Properly initialize strbuf after calling textconv_object(), again
Sebastian Schuberth [Mon, 7 Nov 2011 17:33:34 +0000 (18:33 +0100)]
blame.c: Properly initialize strbuf after calling textconv_object(), again
2564aa4 started to initialize buf.alloc, but that should actually be one
more byte than the string length due to the trailing \0. Also, do not
modify buf.alloc out of the strbuf code. Use the existing strbuf_attach
instead.
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 7 Nov 2011 05:22:22 +0000 (21:22 -0800)]
Merge branch 'ab/i18n-test-fix'
* ab/i18n-test-fix:
t/t7508-status.sh: use test_i18ncmp
t/t6030-bisect-porcelain.sh: use test_i18ngrep
Junio C Hamano [Mon, 7 Nov 2011 05:22:19 +0000 (21:22 -0800)]
Merge branch 'sn/http-auth-with-netrc-fix'
* sn/http-auth-with-netrc-fix:
http: don't always prompt for password
Junio C Hamano [Mon, 7 Nov 2011 05:21:57 +0000 (21:21 -0800)]
Merge branch 'pw/p4-appledouble-fix'
* pw/p4-appledouble-fix:
git-p4: ignore apple filetype
Felipe Contreras [Mon, 7 Nov 2011 03:36:57 +0000 (05:36 +0200)]
remote: fix remote set-url usage
Bad copy-paste.
Otherwise the help text for "git remote set-url --help" would show help
for "git remote update" subcommand.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 7 Nov 2011 05:12:59 +0000 (21:12 -0800)]
remote: fix set-branches usage
Bad copy-paste.
Otherwise "git remote set-branches" without necessary argument
will result in an error message and help for set-url subcommand.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pete Wyckoff [Sat, 5 Nov 2011 17:36:07 +0000 (13:36 -0400)]
git-p4: ignore apple filetype
Revert
97a21ca (git-p4: stop ignoring apple filetype, 2011-10-16)
and add a test case.
Reported-by: Michael Wookey <michaelwookey@gmail.com>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Sat, 5 Nov 2011 17:28:43 +0000 (17:28 +0000)]
t/t7508-status.sh: use test_i18ncmp
Change a i18n-specific comparison in t/t7508-status.sh to use
test_i18ncmp instead. This was introduced in v1.7.6.3~11^2 and has
been broken under GETTEXT_POISON=YesPlease since.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Sat, 5 Nov 2011 17:28:42 +0000 (17:28 +0000)]
t/t6030-bisect-porcelain.sh: use test_i18ngrep
Change a i18n-specific grep in t/t6030-bisect-porcelain.sh to use
test_i18ngrep instead. This was introduced in v1.7.7.2~5^2~11 and has
been broken under GETTEXT_POISON=YesPlease since.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefan Naewe [Fri, 4 Nov 2011 07:03:08 +0000 (08:03 +0100)]
http: don't always prompt for password
When a username is already specified at the beginning of any HTTP
transaction (e.g. "git push https://user@hosting.example.com/project.git"
or "git ls-remote https://user@hosting.example.com/project.git"), the code
interactively asks for a password before calling into the libcurl library.
It is very likely that the reason why user included the username in the
URL is because the user knows that it would require authentication to
access the resource. Asking for the password upfront would save one
roundtrip to get a 401 response, getting the password and then retrying
the request. This is a reasonable optimization.
HOWEVER.
This is done even when $HOME/.netrc might have a corresponding entry to
access the site, or the site does not require authentication to access the
resource after all. But neither condition can be determined until we call
into libcurl library (we do not read and parse $HOME/.netrc ourselves). In
these cases, the user is forced to respond to the password prompt, only to
give a password that is not used in the HTTP transaction. If the password
is in $HOME/.netrc, an empty input would later let the libcurl layer to
pick up the password from there, and if the resource does not require
authentication, any input would be taken and then discarded without
getting used. It is wasteful to ask this unused information to the end
user.
Reduce the confusion by not trying to optimize for this case and always
incur roundtrip penalty. An alternative might be to document this and keep
this round-trip optimization as-is.
Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 3 Nov 2011 19:15:08 +0000 (12:15 -0700)]
receive-pack: do not expect object 0{40} to exist
When pushing to delete a ref, it uses 0{40} as an object name to signal
that the request is a deletion. We shouldn't trigger "deletion of a
corrupt ref" warning in such a case, which was designed to notice that a
ref points at an object that is truly missing from the repository.
Reported-by: Stefan Näwe
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefan Naewe [Wed, 2 Nov 2011 15:07:05 +0000 (16:07 +0100)]
t3200: add test case for 'branch -m'
Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tay Ray Chuan [Wed, 2 Nov 2011 16:17:12 +0000 (00:17 +0800)]
branch -m: handle no arg properly
Modify the option parsing heuristic to handle all -m (rename) cases,
including the no-arg case.
Previously, this "fell through" to the (argc <= 2) case and caused
segfault.
Reported-by: Stefan Näwe <stefan.naewe@atlas-elektronik.com>
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 1 Nov 2011 23:37:33 +0000 (16:37 -0700)]
Update draft release notes to 1.7.8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 1 Nov 2011 23:20:42 +0000 (16:20 -0700)]
Sync with 1.7.7.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 1 Nov 2011 23:16:36 +0000 (16:16 -0700)]
Git 1.7.7.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 1 Nov 2011 23:41:41 +0000 (16:41 -0700)]
Merge branch 'rs/maint-estimate-cache-size' into maint
* rs/maint-estimate-cache-size:
t7511: avoid use of reserved filename on Windows.
Junio C Hamano [Tue, 1 Nov 2011 23:12:19 +0000 (16:12 -0700)]
Merge branch 'md/smtp-tls-hello-again' into maint
* md/smtp-tls-hello-again:
send-email: Honour SMTP domain when using TLS
Junio C Hamano [Tue, 1 Nov 2011 23:11:00 +0000 (16:11 -0700)]
Merge branch 'jk/pull-rebase-with-work-tree' into maint
* jk/pull-rebase-with-work-tree:
pull,rebase: handle GIT_WORK_TREE better
Conflicts:
git-pull.sh
Junio C Hamano [Tue, 1 Nov 2011 23:10:56 +0000 (16:10 -0700)]
Merge branch 'jc/maint-diffstat-numstat-context' into maint
* jc/maint-diffstat-numstat-context:
diff: teach --stat/--numstat to honor -U$num
Junio C Hamano [Tue, 1 Nov 2011 23:03:35 +0000 (16:03 -0700)]
Merge branch 'js/bisect-no-checkout' into maint
* js/bisect-no-checkout:
bisect: fix exiting when checkout failed in bisect_start()
Junio C Hamano [Tue, 1 Nov 2011 22:54:45 +0000 (15:54 -0700)]
Merge branch 'bc/attr-ignore-case' into maint
* bc/attr-ignore-case:
attr.c: respect core.ignorecase when matching attribute patterns
attr: read core.attributesfile from git_default_core_config
builtin/mv.c: plug miniscule memory leak
cleanup: use internal memory allocation wrapper functions everywhere
attr.c: avoid inappropriate access to strbuf "buf" member
Conflicts:
remote.c
Junio C Hamano [Tue, 1 Nov 2011 22:51:01 +0000 (15:51 -0700)]
Merge branch 'cn/fetch-prune' into maint
* cn/fetch-prune:
fetch: treat --tags like refs/tags/*:refs/tags/* when pruning
fetch: honor the user-provided refspecs when pruning refs
remote: separate out the remote_find_tracking logic into query_refspecs
t5510: add tests for fetch --prune
fetch: free all the additional refspecs
Junio C Hamano [Tue, 1 Nov 2011 22:45:16 +0000 (15:45 -0700)]
Merge branch 'sp/smart-http-failure' into maint
* sp/smart-http-failure:
remote-curl: Fix warning after HTTP failure
Junio C Hamano [Tue, 1 Nov 2011 22:42:25 +0000 (15:42 -0700)]
Merge jn/maint-http-error-message
* commit '
be22d92eac809ad2bfa2b7c83ad7cad5a15f1c43':
http: avoid empty error messages for some curl errors
http: remove extra newline in error message
Junio C Hamano [Tue, 1 Nov 2011 22:31:12 +0000 (15:31 -0700)]
Merge branch 'jk/name-hash-dirent'
* jk/name-hash-dirent:
name-hash.c: always initialize dir_next pointer
Johannes Sixt [Tue, 1 Nov 2011 22:21:06 +0000 (23:21 +0100)]
name-hash.c: always initialize dir_next pointer
Test t2021-checkout-overwrite.sh reveals a segfault in 'git add' on a
case-insensitive file system when git is compiled with XMALLOC_POISON
defined. The reason is that
2548183b (fix phantom untracked files when
core.ignorecase is set) added a new member dir_next to struct cache_entry,
but forgot to initialize it in all cases.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 1 Nov 2011 22:20:28 +0000 (15:20 -0700)]
Merge branch 'ss/blame-textconv-fake-working-tree'
* ss/blame-textconv-fake-working-tree:
(squash) test for previous
blame.c: Properly initialize strbuf after calling, textconv_object()
Conflicts:
t/t8006-blame-textconv.sh
Junio C Hamano [Tue, 1 Nov 2011 22:20:22 +0000 (15:20 -0700)]
Merge branch 'ef/mingw-upload-archive'
* ef/mingw-upload-archive:
mingw: poll.h is no longer in sys/
upload-archive: use start_command instead of fork
compat/win32/poll.c: upgrade from upstream
mingw: move poll out of sys-folder
Junio C Hamano [Tue, 1 Nov 2011 22:20:07 +0000 (15:20 -0700)]
Merge branch 'dm/pack-objects-update'
* dm/pack-objects-update:
pack-objects: don't traverse objects unnecessarily
pack-objects: rewrite add_descendants_to_write_order() iteratively
pack-objects: use unsigned int for counter and offset values
pack-objects: mark add_to_write_order() as inline
Junio C Hamano [Tue, 1 Nov 2011 22:20:03 +0000 (15:20 -0700)]
Merge branch 'nd/pretty-commit-log-message'
* nd/pretty-commit-log-message:
pretty.c: use original commit message if reencoding fails
pretty.c: free get_header() return value
Ted Percival [Mon, 31 Oct 2011 22:37:12 +0000 (16:37 -0600)]
svn: Quote repository root in regex match
Fixes a problem matching repository URLs, especially those with a '+' in
the URL, such as svn+ssh:// URLs. Parts of the URL were interpreted as
special characters by the regex matching.
Signed-off-by: Ted Percival <ted.percival@quest.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Erik Faye-Lund [Tue, 1 Nov 2011 11:56:21 +0000 (12:56 +0100)]
mingw: poll.h is no longer in sys/
Earlier we moved this header file in the code but forgot to
update the Makefile that refers to it.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Mon, 31 Oct 2011 14:07:27 +0000 (14:07 +0000)]
t7511: avoid use of reserved filename on Windows.
PRN is a special filename on Windows to send data to the printer. As
this is generated during test 3 substitute an alternate prefix to avoid this.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 31 Oct 2011 02:14:24 +0000 (19:14 -0700)]
Git 1.7.8-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 31 Oct 2011 02:13:13 +0000 (19:13 -0700)]
Merge branch 'jk/git-tricks'
* jk/git-tricks:
completion: match ctags symbol names in grep patterns
contrib: add git-jump script
contrib: add diff highlight script
Erik Faye-Lund [Mon, 24 Oct 2011 16:02:11 +0000 (18:02 +0200)]
upload-archive: use start_command instead of fork
The POSIX-function fork is not supported on Windows. Use our
start_command API instead.
As this is the last call-site that depends on the fork-stub in
compat/mingw.h, remove that as well.
Add an undocumented flag to git-archive that tells it that the
action originated from a remote, so features can be disabled.
Thanks to Jeff King for work on this part.
Remove the NOT_MINGW-prereq for t5000, as git-archive --remote
now works.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Mon, 24 Oct 2011 16:02:10 +0000 (18:02 +0200)]
compat/win32/poll.c: upgrade from upstream
poll.c is updated from revision
adc3a5b in
git://git.savannah.gnu.org/gnulib.git
The changes are applied with --whitespace=fix to reduce noise.
poll.h is not upgraded, because the most recent version now
contains template-stuff that breaks compilation for us.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Mon, 24 Oct 2011 16:02:09 +0000 (18:02 +0200)]
mingw: move poll out of sys-folder
Both XSI and upstream Gnulib versions expects to find poll.h at
the root of some include path, not inside the sys-folder.
This helps us when upgrading Gnulib.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 28 Oct 2011 16:36:55 +0000 (09:36 -0700)]
(squash) test for previous
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Schuberth [Fri, 28 Oct 2011 15:28:28 +0000 (17:28 +0200)]
blame.c: Properly initialize strbuf after calling, textconv_object()
For a plain string where only the length is known, strbuf.alloc needs to
be initialized to the length. Otherwise strbuf.alloc is 0 and a later
call to strbuf_setlen() will fail.
This bug surfaced when calling git blame under Windows on a *.doc file.
The *.doc file is converted to plain text by antiword via the textconv
mechanism. However, the plain text returned by antiword contains DOS line
endings instead of Unix line endings which triggered the strbuf_setlen()
which previous to this patch failed.
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 Oct 2011 19:06:44 +0000 (12:06 -0700)]
Update draft release notes to 1.7.8
Getting very close to -rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 Oct 2011 19:04:28 +0000 (12:04 -0700)]
Merge branch 'sn/complete-bash-wo-process-subst'
* sn/complete-bash-wo-process-subst:
completion: fix issue with process substitution not working on Git for Windows
Junio C Hamano [Thu, 27 Oct 2011 19:04:21 +0000 (12:04 -0700)]
Merge branch 'rj/gitweb-clean-js'
* rj/gitweb-clean-js:
gitweb/Makefile: Remove static/gitweb.js in the clean target
Junio C Hamano [Thu, 27 Oct 2011 19:04:02 +0000 (12:04 -0700)]
Merge branch 'js/grep-mutex'
* js/grep-mutex:
builtin/grep: simplify lock_and_read_sha1_file()
builtin/grep: make lock/unlock into static inline functions
git grep: be careful to use mutexes only when they are initialized
Junio C Hamano [Thu, 27 Oct 2011 19:03:37 +0000 (12:03 -0700)]
Merge branch 'maint'
* maint:
clone: Quote user supplied path in a single quote pair
read-cache.c: fix index memory allocation
Junio C Hamano [Thu, 27 Oct 2011 19:03:16 +0000 (12:03 -0700)]
Merge branch 'rs/maint-estimate-cache-size' into maint
* rs/maint-estimate-cache-size:
read-cache.c: fix index memory allocation
Richard Hartmann [Thu, 27 Oct 2011 16:46:53 +0000 (18:46 +0200)]
clone: Quote user supplied path in a single quote pair
Without this patch,
$ git clone foo .
results in this:
Cloning into ....
done.
With it:
Cloning into '.'...
done.
Signed-off-by: Richard Hartmann <richih.mailinglist@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 26 Oct 2011 23:24:55 +0000 (16:24 -0700)]
Merge branch 'maint'
* maint:
make the sample pre-commit hook script reject names with newlines, too
Junio C Hamano [Wed, 26 Oct 2011 23:23:26 +0000 (16:23 -0700)]
Update draft release notes to 1.7.8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 26 Oct 2011 23:16:32 +0000 (16:16 -0700)]
Merge branch 'tc/submodule-clone-name-detection'
* tc/submodule-clone-name-detection:
submodule::module_clone(): silence die() message from module_name()
submodule: whitespace fix
Junio C Hamano [Wed, 26 Oct 2011 23:16:31 +0000 (16:16 -0700)]
Merge branch 'lh/gitweb-site-html-head'
* lh/gitweb-site-html-head:
gitweb: provide a way to customize html headers
Junio C Hamano [Wed, 26 Oct 2011 23:16:31 +0000 (16:16 -0700)]
Merge branch 'mm/mediawiki-author-fix'
* mm/mediawiki-author-fix:
git-remote-mediawiki: don't include HTTP login/password in author
Junio C Hamano [Wed, 26 Oct 2011 23:16:30 +0000 (16:16 -0700)]
Merge branch 'jn/libperl-git-config'
* jn/libperl-git-config:
Add simple test for Git::config_path() in t/t9700-perl-git.sh
libperl-git: refactor Git::config_*
Junio C Hamano [Wed, 26 Oct 2011 23:16:30 +0000 (16:16 -0700)]
Merge branch 'jm/maint-gitweb-filter-forks-fix'
* jm/maint-gitweb-filter-forks-fix:
gitweb: fix regression when filtering out forks
Junio C Hamano [Wed, 26 Oct 2011 23:16:29 +0000 (16:16 -0700)]
Merge branch 'cn/fetch-prune'
* cn/fetch-prune:
fetch: treat --tags like refs/tags/*:refs/tags/* when pruning
fetch: honor the user-provided refspecs when pruning refs
remote: separate out the remote_find_tracking logic into query_refspecs
t5510: add tests for fetch --prune
fetch: free all the additional refspecs
Conflicts:
remote.c
Junio C Hamano [Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)]
Merge branch 'jn/gitweb-highlite-sanitise' into maint
* jn/gitweb-highlite-sanitise:
gitweb: Strip non-printable characters from syntax highlighter output
Junio C Hamano [Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)]
Merge branch 'jk/argv-array' into maint
* jk/argv-array:
run_hook: use argv_array API
checkout: use argv_array API
bisect: use argv_array API
quote: provide sq_dequote_to_argv_array
refactor argv_array into generic code
quote.h: fix bogus comment
add sha1_array API docs
Junio C Hamano [Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)]
Merge branch 'jc/run-receive-hook-cleanup' into maint
* jc/run-receive-hook-cleanup:
refactor run_receive_hook()
Junio C Hamano [Wed, 26 Oct 2011 23:13:31 +0000 (16:13 -0700)]
Merge branch 'cn/eradicate-working-copy' into maint
* cn/eradicate-working-copy:
Remove 'working copy' from the documentation and C code
Junio C Hamano [Wed, 26 Oct 2011 23:13:27 +0000 (16:13 -0700)]
Merge branch 'maint-1.7.6' into maint
* maint-1.7.6:
notes_merge_commit(): do not pass temporary buffer to other function
gitweb: Fix links to lines in blobs when javascript-actions are enabled
mergetool: no longer need to save standard input
mergetool: Use args as pathspec to unmerged files
t9159-*.sh: skip for mergeinfo test for svn <= 1.4
date.c: Support iso8601 timezone formats
remote: only update remote-tracking branch if updating refspec
remote rename: warn when refspec was not updated
remote: "rename o foo" should not rename ref "origin/bar"
remote: write correct fetch spec when renaming remote 'remote'
Junio C Hamano [Wed, 26 Oct 2011 23:12:48 +0000 (16:12 -0700)]
Merge branch 'mh/maint-notes-merge-pathbuf-fix' into maint-1.7.6
* mh/maint-notes-merge-pathbuf-fix:
notes_merge_commit(): do not pass temporary buffer to other function
Junio C Hamano [Wed, 26 Oct 2011 23:12:35 +0000 (16:12 -0700)]
Merge branch 'ps/gitweb-js-with-lineno' into maint-1.7.6
* ps/gitweb-js-with-lineno:
gitweb: Fix links to lines in blobs when javascript-actions are enabled
Junio C Hamano [Wed, 26 Oct 2011 23:12:25 +0000 (16:12 -0700)]
Merge branch 'jm/mergetool-pathspec' into maint-1.7.6
* jm/mergetool-pathspec:
mergetool: no longer need to save standard input
mergetool: Use args as pathspec to unmerged files
Junio C Hamano [Wed, 26 Oct 2011 23:12:19 +0000 (16:12 -0700)]
Merge branch 'mz/remote-rename' into maint-1.7.6
* mz/remote-rename:
remote: only update remote-tracking branch if updating refspec
remote rename: warn when refspec was not updated
remote: "rename o foo" should not rename ref "origin/bar"
remote: write correct fetch spec when renaming remote 'remote'
Junio C Hamano [Wed, 26 Oct 2011 23:12:13 +0000 (16:12 -0700)]
Merge branch 'rj/maint-t9159-svn-rev-notation' into maint-1.7.6
* rj/maint-t9159-svn-rev-notation:
t9159-*.sh: skip for mergeinfo test for svn <= 1.4
Junio C Hamano [Wed, 26 Oct 2011 23:11:28 +0000 (16:11 -0700)]
Merge branch 'hl/iso8601-more-zone-formats' into maint-1.7.6
* hl/iso8601-more-zone-formats:
date.c: Support iso8601 timezone formats
Junio C Hamano [Wed, 26 Oct 2011 23:09:28 +0000 (16:09 -0700)]
Merge branch 'maint-1.7.6' into maint
* maint-1.7.6:
make the sample pre-commit hook script reject names with newlines, too
git-read-tree.txt: update sparse checkout examples
git-read-tree.txt: correct sparse-checkout and skip-worktree description
git-read-tree.txt: language and typography fixes
unpack-trees: print "Aborting" to stderr
Documentation/git-update-index: refer to 'ls-files'
Documentation: basic configuration of notes.rewriteRef
Junio C Hamano [Wed, 26 Oct 2011 23:09:04 +0000 (16:09 -0700)]
Merge branch 'tr/doc-note-rewrite' into maint-1.7.6
* tr/doc-note-rewrite:
Documentation: basic configuration of notes.rewriteRef
Junio C Hamano [Wed, 26 Oct 2011 23:09:04 +0000 (16:09 -0700)]
Merge branch 'nd/sparse-doc' into maint-1.7.6
* nd/sparse-doc:
git-read-tree.txt: update sparse checkout examples
Junio C Hamano [Wed, 26 Oct 2011 23:09:03 +0000 (16:09 -0700)]
Merge branch 'mg/maint-doc-sparse-checkout' into maint-1.7.6
* mg/maint-doc-sparse-checkout:
git-read-tree.txt: correct sparse-checkout and skip-worktree description
git-read-tree.txt: language and typography fixes
unpack-trees: print "Aborting" to stderr
Junio C Hamano [Wed, 26 Oct 2011 23:08:19 +0000 (16:08 -0700)]
Merge branch 'maint-1.7.5' into maint-1.7.6
* maint-1.7.5:
make the sample pre-commit hook script reject names with newlines, too
Reindent closing bracket using tab instead of spaces
Documentation/git-update-index: refer to 'ls-files'
Junio C Hamano [Wed, 26 Oct 2011 23:08:14 +0000 (16:08 -0700)]
Merge branch 'maint-1.7.4' into maint-1.7.5
* maint-1.7.4:
make the sample pre-commit hook script reject names with newlines, too
Reindent closing bracket using tab instead of spaces
Documentation/git-update-index: refer to 'ls-files'
Junio C Hamano [Wed, 26 Oct 2011 23:08:08 +0000 (16:08 -0700)]
Merge branch 'maint-1.7.3' into maint-1.7.4
* maint-1.7.3:
make the sample pre-commit hook script reject names with newlines, too
Reindent closing bracket using tab instead of spaces
Documentation/git-update-index: refer to 'ls-files'
Junio C Hamano [Wed, 26 Oct 2011 23:08:00 +0000 (16:08 -0700)]
Merge branch 'sn/doc-update-index-assume-unchanged' into maint-1.7.3
* sn/doc-update-index-assume-unchanged:
Documentation/git-update-index: refer to 'ls-files'
René Scharfe [Mon, 24 Oct 2011 01:01:27 +0000 (03:01 +0200)]
read-cache.c: fix index memory allocation
estimate_cache_size() tries to guess how much memory is needed for the
in-memory representation of an index file. It does that by using the
file size, the number of entries and the difference of the sizes of the
on-disk and in-memory structs -- without having to check the length of
the name of each entry, which varies for each entry, but their sums are
the same no matter the representation.
Except there can be a difference. First of all, the size is really
calculated by ce_size and ondisk_ce_size based on offsetof(..., name),
not sizeof, which can be different. And entries are padded with 1 to 8
NULs at the end (after the variable name) to make their total length a
multiple of eight.
So in order to allocate enough memory to hold the index, change the
delta calculation to be based on offsetof(..., name) and round up to
the next multiple of eight.
On a 32-bit Linux, this delta was used before:
sizeof(struct cache_entry) == 72
sizeof(struct ondisk_cache_entry) == 64
---
8
The actual difference for an entry with a filename length of one was,
however (find the definitions are in cache.h):
offsetof(struct cache_entry, name) == 72
offsetof(struct ondisk_cache_entry, name) == 62
ce_size == (72 + 1 + 8) & ~7 == 80
ondisk_ce_size == (62 + 1 + 8) & ~7 == 64
---
16
So eight bytes less had been allocated for such entries. The new
formula yields the correct delta:
(72 - 62 + 7) & ~7 == 16
Reported-by: John Hsing <tsyj2007@gmail.com>
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jim Meyering [Sat, 22 Oct 2011 17:44:40 +0000 (19:44 +0200)]
make the sample pre-commit hook script reject names with newlines, too
The sample pre-commit hook script would fail to reject a file name like
"a\nb" because of the way newlines are handled in "$(...)". Adjust the
test to count filtered bytes and require there be 0. Also print all
diagnostics to standard error, not stdout, so they will actually be seen.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefan Naewe [Wed, 26 Oct 2011 19:13:09 +0000 (21:13 +0200)]
completion: fix issue with process substitution not working on Git for Windows
Git for Windows comes with a bash that doesn't support process substitution.
It issues the following error when using git-completion.bash with
GIT_PS1_SHOWUPSTREAM set:
$ export GIT_PS1_SHOWUPSTREAM=1
sh.exe": cannot make pipe for process substitution: Function not implemented
sh.exe": cannot make pipe for process substitution: Function not implemented
sh.exe": <(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n '): ambiguous redirect
Replace the process substitution with a 'here string'.
Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramsay Jones [Tue, 25 Oct 2011 17:15:20 +0000 (18:15 +0100)]
gitweb/Makefile: Remove static/gitweb.js in the clean target
Since
9a86dd5 (gitweb: Split JavaScript for maintability, combining on
build, 2011-04-28), static/gitweb.js has been a build product that should
be cleaned upon "make clean".
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 26 Oct 2011 19:15:51 +0000 (12:15 -0700)]
builtin/grep: simplify lock_and_read_sha1_file()
As read_sha1_lock/unlock have been made aware of use_threads,
this caller can be made a lot simpler.
Signed-off-by: Junio C Hamano <gitster@pobox.com>