OSDN Git Service
Junio C Hamano [Mon, 3 Jun 2013 20:00:03 +0000 (13:00 -0700)]
Sync with maint
Junio C Hamano [Mon, 3 Jun 2013 19:58:56 +0000 (12:58 -0700)]
Merge branch 'kb/status-ignored-optim-2'
Fix 1.8.3 regressions in the .gitignore path exclusion logic.
* kb/status-ignored-optim-2:
dir.c: fix ignore processing within not-ignored directories
Felipe Contreras [Thu, 30 May 2013 13:56:21 +0000 (08:56 -0500)]
sha1_file: trivial style cleanup
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Thu, 30 May 2013 13:46:35 +0000 (08:46 -0500)]
test: fix post rewrite hook report
First expected, then actual.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 2 Jun 2013 23:02:21 +0000 (16:02 -0700)]
Update draft release notes to 1.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 2 Jun 2013 23:00:44 +0000 (16:00 -0700)]
Merge branch 'tr/line-log'
* tr/line-log:
git-log(1): remove --full-line-diff description
line-log: fix documentation formatting
log -L: improve comments in process_all_files()
log -L: store the path instead of a diff_filespec
log -L: test merge of parallel modify/rename
t4211: pass -M to 'git log -M -L...' test
log -L: fix overlapping input ranges
log -L: check range set invariants when we look it up
Speed up log -L... -M
log -L: :pattern:file syntax to find by funcname
Implement line-history search (git log -L)
Export rewrite_parents() for 'log -L'
Refactor parse_loc
Junio C Hamano [Sun, 2 Jun 2013 22:59:49 +0000 (15:59 -0700)]
Merge branch 'mc/describe-first-parent'
* mc/describe-first-parent:
describe: Add --first-parent option
Junio C Hamano [Sun, 2 Jun 2013 22:59:46 +0000 (15:59 -0700)]
Merge branch 'rs/tar-tests'
* rs/tar-tests:
t5000: test long filenames
t5000: simplify tar-tree tests
t5000: use check_tar for prefix test
t5000: factor out check_tar
t5000, t5003: create directories for extracted files lazily
t5000: integrate export-subst tests into regular tests
Junio C Hamano [Sun, 2 Jun 2013 22:58:53 +0000 (15:58 -0700)]
Merge branch 'jc/strbuf-branchname-fix'
"git merge @{-1}~22" was rewritten to "git merge frotz@{1}~22"
incorrectly when your previous branch was "frotz" (it should be
rewritten to "git merge frotz~22" instead).
* jc/strbuf-branchname-fix:
strbuf_branchname(): do not double-expand @{-1}~22
Junio C Hamano [Sun, 2 Jun 2013 22:57:26 +0000 (15:57 -0700)]
Merge branch 'jk/fetch-always-update-tracking'
"git fetch origin master" unlike "git fetch origin" or "git fetch"
did not update "refs/remotes/origin/master"; this was an early
design decision to keep the update of remote tracking branches
predictable, but in practice it turns out that people find it more
convenient to opportunisticly update them whenever we have a chance,
and we have been updating them when we run "git push" which already
breaks the original "predictability" anyway.
Now such a fetch does update refs/remotes/origin/master.
* jk/fetch-always-update-tracking:
fetch: don't try to update unfetched tracking refs
fetch: opportunistically update tracking refs
refactor "ref->merge" flag
fetch/pull doc: untangle meaning of bare <ref>
t5510: start tracking-ref tests from a known state
Junio C Hamano [Sun, 2 Jun 2013 22:57:18 +0000 (15:57 -0700)]
Merge branch 'tr/coverage'
Update the test coverage support that was left to bitrot for some
time.
* tr/coverage:
coverage: build coverage-untested-functions by default
coverage: set DEFAULT_TEST_TARGET to avoid using prove
coverage: do not delete .gcno files before building
coverage: split build target into compile and test
Junio C Hamano [Sun, 2 Jun 2013 22:56:46 +0000 (15:56 -0700)]
Merge branch 'mk/combine-diff-context-horizon-fix'
"git diff -c -p" was not showing a deleted line from a hunk when
another hunk immediately begins where the earlier one ends.
* mk/combine-diff-context-horizon-fix:
combine-diff.c: Fix output when changes are exactly 3 lines apart
Junio C Hamano [Sun, 2 Jun 2013 22:56:11 +0000 (15:56 -0700)]
Merge branch 'kb/ancestry-path-threedots'
"git log --ancestry-path A...B" did not work as expected, as it did
not pay attention to the fact that the merge base between A and B
was the bottom of the range being specified.
* kb/ancestry-path-threedots:
revision.c: treat A...B merge bases as if manually specified
t6019: demonstrate --ancestry-path A...B breakage
Junio C Hamano [Sun, 2 Jun 2013 22:56:08 +0000 (15:56 -0700)]
Merge branch 'jc/t5551-posix-sed-bre'
POSIX fix for a test script.
* jc/t5551-posix-sed-bre:
t5551: do not use unportable sed '\+'
Junio C Hamano [Sun, 2 Jun 2013 22:55:48 +0000 (15:55 -0700)]
Merge branch 'da/darwin'
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
Junio C Hamano [Sun, 2 Jun 2013 22:54:54 +0000 (15:54 -0700)]
Merge branch 'fc/macos-x-clipped-write'
Mac OS X does not like to write(2) more than INT_MAX number of
bytes.
* fc/macos-x-clipped-write:
compate/clipped-write.c: large write(2) fails on Mac OS X/XNU
Junio C Hamano [Sun, 2 Jun 2013 22:54:06 +0000 (15:54 -0700)]
Merge branch 'vv/help-unknown-ref'
Detect "git merge foo" that might have meant "git merge origin/foo"
and give an error message that is more specific than "foo is not
something we can merge".
* vv/help-unknown-ref:
merge: use help_unknown_ref()
help: add help_unknown_ref()
Junio C Hamano [Sun, 2 Jun 2013 22:52:22 +0000 (15:52 -0700)]
Merge branch 'nd/clone-local-with-colon'
"git clone foo/bar:baz" cannot be a request to clone from a remote
over git-over-ssh specified in the scp style. Detect this case and
clone from a local repository at "foo/bar:baz".
* nd/clone-local-with-colon:
clone: allow cloning local paths with colons in them
Junio C Hamano [Sun, 2 Jun 2013 22:48:28 +0000 (15:48 -0700)]
Merge branch 'fc/fast-export-persistent-marks'
Optimization for fast-export by avoiding unnecessarily resolving
arbitrary object name and parsing object when only presence and
type information is necessary, etc.
* fc/fast-export-persistent-marks:
fast-{import,export}: use get_sha1_hex() to read from marks file
fast-export: don't parse commits while reading marks file
fast-export: do not parse non-commit objects while reading marks file
Junio C Hamano [Sun, 2 Jun 2013 22:48:24 +0000 (15:48 -0700)]
Merge branch 'rs/empty-archive'
Fixes tests added in 1.8.2 era that are broken on BSDs.
* rs/empty-archive:
t5004: resurrect original empty tar archive test
t5004: avoid using tar for checking emptiness of archive
Junio C Hamano [Sun, 2 Jun 2013 22:48:22 +0000 (15:48 -0700)]
Merge branch 'rh/merge-options-doc-fix'
* rh/merge-options-doc-fix:
Documentation/merge-options.txt: restore `-e` option
Junio C Hamano [Sun, 2 Jun 2013 22:48:17 +0000 (15:48 -0700)]
Merge branch 'an/diff-index-doc'
* an/diff-index-doc:
Documentation/diff-index: mention two modes of operation
Junio C Hamano [Sun, 2 Jun 2013 22:48:12 +0000 (15:48 -0700)]
Merge branch 'fc/completion'
* fc/completion:
completion: remove __git_index_file_list_filter()
completion: add space after completed filename
completion: add hack to enable file mode in bash < 4
completion: refactor __git_complete_index_file()
completion: refactor diff_index wrappers
completion: use __gitcompadd for __gitcomp_file
completion; remove unuseful comments
completion: document tilde expansion failure in tests
completion: add file completion tests
Junio C Hamano [Sun, 2 Jun 2013 22:47:33 +0000 (15:47 -0700)]
Merge branch 'fc/zsh-leftover-bits'
* fc/zsh-leftover-bits:
completion: zsh: improve bash script loading
completion: synchronize zsh wrapper
completion: cleanup zsh wrapper
Karsten Blees [Wed, 29 May 2013 20:32:36 +0000 (22:32 +0200)]
dir.c: fix ignore processing within not-ignored directories
As of
95c6f271 "dir.c: unify is_excluded and is_path_excluded APIs", the
is_excluded API no longer recurses into directories that match an ignore
pattern, and returns the directory's ignored state for all contained paths.
This is OK for normal ignore patterns, i.e. ignoring a directory affects
the entire contents recursively.
Unfortunately, this also "works" for negated ignore patterns ('!dir'), i.e.
the entire contents is "not-ignored" recursively, regardless of ignore
patterns that match the contents directly.
In prep_exclude, skip recursing into a directory only if it is really
ignored (i.e. the ignore pattern is not negated).
Signed-off-by: Karsten Blees <blees@dcon.de>
Tested-by: Øystein Walle <oystwa@gmail.com>
Reviewed-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 29 May 2013 22:21:47 +0000 (15:21 -0700)]
Sync with maint
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 29 May 2013 22:21:15 +0000 (15:21 -0700)]
Start 1.8.3.1 maintenance track
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 29 May 2013 22:20:36 +0000 (15:20 -0700)]
Merge branch 'maint-1.8.2' into maint
* maint-1.8.2:
trivial: Add missing period in documentation
Junio C Hamano [Wed, 29 May 2013 22:19:12 +0000 (15:19 -0700)]
Start 1.8.4 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 29 May 2013 21:30:10 +0000 (14:30 -0700)]
Merge branch 'jn/config-ignore-inaccessible'
When $HOME is misconfigured to point at an unreadable directory, we
used to complain and die. This loosens the check.
* jn/config-ignore-inaccessible:
config: allow inaccessible configuration under $HOME
Junio C Hamano [Wed, 29 May 2013 21:29:58 +0000 (14:29 -0700)]
Merge branch 'jk/lookup-object-prefer-latest'
Optimizes object lookup when the object hashtable starts to become
crowded.
* jk/lookup-object-prefer-latest:
lookup_object: prioritize recently found objects
Junio C Hamano [Wed, 29 May 2013 21:29:53 +0000 (14:29 -0700)]
Merge branch 'jk/subtree-do-not-push-if-split-fails'
"git subtree" (in contrib/) had one codepath with loose error
checks to lose data at the remote side.
* jk/subtree-do-not-push-if-split-fails:
contrib/subtree: don't delete remote branches if split fails
Junio C Hamano [Wed, 29 May 2013 21:29:11 +0000 (14:29 -0700)]
Merge branch 'jk/test-output'
When TEST_OUTPUT_DIRECTORY setting is used, it was handled somewhat
inconsistently between the test framework and t/Makefile, and logic
to summarize the results looked at a wrong place.
* jk/test-output:
t/Makefile: don't define TEST_RESULTS_DIRECTORY recursively
test output: respect $TEST_OUTPUT_DIRECTORY
t/Makefile: fix result handling with TEST_OUTPUT_DIRECTORY
Junio C Hamano [Wed, 29 May 2013 21:24:02 +0000 (14:24 -0700)]
Merge branch 'rj/sparse'
* rj/sparse:
sparse: Fix mingw_main() argument number/type errors
compat/mingw.c: Fix some sparse warnings
compat/win32mmap.c: Fix some sparse warnings
compat/poll/poll.c: Fix a sparse warning
compat/win32/pthread.c: Fix a sparse warning
compat/unsetenv.c: Fix a sparse warning
compat/nedmalloc: Fix compiler warnings on linux
compat/nedmalloc: Fix some sparse warnings
compat/fnmatch/fnmatch.c: Fix a sparse error
compat/regex/regexec.c: Fix some sparse warnings
Junio C Hamano [Wed, 29 May 2013 21:23:49 +0000 (14:23 -0700)]
Merge branch 'mh/packed-refs-various'
Update reading and updating packed-refs file, correcting corner case
bugs.
* mh/packed-refs-various: (33 commits)
refs: handle the main ref_cache specially
refs: change do_for_each_*() functions to take ref_cache arguments
pack_one_ref(): do some cheap tests before a more expensive one
pack_one_ref(): use write_packed_entry() to do the writing
pack_one_ref(): use function peel_entry()
refs: inline function do_not_prune()
pack_refs(): change to use do_for_each_entry()
refs: use same lock_file object for both ref-packing functions
pack_one_ref(): rename "path" parameter to "refname"
pack-refs: merge code from pack-refs.{c,h} into refs.{c,h}
pack-refs: rename handle_one_ref() to pack_one_ref()
refs: extract a function write_packed_entry()
repack_without_ref(): write peeled refs in the rewritten file
t3211: demonstrate loss of peeled refs if a packed ref is deleted
refs: change how packed refs are deleted
search_ref_dir(): return an index rather than a pointer
repack_without_ref(): silence errors for dangling packed refs
t3210: test for spurious error messages for dangling packed refs
refs: change the internal reference-iteration API
refs: extract a function peel_entry()
...
Junio C Hamano [Wed, 29 May 2013 21:23:39 +0000 (14:23 -0700)]
Merge branch 'as/check-ignore'
Enhance "check-ignore" (1.8.2 update) to work more like "check-attr"
over bidi-pipes.
* as/check-ignore:
t0008: use named pipe (FIFO) to test check-ignore streaming
Documentation: add caveats about I/O buffering for check-{attr,ignore}
check-ignore: allow incremental streaming of queries via --stdin
check-ignore: move setup into cmd_check_ignore()
check-ignore: add -n / --non-matching option
t0008: remove duplicated test fixture data
Junio C Hamano [Wed, 29 May 2013 21:23:10 +0000 (14:23 -0700)]
Merge branch 'jh/checkout-auto-tracking'
Update "git checkout foo" that DWIMs the intended "upstream" and
turns it into "git checkout -t -b foo remotes/origin/foo" to
correctly take existing remote definitions into account.
The remote "origin" may be what uniquely map its own branch to
remotes/some/where/foo but that some/where may not be "origin".
* jh/checkout-auto-tracking:
glossary: Update and rephrase the definition of a remote-tracking branch
branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
t9114.2: Don't use --track option against "svn-remote"-tracking branches
t7201.24: Add refspec to keep --track working
t3200.39: tracking setup should fail if there is no matching refspec.
checkout: Use remote refspecs when DWIMming tracking branches
t2024: Show failure to use refspec when DWIMming remote branch names
t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'
Junio C Hamano [Wed, 29 May 2013 21:23:03 +0000 (14:23 -0700)]
Merge branch 'jc/prune-all'
We used the approxidate() parser for "--expire=<timestamp>" options
of various commands, but it is better to treat --expire=all and
--expire=now a bit more specially than using the current timestamp.
Update "git gc" and "git reflog" with a new parsing function for
expiry dates.
* jc/prune-all:
prune: introduce OPT_EXPIRY_DATE() and use it
api-parse-options.txt: document "no-" for non-boolean options
git-gc.txt, git-reflog.txt: document new expiry options
date.c: add parse_expiry_date()
Junio C Hamano [Wed, 29 May 2013 21:20:30 +0000 (14:20 -0700)]
Merge branch 'mh/fetch-into-shallow'
"git fetch" into a shallow repository from a repository that does
not know about the shallow boundary commits (e.g. a different fork
from the repository the current shallow repository was cloned from)
did not work correctly.
* mh/fetch-into-shallow:
t5500: add test for fetching with an unknown 'shallow'
upload-pack: ignore 'shallow' lines with unknown obj-ids
Junio C Hamano [Wed, 29 May 2013 21:20:25 +0000 (14:20 -0700)]
Merge branch 'js/transport-helper-error-reporting-fix'
Finishing touches to fc/transport-helper-error-reporting topic.
* js/transport-helper-error-reporting-fix:
git-remote-testgit: build it to run under $SHELL_PATH
git-remote-testgit: further remove some bashisms
git-remote-testgit: avoid process substitution
Junio C Hamano [Wed, 29 May 2013 21:20:16 +0000 (14:20 -0700)]
Merge branch 'fc/transport-helper-error-reporting'
Update transport helper to report errors and maintain ref hierarchy
used to keep track of remote helper state better.
* fc/transport-helper-error-reporting:
transport-helper: fix remote helper namespace regression
test: remote-helper: add missing and
t5801: "VAR=VAL shell_func args" is forbidden
transport-helper: update remote helper namespace
transport-helper: trivial code shuffle
transport-helper: warn when refspec is not used
transport-helper: clarify pushing without refspecs
transport-helper: update refspec documentation
transport-helper: clarify *:* refspec
transport-helper: improve push messages
transport-helper: mention helper name when it dies
transport-helper: report errors properly
Felipe Contreras [Sat, 25 May 2013 03:31:44 +0000 (22:31 -0500)]
completion: zsh: improve bash script loading
It's better to check in multiple locations, so the user doesn't have to.
And update the documentation.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Phil Hord [Tue, 28 May 2013 19:36:44 +0000 (19:36 +0000)]
trivial: Add missing period in documentation
Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Mon, 27 May 2013 16:33:09 +0000 (17:33 +0100)]
fetch: don't try to update unfetched tracking refs
Since commit
f269048 (fetch: opportunistically update tracking refs,
2013-05-11) we update tracking refs opportunistically when fetching
remote branches. However, if there is a configured non-pattern refspec
that does not match any of the refspecs given on the command line then a
fatal error occurs.
Fix this by setting the "missing_ok" flag when calling get_fetch_map.
Test-added-by: Jeff King <peff@peff.net>
Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 24 May 2013 18:34:46 +0000 (11:34 -0700)]
Git 1.8.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 19 May 2013 10:23:36 +0000 (06:23 -0400)]
imap-send: eliminate HMAC deprecation warnings on Mac OS X
As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to
OpenSSL ABI instability. Silence the warnings by using Apple's
CommonCrypto HMAC replacement functions.
[es: reworded commit message; check APPLE_COMMON_CRYPTO instead of
abusing COMMON_DIGEST_FOR_OPENSSL]
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 21 May 2013 03:47:53 +0000 (22:47 -0500)]
remote-hg: fix order of configuration comments
The other configurations were added in the wrong place.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 21 May 2013 03:47:52 +0000 (22:47 -0500)]
remote-hg: trivial configuration note cleanup
Follow the style of the previous configurations.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 21 May 2013 00:33:03 +0000 (19:33 -0500)]
completion: regression fix for zsh
zsh completion wrapper doesn't reimplement __gitcompadd(). Although it
should be trivial to do that, let's use __gitcomp_nl() which achieves
exactly the same thing, specially since the suffix ($4) has to be empty.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 20 May 2013 23:06:48 +0000 (16:06 -0700)]
Merge git://git.bogomips.org/git-svn
* git://git.bogomips.org/git-svn:
git-svn: introduce --parents parameter for commands branch and tag
git-svn: clarify explanation of --destination argument
git-svn: multiple fetch/branches/tags keys are supported
Junio C Hamano [Mon, 20 May 2013 05:01:20 +0000 (22:01 -0700)]
Documentation/diff-index: mention two modes of operation
"diff-index" can be used to compare a tree with the tracked working
tree files (when used without the --index option), or with the index
(when used with the --index option).
The text however did not say anything about the comparison with the
working tree at all. Fix this.
Reported-by: Albert Netymk <albertnetymk@gmail.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Mon, 20 May 2013 09:58:29 +0000 (11:58 +0200)]
t5000: test long filenames
Add a file with a long name to the test archive in order to check
entries with pax extended headers. Also add a check for tar versions
that doen't understand this format. Those versions should extract the
headers as a regular files. Add code to check_tar() to interpret the
path header if present, so that our tests work even with those tar
versions.
It's important to use the fallback code only if needed to still be
able to detect git archive errorously creating pax headers as regular
file entries (with a suitable tar version, of course).
The archive used to check for pax header support in tar was generated
using GNU tar 1.26 and its option --format=pax.
Tested successfully on NetBSD 6.1, which has a tar version lacking pax
header support.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Mon, 20 May 2013 09:58:28 +0000 (11:58 +0200)]
t5000: simplify tar-tree tests
Just compare the archives created by git tar-tree with the ones created
using git archive with the equivalent options, whose contents are
checked already, instead of extracting them again.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Mon, 20 May 2013 09:58:27 +0000 (11:58 +0200)]
t5000: use check_tar for prefix test
Perform the full range of checks against all archived files instead of
looking only at the file type of a few of them. Also add a test of a
git archive with a prefix ending in with a slash, i.e. adding a full
directory level.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Mon, 20 May 2013 09:58:26 +0000 (11:58 +0200)]
t5000: factor out check_tar
Create a helper function that extracts a tar archive and checks its
contents, modelled after check_zip in t5003.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Mon, 20 May 2013 09:58:25 +0000 (11:58 +0200)]
t5000, t5003: create directories for extracted files lazily
Create the directories b and c just before they are needed instead of
up front. For t5003 it turns out we don't need them at all. For t5000
it makes the coming modifications easier.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Mon, 20 May 2013 09:58:24 +0000 (11:58 +0200)]
t5000: integrate export-subst tests into regular tests
Instead of creating extra archives for testing substitutions, set the
attribute export-subst and overwrite the marked file with the expected
(expanded) content right between committing and archiving. Thus
placeholder expansion based on the committed content is performed with
each archive creation and the comparison with the contents of directory
a yields the correct result. We can then remove the special tests for
export-subst.
Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tobias Schulte [Wed, 15 May 2013 20:14:43 +0000 (22:14 +0200)]
git-svn: introduce --parents parameter for commands branch and tag
This parameter is equivalent to the parameter --parents on svn cp commands
and is useful for non-standard repository layouts.
Signed-off-by: Tobias Schulte <tobias.schulte@gliderpilot.de>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Jonathan Nieder [Tue, 20 Dec 2011 01:24:30 +0000 (19:24 -0600)]
git-svn: clarify explanation of --destination argument
The existing documentation for "-d" does not make it obvious whether
its argument is supposed to be a full svn path, a partial svn path,
the glob from the config file, or what. Clarify the text and add an
example to get the reader started.
Reported-by: Nathan Gray <n8gray@n8gray.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Nathan Gray [Tue, 20 Dec 2011 01:23:50 +0000 (19:23 -0600)]
git-svn: multiple fetch/branches/tags keys are supported
"git svn" can be configured to use multiple fetch, branches, and tags
refspecs by passing multiple --branches or --tags options at init time
or editing the configuration file later, which can be handy when
working with messy Subversion repositories. Add a note to the
configuration section documenting how this works.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Amit Bakshi [Sun, 19 May 2013 11:53:48 +0000 (06:53 -0500)]
remote-hg: set stdout to binary mode on win32
git clone hangs on windows, and file.write would return errno 22 inside
of mercurial's windows.winstdout wrapper class. This patch sets stdout's
mode to binary, fixing both issues.
[fc: cleaned up]
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 19 May 2013 10:23:35 +0000 (06:23 -0400)]
cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to
OpenSSL ABI instability, thus leading to build diagnostics such as:
warning: 'SHA1_Init' is deprecated
(declared at /usr/include/openssl/sha.h:121)
Silence the warnings by using Apple's CommonCrypto SHA-1 replacement
functions for SHA1_Init(), SHA1_Update(), and SHA1_Final().
COMMON_DIGEST_FOR_OPENSSL is defined to instruct
<CommonCrypto/CommonDigest.h> to provide compatibility macros
associating OpenSSL SHA-1 functions with their CommonCrypto
counterparts.
[es: reworded commit message]
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 19 May 2013 10:23:34 +0000 (06:23 -0400)]
Makefile: add support for Apple CommonCrypto facility
As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to
OpenSSL ABI instability, thus leading to build warnings. As a
replacement, Apple encourages developers to migrate to its own (stable)
CommonCrypto facility.
Introduce boilerplate which controls whether Apple's CommonCrypto
facility is employed (enabled by default). Also add a
NO_APPLE_COMMON_CRYPTO build flag with which the user can opt out to
use OpenSSL instead.
[es: extracted CommonCrypto-related Makefile boilerplate into separate
introductory patch]
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mike Crowe [Fri, 17 May 2013 20:56:18 +0000 (21:56 +0100)]
describe: Add --first-parent option
Only consider the first parent commit when walking the commit history. This
is useful if you only wish to match tags on your branch after a merge.
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 17 May 2013 19:19:20 +0000 (12:19 -0700)]
Git 1.8.3-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 17 May 2013 19:16:49 +0000 (12:16 -0700)]
Merge branch 'fc/doc-style'
* fc/doc-style:
documentation: trivial style cleanups
Junio C Hamano [Fri, 17 May 2013 19:16:44 +0000 (12:16 -0700)]
Merge branch 'dw/asciidoc-sources-are-dot-txt-files'
* dw/asciidoc-sources-are-dot-txt-files:
CodingGuidelines: Documentation/*.txt are the sources
Filipe Cabecinhas [Fri, 10 May 2013 22:24:57 +0000 (15:24 -0700)]
compate/clipped-write.c: large write(2) fails on Mac OS X/XNU
Due to a bug in the Darwin kernel, write(2) calls have a maximum size
of INT_MAX bytes.
Introduce a new compat function, clipped_write(), that only writes
at most INT_MAX bytes and returns the number of bytes written, as
a substitute for write(2), and allow platforms that need this to
enable it from the build mechanism with NEEDS_CLIPPED_WRITE.
Set it for Mac OS X by default. It may be necessary to include this
function on Windows, too.
Signed-off-by: Filipe Cabecinhas <filcab+git@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Thu, 9 May 2013 01:16:55 +0000 (20:16 -0500)]
documentation: trivial style cleanups
White-spaces, missing braces, standardize --[no-]foo.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 17 May 2013 18:55:02 +0000 (11:55 -0700)]
Merge git://ozlabs.org/~paulus/gitk
* git://ozlabs.org/~paulus/gitk:
gitk: Update Swedish translation (304t)
John Keeping [Fri, 17 May 2013 18:26:08 +0000 (19:26 +0100)]
difftool: fix dir-diff when file does not exist in working tree
Commit
02c5631 (difftool --dir-diff: symlink all files matching the
working tree, 2013-03-14) does not handle the case where a file that is
being compared does not exist in the working tree. Fix this by checking
for existence explicitly before running git-hash-object.
Reported-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Fri, 17 May 2013 17:10:19 +0000 (12:10 -0500)]
remote-bzr: fixes for older versions of bzr
Down to v2.0, by using older but still valid interfaces.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sandor Bodo-Merle [Fri, 17 May 2013 10:32:28 +0000 (05:32 -0500)]
remote-bzr: fix old organization destroy
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Richard Hansen [Thu, 16 May 2013 22:26:00 +0000 (18:26 -0400)]
Documentation/merge-options.txt: restore `-e` option
It looks like commit
f8246281af9adb0fdddbcc90d2e19cb5cd5217e5
unintentionally removed the documentation for the `-e` option.
Signed-off-by: Richard Hansen <rhansen@bbn.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Peter Krefting [Thu, 16 May 2013 07:14:35 +0000 (08:14 +0100)]
gitk: Update Swedish translation (304t)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Felipe Contreras [Thu, 16 May 2013 12:43:15 +0000 (07:43 -0500)]
Revert "remote-hg: update bookmarks when pulling"
This reverts commit
24317ef32ac3111ed00792f9b2921dc19dd28fe2.
Different versions of Mercurial have different arguments for
bookmarks.updatefromremote(), while it should be possible to call the
right function with the right arguments depending on the version, it's
safer to restore the old behavior for now.
Reported by Rodney Lorrimar.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 15 May 2013 21:32:30 +0000 (14:32 -0700)]
strbuf_branchname(): do not double-expand @{-1}~22
If you were on 'frotz' branch before you checked out your current
branch, "git merge @{-1}~22" means the same as "git merge frotz~22".
The strbuf_branchname() function, when interpret_branch_name() gives
up resolving "@{-1}~22" fully, returns "frotz" and tells the caller
that it only resolved "@{-1}" part of the input, mistakes this as a
total failure, and appends the whole thing to the result, yielding
"frotz@{-1}~22", which does not make any sense.
Inspect the return value from interpret_branch_name() a bit more
carefully. When it errored out without consuming anything, we will
get -1 and we should return the whole thing. Otherwise, we should
append the remainder (i.e. "~22" in the earlier example) to the
partially resolved name (i.e. "frotz").
The test suite adds enough number of checkout to make @{-12} in the
last test in t0100 that tried to check "we haven't flipped branches
that many times" error case succeed; raise the number to a hundred.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dale R. Worley [Wed, 15 May 2013 22:28:39 +0000 (18:28 -0400)]
git-submodule.txt: Clarify 'init' and 'add' subcommands.
Describe how 'add' sets the submodule's logical name, which is used in
the configuration entry names.
Clarify that 'init' only sets up the configuration entries for
submodules that have already been added elsewhere. Describe that
<path> arguments limit the submodules that are configured.
Signed-off-by: Dale Worley <worley@ariadne.com>
Acked-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kevin Bracey [Mon, 13 May 2013 15:00:47 +0000 (18:00 +0300)]
revision.c: treat A...B merge bases as if manually specified
The documentation assures users that "A...B" is defined as "A B --not
$(git merge-base --all A B)". This wasn't in fact quite true, because
the calculated merge bases were not sent to add_rev_cmdline().
The main effect of this was that although
git rev-list --ancestry-path A B --not $(git merge-base --all A B)
worked, the simpler form
git rev-list --ancestry-path A...B
failed with a "no bottom commits" error.
Other potential users of bottom commits could also be affected by this
problem, if they examine revs->cmdline_info; I came across the issue in
my proposed history traversal refinements series.
So ensure that the calculated merge bases are sent to add_rev_cmdline(),
flagged with new 'whence' enum value REV_CMD_MERGE_BASE.
Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Thu, 16 May 2013 10:04:05 +0000 (05:04 -0500)]
remote-bzr: fix cloning of non-listable repos
Commit
95b0c60 (remote-bzr: add support for bzr repos) introduced a
regression by assuming all bzr remote repos are listable, but they are
not.
If they are not listable they are basically useless, so let's assume
there is no bzr repo.
Reported-by: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 15 May 2013 21:58:56 +0000 (14:58 -0700)]
Merge branch 'fc/remote-hg' (early part)
* 'fc/remote-hg' (early part):
remote-hg: update bookmarks when pulling
remote-hg: don't push fake 'master' bookmark
remote-hg: disable forced push by default
remote-hg: fix new branch creation
remote-hg: add new get_config_bool() helper
remote-hg: enable track-branches in hg-git mode
remote-hg: get rid of unused exception checks
remote-hg: trivial cleanups
Felipe Contreras [Tue, 14 May 2013 04:36:31 +0000 (23:36 -0500)]
remote-hg: update bookmarks when pulling
Otherwise, the user would never ever see new bookmarks, only the
ones that (s)he initially cloned.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:36:30 +0000 (23:36 -0500)]
remote-hg: don't push fake 'master' bookmark
We skip it locally, but not for the remote, so let's do so.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:36:29 +0000 (23:36 -0500)]
remote-hg: disable forced push by default
In certain situations we might end up pushing garbage revisions
(e.g. in a rebase), and the patches to deal with that haven't been
merged yet. So let's disable forced pushes by default.
We are essentially reverting back to the old v1.8.2 behavior, to
minimize the possibility of regressions, but in a way the user can
configure.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:36:28 +0000 (23:36 -0500)]
remote-hg: fix new branch creation
When a user creates a new branch with git:
% git checkout -b branches/devel
and then pushes this branch
% git push origin branches/devel
which is the way to push new mercurial branches, we do want to
create a branch, but the command would fail without newbranch=True.
This only matters when force_push=False, but setting newbranch=True
unconditionally does not hurt.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:36:27 +0000 (23:36 -0500)]
remote-hg: add new get_config_bool() helper
No functional changes.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:36:26 +0000 (23:36 -0500)]
remote-hg: enable track-branches in hg-git mode
The user can turn this off.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:36:25 +0000 (23:36 -0500)]
remote-hg: get rid of unused exception checks
Remove try/except check because we are no longer calling
check_output(), which may throw an exception.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:36:24 +0000 (23:36 -0500)]
remote-hg: trivial cleanups
Drop unused "global", and remove redundant comparison of two files.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthijs Kooijman [Wed, 15 May 2013 17:42:14 +0000 (19:42 +0200)]
combine-diff.c: Fix output when changes are exactly 3 lines apart
When a deletion is followed by exactly 3 (or whatever the number of
context lines) unchanged lines, followed by another change, the combined
diff output would hide the first deletion, resulting in a malformed
diff.
This happened because the 3 lines before each change are painted
interesting, but also marked as no_pre_delete to prevent showing deletes
that were previously marked as uninteresting. This behaviour was
introduced in
c86fbe53 (diff -c/--cc: do not include uninteresting
deletion before leading context). However, as a side effect, this could
also mark deletes that were already interesting as no_pre_delete. This
would happen only if the delete was exactly 3 lines away from the next
change, since lines farther away would not be touched by the "paint
three lines before the change" code and lines closer would be painted
by the "merge two adjacent hunks" code instead, which does not set the
no_pre_delete flag.
This commit fixes this problem by only setting the no_pre_delete flag
for changes that were previously uninteresting.
Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Tue, 14 May 2013 04:20:27 +0000 (23:20 -0500)]
remote-bzr: update old organization
If a clone exists with the old organization (v1.8.2) it will prevent
the new shared bzr repository organization from working, so let's
remove this repository, which is not used any more.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 13 May 2013 21:27:28 +0000 (23:27 +0200)]
coverage: build coverage-untested-functions by default
Change the 'coverage' target to build coverage-untested-functions by
default, so as to make it more discoverable.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 13 May 2013 21:27:27 +0000 (23:27 +0200)]
coverage: set DEFAULT_TEST_TARGET to avoid using prove
If the user sets DEFAULT_TEST_TARGET=prove in his config.mak, that
carries over into the coverage tests. Which is really bad if he also
sets GIT_PROVE_OPTS=-j<..> as that completely breaks the coverage
runs.
Instead of attempting to mess with the GIT_PROVE_OPTS, just force the
test target to 'test' so that we run under make, like we intended all
along.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 13 May 2013 21:27:26 +0000 (23:27 +0200)]
coverage: do not delete .gcno files before building
The coverage-compile target depends on coverage-clean, which is
supposed to remove the earlier build products that would get in the
way of the next coverage test run.
However, removing *.gcno is actively wrong. These are the files that
contain the compile-time coverage related data. They are only rebuilt
if the source is compiled. So if one ran 'make coverage' two times in
a row, the second run would remove *.gcno, but then fail to recreate
them because neither source files nor build flags have changed. (This
remained hidden for so long most likely because any other intervening
use of 'make' will change the build flags, causing a full rebuild.)
So we make an exception for *.gcno. The *.gcda are the coverage
results, written when the gcov-instrumented program is run. We still
remove those, so as to get a one-test-run view of the data; you could
probably argue the other way too.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 13 May 2013 21:27:25 +0000 (23:27 +0200)]
coverage: split build target into compile and test
Confusingly, the coverage-build target in fact builds with gcov
support _and runs tests_.
Split it into two targets that actually are named after what they do.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 13 May 2013 18:09:42 +0000 (11:09 -0700)]
Git 1.8.3-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kevin Bracey [Mon, 13 May 2013 15:00:46 +0000 (18:00 +0300)]
t6019: demonstrate --ancestry-path A...B breakage
Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 13 May 2013 14:51:41 +0000 (07:51 -0700)]
Merge git://ozlabs.org/~paulus/gitk
* git://ozlabs.org/~paulus/gitk:
gitk: On OSX, bring the gitk window to front
gitk: Add support for -G'regex' pickaxe variant
gitk: Add menu item for reverting commits
gitk: Simplify file filtering
gitk: Display the date of a tag in a human-friendly way
gitk: Improve behaviour of drop-down lists
gitk: Move hard-coded colors to .gitk
Tair Sabirgaliev [Wed, 24 Apr 2013 09:48:27 +0000 (15:48 +0600)]
gitk: On OSX, bring the gitk window to front
On OSX, Tcl/Tk application windows are created behind all
the applications down the stack of windows. This is very
annoying, because once a gitk window appears, it's the
downmost window and switching to it is pain.
The patch is: if we are on OSX, use osascript to
bring the current Wish process window to front.
Signed-off-by: Tair Sabirgaliev <tair.sabirgaliev@gmail.com>
Thanks-to: Stefan Haller <lists@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Martin Langhoff [Thu, 14 Jun 2012 18:34:11 +0000 (20:34 +0200)]
gitk: Add support for -G'regex' pickaxe variant
git log -G'regex' is a very useful alternative to the classic
pickaxe. Minimal patch to make it usable from gitk.
[zj: reword message]
[paulus@samba.org: reword droplist item]
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Paul Mackerras <paulus@samba.org>