Junio C Hamano [Fri, 12 Jul 2013 19:04:17 +0000 (12:04 -0700)]
Merge branch 'rs/pickaxe-simplify'
* rs/pickaxe-simplify:
diffcore-pickaxe: simplify has_changes and contains
Junio C Hamano [Fri, 12 Jul 2013 19:04:16 +0000 (12:04 -0700)]
Merge branch 'tr/test-lint-no-export-assignment-in-shell'
* tr/test-lint-no-export-assignment-in-shell:
test-lint: detect 'export FOO=bar'
t9902: fix 'test A == B' to use = operator
Junio C Hamano [Fri, 12 Jul 2013 19:04:14 +0000 (12:04 -0700)]
Merge branch 'rr/name-rev-stdin-doc'
* rr/name-rev-stdin-doc:
name-rev doc: rewrite --stdin paragraph
Junio C Hamano [Fri, 12 Jul 2013 19:04:12 +0000 (12:04 -0700)]
Merge branch 'ft/diff-rename-default-score-is-half'
* ft/diff-rename-default-score-is-half:
diff-options: document default similarity index
Junio C Hamano [Fri, 12 Jul 2013 19:04:10 +0000 (12:04 -0700)]
Merge branch 'ml/cygwin-does-not-have-fifo'
* ml/cygwin-does-not-have-fifo:
test-lib.sh - cygwin does not have usable FIFOs
Junio C Hamano [Fri, 12 Jul 2013 19:04:09 +0000 (12:04 -0700)]
Merge branch 'tf/gitweb-extra-breadcrumbs'
An Gitweb installation that is a part of larger site can optionally
show extra links that point at the levels higher than the Gitweb
pages itself in the link hierarchy of pages.
* tf/gitweb-extra-breadcrumbs:
gitweb: allow extra breadcrumbs to prefix the trail
Junio C Hamano [Fri, 12 Jul 2013 19:04:07 +0000 (12:04 -0700)]
Merge branch 'ms/remote-tracking-branches-in-doc'
* ms/remote-tracking-branches-in-doc:
Change "remote tracking" to "remote-tracking"
Junio C Hamano [Fri, 12 Jul 2013 19:04:06 +0000 (12:04 -0700)]
Merge branch 'jk/pull-to-integrate'
* jk/pull-to-integrate:
pull: change the description to "integrate" changes
push: avoid suggesting "merging" remote changes
Junio C Hamano [Fri, 12 Jul 2013 19:04:04 +0000 (12:04 -0700)]
Merge branch 'jk/maint-config-multi-order'
* jk/maint-config-multi-order:
git-config(1): clarify precedence of multiple values
Junio C Hamano [Fri, 12 Jul 2013 19:04:01 +0000 (12:04 -0700)]
Merge branch 'as/log-output-encoding-in-user-format'
"log --format=" did not honor i18n.logoutputencoding configuration
and this attempts to fix it.
* as/log-output-encoding-in-user-format:
t4205 (log-pretty-formats): avoid using `sed`
t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set
t4205, t6006, t7102: make functions better readable
t4205 (log-pretty-formats): revert back single quotes
t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
t4205: replace .\+ with ..* in sed commands
pretty: --format output should honor logOutputEncoding
pretty: Add failing tests: --format output should honor logOutputEncoding
t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
t7102 (reset): don't hardcode SHA-1 in expected outputs
t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs
Nguyễn Thái Ngọc Duy [Fri, 12 Jul 2013 05:37:42 +0000 (12:37 +0700)]
git-clone.txt: remove the restriction on pushing from a shallow clone
The document says one cannot push from a shallow clone. But that is
not true (maybe it was at some point in the past). The client does not
stop such a push nor does it give any indication to the receiver that
this is a shallow push. If the receiver accepts it, it's in.
Since
52fed6e (receive-pack: check connectivity before concluding "git
push" - 2011-09-02), receive-pack is prepared to deal with broken
push, a shallow push can't cause any corruption. Update the document
to reflect that.
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 [Thu, 11 Jul 2013 20:25:18 +0000 (13:25 -0700)]
Update draft release notes to 1.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 11 Jul 2013 20:06:11 +0000 (13:06 -0700)]
Merge branch 'jc/t1512-fix'
A test that should have failed but didn't revealed a bug that needs
to be corrected.
* jc/t1512-fix:
get_short_sha1(): correctly disambiguate type-limited abbreviation
t1512: correct leftover constants from earlier edition
Junio C Hamano [Thu, 11 Jul 2013 20:06:02 +0000 (13:06 -0700)]
Merge branch 'tr/test-v-and-v-subtest-only'
Finishing touches to a topic that is already in master for the
upcoming release.
* tr/test-v-and-v-subtest-only:
t0000: do not use export X=Y
Junio C Hamano [Thu, 11 Jul 2013 20:05:58 +0000 (13:05 -0700)]
Merge branch 'af/rebase-i-merge-options'
"git rebase -i" now honors --strategy and -X options.
* af/rebase-i-merge-options:
Do not ignore merge options in interactive rebase
Junio C Hamano [Thu, 11 Jul 2013 20:05:52 +0000 (13:05 -0700)]
Merge branch 'pb/stash-refuse-to-kill'
"git stash save" is not just about "saving" the local changes, but
also is to restore the working tree state to that of HEAD. If you
changed a non-directory into a directory in the local change, you
may have untracked files in that directory, which have to be killed
while doing so, unless you run it with --include-untracked. Teach
the command to detect and error out before spreading the damage.
This needed a small fix to "ls-files --killed".
* pb/stash-refuse-to-kill:
git stash: avoid data loss when "git stash save" kills a directory
treat_directory(): do not declare submodules to be untracked
Junio C Hamano [Thu, 11 Jul 2013 20:05:45 +0000 (13:05 -0700)]
Merge branch 'jc/maint-diff-core-safecrlf'
"git diff" refused to even show difference when core.safecrlf is
set to true (i.e. error out) and there are offending lines in the
working tree files.
* jc/maint-diff-core-safecrlf:
diff: demote core.safecrlf=true to core.safecrlf=warn
Junio C Hamano [Thu, 11 Jul 2013 20:05:34 +0000 (13:05 -0700)]
Merge branch 'jg/status-config'
"git status" learned status.branch and status.short configuration
variables to use --branch and --short options by default (override
with --no-branch and --no-short options from the command line).
* jg/status-config:
status/commit: make sure --porcelain is not affected by user-facing config
commit: make it work with status.short
status: introduce status.branch to enable --branch by default
status: introduce status.short to enable --short by default
Junio C Hamano [Thu, 11 Jul 2013 20:05:28 +0000 (13:05 -0700)]
Merge branch 'jk/bash-completion'
* jk/bash-completion:
completion: learn about --man-path
completion: handle unstuck form of base git options
Junio C Hamano [Thu, 11 Jul 2013 20:04:33 +0000 (13:04 -0700)]
Merge branch 'rr/rebase-checkout-reflog'
Invocations of "git checkout" used internally by "git rebase" were
counted as "checkout", and affected later "git checkout -" to the
the user to an unexpected place.
* rr/rebase-checkout-reflog:
checkout: respect GIT_REFLOG_ACTION
status: do not depend on rebase reflog messages
t/t2021-checkout-last: "checkout -" should work after a rebase finishes
wt-status: remove unused field in grab_1st_switch_cbdata
t7512: test "detached from" as well
Junio C Hamano [Thu, 11 Jul 2013 20:03:21 +0000 (13:03 -0700)]
Merge branch 'jc/triangle-push-fixup'
Earlier remote.pushdefault (and per-branch branch.*.pushremote)
were introduced as an additional mechanism to choose what
repository to push into when "git push" did not say it from the
command line, to help people who push to a repository that is
different from where they fetch from. This attempts to finish that
topic by teaching the default mechanism to choose branch in the
remote repository to be updated by such a push.
The 'current', 'matching' and 'nothing' modes (specified by the
push.default configuration variable) extend to such a "triangular"
workflow naturally, but 'upstream' and 'simple' have to be updated.
. 'upstream' is about pushing back to update the branch in the
remote repository that the current branch fetches from and
integrates with, it errors out in a triangular workflow.
. 'simple' is meant to help new people by avoiding mistakes, and
will be the safe default in Git 2.0.
In a non-triangular workflow, it will continue to act as a cross
between 'upstream' and 'current' in that it pushes to the current
branch's @{upstream} only when it is set to the same name as the
current branch (e.g. your 'master' forks from the 'master' from
the central repository).
In a triangular workflow, this series tentatively defines it as
the same as 'current', but we may have to tighten it to avoid
surprises in some way.
* jc/triangle-push-fixup:
t/t5528-push-default: test pushdefault workflows
t/t5528-push-default: generalize test_push_*
push: change `simple` to accommodate triangular workflows
config doc: rewrite push.default section
t/t5528-push-default: remove redundant test_config lines
Junio C Hamano [Thu, 11 Jul 2013 20:03:16 +0000 (13:03 -0700)]
Merge branch 'mh/maint-lockfile-overflow'
* mh/maint-lockfile-overflow:
lockfile: fix buffer overflow in path handling
John Keeping [Sun, 7 Jul 2013 19:02:15 +0000 (20:02 +0100)]
pull: change the description to "integrate" changes
Since git-pull learned the --rebase option it has not just been about
merging changes from a remote repository (where "merge" is in the sense
of "git merge"). Change the description to use "integrate" instead of
"merge" in order to reflect this.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 8 Jul 2013 15:20:32 +0000 (17:20 +0200)]
test-lint: detect 'export FOO=bar'
Some shells do not understand the one-line construct, and instead need
FOO=bar &&
export FOO
Detect this in the test-lint target.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 8 Jul 2013 15:20:31 +0000 (17:20 +0200)]
t9902: fix 'test A == B' to use = operator
The == operator as an alias to = is not POSIX. This doesn't actually
matter for the execution of the script, because it only runs when the
shell is bash. However, it trips up test-lint, so it's nicer to use
the standard form.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Torsten Bögershausen [Mon, 8 Jul 2013 09:21:22 +0000 (11:21 +0200)]
t0000: do not use export X=Y
The shell syntax "export X=Y A=B" is not understood by all shells.
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Sun, 7 Jul 2013 19:02:14 +0000 (20:02 +0100)]
push: avoid suggesting "merging" remote changes
With some workflows, it is more suitable to rebase on top of remote
changes when a push does not fast-forward. Change the advice messages
in git-push to suggest that a user "integrate the remote changes"
instead of "merge the remote changes" to make this slightly clearer.
Also change the suggested 'git pull' to 'git pull ...' to hint to users
that they may want to add other parameters.
Suggested-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Sun, 7 Jul 2013 19:49:56 +0000 (20:49 +0100)]
git-config(1): clarify precedence of multiple values
In order to clarify which value is used when there are multiple values
defined for a key, re-order the list of file locations so that it runs
from least specific to most specific. Then add a paragraph which simply
says that the last value will be used.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Sun, 7 Jul 2013 12:43:16 +0000 (18:13 +0530)]
name-rev doc: rewrite --stdin paragraph
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty [Sat, 6 Jul 2013 19:48:52 +0000 (21:48 +0200)]
lockfile: fix buffer overflow in path handling
The path of the file to be locked is held in lock_file::filename,
which is a fixed-length buffer of length PATH_MAX. This buffer is
also (temporarily) used to hold the path of the lock file, which is
the path of the file being locked plus ".lock". Because of this, the
path of the file being locked must be less than (PATH_MAX - 5)
characters long (5 chars are needed for ".lock" and one character for
the NUL terminator).
On entry into lock_file(), the path length was only verified to be
less than PATH_MAX characters, not less than (PATH_MAX - 5)
characters.
When and if resolve_symlink() is called, then that function is
correctly told to treat the buffer as (PATH_MAX - 5) characters long.
This part is correct. However:
* If LOCK_NODEREF was specified, then resolve_symlink() is never
called.
* If resolve_symlink() is called but the path is not a symlink, then
the length check is never applied.
So it is possible for a path with length (PATH_MAX - 5 <= len <
PATH_MAX) to make it through the checks. When ".lock" is strcat()ted
to such a path, the lock_file::filename buffer is overflowed.
Fix the problem by adding a check when entering lock_file() that the
original path is less than (PATH_MAX - 5) characters.
[jc: with independent development by Peff]
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 6 Jul 2013 13:53:27 +0000 (15:53 +0200)]
diffcore-pickaxe: simplify has_changes and contains
Halve the number of callsites of contains() to two using temporary
variables, simplifying the code. While at it, get rid of the
diff_options parameter, which became unused with
8fa4b09f.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Fraser Tweedale [Fri, 5 Jul 2013 08:42:17 +0000 (18:42 +1000)]
diff-options: document default similarity index
The default similarity index of 50% is documented in gitdiffcore(7)
but it is worth also mentioning it in the description of the
-M/--find-renames option.
Signed-off-by: Fraser Tweedale <frase@frase.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alexey Shumkin [Fri, 5 Jul 2013 12:01:50 +0000 (16:01 +0400)]
t4205 (log-pretty-formats): avoid using `sed`
For testing truncated log messages 'commit_msg' function uses `sed` to
cut a message. On various platforms `sed` behaves differently and
results of its work depend on locales installed. So, avoid using `sed`.
Use predefined expected outputs instead of calculated ones.
Signed-off-by: Alexey Shumkin <Alex.Crezoff@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alexey Shumkin [Fri, 5 Jul 2013 12:01:49 +0000 (16:01 +0400)]
t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set
In
de6029a (pretty: Add failing tests: --format output should honor
logOutputEncoding, 2013-06-26) 'complex-subject' test was changed.
Revert it back, because that change actually removed tests for "%b"
and "%s" with i18n.commitEncoding set. Also, add two more tests for
mentioned above "%b" and "%s" to test encoding conversions with no
i18n.commitEncoding set.
Signed-off-by: Alexey Shumkin <Alex.Crezoff@gmail.com>
Suggested-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alexey Shumkin [Fri, 5 Jul 2013 12:01:48 +0000 (16:01 +0400)]
t4205, t6006, t7102: make functions better readable
Function 'test_format' has become harder to read after its change in
de6029a2 (pretty: Add failing tests: --format output should honor
logOutputEncoding, 2013-06-26). Simplify it by moving its "should we
expect it to fail?" parameter to the end.
Note, current code does not use this last parameter as far as there
are no tests expected to fail. We can keep that for future use.
Also, reformat comments.
Signed-off-by: Alexey Shumkin <Alex.Crezoff@gmail.com>
Improved-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alexey Shumkin [Fri, 5 Jul 2013 12:01:47 +0000 (16:01 +0400)]
t4205 (log-pretty-formats): revert back single quotes
In previuos commit
de6029a (pretty: Add failing tests: --format output
should honor logOutputEncoding, 2013-06-26) single quotes were replaced
with double quotes to make "$(commit_msg)" expression in heredoc to
work. The same effect can be achieved by using "EOF" as a heredoc
delimiter instead of "\EOF".
Signed-off-by: Alexey Shumkin <Alex.Crezoff@gmail.com>
Suggested-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 5 Jul 2013 08:16:27 +0000 (01:16 -0700)]
Merge branch 'maint'
* maint:
fixup-builtins: retire an old transition helper script
Junio C Hamano [Fri, 5 Jul 2013 08:15:48 +0000 (01:15 -0700)]
Merge branch 'tr/test-v-and-v-subtest-only'
Allows N instances of tests run in parallel, each running 1/N parts
of the test suite under Valgrind, to speed things up.
* tr/test-v-and-v-subtest-only:
perf-lib: fix start/stop of perf tests
test-lib: support running tests under valgrind in parallel
test-lib: allow prefixing a custom string before "ok N" etc.
test-lib: valgrind for only tests matching a pattern
test-lib: verbose mode for only tests matching a pattern
test-lib: self-test that --verbose works
test-lib: rearrange start/end of test_expect_* and test_skip
test-lib: refactor $GIT_SKIP_TESTS matching
test-lib: enable MALLOC_* for the actual tests
Mark Levedahl [Thu, 4 Jul 2013 22:04:30 +0000 (18:04 -0400)]
test-lib.sh - cygwin does not have usable FIFOs
Do not use FIFOs on cygwin, they do not work. Cygwin includes
coreutils, so has mkfifo, and that command does something. However,
the resultant named pipe is known (on the Cygwin mailing list at
least) to not work correctly.
This disables PIPE for Cygwin, allowing t0008.sh to complete (all other
tests in that file work correctly).
Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alexey Shumkin [Thu, 4 Jul 2013 12:45:46 +0000 (16:45 +0400)]
t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
Both "iso8859-1" and "iso-8859-1" are understood as latin-1 by
modern platforms, but the latter is not understood by older
platforms;update tests to use the former.
This is in line with
3994e8a9 (t4201: use ISO8859-1 rather than
ISO-8859-1, 2009-12-03), which did the same.
Signed-off-by: Alexey Shumkin <Alex.Crezoff@gmail.com>
Reviewed-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tony Finch [Thu, 4 Jul 2013 17:02:12 +0000 (18:02 +0100)]
gitweb: allow extra breadcrumbs to prefix the trail
There are often parent pages logically above the gitweb projects
list, e.g. home pages of the organization and department that host
the gitweb server. This change allows you to include links to those
pages in gitweb's breadcrumb trail.
Signed-off-by: Tony Finch <dot@dotat.at>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramkumar Ramachandra [Fri, 28 Jun 2013 15:46:19 +0000 (21:16 +0530)]
fixup-builtins: retire an old transition helper script
This script was added in
36e5e70 (Start deprecating "git-command" in
favor of "git command", 2007-06-30) with the intent of aiding the
transition away from dashed forms.
It has already been used to help the transision and served its
purpose, and is no longer very useful for follow-up work, because
the majority of remaining matches it finds are false positives.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 3 Jul 2013 22:43:49 +0000 (15:43 -0700)]
Merge branch 'maint'
* maint:
Update draft release notes to 1.8.3.3
git-config: update doc for --get with multiple values
Junio C Hamano [Wed, 3 Jul 2013 22:43:41 +0000 (15:43 -0700)]
Update draft release notes to 1.8.3.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 3 Jul 2013 22:41:17 +0000 (15:41 -0700)]
Merge branch 'rr/diffcore-pickaxe-doc' into maint
* rr/diffcore-pickaxe-doc:
diffcore-pickaxe doc: document -S and -G properly
diffcore-pickaxe: make error messages more consistent
Junio C Hamano [Wed, 3 Jul 2013 22:41:05 +0000 (15:41 -0700)]
Merge branch 'cr/git-work-tree-sans-git-dir' into maint
* cr/git-work-tree-sans-git-dir:
git.txt: remove stale comment regarding GIT_WORK_TREE
Junio C Hamano [Wed, 3 Jul 2013 22:40:38 +0000 (15:40 -0700)]
Merge branch 'fc/do-not-use-the-index-in-add-to-index' into maint
* fc/do-not-use-the-index-in-add-to-index:
read-cache: trivial style cleanups
read-cache: fix wrong 'the_index' usage
Junio C Hamano [Wed, 3 Jul 2013 22:39:37 +0000 (15:39 -0700)]
Merge branch 'dm/unbash-subtree' into maint
* dm/unbash-subtree:
contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash
Junio C Hamano [Wed, 3 Jul 2013 22:39:15 +0000 (15:39 -0700)]
Merge branch 'jc/core-checkstat' into maint
* jc/core-checkstat:
deprecate core.statinfo at Git 2.0 boundary
Junio C Hamano [Wed, 3 Jul 2013 22:37:58 +0000 (15:37 -0700)]
Merge branch 'jc/t5551-posix-sed-bre' into maint
* jc/t5551-posix-sed-bre:
t5551: do not use unportable sed '\+'
Junio C Hamano [Wed, 3 Jul 2013 22:37:50 +0000 (15:37 -0700)]
Merge branch 'vv/help-unknown-ref' into maint
* vv/help-unknown-ref:
merge: use help_unknown_ref()
help: add help_unknown_ref()
Junio C Hamano [Wed, 3 Jul 2013 22:36:54 +0000 (15:36 -0700)]
Merge branch 'rs/empty-archive' into maint
* rs/empty-archive:
t5004: resurrect original empty tar archive test
t5004: avoid using tar for checking emptiness of archive
Conflicts:
t/t5004-archive-corner-cases.sh
Junio C Hamano [Wed, 3 Jul 2013 22:36:30 +0000 (15:36 -0700)]
Merge branch 'rh/merge-options-doc-fix' into maint
* rh/merge-options-doc-fix:
Documentation/merge-options.txt: restore `-e` option
Junio C Hamano [Wed, 3 Jul 2013 22:35:55 +0000 (15:35 -0700)]
Merge branch 'an/diff-index-doc' into maint
* an/diff-index-doc:
Documentation/diff-index: mention two modes of operation
Junio C Hamano [Wed, 3 Jul 2013 22:31:36 +0000 (15:31 -0700)]
Merge branch 'cm/gitweb-project-list-persistent-cgi-fix' into maint
"gitweb" forgot to clear a global variable $search_regexp upon each
request, mistakenly carrying over the previous search to a new one
when used as a persistent CGI.
* cm/gitweb-project-list-persistent-cgi-fix:
gitweb: fix problem causing erroneous project list
Junio C Hamano [Wed, 3 Jul 2013 22:31:27 +0000 (15:31 -0700)]
Merge branch 'ar/wildmatch-foldcase' into maint
The wildmatch engine did not honor WM_CASEFOLD option correctly.
* ar/wildmatch-foldcase:
wildmatch: properly fold case everywhere
Junio C Hamano [Wed, 3 Jul 2013 22:30:59 +0000 (15:30 -0700)]
Merge branch 'cb/log-follow-with-combined' into maint
"git log -c --follow $path" segfaulted upon hitting the commit that
renamed the $path being followed.
* cb/log-follow-with-combined:
fix segfault with git log -c --follow
Junio C Hamano [Wed, 3 Jul 2013 22:30:24 +0000 (15:30 -0700)]
Merge branch 'rr/die-on-missing-upstream' into maint
When a reflog notation is used for implicit "current branch", we did
not say which branch, and worse said "branch ''".
* rr/die-on-missing-upstream:
sha1_name: fix error message for @{<N>}, @{<date>}
sha1_name: fix error message for @{u}
Junio C Hamano [Wed, 3 Jul 2013 22:27:19 +0000 (15:27 -0700)]
Merge branch 'maint-1.8.2' into maint
* maint-1.8.2:
git-config: update doc for --get with multiple values
Junio C Hamano [Wed, 3 Jul 2013 22:26:53 +0000 (15:26 -0700)]
Merge branch 'maint-1.8.1' into maint-1.8.2
* maint-1.8.1:
git-config: update doc for --get with multiple values
Michael Schubert [Wed, 3 Jul 2013 09:12:34 +0000 (11:12 +0200)]
Change "remote tracking" to "remote-tracking"
Fix a typo ("remote remote-tracking") going back to the big cleanup
in 2010 (
8b3f3f84 etc). Also, remove some more occurrences of
"tracking" and "remote tracking" in favor of "remote-tracking".
Signed-off-by: Michael Schubert <mschub@elegosoft.com>
Reviewed-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Wed, 3 Jul 2013 09:14:19 +0000 (11:14 +0200)]
git-remote-mediawiki: un-brace file handles in binmode calls
Commit
e83d36b66fc turned "print STDOUT" into "print {*STDOUT}", as
suggested by perlcritic. Unfortunately, it also changed two "binmode
STDOUT" calls the same way, which does not work and yield a "Not a GLOB
reference" error.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Wed, 3 Jul 2013 18:27:39 +0000 (19:27 +0100)]
git-config: update doc for --get with multiple values
Since commit
00b347d (git-config: do not complain about duplicate
entries, 2012-10-23), "git config --get" does not exit with an error if
there are multiple values for the specified key but instead returns the
last value. Update the documentation to reflect this.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Arnaud Fontaine [Tue, 2 Jul 2013 08:05:48 +0000 (17:05 +0900)]
Do not ignore merge options in interactive rebase
Merge strategy and its options can be specified in `git rebase`,
but with `--interactive`, they were completely ignored.
Signed-off-by: Arnaud Fontaine <arnau@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 2 Jul 2013 04:54:45 +0000 (21:54 -0700)]
get_short_sha1(): correctly disambiguate type-limited abbreviation
One test in t1512 that expects a failure incorrectly passed. The
test prepares a commit whose object name begins with ten "0"s, and
also prepares a tag that points at the commit. The object name of
the tag also begins with ten "0"s. There is no other commit-ish
object in the repository whose name begins with such a prefix.
Ideally, in such a repository:
$ git rev-parse --verify
0000000000^{commit}
should yield that commit. If
0000000000 is taken as the commit
0000000000e4f, peeling it to a commmit yields that commit itself,
and if
0000000000 is taken as the tag
0000000000f8f, peeling it to a
commit also yields the same commit, so in that twisted sense, the
extended SHA-1 expression
0000000000^{commit} is unambigous. The
test that expects a failure is to check the above command.
The reason the test expects a failure is that we did not implement
such a "unification" of two candidate objects. What we did (or at
least, meant to) implement was to recognise that a commit-ish is
required to expand
0000000000, and notice that there are two succh
commit-ish, and diagnose the request as ambiguous.
However, there was a bug in the logic to check the candidate
objects. When the code saw
0000000000f8f (a tag) that shared the
shortened prefix (ten "0"s), it tried to make sure that the tag is a
commit-ish by looking at the tag object. Because it incorrectly
used lookup_object() when the tag has not been parsed, however, we
incorrectly declared that the tag is _not_ a commit-ish, leaving the
sole commit in the repository,
0000000000e4f, that has the required
prefix as "unique match", causing the test to pass when it shouldn't.
This fixes the logic to inspect the type of the object a tag refers
to, to make the test that is expected to fail correctly fail.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 2 Jul 2013 04:49:09 +0000 (21:49 -0700)]
t1512: correct leftover constants from earlier edition
The earliest iteration of this test script used a magic string
110282 as the common prefix for ambiguous object names, but the
final edition switched the common prefix to
0000000000 (10 "0"s).
Unfortunately, instances of the original prefix were left in the
comments and a few tests. Replace them with the correct constants.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Petr Baudis [Fri, 28 Jun 2013 15:05:32 +0000 (17:05 +0200)]
git stash: avoid data loss when "git stash save" kills a directory
"stash save" is about saving the local change to the working tree,
but also about restoring the state of the last commit to the working
tree. When a local change is to turn a non-directory to a directory,
in order to restore the non-directory, everything in the directory
needs to be removed.
Which is fine when running "git stash save --include-untracked",
but without that option, untracked, newly created files in the
directory will have to be discarded, if the state you are restoring
to has a non-directory at the same path as the directory.
Introduce a safety valve to fail the operation in such case, using
the "ls-files --killed" which was designed for this exact purpose.
The "stash save" is stopped when untracked files need to be
discarded because their leading path ceased to be a directory, and
the user is required to pass --force to really have the data
removed.
Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 1 Jul 2013 21:00:32 +0000 (14:00 -0700)]
treat_directory(): do not declare submodules to be untracked
When the working tree walker encounters a directory, it asks the
function treat_directory() if it should descend into it, show it as
an untracked directory, or do something else. When the directory is
the top of the submodule working tree, we used to say "That is an
untracked directory", which was bogus.
It is an entity that is tracked in the index of the repository we
are looking at, and that is not to be descended into it. Return
path_none, not path_untracked, to report that.
The existing case that path_untracked is returned for a newly
discovered submodule that is not tracked in the index (this only
happens when DIR_NO_GITLINKS option is not used) is unchanged, but
that is exactly because the submodule is not tracked in the index.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 1 Jul 2013 19:46:54 +0000 (12:46 -0700)]
Merge branch 'maint'
* maint:
t7500: fix flipped actual/expect
lib-rebase: document exec_ in FAKE_LINES
Junio C Hamano [Mon, 1 Jul 2013 19:46:41 +0000 (12:46 -0700)]
Update draft release notes to 1.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 1 Jul 2013 19:41:58 +0000 (12:41 -0700)]
Merge branch 'rr/remote-branch-config-refresh'
The original way to specify remote repository using .git/branches/
used to have a nifty feature. The code to support the feature was
still in a function but the caller was changed not to call it 5
years ago, breaking that feature and leaving the supporting code
unreachable.
* rr/remote-branch-config-refresh:
t/t5505-remote: test multiple push/pull in remotes-file
ls-remote doc: don't encourage use of branches-file
ls-remote doc: rewrite <repository> paragraph
ls-remote doc: fix example invocation on git.git
t/t5505-remote: test url-with-# in branches-file
remote: remove dead code in read_branches_file()
t/t5505-remote: use test_path_is_missing
t/t5505-remote: test push-refspec in branches-file
t/t5505-remote: modernize style
Junio C Hamano [Mon, 1 Jul 2013 19:41:55 +0000 (12:41 -0700)]
Merge branch 'ed/color-prompt'
Code clean-up for in-prompt status script (in contrib/).
* ed/color-prompt:
git-prompt.sh: add missing information in comments
git-prompt.sh: do not print duplicate clean color code
t9903: remove redundant tests
git-prompt.sh: refactor colored prompt code
t9903: add tests for git-prompt pcmode
Junio C Hamano [Mon, 1 Jul 2013 19:41:52 +0000 (12:41 -0700)]
Merge branch 'ap/rebase-multiple-fixups'
Having multiple "fixup!" on a line in the rebase instruction sheet
did not work very well with "git rebase -i --autosquash".
* ap/rebase-multiple-fixups:
lib-rebase: style: use write_script, <<-\EOF
rebase -i: handle fixup! fixup! in --autosquash
Junio C Hamano [Mon, 1 Jul 2013 19:41:48 +0000 (12:41 -0700)]
Merge branch 'kb/am-deprecate-resolved'
Promote "git am --continue" over "git am --resolved" for UI
consistency.
* kb/am-deprecate-resolved:
am: replace uses of --resolved with --continue
Junio C Hamano [Mon, 1 Jul 2013 19:41:46 +0000 (12:41 -0700)]
Merge branch 'rr/column-doc'
* rr/column-doc:
column doc: rewrite documentation for column.ui
Junio C Hamano [Mon, 1 Jul 2013 19:41:43 +0000 (12:41 -0700)]
Merge branch 'ft/doc-git-transport'
* ft/doc-git-transport:
documentation: add git:// transport security notice
Junio C Hamano [Mon, 1 Jul 2013 19:41:41 +0000 (12:41 -0700)]
Merge branch 'sb/mailmap-merijn-brand'
* sb/mailmap-merijn-brand:
.mailmap: Map "H.Merijn Brand" to "H. Merijn Brand"
Junio C Hamano [Mon, 1 Jul 2013 19:41:37 +0000 (12:41 -0700)]
Merge branch 'sg/bash-prompt'
* sg/bash-prompt:
bash prompt: mention that PROMPT_COMMAND mode is faster
bash prompt: avoid command substitution when finalizing gitstring
bash prompt: avoid command substitution when checking for untracked files
bash prompt: use bash builtins to check stash state
bash prompt: use bash builtins to check for unborn branch for dirty state
bash prompt: combine 'git rev-parse' for detached head
bash prompt: combine 'git rev-parse' executions in the main code path
bash prompt: use bash builtins to find out current branch
bash prompt: use bash builtins to find out rebase state
bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir()
bash prompt: return early from __git_ps1() when not in a git repository
bash prompt: print unique detached HEAD abbreviated object name
bash prompt: add a test for symbolic link symbolic refs
completion, bash prompt: move __gitdir() tests to completion test suite
bash prompt: use 'write_script' helper in interactive rebase test
bash prompt: fix redirection coding style in tests
Junio C Hamano [Mon, 1 Jul 2013 19:41:34 +0000 (12:41 -0700)]
Merge branch 'wk/doc-in-linux-3.x-era'
Update documentation to match more recent realities.
* wk/doc-in-linux-3.x-era:
Documentation: Update 'linux-2.6.git' -> 'linux.git'
Documentation: Update the NFS remote examples to use the staging repo
doc/clone: Pick more compelling paths for the --reference example
doc/clone: Remove the '--bare -l -s' example
Junio C Hamano [Mon, 1 Jul 2013 19:41:22 +0000 (12:41 -0700)]
Merge branch 'jc/topo-author-date-sort'
"git log" learned the "--author-date-order" option, with which the
output is topologically sorted and commits in parallel histories
are shown intermixed together based on the author timestamp.
* jc/topo-author-date-sort:
t6003: add --author-date-order test
topology tests: teach a helper to set author dates as well
t6003: add --date-order test
topology tests: teach a helper to take abbreviated timestamps
t/lib-t6000: style fixes
log: --author-date-order
sort-in-topological-order: use prio-queue
prio-queue: priority queue of pointers to structs
toposort: rename "lifo" field
Junio C Hamano [Mon, 1 Jul 2013 19:41:19 +0000 (12:41 -0700)]
Merge branch 'jk/commit-info-slab'
Allow adding custom information to commit objects in order to
represent unbound number of flag bits etc.
* jk/commit-info-slab:
commit-slab: introduce a macro to define a slab for new type
commit-slab: avoid large realloc
commit: allow associating auxiliary info on-demand
Brian Gernhardt [Mon, 1 Jul 2013 18:59:59 +0000 (14:59 -0400)]
t4205: replace .\+ with ..* in sed commands
OS X's sed only accepts basic regular expressions, which does not
allow the + quantifier. However '..*' (anything, followed by zero or
more anything) is the same as '.\+' (one or more anything) and valid
in any regular expression language.
Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Andrew Pimlott [Mon, 1 Jul 2013 16:23:38 +0000 (09:23 -0700)]
lib-rebase: style: use write_script, <<-\EOF
Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Andrew Pimlott [Mon, 1 Jul 2013 16:20:36 +0000 (09:20 -0700)]
t7500: fix flipped actual/expect
Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Andrew Pimlott [Mon, 1 Jul 2013 16:20:35 +0000 (09:20 -0700)]
lib-rebase: document exec_ in FAKE_LINES
Signed-off-by: Andrew Pimlott <andrew@pimlott.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Sat, 22 Jun 2013 11:25:18 +0000 (12:25 +0100)]
completion: learn about --man-path
Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Sat, 22 Jun 2013 11:25:17 +0000 (12:25 +0100)]
completion: handle unstuck form of base git options
git-completion.bash's parsing of the command name relies on everything
preceding it starting with '-' unless it is the "-c" option. This
allows users to use the stuck form of "--work-tree=<path>" and
"--namespace=<path>" but not the unstuck forms "--work-tree <path>" and
"--namespace <path>". Fix this.
Similarly, the completion only handles the stuck form "--git-dir=<path>"
and not "--git-dir <path>", so fix this as well.
Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 30 Jun 2013 22:45:43 +0000 (15:45 -0700)]
Merge branch 'maint'
* maint:
Start preparing for 1.8.3.3
check-ignore doc: fix broken link to ls-files page
test: spell 'ls-files --delete' option correctly in test descriptions
Junio C Hamano [Sun, 30 Jun 2013 22:45:26 +0000 (15:45 -0700)]
Update draft release notes to 1.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 30 Jun 2013 22:40:01 +0000 (15:40 -0700)]
Merge branch 'mh/ref-races'
"git pack-refs" that races with new ref creation or deletion have
been susceptible to lossage of refs under right conditions, which
has been tightened up.
* mh/ref-races:
for_each_ref: load all loose refs before packed refs
get_packed_ref_cache: reload packed-refs file when it changes
add a stat_validity struct
Extract a struct stat_data from cache_entry
packed_ref_cache: increment refcount when locked
do_for_each_entry(): increment the packed refs cache refcount
refs: manage lifetime of packed refs cache via reference counting
refs: implement simple transactions for the packed-refs file
refs: wrap the packed refs cache in a level of indirection
pack_refs(): split creation of packed refs and entry writing
repack_without_ref(): split list curation and entry writing
Junio C Hamano [Sun, 30 Jun 2013 22:39:53 +0000 (15:39 -0700)]
Merge branch 'ap/diff-ignore-blank-lines'
"git diff" learned a mode that ignores hunks whose change consists
only of additions and removals of blank lines, which is the same as
"diff -B" (ignore blank lines) of GNU diff.
* ap/diff-ignore-blank-lines:
diff: add --ignore-blank-lines option
Junio C Hamano [Sun, 30 Jun 2013 22:39:47 +0000 (15:39 -0700)]
Merge branch 'mh/loose-refs-race-with-pack-ref'
We read loose and packed rerferences in two steps, but after
deciding to read a loose ref but before actually opening it to read
it, another process racing with us can unlink it, which would cause
us to barf. Update the codepath to retry when such a race is
detected.
* mh/loose-refs-race-with-pack-ref:
resolve_ref_unsafe(): close race condition reading loose refs
resolve_ref_unsafe(): handle the case of an SHA-1 within loop
resolve_ref_unsafe(): extract function handle_missing_loose_ref()
Junio C Hamano [Sun, 30 Jun 2013 22:39:41 +0000 (15:39 -0700)]
Merge branch 'nk/name-rev-abbreviated-refs'
"git name-rev --refs=tags/v*" were forbidden, which was a bit
inconvenient (you had to give a pattern to match refs fully, like
--refs=refs/tags/v*).
* nk/name-rev-abbreviated-refs:
name-rev: allow to specify a subpath for --refs option
Junio C Hamano [Sun, 30 Jun 2013 22:39:35 +0000 (15:39 -0700)]
Merge branch 'jk/submodule-subdirectory-ok'
Allow various subcommands of "git submodule" to be run not from the
top of the working tree of the superproject.
* jk/submodule-subdirectory-ok:
submodule: drop the top-level requirement
rev-parse: add --prefix option
submodule: show full path in error message
t7403: add missing && chaining
t7403: modernize style
t7401: make indentation consistent
Junio C Hamano [Sun, 30 Jun 2013 22:36:03 +0000 (15:36 -0700)]
Start preparing for 1.8.3.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 30 Jun 2013 22:33:40 +0000 (15:33 -0700)]
Merge branch 'fc/macos-x-clipped-write' into maint
Mac OS X does not like to write(2) more than INT_MAX number of
bytes; work it around by chopping write(2) into smaller pieces.
* fc/macos-x-clipped-write:
compate/clipped-write.c: large write(2) fails on Mac OS X/XNU
Junio C Hamano [Sun, 30 Jun 2013 22:33:13 +0000 (15:33 -0700)]
Merge branch 'da/darwin' into maint
Newer MacOS X encourages the programs to compile and link with their
CommonCrypto, not with OpenSSL.
* da/darwin:
imap-send: eliminate HMAC deprecation warnings on Mac OS X
cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
Makefile: add support for Apple CommonCrypto facility
Makefile: fix default regex settings on Darwin
Ramkumar Ramachandra [Sun, 30 Jun 2013 12:05:28 +0000 (17:35 +0530)]
check-ignore doc: fix broken link to ls-files page
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
SZEDER Gábor [Sun, 30 Jun 2013 10:45:25 +0000 (12:45 +0200)]
test: spell 'ls-files --delete' option correctly in test descriptions
The option is spelled '--deleted'.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Gummerer [Sat, 29 Jun 2013 13:38:39 +0000 (15:38 +0200)]
perf-lib: fix start/stop of perf tests
ae75342 test-lib: rearrange start/end of test_expect_* and test_skip
changed the way tests are started/stopped, but did not update the perf
tests. They were therefore giving the wrong output, because of the
wrong test count. Fix this by starting and stopping the tests
correctly.
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>