Junio C Hamano [Sat, 5 Nov 2011 04:31:28 +0000 (21:31 -0700)]
merge: notice local merging of tags and keep it unwrapped
This also updates the autogenerated merge title message from "merge commit X"
to "merge tag X", and its effect can be seen in the changes to the test suite.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Linus Torvalds [Thu, 3 Nov 2011 02:19:34 +0000 (19:19 -0700)]
fetch: do not store peeled tag object names in FETCH_HEAD
We do not want to record tags as parents of a merge when the user does
"git pull $there tag v1.0" to merge tagged commit, but that is not a good
enough excuse to peel the tag down to commit when storing in FETCH_HEAD.
The caller of underlying "git fetch $there tag v1.0" may have other uses
of information contained in v1.0 tag in mind.
[jc: the test adjustment is to update for the new expectation]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 8 Sep 2011 04:19:47 +0000 (21:19 -0700)]
Split GPG interface into its own helper library
This mostly moves existing code from builtin/tag.c (for signing)
and builtin/verify-tag.c (for verifying) to a new gpg-interface.c
file to provide a more generic library interface.
- sign_buffer() takes a payload strbuf, a signature strbuf, and a signing
key, runs "gpg" to produce a detached signature for the payload, and
appends it to the signature strbuf. The contents of a signed tag that
concatenates the payload and the detached signature can be produced by
giving the same strbuf as payload and signature strbuf.
- verify_signed_buffer() takes a payload and a detached signature as
<ptr, len> pairs, and runs "gpg --verify" to see if the payload matches
the signature. It can optionally capture the output from GPG to allow
the callers to pretty-print it in a way more suitable for their
contexts.
"verify-tag" (aka "tag -v") used to save the whole tag contents as if it
is a detached signature, and fed gpg the payload part of the tag. It
relied on gpg to fail when the given tag is not signed but just is
annotated. The updated run_gpg_verify() function detects the lack of
detached signature in the input, and errors out without bothering "gpg".
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Oct 2011 17:49:27 +0000 (10:49 -0700)]
Merge branch 'js/merge-edit-option'
* js/merge-edit-option:
Teach merge the '[-e|--edit]' option
Conflicts:
builtin/merge.c
Junio C Hamano [Wed, 19 Oct 2011 17:49:13 +0000 (10:49 -0700)]
Merge branch 'rs/diff-whole-function'
* rs/diff-whole-function:
diff: add option to show whole functions as context
xdiff: factor out get_func_line()
Junio C Hamano [Wed, 19 Oct 2011 17:49:09 +0000 (10:49 -0700)]
Merge branch 'rs/pickaxe'
* rs/pickaxe:
pickaxe: factor out pickaxe
pickaxe: give diff_grep the same signature as has_changes
pickaxe: pass diff_options to contains and has_changes
pickaxe: factor out has_changes
pickaxe: plug regex/kws leak
pickaxe: plug regex leak
pickaxe: plug diff filespec leak with empty needle
Junio C Hamano [Wed, 19 Oct 2011 17:49:05 +0000 (10:49 -0700)]
Merge branch 'js/no-cherry-pick-head-after-punted'
* js/no-cherry-pick-head-after-punted:
cherry-pick: do not give irrelevant advice when cherry-pick punted
revert.c: defer writing CHERRY_PICK_HEAD till it is safe to do so
Junio C Hamano [Wed, 19 Oct 2011 17:48:38 +0000 (10:48 -0700)]
Merge branch 'bk/submodule-in-recursive-merge'
* bk/submodule-in-recursive-merge:
submodule: Search for merges only at end of recursive merge
submodule: Demonstrate known breakage during recursive merge
Junio C Hamano [Wed, 19 Oct 2011 17:48:29 +0000 (10:48 -0700)]
Merge branch 'jm/maint-apply-detects-corrupt-patch-header'
* jm/maint-apply-detects-corrupt-patch-header:
fix "git apply --index ..." not to deref NULL
Junio C Hamano [Wed, 19 Oct 2011 17:47:59 +0000 (10:47 -0700)]
Merge branch 'jk/config-test-cleanup'
* jk/config-test-cleanup:
t1300: attempting to remove a non-existent .git/config is not an error
Johannes Sixt [Wed, 19 Oct 2011 07:37:06 +0000 (09:37 +0200)]
t1300: attempting to remove a non-existent .git/config is not an error
Since some tests before test number 79 ("quoting") are skipped, .git/config
does not exist and 'rm .git/config' fails. Fix this particular case.
While at it, move other instance of 'rm .git/config' that occur in this
file inside the test function to document that the test cases want to
protect themselves from remnants of earlier tests.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 Oct 2011 04:59:12 +0000 (21:59 -0700)]
Merge branch 'js/log-show-children'
* js/log-show-children:
log --children
Junio C Hamano [Wed, 19 Oct 2011 04:59:11 +0000 (21:59 -0700)]
Merge branch 'cb/httpd-test-fix-port'
* cb/httpd-test-fix-port:
use test number as port number
Junio C Hamano [Wed, 19 Oct 2011 04:59:11 +0000 (21:59 -0700)]
Merge branch 'jn/gitweb-manpages'
* jn/gitweb-manpages:
gitweb: Add gitweb manpages to 'gitweb' package in git.spec
Documentation: Add gitweb config variables to git-config(1)
Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages
gitweb: Add gitweb(1) manpage for gitweb itself
gitweb: Add gitweb.conf(5) manpage for gitweb configuration files
Junio C Hamano [Wed, 19 Oct 2011 04:59:11 +0000 (21:59 -0700)]
Merge branch 'pt/mingw-misc-fixes'
* pt/mingw-misc-fixes:
t9901: fix line-ending dependency on windows
mingw: ensure sockets are initialized before calling gethostname
mergetools: use the correct tool for Beyond Compare 3 on Windows
t9300: do not run --cat-blob-fd related tests on MinGW
git-svn: On MSYS, escape and quote SVN_SSH also if set by the user
t9001: do not fail only due to CR/LF issues
t1020: disable the pwd test on MinGW
Junio C Hamano [Wed, 19 Oct 2011 04:59:10 +0000 (21:59 -0700)]
Merge branch 'md/smtp-tls-hello-again'
* md/smtp-tls-hello-again:
send-email: Honour SMTP domain when using TLS
Junio C Hamano [Wed, 19 Oct 2011 04:42:41 +0000 (21:42 -0700)]
Merge branch 'maint'
* maint:
strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()
Brandon Casey [Thu, 6 Oct 2011 04:21:33 +0000 (23:21 -0500)]
strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()
This use of strbuf_grow() is a historical artifact that was once used to
ensure that strbuf.buf was allocated and properly nul-terminated. This
was added before the introduction of the slopbuf in
b315c5c0, which
guarantees that strbuf.buf always points to a usable nul-terminated string.
So let's remove it.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 18 Oct 2011 05:07:57 +0000 (22:07 -0700)]
Update draft release notes to 1.7.8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 18 Oct 2011 04:37:15 +0000 (21:37 -0700)]
Merge branch 'jk/http-auth'
* jk/http-auth:
http_init: accept separate URL parameter
http: use hostname in credential description
http: retry authentication failures for all http requests
remote-curl: don't retry auth failures with dumb protocol
improve httpd auth tests
url: decode buffers that are not NUL-terminated
Junio C Hamano [Tue, 18 Oct 2011 04:37:15 +0000 (21:37 -0700)]
Merge branch 'js/check-ref-format-test-mingw'
* js/check-ref-format-test-mingw:
t1402-check-ref-format: skip tests of refs beginning with slash on Windows
Junio C Hamano [Tue, 18 Oct 2011 04:37:14 +0000 (21:37 -0700)]
Merge branch 'jk/pull-rebase-with-work-tree'
* jk/pull-rebase-with-work-tree:
pull,rebase: handle GIT_WORK_TREE better
Conflicts:
git-pull.sh
Junio C Hamano [Tue, 18 Oct 2011 04:37:14 +0000 (21:37 -0700)]
Merge branch 'jk/config-test-cleanup'
* jk/config-test-cleanup:
t1300: test mixed-case variable retrieval
t1300: put git invocations inside test function
Junio C Hamano [Tue, 18 Oct 2011 04:37:13 +0000 (21:37 -0700)]
Merge branch 'bc/attr-ignore-case'
* 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:
transport-helper.c
Junio C Hamano [Tue, 18 Oct 2011 04:37:13 +0000 (21:37 -0700)]
Merge branch 'sg/completion'
* sg/completion:
completion: unite --format and --pretty for 'log' and 'show'
completion: unite --reuse-message and --reedit-message for 'notes'
Junio C Hamano [Tue, 18 Oct 2011 04:37:12 +0000 (21:37 -0700)]
Merge branch 'mm/maint-config-explicit-bool-display'
* mm/maint-config-explicit-bool-display:
config: display key_delim for config --bool --get-regexp
Junio C Hamano [Tue, 18 Oct 2011 04:37:12 +0000 (21:37 -0700)]
Merge branch 'tc/fetch-leak'
* tc/fetch-leak:
fetch: plug two leaks on error exit in store_updated_refs
Conflicts:
builtin/fetch.c
Junio C Hamano [Tue, 18 Oct 2011 04:37:11 +0000 (21:37 -0700)]
Merge branch 'jk/name-hash-dirent'
* jk/name-hash-dirent:
fix phantom untracked files when core.ignorecase is set
Junio C Hamano [Tue, 18 Oct 2011 04:37:11 +0000 (21:37 -0700)]
Merge branch 'ef/mingw-syslog'
* ef/mingw-syslog:
mingw: avoid using strbuf in syslog
Junio C Hamano [Tue, 18 Oct 2011 04:37:11 +0000 (21:37 -0700)]
Merge branch 'tm/completion-push-set-upstream'
* tm/completion-push-set-upstream:
completion: push --set-upstream
Junio C Hamano [Tue, 18 Oct 2011 04:37:10 +0000 (21:37 -0700)]
Merge branch 'tm/completion-commit-fixup-squash'
* tm/completion-commit-fixup-squash:
completion: commit --fixup and --squash
completion: unite --reuse-message and --reedit-message handling
Junio C Hamano [Tue, 18 Oct 2011 04:37:10 +0000 (21:37 -0700)]
Merge branch 'ph/push-to-delete-nothing'
* ph/push-to-delete-nothing:
receive-pack: don't pass non-existent refs to post-{receive,update} hooks
Conflicts:
builtin/receive-pack.c
Junio C Hamano [Tue, 18 Oct 2011 04:37:09 +0000 (21:37 -0700)]
Merge branch 'jc/checkout-from-tree-keep-local-changes'
* jc/checkout-from-tree-keep-local-changes:
checkout $tree $path: do not clobber local changes in $path not in $tree
Junio C Hamano [Tue, 18 Oct 2011 04:37:09 +0000 (21:37 -0700)]
Merge branch 'js/bisect-no-checkout'
* js/bisect-no-checkout:
bisect: fix exiting when checkout failed in bisect_start()
Clemens Buchacher [Mon, 17 Oct 2011 19:55:47 +0000 (21:55 +0200)]
use test number as port number
Test 5550 was apparently using the default port number by mistake.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 17 Oct 2011 18:43:30 +0000 (11:43 -0700)]
resolve_gitlink_packed_ref(): fix mismerge
2c5c66b (Merge branch 'jp/get-ref-dir-unsorted', 2011-10-10) merged a
topic that forked from the mainline before a new helper function
get_packed_refs() refactored code to read packed-refs file. The merge made
the call to the helper function with an incorrect argument. The parameter
to the function has to be a path to the submodule.
Fix the mismerge.
Helped-by: Mark Levedahl <mlevedahl@gmail.com>
Helped-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Sun, 16 Oct 2011 11:07:35 +0000 (13:07 +0200)]
gitweb: Add gitweb manpages to 'gitweb' package in git.spec
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Sun, 16 Oct 2011 11:07:34 +0000 (13:07 +0200)]
Documentation: Add gitweb config variables to git-config(1)
Add a list of gitweb config variables to git-config(1) manpage, just
linking to gitweb(1) or gitweb.conf(5).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Sun, 16 Oct 2011 11:07:33 +0000 (13:07 +0200)]
Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages
Add link to gitweb(1) in "SEE ALSO" section of git-instaweb(1) manpage,
and "Ancillary Commands" section of git(1) manpage (the latter by the
way of command-list.txt file).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Sun, 16 Oct 2011 11:07:32 +0000 (13:07 +0200)]
gitweb: Add gitweb(1) manpage for gitweb itself
Most of what is in gitweb.txt it has been pulled directly from the
README and INSTALL files of gitweb.
Current version is somewhat based on structure of SVN::Web manpage
(one of web interfaces for Subversion).
gitweb.conf(5) i.e. gitweb configuration manpage now refers to
appropriate sections in gitweb(1). gitweb/README now refers to
gitweb/INSTALL and gitweb(1) manpage. gitweb/INSTALL now refers to
gitweb.conf(5) and gitweb(1).
Inspired-by: Drew Northup <drew.northup@maine.edu>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Drew Northup [Sun, 16 Oct 2011 11:07:31 +0000 (13:07 +0200)]
gitweb: Add gitweb.conf(5) manpage for gitweb configuration files
Much of what is in gitweb.conf.txt has been pulled directly from the
README file of gitweb. The manpage was supplemented with description
of missing gitweb config variables, and with description of gitweb's
%features.
There remains a bit of redundancy, which should be reduced if
possible... but I think some of duplication of information is
inevitable.
[jn: Improved, extended, removed duplicate info from README]
Signed-off-by: Drew Northup <drew.northup@maine.edu>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 16 Oct 2011 17:58:35 +0000 (10:58 -0700)]
Update draft release notes to 1.7.8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 16 Oct 2011 10:01:44 +0000 (03:01 -0700)]
Merge git://repo.or.cz/git-gui
* git://repo.or.cz/git-gui:
git-gui: incremental goto line in blame view
git-gui: clear the goto line input when hiding
git-gui: only accept numbers in the goto-line input
git-gui: search and linenumber input are mutual exclusive in the blame view
git-gui: deal with unknown files when pressing the "Stage Changed" button
git-gui: drop the 'n' and 'Shift-n' bindings from the last patch.
git-gui: Add keyboard shortcuts for search and goto commands in blame view.
git-gui: Enable jumping to a specific line number in blame view.
Fix tooltip display with multiple monitors on windows.
Fix typo: existant->existent
git-gui: updated translator README for current procedures.
git-gui: warn when trying to commit on a detached head
git-gui: Corrected a typo in the Swedish translation of 'Continue'
Michael Olson [Mon, 10 Oct 2011 23:27:37 +0000 (16:27 -0700)]
git-svn: Allow certain refs to be ignored
Implement a new --ignore-refs option which specifies a regex of refs
to ignore while importing svn history.
This is a useful supplement to the --ignore-paths option, as that
option only operates on the contents of branches and tags, not the
branches and tags themselves.
Signed-off-by: Michael Olson <mwolson@gnu.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Frédéric Heitzmann [Fri, 16 Sep 2011 21:02:01 +0000 (23:02 +0200)]
git svn dcommit: new option --interactive.
Allow the user to check the patch set before it is commited to SVN. It is
then possible to accept/discard one patch, accept all, or quit.
This interactive mode is similar with 'git send email' behaviour. However,
'git svn dcommit' returns as soon as one patch is discarded.
Part of the code was taken from git-send-email.perl (see 'ask' function)
Tests several combinations of potential answers to
'git svn dcommit --interactive'. For each of them, test whether patches
were commited to SVN or not.
Thanks-to Eric Wong <normalperson@yhbt.net> for the initial idea.
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Frédéric Heitzmann <frederic.heitzmann@gmail.com>
Jeff King [Fri, 14 Oct 2011 07:40:40 +0000 (09:40 +0200)]
http_init: accept separate URL parameter
The http_init function takes a "struct remote". Part of its
initialization procedure is to look at the remote's url and
grab some auth-related parameters. However, using the url
included in the remote is:
- wrong; the remote-curl helper may have a separate,
unrelated URL (e.g., from remote.*.pushurl). Looking at
the remote's configured url is incorrect.
- incomplete; http-fetch doesn't have a remote, so passes
NULL. So http_init never gets to see the URL we are
actually going to use.
- cumbersome; http-push has a similar problem to
http-fetch, but actually builds a fake remote just to
pass in the URL.
Instead, let's just add a separate URL parameter to
http_init, and all three callsites can pass in the
appropriate information.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber [Fri, 14 Oct 2011 07:40:39 +0000 (09:40 +0200)]
http: use hostname in credential description
Until now, a request for an http password looked like:
Username:
Password:
Now it will look like:
Username for 'example.com':
Password for 'example.com':
Picked-from: Jeff King <peff@peff.net>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 16 Oct 2011 03:56:50 +0000 (20:56 -0700)]
Sync with maint
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 16 Oct 2011 03:55:12 +0000 (20:55 -0700)]
Prepare for 1.7.7.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 16 Oct 2011 03:46:39 +0000 (20:46 -0700)]
Merge branch 'ms/patch-id-with-overlong-line' into maint
* ms/patch-id-with-overlong-line:
patch-id.c: use strbuf instead of a fixed buffer
Junio C Hamano [Sun, 16 Oct 2011 03:46:39 +0000 (20:46 -0700)]
Merge branch 'jc/maint-bundle-too-quiet' into maint
* jc/maint-bundle-too-quiet:
Teach progress eye-candy to fetch_refs_from_bundle()
Junio C Hamano [Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)]
Merge branch 'jk/filter-branch-require-clean-work-tree' into maint
* jk/filter-branch-require-clean-work-tree:
filter-branch: use require_clean_work_tree
Junio C Hamano [Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)]
Merge branch 'jc/maint-fsck-fwrite-size-check' into maint
* jc/maint-fsck-fwrite-size-check:
fsck: do not abort upon finding an empty blob
Junio C Hamano [Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)]
Merge branch 'bk/ancestry-path' into maint
* bk/ancestry-path:
t6019: avoid refname collision on case-insensitive systems
revision: do not include sibling history in --ancestry-path output
revision: keep track of the end-user input from the command line
rev-list: Demonstrate breakage with --ancestry-path --all
Junio C Hamano [Sun, 16 Oct 2011 03:46:38 +0000 (20:46 -0700)]
Merge branch 'jk/maint-fetch-submodule-check-fix' into maint
* jk/maint-fetch-submodule-check-fix:
fetch: avoid quadratic loop checking for updated submodules
Junio C Hamano [Sun, 16 Oct 2011 03:46:37 +0000 (20:46 -0700)]
Merge branch 'tr/mergetool-valgrind' into maint
* tr/mergetool-valgrind:
Symlink mergetools scriptlets into valgrind wrappers
Junio C Hamano [Sun, 16 Oct 2011 03:46:37 +0000 (20:46 -0700)]
Merge branch 'nm/grep-object-sha1-lock' into maint
* nm/grep-object-sha1-lock:
grep: Fix race condition in delta_base_cache
Conflicts:
builtin/grep.c
Junio C Hamano [Sun, 16 Oct 2011 03:46:36 +0000 (20:46 -0700)]
Merge branch 'jc/diff-index-unpack' into maint
* jc/diff-index-unpack:
diff-index: pass pathspec down to unpack-trees machinery
unpack-trees: allow pruning with pathspec
traverse_trees(): allow pruning with pathspec
Junio C Hamano [Sun, 16 Oct 2011 03:46:36 +0000 (20:46 -0700)]
Merge branch 'mm/rebase-i-exec-edit' into maint
* mm/rebase-i-exec-edit:
rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
rebase -i: clean error message for --continue after failed exec
Matthew Daley [Sat, 15 Oct 2011 08:44:52 +0000 (04:44 -0400)]
send-email: Honour SMTP domain when using TLS
git-send-email sends two SMTP EHLOs when using TLS encryption, however
only the first, unencrypted EHLO uses the SMTP domain that can be
optionally specified by the user (--smtp-domain). This is because the
call to hello() that produces the second, encrypted EHLO does not pass
the SMTP domain as an argument, and hence a default of
'localhost.localdomain' is used instead.
Fix by passing in the SMTP domain in this call.
Signed-off-by: Matthew Daley <mattjd@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 16 Oct 2011 03:27:19 +0000 (20:27 -0700)]
Merge branch 'jc/grep-untracked-exclude'
* jc/grep-untracked-exclude:
grep: fix the error message that mentions --exclude
Junio C Hamano [Sun, 16 Oct 2011 03:26:52 +0000 (20:26 -0700)]
Merge branch 'jc/maint-grep-untracked-exclude' into jc/grep-untracked-exclude
* jc/maint-grep-untracked-exclude:
grep: fix the error message that mentions --exclude
Conflicts:
builtin/grep.c
Bert Wesarg [Sat, 15 Oct 2011 18:36:22 +0000 (20:36 +0200)]
grep: fix the error message that mentions --exclude
Missing rename from --exclude to --standard-exclude.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Sat, 15 Oct 2011 14:05:17 +0000 (15:05 +0100)]
t9901: fix line-ending dependency on windows
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Sat, 15 Oct 2011 14:05:20 +0000 (15:05 +0100)]
mingw: ensure sockets are initialized before calling gethostname
If the Windows sockets subsystem has not been initialized yet then an
attempt to get the hostname returns an error and prints a warning to the
console. This solves this issue for msysGit as seen with 'git fetch'.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Sat, 15 Oct 2011 14:05:19 +0000 (15:05 +0100)]
mergetools: use the correct tool for Beyond Compare 3 on Windows
On Windows the bcompare tool launches a graphical program and does
not wait for it to terminate. A separate 'bcomp' tool is provided which
will wait for the view to exit so we use this instead.
Reported-by: Werner BEROUX <werner@beroux.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Bert Wesarg [Thu, 13 Oct 2011 13:48:15 +0000 (15:48 +0200)]
git-gui: incremental goto line in blame view
The view jumps now to the given line number after each key press.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Bert Wesarg [Thu, 13 Oct 2011 13:48:13 +0000 (15:48 +0200)]
git-gui: clear the goto line input when hiding
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Bert Wesarg [Thu, 13 Oct 2011 13:48:14 +0000 (15:48 +0200)]
git-gui: only accept numbers in the goto-line input
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Bert Wesarg [Thu, 13 Oct 2011 13:48:12 +0000 (15:48 +0200)]
git-gui: search and linenumber input are mutual exclusive in the blame view
It was possible to open the search input (Ctrl+S) and the goto-line input
(Ctrl+G) at the same time. Prevent this.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Johannes Schindelin [Fri, 14 Oct 2011 22:53:33 +0000 (23:53 +0100)]
t9300: do not run --cat-blob-fd related tests on MinGW
As diagnosed by Johannes Sixt, msys.dll does not hand through file
descriptors > 2 to child processes, so these test cases cannot passes when
run through an MSys bash.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Schuberth [Fri, 14 Oct 2011 22:53:31 +0000 (23:53 +0100)]
git-svn: On MSYS, escape and quote SVN_SSH also if set by the user
While GIT_SSH does not require any escaping / quoting (e.g. for paths
containing spaces), SVN_SSH requires it due to its use in a Perl script.
Previously, SVN_SSH has only been escaped and quoted automatically if it
was unset and thus derived from GIT_SSH. For user convenience, do the
escaping and quoting also for a SVN_SSH set by the user. This way, the
user is able to use the same unescaped and unquoted syntax for GIT_SSH
and SVN_SSH.
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Fri, 14 Oct 2011 22:53:30 +0000 (23:53 +0100)]
t9001: do not fail only due to CR/LF issues
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Fri, 14 Oct 2011 22:53:28 +0000 (23:53 +0100)]
t1020: disable the pwd test on MinGW
It fails both for line ending and for DOS path reasons.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Cord Seele [Fri, 14 Oct 2011 20:53:31 +0000 (22:53 +0200)]
send-email: Fix %config_path_settings handling
cec5dae (use new Git::config_path() for aliasesfile, 2011-09-30) broke
the expansion of aliases.
This was caused by treating %config_path_settings, newly introduced in
said patch, like %config_bool_settings instead of like %config_settings.
Copy from %config_settings, making it more readable.
While at it add basic test for expansion of aliases, and for path
expansion, which would catch this error.
Nb. there were a few issues that were responsible for this error:
1. %config_bool_settings and %config_settings despite similar name have
different semantic.
%config_bool_settings values are arrays where the first element is
(reference to) the variable to set, and second element is default
value... which admittedly is a bit cryptic. More readable if more
verbose option would be to use hash reference, e.g.:
my %config_bool_settings = (
"thread" => { variable => \$thread, default => 1},
[...]
%config_settings values are either either reference to scalar variable
or reference to array. In second case it means that option (or config
option) is multi-valued. BTW. this is similar to what Getopt::Long does.
2. In
cec5dae (use new Git::config_path() for aliasesfile, 2011-09-30)
the setting "aliasesfile" was moved from %config_settings to newly
introduced %config_path_settings. But the loop that parses settings
from %config_path_settings was copy'n'pasted *wrongly* from
%config_bool_settings instead of from %config_settings.
It looks like
cec5dae author cargo-culted this change...
3.
994d6c6 (send-email: address expansion for common mailers, 2006-05-14)
didn't add test for alias expansion to t9001-send-email.sh
Signed-off-by: Cord Seele <cowose@gmail.com>
Tested-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 14 Oct 2011 19:51:24 +0000 (12:51 -0700)]
Merge branch 'maint'
* maint:
t1304: fall back to $USER if $LOGNAME is not defined
René Scharfe [Fri, 14 Oct 2011 17:44:45 +0000 (19:44 +0200)]
t1304: fall back to $USER if $LOGNAME is not defined
For some reason $LOGNAME is not set anymore for me after an upgrade from
Ubuntu 11.04 to 11.10. Use $USER in such a case.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 14 Oct 2011 05:15:39 +0000 (22:15 -0700)]
Update draft release notes to 1.7.8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 14 Oct 2011 02:03:24 +0000 (19:03 -0700)]
Merge branch 'js/maint-merge-one-file-osx-expr'
* js/maint-merge-one-file-osx-expr:
merge-one-file: fix "expr: non-numeric argument"
Junio C Hamano [Fri, 14 Oct 2011 02:03:24 +0000 (19:03 -0700)]
Merge branch 'jn/ident-from-etc-mailname'
* jn/ident-from-etc-mailname:
ident: do not retrieve default ident when unnecessary
ident: check /etc/mailname if email is unknown
Junio C Hamano [Fri, 14 Oct 2011 02:03:23 +0000 (19:03 -0700)]
Merge branch 'il/archive-err-signal'
* il/archive-err-signal:
Support ERR in remote archive like in fetch/push
Junio C Hamano [Fri, 14 Oct 2011 02:03:23 +0000 (19:03 -0700)]
Merge branch 'jc/grep-untracked-exclude'
* jc/grep-untracked-exclude:
grep: teach --untracked and --exclude-standard options
Junio C Hamano [Fri, 14 Oct 2011 02:03:22 +0000 (19:03 -0700)]
Merge branch 'rs/diff-cleanup-records-fix'
* rs/diff-cleanup-records-fix:
diff: resurrect XDF_NEED_MINIMAL with --minimal
Revert removal of multi-match discard heuristic in 27af01
Junio C Hamano [Fri, 14 Oct 2011 02:03:22 +0000 (19:03 -0700)]
Merge branch 'rs/pending'
* rs/pending:
commit: factor out clear_commit_marks_for_object_array
checkout: use leak_pending flag
bundle: use leak_pending flag
bisect: use leak_pending flag
revision: add leak_pending flag
checkout: use add_pending_{object,sha1} in orphan check
revision: factor out add_pending_sha1
checkout: check for "Previous HEAD" notice in t2020
Conflicts:
builtin/checkout.c
revision.c
Junio C Hamano [Fri, 14 Oct 2011 02:03:21 +0000 (19:03 -0700)]
Merge branch 'jn/no-g-plus-s-on-bsd'
* jn/no-g-plus-s-on-bsd:
Makefile: do not set setgid bit on directories on GNU/kFreeBSD
Junio C Hamano [Fri, 14 Oct 2011 02:03:21 +0000 (19:03 -0700)]
Merge branch 'jc/is-url-simplify'
* jc/is-url-simplify:
url.c: simplify is_url()
Junio C Hamano [Fri, 14 Oct 2011 02:03:21 +0000 (19:03 -0700)]
Merge branch 'nd/git-daemon-error-msgs'
* nd/git-daemon-error-msgs:
daemon: return "access denied" if a service is not allowed
Junio C Hamano [Fri, 14 Oct 2011 02:03:21 +0000 (19:03 -0700)]
Merge branch 'nd/daemon-log-sock-errors'
* nd/daemon-log-sock-errors:
daemon: log errors if we could not use some sockets
Junio C Hamano [Fri, 14 Oct 2011 02:03:20 +0000 (19:03 -0700)]
Merge branch 'cp/git-web-browse-browsers'
* cp/git-web-browse-browsers:
git-web--browse: avoid the use of eval
Junio C Hamano [Fri, 14 Oct 2011 02:03:20 +0000 (19:03 -0700)]
Merge branch 'jc/apply-blank-at-eof-fix'
* jc/apply-blank-at-eof-fix:
apply --whitespace=error: correctly report new blank lines at end
Junio C Hamano [Fri, 14 Oct 2011 02:03:19 +0000 (19:03 -0700)]
Merge branch 'di/fast-import-empty-tag-note-fix'
* di/fast-import-empty-tag-note-fix:
fast-import: don't allow to note on empty branch
fast-import: don't allow to tag empty branch
Junio C Hamano [Fri, 14 Oct 2011 02:03:19 +0000 (19:03 -0700)]
Merge branch 'nd/maint-autofix-tag-in-head'
* nd/maint-autofix-tag-in-head:
Accept tags in HEAD or MERGE_HEAD
merge: remove global variable head[]
merge: use return value of resolve_ref() to determine if HEAD is invalid
merge: keep stash[] a local variable
Conflicts:
builtin/merge.c
Junio C Hamano [Fri, 14 Oct 2011 02:03:18 +0000 (19:03 -0700)]
Merge branch 'bw/grep-no-index-no-exclude'
* bw/grep-no-index-no-exclude:
grep --no-index: don't use git standard exclusions
grep: do not use --index in the short usage output
Junio C Hamano [Fri, 14 Oct 2011 02:03:18 +0000 (19:03 -0700)]
Merge branch 'nd/maint-sparse-errors'
* nd/maint-sparse-errors:
Add explanation why we do not allow to sparse checkout to empty working tree
sparse checkout: show error messages when worktree shaping fails
Johannes Sixt [Thu, 13 Oct 2011 08:06:20 +0000 (10:06 +0200)]
t1402-check-ref-format: skip tests of refs beginning with slash on Windows
Bash on Windows converts program arguments that look like absolute POSIX
paths to their Windows form, i.e., drive-letter-colon format. For this
reason, those tests in t1402 that check refs that begin with a slash do not
work as expected on Windows: valid_ref tests are doomed to fail, and
invalid_ref tests fail for the wrong reason (that there is a colon rather
than that they begin with a slash).
Skip these tests.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Thu, 13 Oct 2011 15:59:24 +0000 (11:59 -0400)]
pull,rebase: handle GIT_WORK_TREE better
You can't currently run git-pull or git-rebase from outside
of the work tree, even with GIT_WORK_TREE set, due to an
overeager require_work_tree function. Commit
e2eb527
documents this problem and provides the infrastructure for a
fix, but left it to later commits to audit and update
individual scripts.
Changing these scripts to use require_work_tree_exists is
easy to verify. We immediately call cd_to_toplevel, anyway.
Therefore no matter which function we use, the state
afterwards is one of:
1. We have a work tree, and we are at the top level.
2. We don't have a work tree, and we have died.
The only catch is that we must also make sure no code that
ran before the cd_to_toplevel assumed that we were already
in the working tree.
In this case, we will only have included shell libraries and
called set_reflog_action, neither of which care about the
current working directory at all.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brad King [Thu, 13 Oct 2011 12:59:05 +0000 (08:59 -0400)]
submodule: Search for merges only at end of recursive merge
The submodule merge search is not useful during virtual merges because
the results cannot be used automatically. Furthermore any suggestions
made by the search may apply to commits different than HEAD:sub and
MERGE_HEAD:sub, thus confusing the user. Skip searching for submodule
merges during a virtual merge such as that between B and C while merging
the heads of:
B---BC
/ \ /
A X
\ / \
C---CB
Run the search only when the recursion level is zero (!o->call_depth).
This fixes known breakage tested in t7405-submodule-merge.
Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brad King [Thu, 13 Oct 2011 12:59:04 +0000 (08:59 -0400)]
submodule: Demonstrate known breakage during recursive merge
Since commit
68d03e4a (Implement automatic fast-forward merge for
submodules, 2010-07-07) we try to suggest submodule commits that resolve
a conflict. Consider a true recursive merge case
b---bc
/ \ /
o X
\ / \
c---cb
in which the two heads themselves (bc,cb) had resolved a submodule
conflict (i.e. reference different commits than their parents). The
submodule merge search runs during the temporary merge of the two merge
bases (b,c) and prints out a suggestion that is not meaningful to the
user. Then during the main merge the submodule merge search runs again
but dies with the message
fatal: --ancestry-path given but there are no bottom commits
while trying to enumerate candidates. Demonstrate this known breakage
with a new test in t7405-submodule-merge covering the case.
Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jay Soffian [Sat, 8 Oct 2011 18:39:52 +0000 (14:39 -0400)]
Teach merge the '[-e|--edit]' option
Implemented internally instead of as "git merge --no-commit && git commit"
so that "merge --edit" is otherwise consistent (hooks, etc) with "merge".
Note: the edit message does not include the status information that one
gets with "commit --status" and it is cleaned up after editing like one
gets with "commit --cleanup=default". A later patch could add the status
information if desired.
Note: previously we were not calling stripspace() after running the
prepare-commit-msg hook. Now we are, stripping comments and
leading/trailing whitespace lines if --edit is given, otherwise only
stripping leading/trailing whitespace lines if not given --edit.
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 12 Oct 2011 19:42:44 +0000 (12:42 -0700)]
Update draft release notes to 1.7.8
Signed-off-by: Junio C Hamano <gitster@pobox.com>