Junio C Hamano [Tue, 14 Sep 2010 20:09:20 +0000 (13:09 -0700)]
disallow branch names that start with a hyphen
The current command line parser is overly lax in places and allows a
branch whose name begins with a hyphen e.g. "-foo" to be created, but the
parseopt infrastructure in general does not like to parse anything that
begins with a dash as a short-hand refname. "git checkout -foo" won't
work, nor will "git branch -d -foo" (even though "git branch -d -- -foo"
works, it does so by mistake; we should not be taking anything but
pathspecs after double-dash).
All the codepaths that create a new branch ref, including the destination
of "branch -m src dst", use strbuf_check_branch_ref() to validate if the
given name is suitable as a branch name. Tighten it to disallow a branch
that begins with a hyphen.
You can still get rid of historical mistakes with
$ git update-ref -d refs/heads/-foo
and third-party Porcelains are free to keep using update-ref to create
refs with a path component that begins with "-".
Issue originally raised by Clemens Buchacher.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 12 Sep 2010 20:53:03 +0000 (13:53 -0700)]
Merge branch 'maint'
* maint:
t3101: modernise style
compat/nedmalloc: don't force NDEBUG on the rest of git
Conflicts:
Makefile
Junio C Hamano [Sat, 11 Sep 2010 17:53:29 +0000 (10:53 -0700)]
t3101: modernise style
Also add a few " &&" cascade that were missing.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ramsay Jones [Thu, 9 Sep 2010 17:24:06 +0000 (18:24 +0100)]
vcs-svn: Fix some printf format compiler warnings
In particular, on systems that define uint32_t as an unsigned long,
gcc complains as follows:
CC vcs-svn/fast_export.o
vcs-svn/fast_export.c: In function `fast_export_modify':
vcs-svn/fast_export.c:28: warning: unsigned int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c:28: warning: int format, uint32_t arg (arg 3)
vcs-svn/fast_export.c: In function `fast_export_commit':
vcs-svn/fast_export.c:42: warning: int format, uint32_t arg (arg 5)
vcs-svn/fast_export.c:62: warning: int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c: In function `fast_export_blob':
vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 3)
CC vcs-svn/svndump.o
vcs-svn/svndump.c: In function `svndump_read':
vcs-svn/svndump.c:260: warning: int format, uint32_t arg (arg 3)
In order to suppress the warnings we use the C99 format specifier
macros PRIo32 and PRIu32 from <inttypes.h>.
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 11 Sep 2010 09:59:18 +0000 (11:59 +0200)]
compat/nedmalloc: don't force NDEBUG on the rest of git
Define the nedmalloc feature configuration macros for nedmalloc.o, only.
This keeps assert(3) working for the rest of the git source; it was
turned off for nedmalloc users before by defining NDEBUG globally.
Also remove -DUSE_NED_ALLOCATOR as this macro isn't used anywhere.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 10 Sep 2010 18:55:55 +0000 (11:55 -0700)]
Git 1.7.3 rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 10 Sep 2010 18:54:58 +0000 (11:54 -0700)]
Merge branch 'np/relnotes-in-subdir'
* np/relnotes-in-subdir:
install-webdoc: keep installed RelNotes-*.txt
Documentation: move RelNotes into a directory of their own
Junio C Hamano [Fri, 10 Sep 2010 18:54:34 +0000 (11:54 -0700)]
Prepare for 1.7.3 rc1
Junio C Hamano [Fri, 10 Sep 2010 16:39:08 +0000 (09:39 -0700)]
Merge branch 'maint'
* maint:
config.txt: fix placement of diff.noprefix
Mark Lodato [Fri, 10 Sep 2010 01:39:37 +0000 (21:39 -0400)]
config.txt: fix placement of diff.noprefix
In git-config(1), diff.noprefix was placed in between
diff.mnemonicprefix and the list of mnemonic prefixes, which is
obviously incorrect and very confusing to readers. Now, it is located
after the end of the explanation of mnemonicprefix, which makes much
more sense.
Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Fri, 10 Sep 2010 16:13:38 +0000 (11:13 -0500)]
t/t4018: avoid two unnecessary sub-shell invocations
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 10 Sep 2010 00:29:40 +0000 (17:29 -0700)]
Merge branch 'maint'
* maint:
xdiff-interface.c: always trim trailing space from xfuncname matches
diff.c: call regfree to free memory allocated by regcomp when necessary
Brandon Casey [Thu, 9 Sep 2010 19:02:47 +0000 (14:02 -0500)]
t/t4018: test whether the word_regex patterns compile
Previously (
e3bf5e43), a test was added to test whether the builtin
xfuncname regular expressions could be compiled without error by regcomp.
Let's do the same for the word_regex patterns. This should help catch any
cross-platform incompatibilities that exist between the pattern creator's
system and the various platforms that the test suite is commonly run on.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 9 Sep 2010 19:02:46 +0000 (14:02 -0500)]
xdiff-interface.c: always trim trailing space from xfuncname matches
Generally, trailing space is removed from the string matched by the
xfuncname patterns. The exception is when the matched string exceeds the
length of the fixed-size buffer that it will be copied in to. But, a
string that exceeds the buffer can still contain trailing space in the
portion of the string that will be copied into the buffer. So, simplify
this code slightly, and just perform the trailing space removal always.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 9 Sep 2010 19:02:45 +0000 (14:02 -0500)]
diff.c: call regfree to free memory allocated by regcomp when necessary
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 9 Sep 2010 18:56:37 +0000 (13:56 -0500)]
t/t5510-fetch.sh: improve testing with explicit URL and merge spec
Commit
6106ce46 introduced a test to demonstrate fetch's failure to
retrieve any objects or update FETCH_HEAD when it was supplied a repository
URL and the current branch had a configured merge spec. This commit
expands the original test based on comments from Junio Hamano. In addition
to actually verifying that the fetch updates FETCH_HEAD correctly, and does
not update the current branch, two more tests are added to ensure that the
merge configuration is ignored even when the supplied URL matches the URL
of the remote configured for the branch.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 9 Sep 2010 18:56:36 +0000 (13:56 -0500)]
builtin/fetch.c: comment that branch->remote_name is usable when has_merge
Save future readers the trouble of tracing code to determine that the two
uses of branch->remote_name are safe when has_merge is set, by adding a
comment explaining that it is so.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 9 Sep 2010 19:15:58 +0000 (14:15 -0500)]
Makefile: use compat regex on IRIX 6.5
The IRIX 6.5 regex.h header file defines REG_STARTEND, but the feature does
not appear to work. Since REG_STARTEND is required for proper functioning
of git-grep, set NO_REGEX and use the alternative regex libraries in compat/
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 9 Sep 2010 19:15:57 +0000 (14:15 -0500)]
t/t7008: workaround broken handling of \000 by printf on IRIX
On IRIX 6.5, the printf utility in /usr/bin does not appear to handle the
\ddd notation according to POSIX. This printf appears to halt processing
of the string argument and ignore any additional characters in the string.
Work around this flaw by replacing the \000's with 'Q' and using the
q_to_nul helper function provided by test-lib.sh
This problem with printf is not apparent when using the Bash shell since
Bash implements a POSIX compatible printf function internally.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 9 Sep 2010 23:17:59 +0000 (16:17 -0700)]
install-webdoc: keep installed RelNotes-*.txt
Otherwise URLs in the wild that point at older release notes will become
dangling.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 8 Sep 2010 16:17:01 +0000 (09:17 -0700)]
Merge branch 'tf/cleanup-builtin-help-headers'
* tf/cleanup-builtin-help-headers:
builtin.h: Move two functions definitions to help.h.
Junio C Hamano [Wed, 8 Sep 2010 16:17:01 +0000 (09:17 -0700)]
Merge branch 'jk/test-must-fail-missing'
* jk/test-must-fail-missing:
tests: make test_might_fail fail on missing commands
tests: make test_might_fail more verbose
tests: make test_must_fail fail on missing commands
tests: make test_must_fail more verbose
Junio C Hamano [Wed, 8 Sep 2010 16:17:01 +0000 (09:17 -0700)]
Merge branch 'jh/error-removing-missing-note'
* jh/error-removing-missing-note:
notes: Don't create (empty) commit when removing non-existing notes
Junio C Hamano [Wed, 8 Sep 2010 16:17:01 +0000 (09:17 -0700)]
Merge branch 'kf/askpass-config'
* kf/askpass-config:
Extend documentation of core.askpass and GIT_ASKPASS.
Allow core.askpass to override SSH_ASKPASS.
Add a new option 'core.askpass'.
Junio C Hamano [Wed, 8 Sep 2010 16:17:00 +0000 (09:17 -0700)]
Merge branch 'bc/maint-fetch-url-only'
* bc/maint-fetch-url-only:
builtin/fetch.c: ignore merge config when not fetching from branch's remote
t/t5510: demonstrate failure to fetch when current branch has merge ref
Junio C Hamano [Wed, 8 Sep 2010 16:17:00 +0000 (09:17 -0700)]
Merge branch 'jk/maint-pass-c-config-in-env'
* jk/maint-pass-c-config-in-env:
do not pass "git -c foo=bar" params to transport helpers
pass "git -c foo=bar" params through environment
Junio C Hamano [Wed, 8 Sep 2010 15:54:01 +0000 (08:54 -0700)]
Merge branch 'en/d-f-conflict-fix'
* en/d-f-conflict-fix:
fast-export: ensure that a renamed file is printed after all references
Johannes Sixt [Tue, 7 Sep 2010 19:33:02 +0000 (21:33 +0200)]
fast-export: ensure that a renamed file is printed after all references
t9350 sets up a commit where a file is both copied and renamed. The output
of fast-export for this commit should look like this:
author ...
committer ...
from :19
C "file2" "file4"
R "file2" "file5"
The order of the two modification lines is derived from the result that
the diff machinery produces.
060df62 (fast-export: Fix output order of D/F changes) inserted a qsort
call that modifies the order of the diff result. Unfortunately, qsort need
not be stable. Therefore, it is possible that the 'R' line appears before
the 'C' line and the resulting fast-import stream is incorrect.
Fix it by forcing that the rename entry is printed after all other
modification lines with the same file name.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nicolas Pitre [Tue, 7 Sep 2010 00:29:57 +0000 (20:29 -0400)]
Documentation: move RelNotes into a directory of their own
There are 108 of them already. That's a bit more than one third of
all the files in the Documentation directory already, and still growing.
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 7 Sep 2010 00:40:18 +0000 (17:40 -0700)]
Merge branch 'maint'
* maint:
revert: Fix trivial comment style issue
cache_tree_free: Fix small memory leak
Conflicts:
builtin/revert.c
Elijah Newren [Mon, 6 Sep 2010 21:53:24 +0000 (15:53 -0600)]
revert: Fix trivial comment style issue
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Elijah Newren [Mon, 6 Sep 2010 21:40:16 +0000 (15:40 -0600)]
cache_tree_free: Fix small memory leak
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 6 Sep 2010 23:57:05 +0000 (16:57 -0700)]
Merge branch 'jh/clean-exclude'
* jh/clean-exclude:
builtin/clean.c: Use STRING_LIST_INIT_NODUP.
Thiago Farina [Mon, 6 Sep 2010 23:32:55 +0000 (20:32 -0300)]
builtin/clean.c: Use STRING_LIST_INIT_NODUP.
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jens Lehmann [Mon, 6 Sep 2010 18:41:06 +0000 (20:41 +0200)]
t3404 & t7508: cd inside subshell instead of around
Fixed all places where it was a straightforward change from cd'ing into a
directory and back via "cd .." to a cd inside a subshell.
Found these places with "git grep -w "cd \.\.".
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 6 Sep 2010 07:12:04 +0000 (00:12 -0700)]
Merge branch 'maint'
* maint:
tag.c: whitespace breakages fix
Fix whitespace issue in object.c
t5505: add missing &&
Junio C Hamano [Mon, 6 Sep 2010 07:11:59 +0000 (00:11 -0700)]
Merge branch 'xx/trivial' into maint
* xx/trivial:
tag.c: whitespace breakages fix
Fix whitespace issue in object.c
t5505: add missing &&
Junio C Hamano [Mon, 6 Sep 2010 05:32:05 +0000 (22:32 -0700)]
tag.c: whitespace breakages fix
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jared Hance [Sun, 5 Sep 2010 19:36:33 +0000 (15:36 -0400)]
Fix whitespace issue in object.c
Change some expanded tabs (spaces) to tabs in object.c.
Signed-off-by: Jared Hance <jaredhance@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jens Lehmann [Sun, 5 Sep 2010 12:56:11 +0000 (14:56 +0200)]
t5505: add missing &&
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 4 Sep 2010 15:17:09 +0000 (08:17 -0700)]
Merge branch 'jl/submodule-ignore-diff'
* jl/submodule-ignore-diff:
checkout: Use submodule.*.ignore settings from .git/config and .gitmodules
checkout: Add test for diff.ignoreSubmodules
checkout: respect diff.ignoreSubmodules setting
Conflicts:
builtin/checkout.c
Junio C Hamano [Sat, 4 Sep 2010 15:15:36 +0000 (08:15 -0700)]
Merge branch 'ab/test-2'
* ab/test-2: (51 commits)
tests: factor HOME=$(pwd) in test-lib.sh
test-lib: use subshell instead of cd $new && .. && cd $old
tests: simplify "missing PREREQ" message
t/t0000-basic.sh: Run the passing TODO test inside its own test-lib
test-lib: Allow overriding of TEST_DIRECTORY
test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../
test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../
test: Introduce $GIT_BUILD_DIR
cvs tests: do not touch test CVS repositories shipped with source
t/t9602-cvsimport-branches-tags.sh: Add a PERL prerequisite
t/t9601-cvsimport-vendor-branch.sh: Add a PERL prerequisite
t/t7105-reset-patch.sh: Add a PERL prerequisite
t/t9001-send-email.sh: convert setup code to tests
t/t9001-send-email.sh: change from skip_all=* to prereq skip
t/t9001-send-email.sh: Remove needless PROG=* assignment
t/t9600-cvsimport.sh: change from skip_all=* to prereq skip
lib-patch-mode tests: change from skip_all=* to prereq skip
t/t3701-add-interactive.sh: change from skip_all=* to prereq skip
tests: Move FILEMODE prerequisite to lib-prereq-FILEMODE.sh
t/Makefile: Create test-results dir for smoke target
...
Conflicts:
t/t6035-merge-dir-to-symlink.sh
Junio C Hamano [Sat, 4 Sep 2010 05:45:58 +0000 (22:45 -0700)]
Merge branch 'js/detached-stash'
* js/detached-stash:
t3903: fix broken test_must_fail calls
detached-stash: update Documentation
detached-stash: tests of git stash with stash-like arguments
detached-stash: simplify git stash show
detached-stash: simplify git stash branch
detached-stash: refactor git stash pop implementation
detached-stash: simplify stash_drop
detached-stash: simplify stash_apply
detached-stash: work around git rev-parse failure to detect bad log refs
detached-stash: introduce parse_flags_and_revs function
Junio C Hamano [Sat, 4 Sep 2010 05:24:29 +0000 (22:24 -0700)]
Merge branch 'js/maint-reflog-beyond-horizon'
* js/maint-reflog-beyond-horizon:
t1503: fix broken test_must_fail calls
rev-parse: tests git rev-parse --verify master@{n}, for various n
sha1_name.c: use warning in preference to fprintf(stderr
rev-parse: exit with non-zero status if ref@{n} is not valid.
Junio C Hamano [Sat, 4 Sep 2010 05:23:49 +0000 (22:23 -0700)]
Merge branch 'dg/local-mod-error-messages'
* dg/local-mod-error-messages:
t7609-merge-co-error-msgs: test non-fast forward case too.
Move "show_all_errors = 1" to setup_unpack_trees_porcelain()
setup_unpack_trees_porcelain: take the whole options struct as parameter
Move set_porcelain_error_msgs to unpack-trees.c and rename it
Conflicts:
merge-recursive.c
Junio C Hamano [Sat, 4 Sep 2010 05:23:13 +0000 (22:23 -0700)]
Merge branch 'nd/maint-fix-replace'
* nd/maint-fix-replace:
parse_object: pass on the original sha1, not the replaced one
Nguyễn Thái Ngọc Duy [Fri, 3 Sep 2010 20:51:53 +0000 (22:51 +0200)]
parse_object: pass on the original sha1, not the replaced one
Commit
0e87c36 (object: call "check_sha1_signature" with the
replacement sha1) changed the first argument passed to
parse_object_buffer() from "sha1" to "repl". With that change,
the returned obj pointer has the replacement SHA1 in obj->sha1,
not the original one.
But when using lookup_commit() and then parse_commit() on a
commit, we get an object pointer with the original sha1, but
the commit content comes from the replacement commit.
So the result we get from using parse_object() is different
from the we get from using lookup_commit() followed by
parse_commit().
It looks much simpler and safer to fix this inconsistency by
passing "sha1" to parse_object_bufer() instead of "repl".
The commit comment should be used to tell the the replacement
commit is replacing another commit and why. So it should be
easy to see that we have a replacement commit instead of an
original one.
And it is not a problem if the content of the commit is not
consistent with the sha1 as cat-file piped to hash-object can
be used to see the difference.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 3 Sep 2010 16:43:45 +0000 (09:43 -0700)]
Merge branch 'ab/compat-regex'
* ab/compat-regex:
Fix compat/regex ANSIfication on MinGW
autoconf: regex library detection typofix
autoconf: don't use platform regex if it lacks REG_STARTEND
t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND
compat/regex: get rid of old-style definition
compat/regex: define out variables only used under RE_ENABLE_I18N
Change regerror() declaration from K&R style to ANSI C (C89)
compat/regex: get the gawk regex engine to compile within git
compat/regex: use the regex engine from gawk for compat
Conflicts:
compat/regex/regex.c
Junio C Hamano [Fri, 3 Sep 2010 16:43:45 +0000 (09:43 -0700)]
Merge branch 'nd/clone-depth-zero'
* nd/clone-depth-zero:
clone: warn users --depth is ignored in local clones
Junio C Hamano [Fri, 3 Sep 2010 16:43:44 +0000 (09:43 -0700)]
Merge branch 'jn/maint-doc-user-manual-html-doctype'
* jn/maint-doc-user-manual-html-doctype:
docs: fix Makefile dependency for user manual
Documentation: set a !DOCTYPE for user manual
Junio C Hamano [Fri, 3 Sep 2010 16:43:44 +0000 (09:43 -0700)]
Merge branch 'cb/maint-mergetool-no-tty'
* cb/maint-mergetool-no-tty:
mergetool: Remove explicit references to /dev/tty
Conflicts:
git-mergetool.sh
Junio C Hamano [Fri, 3 Sep 2010 16:43:44 +0000 (09:43 -0700)]
Merge branch 'jn/apply-filename-with-sp'
* jn/apply-filename-with-sp:
apply: handle traditional patches with space in filename
tests: exercise "git apply" with weird filenames
apply: split quoted filename handling into new function
Junio C Hamano [Fri, 3 Sep 2010 16:43:43 +0000 (09:43 -0700)]
Merge branch 'jn/merge-custom-no-trivial'
* jn/merge-custom-no-trivial:
t7606: Avoid using head as a file name
merge: let custom strategies intervene in trivial merges
t7606 (merge-theirs): modernize style
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'jc/maint-doc-em-dash'
* jc/maint-doc-em-dash:
Work around em-dash handling in newer AsciiDoc
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'mg/doc-bundle'
* mg/doc-bundle:
git-bundle.txt: Clarify rev-list-args restrictions
git-bundle.txt: whitespace cleanup
git-bundle.txt: Cleanup
Conflicts:
Documentation/git-bundle.txt
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'jn/doc-backslash'
* jn/doc-backslash:
Documentation: remove stray backslash in show-branch discussion
Documentation: remove stray backslashes from "Fighting regressions" article
Documentation: do not convert ... operator to ellipses
Documentation: avoid stray backslash in user manual
Documentation: avoid stray backslashes in core tutorial
Documentation: remove stray backslashes in rev-parse manual
Documentation: remove backslash before ~ in fast-import manual
Documentation: remove stray backslash from "git bundle" manual
Documentation/technical: avoid stray backslash in parse-options API docs
Documentation: remove backslashes in manpage synopses
Documentation: clarify quoting in gitignore docs
Documentation: clarify quoting in "git rm" example
Documentation: add missing quotes to "git grep" examples
Documentation: clarify quoting in "git add" example
Documentation: unbreak regex in show-ref manual
Documentation: quoting trouble in "git rm" discussion
Documentation: tweak description of log.date
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'jn/update-contrib-example-merge'
* jn/update-contrib-example-merge: (24 commits)
merge script: learn --[no-]rerere-autoupdate
merge script: notice @{-1} shorthand
merge script: handle --no-ff --no-commit correctly
merge script: --ff-only to disallow true merge
merge script: handle many-way octopus
merge script: handle -m --log correctly
merge script: forbid merge -s index
merge script: allow custom strategies
merge script: merge -X<option>
merge script: improve log message subject
merge script: refuse to merge during merge
merge script: tweak unmerged files message to match builtin
merge script: --squash, --ff from unborn branch are errors
fmt-merge-msg -m to override merge title
merge-base --independent to print reduced parent list in a merge
merge-base --octopus to mimic show-branch --merge-base
Documentation: add a SEE ALSO section for merge-base
t6200 (fmt-merge-msg): style nitpicks
t6010 (merge-base): modernize style
t7600 (merge): test merge from branch yet to be born
...
Junio C Hamano [Fri, 3 Sep 2010 16:43:41 +0000 (09:43 -0700)]
Merge branch 'jn/merge-renormalize'
* jn/merge-renormalize:
merge-recursive --renormalize
rerere: never renormalize
rerere: migrate to parse-options API
t4200 (rerere): modernize style
ll-merge: let caller decide whether to renormalize
ll-merge: make flag easier to populate
Documentation/technical: document ll_merge
merge-trees: let caller decide whether to renormalize
merge-trees: push choice to renormalize away from low level
t6038 (merge.renormalize): check that it can be turned off
t6038 (merge.renormalize): try checkout -m and cherry-pick
t6038 (merge.renormalize): style nitpicks
Don't expand CRLFs when normalizing text during merge
Try normalizing files to avoid delete/modify conflicts when merging
Avoid conflicts when merging branches with mixed normalization
Conflicts:
builtin/rerere.c
t/t4200-rerere.sh
Junio C Hamano [Fri, 3 Sep 2010 16:39:38 +0000 (09:39 -0700)]
Sync with 1.7.2.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 3 Sep 2010 16:38:53 +0000 (09:38 -0700)]
Git 1.7.2.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thiago Farina [Mon, 30 Aug 2010 03:30:22 +0000 (00:30 -0300)]
builtin/merge_recursive.c: Add an usage string and make use of it.
This improves the usage output by adding builtin_merge_recursive_usage string
that follows the same pattern used by the other builtin commands.
The previous output for git merger-recursive was:
usage: merge-recursive <base>... -- <head> <remote> ...
Now the output is:
usage: git merge-recursive <base>... -- <head> <remote> ...
Since cmd_merge_recursive is used to handle four different commands we need
the %s in the usage string, so the following example:
$ git merge-subtree -h
Will output:
usage: git merge-subtree <base>... -- <head> <remote> ...
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jens Lehmann [Wed, 1 Sep 2010 21:28:27 +0000 (23:28 +0200)]
t7406 & t7407: add missing && at end of lines
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jens Lehmann [Wed, 1 Sep 2010 21:01:49 +0000 (23:01 +0200)]
t7405: cd inside subshell instead of around
Instead of using `cd dir && (...) && cd..` use `(cd dir && ...)`
This ensures that the test doesn't get caught in the subdirectory if there
is an error in the subshell.
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Fri, 3 Sep 2010 15:25:33 +0000 (17:25 +0200)]
t7609-merge-co-error-msgs: test non-fast forward case too.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Thu, 2 Sep 2010 16:08:15 +0000 (18:08 +0200)]
Move "show_all_errors = 1" to setup_unpack_trees_porcelain()
Not only this makes the code clearer since setting up the porcelain error
message is meant to work with show_all_errors, but this fixes a call to
setup_unpack_trees_porcelain() in git_merge_trees() which did not set
show_all_errors.
add_rejected_path() used to double-check whether it was running in
plumbing mode. This check was ineffective since it was setting
show_all_errors too late for traverse_trees() to see it, and is made
useless by this patch. Remove it.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Thu, 2 Sep 2010 11:57:34 +0000 (13:57 +0200)]
setup_unpack_trees_porcelain: take the whole options struct as parameter
This is a preparation patch to let setup_unpack_trees_porcelain set
show_all_errors itself.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Thu, 2 Sep 2010 11:57:33 +0000 (13:57 +0200)]
Move set_porcelain_error_msgs to unpack-trees.c and rename it
The function is currently dealing only with error messages, but the
intent of calling it is really to notify the unpack-tree mechanics that
it is running in porcelain mode.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 1 Sep 2010 21:17:32 +0000 (14:17 -0700)]
Prepare for 1.7.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 1 Sep 2010 22:10:18 +0000 (15:10 -0700)]
Merge branch 'maint'
* maint:
Prepare for 1.7.2.3
Junio C Hamano [Wed, 1 Sep 2010 21:15:35 +0000 (14:15 -0700)]
Prepare for 1.7.2.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 1 Sep 2010 21:05:05 +0000 (14:05 -0700)]
Merge branch 'gp/pack-refs-remove-empty-dirs' into maint
* gp/pack-refs-remove-empty-dirs:
pack-refs: remove newly empty directories
Junio C Hamano [Wed, 1 Sep 2010 20:57:23 +0000 (13:57 -0700)]
Merge branch 'sg/rerere-gc-old-still-used' into maint
* sg/rerere-gc-old-still-used:
rerere: fix overeager gc
mingw_utime(): handle NULL times parameter
Junio C Hamano [Wed, 1 Sep 2010 20:56:10 +0000 (13:56 -0700)]
Merge branch 'np/maint-huge-delta-generation' into maint
* np/maint-huge-delta-generation:
fix >4GiB source delta assertion failure
Junio C Hamano [Wed, 1 Sep 2010 20:52:10 +0000 (13:52 -0700)]
Merge branch 'dj/fetch-tagopt' into maint
* dj/fetch-tagopt:
fetch: allow command line --tags to override config
Junio C Hamano [Wed, 1 Sep 2010 20:50:46 +0000 (13:50 -0700)]
Merge branch 'da/fix-submodule-sync-superproject-config' into maint
* da/fix-submodule-sync-superproject-config:
submodule sync: Update "submodule.<name>.url"
Junio C Hamano [Wed, 1 Sep 2010 20:43:55 +0000 (13:43 -0700)]
Merge branch 'en/rebase-against-rebase-fix' into maint
* en/rebase-against-rebase-fix:
pull --rebase: Avoid spurious conflicts and reapplying unnecessary patches
t5520-pull: Add testcases showing spurious conflicts from git pull --rebase
Junio C Hamano [Wed, 1 Sep 2010 16:25:17 +0000 (09:25 -0700)]
install-webdoc: filter timestamp-only changes correctly
The timestamp that follows "Last updated " is formatted differently
depending on the version of AsciiDoc. Looking at
4604fe56 on "html"
branch, you can see that AsciiDoc 7.0.2 used to give "02-Jul-2008 03:02:14
UTC" but AsciiDoc 8.2.5 gave "2008-09-19 06:33:25 UTC". We haven't been
correctly filtering out phantom changes that result from only the build
date for some time now, it seems.
Just filter lines that begin with "Last updated ".
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thiago Farina [Wed, 1 Sep 2010 02:29:08 +0000 (23:29 -0300)]
builtin.h: Move two functions definitions to help.h.
The two functions defined here are implemented in help.c, so makes more sense
to put the definition of those in help.h instead of in builtin.h.
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 31 Aug 2010 23:34:16 +0000 (16:34 -0700)]
Merge branch 'np/maint-huge-delta-generation'
* np/maint-huge-delta-generation:
fix >4GiB source delta assertion failure
Junio C Hamano [Tue, 31 Aug 2010 23:25:29 +0000 (16:25 -0700)]
Merge branch 'da/fix-submodule-sync-superproject-config'
* da/fix-submodule-sync-superproject-config:
submodule sync: Update "submodule.<name>.url"
Junio C Hamano [Tue, 31 Aug 2010 23:25:11 +0000 (16:25 -0700)]
Merge branch 'jn/cherry-revert-message-clean-up'
* jn/cherry-revert-message-clean-up:
tests: fix syntax error in "Use advise() for hints" test
cherry-pick/revert: Use advise() for hints
cherry-pick/revert: Use error() for failure message
Introduce advise() to print hints
Eliminate “Finished cherry-pick/revert” message
t3508: add check_head_differs_from() helper function and use it
revert: improve success message by adding abbreviated commit sha1
revert: don't print "Finished one cherry-pick." if commit failed
revert: refactor commit code into a new run_git_commit() function
revert: report success when using option --strategy
Junio C Hamano [Tue, 31 Aug 2010 23:24:48 +0000 (16:24 -0700)]
Merge branch 'cb/binary-patch-id'
* cb/binary-patch-id:
hash binary sha1 into patch id
Junio C Hamano [Tue, 31 Aug 2010 23:24:36 +0000 (16:24 -0700)]
Merge branch 'ab/maint-reset-mixed-w-pathspec-advice'
* ab/maint-reset-mixed-w-pathspec-advice:
reset: suggest what to do upon "git reset --mixed <paths>"
Junio C Hamano [Tue, 31 Aug 2010 23:24:24 +0000 (16:24 -0700)]
Merge branch 'dj/fetch-tagopt'
* dj/fetch-tagopt:
fetch: allow command line --tags to override config
Junio C Hamano [Tue, 31 Aug 2010 23:23:58 +0000 (16:23 -0700)]
Merge branch 'en/d-f-conflict-fix'
* en/d-f-conflict-fix:
merge-recursive: Avoid excessive output for and reprocessing of renames
merge-recursive: Fix multiple file rename across D/F conflict
t6031: Add a testcase covering multiple renames across a D/F conflict
merge-recursive: Fix typo
Mark tests that use symlinks as needing SYMLINKS prerequisite
t/t6035-merge-dir-to-symlink.sh: Remove TODO on passing test
fast-import: Improve robustness when D->F changes provided in wrong order
fast-export: Fix output order of D/F changes
merge_recursive: Fix renames across paths below D/F conflicts
merge-recursive: Fix D/F conflicts
Add a rename + D/F conflict testcase
Add additional testcases for D/F conflicts
Conflicts:
merge-recursive.c
Junio C Hamano [Tue, 31 Aug 2010 23:23:38 +0000 (16:23 -0700)]
Merge branch 'jn/svn-fe'
* jn/svn-fe:
t/t9010-svn-fe.sh: add an +x bit to this test
t9010 (svn-fe): avoid symlinks in test
t9010 (svn-fe): use Unix-style path in URI
vcs-svn: Avoid %z in format string
vcs-svn: Rename dirent pool to build on Windows
compat: add strtok_r()
treap: style fix
vcs-svn: remove build artifacts on "make clean"
svn-fe manual: Clarify warning about deltas in dump files
Update svn-fe manual
SVN dump parser
Infrastructure to write revisions in fast-export format
Add stream helper library
Add string-specific memory pool
Add treap implementation
Add memory pool library
Introduce vcs-svn lib
Junio C Hamano [Tue, 31 Aug 2010 23:23:35 +0000 (16:23 -0700)]
Merge branch 'tr/maint-no-unquote-plus'
* tr/maint-no-unquote-plus:
Do not unquote + into ' ' in URLs
Junio C Hamano [Tue, 31 Aug 2010 23:23:31 +0000 (16:23 -0700)]
Merge branch 'jn/paginate-fix'
* jn/paginate-fix:
t7006 (pager): add missing TTY prerequisites
merge-file: run setup_git_directory_gently() sooner
var: run setup_git_directory_gently() sooner
ls-remote: run setup_git_directory_gently() sooner
index-pack: run setup_git_directory_gently() sooner
config: run setup_git_directory_gently() sooner
bundle: run setup_git_directory_gently() sooner
apply: run setup_git_directory_gently() sooner
grep: run setup_git_directory_gently() sooner
shortlog: run setup_git_directory_gently() sooner
git wrapper: allow setup_git_directory_gently() be called earlier
setup: remember whether repository was found
git wrapper: introduce startup_info struct
Conflicts:
builtin/index-pack.c
Junio C Hamano [Tue, 31 Aug 2010 23:23:19 +0000 (16:23 -0700)]
Merge branch 'jn/maint-setup-fix'
* jn/maint-setup-fix:
setup: split off a function to handle ordinary .git directories
Revert "rehabilitate 'git index-pack' inside the object store"
setup: do not forget working dir from subdir of gitdir
t4111 (apply): refresh index before applying patches to it
setup: split off get_device_or_die helper
setup: split off a function to handle hitting ceiling in repo search
setup: split off code to handle stumbling upon a repository
setup: split off a function to checks working dir for .git file
setup: split off $GIT_DIR-set case from setup_git_directory_gently
tests: try git apply from subdir of toplevel
t1501 (rev-parse): clarify
Conflicts:
builtin/index-pack.c
Junio C Hamano [Tue, 31 Aug 2010 23:15:20 +0000 (16:15 -0700)]
Merge branch 'en/fast-export-fix'
* en/fast-export-fix:
fast-export: Add a --full-tree option
fast-export: Fix dropping of files with --import-marks and path limiting
Junio C Hamano [Tue, 31 Aug 2010 23:15:03 +0000 (16:15 -0700)]
Merge branch 'hv/autosquash-config'
* hv/autosquash-config:
add configuration variable for --autosquash option of interactive rebase
Junio C Hamano [Tue, 31 Aug 2010 23:14:27 +0000 (16:14 -0700)]
Merge branch 'sg/rerere-gc-old-still-used'
* sg/rerere-gc-old-still-used:
rerere: fix overeager gc
mingw_utime(): handle NULL times parameter
Matthieu Moy [Mon, 30 Aug 2010 09:50:42 +0000 (11:50 +0200)]
tests: factor HOME=$(pwd) in test-lib.sh
The same pattern is used in many tests, and makes it easy for new ones to
rely on $HOME being a trashable, clean, directory.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Mon, 30 Aug 2010 12:00:42 +0000 (12:00 +0000)]
test-lib: use subshell instead of cd $new && .. && cd $old
Change the test_create_repo code added in v1.2.2~6 to use a subshell
instead of keeping track of the old working directory and cd-ing back
when it's done.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Tue, 24 Aug 2010 07:34:10 +0000 (02:34 -0500)]
tests: simplify "missing PREREQ" message
When a test has no prerequisites satisfied (the usual case), instead
of "missing THING of THING", just say "missing THING". This does not
affect the output when a test is skipped due to a missing
prerequisites if another prerequisite is satisfied.
For example: instead of
ok 8 # skip notes work (missing EXPENSIVE of EXPENSIVE)
ok 9 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE)
write
ok 8 # skip notes work (missing EXPENSIVE)
ok 9 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE)
Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Thu, 19 Aug 2010 16:08:12 +0000 (16:08 +0000)]
t/t0000-basic.sh: Run the passing TODO test inside its own test-lib
Change the passing TODO test in t0000-basic.sh to run inside its own
test-lib.sh. The motivation is to have nothing out of the ordinary on
a normal test run for test smoking purposes.
If every normal test run has a passing TODO you're more likely to turn
a blind eye to it and not to investigate cases where things really are
passing unexpectedly.
It also makes the prove(1) output less noisy. Before:
All tests successful.
Test Summary Report
-------------------
./t0000-basic.sh (Wstat: 0 Tests: 46 Failed: 0)
TODO passed: 5
Files=484, Tests=6229, 143 wallclock secs ( 4.00 usr 4.15 sys + 104.77 cusr 351.57 csys = 464.49 CPU)
Result: PASS
And after:
All tests successful.
Files=484, Tests=6228, 139 wallclock secs ( 4.07 usr 4.25 sys + 104.54 cusr 350.85 csys = 463.71 CPU)
Result: PASS
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Thu, 19 Aug 2010 16:08:11 +0000 (16:08 +0000)]
test-lib: Allow overriding of TEST_DIRECTORY
Tests that test the test-lib.sh itself need to be executed in the
dynamically created trash directory, so we can't assume
$TEST_DIRECTORY is ../ for those.
As a side benefit this change also makes it easy for us to move the
t/*.sh tests into subdirectories if we ever want to do that.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Thu, 19 Aug 2010 16:08:10 +0000 (16:08 +0000)]
test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../
Change code that used $TEST_DIRECTORY/.. to use $GIT_BUILD_DIR
instead, the two are equivalent, but the latter is easier to read.
This required moving the assignment od GIT_BUILD_DIR to earlier in the
test-lib.sh file.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Thu, 19 Aug 2010 16:08:09 +0000 (16:08 +0000)]
test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../
Change the redundant calls to $(pwd) to use $TEST_DIRECTORY
instead. None of these were being executed after we cd'd somewhere
else so they weren't actually needed.
This also makes it easier to add support for overriding the test
library location and run tests in a different directory than t/.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Sun, 25 Jul 2010 14:55:46 +0000 (16:55 +0200)]
test: Introduce $GIT_BUILD_DIR
Introduce a new variable $GIT_BUILD_DIR which can be used to locate
data that resides under the build directory, and use that instead.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>