Age | Commit message (Collapse) | Author | Files | Lines |
|
This test is from 2007, which is late enough for the style to be
recognizably modern but still a while ago. Freshen it up to
follow new best practices:
- guard setup commands with test_expect_setup, so errors at
that stage can be caught;
- use <<\EOF in preference to <<EOF, to save reviewers the
trouble of looking for variable interpolations;
- use test_cmp instead of test "$foo" = "$bar", for better
output with -v on failure;
- indent commands in subshells and let them span multiple lines;
- combine the two "gitdir required mode" tests that do not make
as much sense alone.
Cc: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Make sure early failures are not masked by later successes.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
The fsck test is generally careful to remove the corrupt objects
it inserts, but dangling objects are left behind due to some typos
and omissions. It is better to clean up more completely, to
simplify the addition of later tests. So:
- guard setup and cleanup with test_expect_success to catch
typos and errors;
- check both stdout and stderr when checking for empty fsck
output;
- use test_cmp empty file in place of test $(wc -l <file) = 0,
for better debugging output when running tests with -v;
- add a remove_object () helper and use it to replace broken
object removal code that forgot about the fanout in
.git/objects;
- disable gc.auto, to avoid tripping up object removal if the
number of objects ever reaches that threshold.
- use test_when_finished to ensure cleanup tasks are run and
succeed when tests fail;
- add a new final test that no breakage or dangling objects
was left behind.
While at it, add a brief description to test_description of the
history that is expected to persist between tests.
Part of a campaign to clean up subshell usage in tests.
Cc: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Format the subshells introduced by the previous patch (Several tests:
cd inside subshell instead of around, 2010-09-06) like so:
(
cd subdir &&
...
) &&
This is generally easier to read and has the nice side-effect that
this patch will show what commands are used in the subshell, making
it easier to check for lost environment variables and similar
behavior changes.
Cc: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* jl/maint-fix-test:
Several tests: cd inside subshell instead of around
Conflicts:
t/t9600-cvsimport.sh
|
|
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>
|
|
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>
|
|
* maint:
tag.c: whitespace breakages fix
Fix whitespace issue in object.c
t5505: add missing &&
|
|
* xx/trivial:
tag.c: whitespace breakages fix
Fix whitespace issue in object.c
t5505: add missing &&
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
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>
|
|
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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.
|
|
* 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
|
|
* nd/maint-fix-replace:
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>
|
|
* 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
|
|
* nd/clone-depth-zero:
clone: warn users --depth is ignored in local clones
|
|
* jn/maint-doc-user-manual-html-doctype:
docs: fix Makefile dependency for user manual
Documentation: set a !DOCTYPE for user manual
|
|
* cb/maint-mergetool-no-tty:
mergetool: Remove explicit references to /dev/tty
Conflicts:
git-mergetool.sh
|
|
* 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
|
|
* 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
|
|
* jc/maint-doc-em-dash:
Work around em-dash handling in newer AsciiDoc
|
|
* 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
|
|
* 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
|
|
* 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
...
|
|
* 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
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
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>
|
|
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
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>
|
|
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* maint:
Prepare for 1.7.2.3
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* gp/pack-refs-remove-empty-dirs:
pack-refs: remove newly empty directories
|
|
* sg/rerere-gc-old-still-used:
rerere: fix overeager gc
mingw_utime(): handle NULL times parameter
|
|
* np/maint-huge-delta-generation:
fix >4GiB source delta assertion failure
|
|
* dj/fetch-tagopt:
fetch: allow command line --tags to override config
|
|
* da/fix-submodule-sync-superproject-config:
submodule sync: Update "submodule.<name>.url"
|
|
* 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
|
|
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>
|
|
* np/maint-huge-delta-generation:
fix >4GiB source delta assertion failure
|