summaryrefslogtreecommitdiff
path: root/t
AgeCommit message (Collapse)AuthorFilesLines
2010-04-10Merge branch 'jl/maint-submodule-gitfile-awareness'Libravatar Junio C Hamano2-0/+31
* jl/maint-submodule-gitfile-awareness: Teach diff --submodule and status to handle .git files in submodules
2010-04-10Teach diff --submodule and status to handle .git files in submodulesLibravatar Jens Lehmann2-0/+31
The simple test for an existing .git directory gives an incorrect result if .git is a file that records "gitdir: overthere". So for submodules that use a .git file, "git status" and the diff family - when the "--submodule" option is given - did assume the submodule was not populated at all when a .git file was used, thus generating wrong output or no output at all. This is fixed by using read_gitfile_gently() to get the correct location of the .git directory. While at it, is_submodule_modified() was cleaned up to use the "dir" member of "struct child_process" instead of setting the GIT_WORK_TREE and GIT_DIR environment variables. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-04-07Merge branch 'mg/notes-reflog'Libravatar Junio C Hamano1-0/+9
* mg/notes-reflog: refs.c: Write reflogs for notes just like for branch heads t3301-notes: Test the creation of reflog entries
2010-04-06Merge branch 'sb/fmt-merge-msg'Libravatar Junio C Hamano1-34/+162
* sb/fmt-merge-msg: fmt-merge-msg: hide summary option fmt-merge-msg: remove custom string_list implementation string-list: add unsorted_string_list_lookup() fmt-merge-msg: use pretty.c routines t6200: test fmt-merge-msg more t6200: modernize with test_tick fmt-merge-msg: be quiet if nothing to merge
2010-04-06Merge branch 'jc/conflict-marker-size'Libravatar Junio C Hamano1-1/+22
* jc/conflict-marker-size: diff --check: honor conflict-marker-size attribute
2010-04-06Merge branch 'ef/maint-empty-commit-log'Libravatar Junio C Hamano1-0/+9
* ef/maint-empty-commit-log: rev-list: fix --pretty=oneline with empty message
2010-04-03Merge branch 'mb/rebase-i-no-ff'Libravatar Junio C Hamano1-4/+32
* mb/rebase-i-no-ff: Teach rebase the --no-ff option. Conflicts: git-rebase--interactive.sh t/t3404-rebase-interactive.sh
2010-04-03Merge branch 'jn/merge-diff3-label'Libravatar Junio C Hamano3-8/+263
* jn/merge-diff3-label: merge-recursive: add a label for ancestor cherry-pick, revert: add a label for ancestor revert: clarify label on conflict hunks compat: add mempcpy() checkout -m --conflict=diff3: add a label for ancestor merge_trees(): add ancestor label parameter for diff3-style output merge_file(): add comment explaining behavior wrt conflict style checkout --conflict=diff3: add a label for ancestor ll_merge(): add ancestor label parameter for diff3-style output merge-file --diff3: add a label for ancestor xdl_merge(): move file1 and file2 labels to xmparam structure xdl_merge(): add optional ancestor label to diff3-style output tests: document cherry-pick behavior in face of conflicts tests: document format of conflicts from checkout -m Conflicts: builtin/revert.c
2010-04-03Merge branch 'bc/t5505-fix'Libravatar Junio C Hamano1-41/+6
* bc/t5505-fix: t/t5505-remote.sh: escape * to prevent interpretation by shell as glob t5505: add missing && t5505: remove unnecessary subshell invocations
2010-04-03Merge branch 'bc/acl-test'Libravatar Junio C Hamano1-17/+6
* bc/acl-test: t/t1304: make a second colon optional in the mask ACL check t/t1304: set the ACL effective rights mask t/t1304: use 'test -r' to test readability rather than looking at mode bits t/t1304: set the Default ACL base entries t/t1304: avoid -d option to setfacl
2010-04-03Merge branch 'do/rebase-i-arbitrary'Libravatar Junio C Hamano1-0/+9
* do/rebase-i-arbitrary: rebase--interactive: don't require what's rebased to be a branch Conflicts: t/t3404-rebase-interactive.sh
2010-03-29Merge branch 'maint'Libravatar Junio C Hamano1-0/+4
* maint: format-patch: Squelch 'fatal: Not a range." error
2010-03-29format-patch: Squelch 'fatal: Not a range." errorLibravatar Kevin Ballard1-0/+4
Don't output an error on `git format-patch --ignore-if-in-upstream HEAD`. This matches the behavior of `git format-patch HEAD`. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-29refs.c: Write reflogs for notes just like for branch headsLibravatar Michael J Gruber1-1/+1
The notes code intends to write reflog entries, but currently they are not written because log_ref_write() checks for the refname path explicitly. Add refs/notes to the list of allowed paths so that notes references are treated just like branch heads, i.e. according to core.logAllRefUpdates and core.bare. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-29t3301-notes: Test the creation of reflog entriesLibravatar Michael J Gruber1-0/+9
Test whether the notes code writes reflog entries. It intends to (setting up the reflog messages) but currently does not. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-28Merge branch 'cc/cherry-pick-ff'Libravatar Junio C Hamano1-0/+98
* cc/cherry-pick-ff: revert: fix tiny memory leak in cherry-pick --ff rebase -i: use new --ff cherry-pick option Documentation: describe new cherry-pick --ff option cherry-pick: add tests for new --ff option revert: add --ff option to allow fast forward when cherry-picking builtin/merge: make checkout_fast_forward() non static parse-options: add parse_options_concat() to concat options
2010-03-28Merge branch 'sb/notes-parse-opt'Libravatar Junio C Hamano1-0/+11
* sb/notes-parse-opt: notes: rework subcommands and parse options Conflicts: builtin/notes.c
2010-03-28rebase -i: make post-rewrite work for 'edit'Libravatar Thomas Rast1-0/+16
The post-rewrite support, in the form of the call to 'record_in_rewritten', was hidden in the arm where we have to record a new commit for the user. This meant that it was never invoked in the case where the user has already amended the commit by herself. [The test is designed to exercise both arms of the 'if' in question.] Furthermore, recording the stopped-sha (the SHA1 of the commit before the editing) suffered from a cut&paste error from die_with_patch and used the wrong variable, hence it never recorded anything. Noticed by Junio. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-28Merge branch 'cp/add-u-pathspec' into maintLibravatar Junio C Hamano2-0/+10
* cp/add-u-pathspec: test for add with non-existent pathspec git add -u: die on unmatched pathspec
2010-03-28Merge branch 'maint'Libravatar Junio C Hamano2-33/+47
* maint: t9350: fix careless use of "cd" difftool: Fix '--gui' when diff.guitool is unconfigured fast-export: don't segfault when marks file cannot be opened
2010-03-28t9350: fix careless use of "cd"Libravatar Junio C Hamano1-33/+38
Upon failure of any of these tests (or when a test that is marked as expecting a failure is fixed), we will end up running later tests in random places. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-28difftool: Fix '--gui' when diff.guitool is unconfiguredLibravatar David Aguilar1-0/+9
When diff.guitool is unconfigured and "--gui" is specified git-difftool dies with the following error message: config diff.guitool: command returned error: 1 Catch the error so that the "--gui" flag is a no-op when diff.guitool is unconfigured. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-24t6200: test fmt-merge-msg moreLibravatar Stephen Boyd1-0/+115
Add some more tests so we don't break behavior upon modernizing fmt-merge-msg. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-24t6200: modernize with test_tickLibravatar Stephen Boyd1-35/+29
This test defines its own version of test_tick. Get rid of it. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-24fmt-merge-msg: be quiet if nothing to mergeLibravatar Stephen Boyd1-0/+19
When FETCH_HEAD contains only 'not-for-merge' entries fmt-merge-msg still outputs "Merge" (and if the branch isn't master " into <branch>"). In this case fmt-merge-msg is outputting junk and should really just be quiet. Fix it. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-24diff --check: honor conflict-marker-size attributeLibravatar Junio C Hamano1-1/+22
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-24Merge branch 'tr/notes-display'Libravatar Junio C Hamano6-8/+609
* tr/notes-display: git-notes(1): add a section about the meaning of history notes: track whether notes_trees were changed at all notes: add shorthand --ref to override GIT_NOTES_REF commit --amend: copy notes to the new commit rebase: support automatic notes copying notes: implement helpers needed for note copying during rewrite notes: implement 'git notes copy --stdin' rebase -i: invoke post-rewrite hook rebase: invoke post-rewrite hook commit --amend: invoke post-rewrite hook Documentation: document post-rewrite hook Support showing notes from more than one notes tree test-lib: unset GIT_NOTES_REF to stop it from influencing tests Conflicts: git-am.sh refs.c
2010-03-24Merge branch 'jl/submodule-diff-dirtiness'Libravatar Junio C Hamano2-9/+97
* jl/submodule-diff-dirtiness: git status: ignoring untracked files must apply to submodules too git status: Fix false positive "new commits" output for dirty submodules Refactor dirty submodule detection in diff-lib.c git status: Show detailed dirty status of submodules in long format git diff --submodule: Show detailed dirty status of submodules
2010-03-24Merge branch 'pb/log-first-parent-p-m'Libravatar Junio C Hamano7-0/+543
* pb/log-first-parent-p-m: show --first-parent/-m: do not default to --cc show -c: show patch text revision: introduce setup_revision_opt t4013: add tests for log -p -m --first-parent git log -p -m: document -m and honor --first-parent
2010-03-24Merge branch 'jc/maint-refs-dangling'Libravatar Junio C Hamano1-3/+3
* jc/maint-refs-dangling: refs: ref entry with NULL sha1 is can be a dangling symref
2010-03-24Merge branch 'jc/color-attrs' into maintLibravatar Junio C Hamano1-4/+11
* jc/color-attrs: color: allow multiple attributes
2010-03-24Merge branch 'jk/maint-add-ignored-dir' into maintLibravatar Junio C Hamano2-2/+85
* jk/maint-add-ignored-dir: tests for "git add ignored-dir/file" without -f dir: fix COLLECT_IGNORED on excluded prefixes t0050: mark non-working test as such
2010-03-24Merge branch 'bg/apply-fix-blank-at-eof' into maintLibravatar Junio C Hamano3-0/+305
* bg/apply-fix-blank-at-eof: t3417: Add test cases for "rebase --whitespace=fix" t4124: Add additional tests of --whitespace=fix apply: Allow blank context lines to match beyond EOF apply: Remove the quick rejection test apply: Don't unnecessarily update line lengths in the preimage
2010-03-24Teach rebase the --no-ff option.Libravatar Marc Branchaud1-4/+32
For git-rebase.sh, --no-ff is a synonym for --force-rebase. For git-rebase--interactive.sh, --no-ff cherry-picks all the commits in the rebased branch, instead of fast-forwarding over any unchanged commits. --no-ff offers an alternative way to deal with reverted merges. Instead of "reverting the revert" you can use "rebase --no-ff" to recreate the branch with entirely new commits (they're new because at the very least the committer time is different). This obviates the need to revert the reversion, as you can re-merge the new topic branch directly. Added an addendum to revert-a-faulty-merge.txt describing the situation and how to use --no-ff to handle it. Signed-off-by: Marc Branchaud <marcnarc@xiplink.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-21rev-list: fix --pretty=oneline with empty messageLibravatar Erik Faye-Lund1-0/+9
55246aa (Dont use "<unknown>" for placeholders and suppress printing of empty user formats) introduced a check to prevent empty user-formats from being printed. This test didn't take empty commit messages into account, and prevented the line-termination from being output. This lead to multiple commits on a single line. Correct it by guarding the check with a check for user-format. A similar correction for the --graph code-path has been included. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20cherry-pick, revert: add a label for ancestorLibravatar Jonathan Nieder1-2/+2
When writing conflict hunks in ‘diff3 -m’ format, also add a label to the common ancestor. Especially in a cherry-pick, it is not immediately obvious without such a label what the common ancestor represents. git rerere does not have trouble parsing the new output and its preimage ids are unchanged since it includes its own code for recreating conflict hunks. No other code in git parses conflict hunks. Requested-by: Stefan Monnier <monnier@iro.umontreal.ca> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20revert: clarify label on conflict hunksLibravatar Jonathan Nieder1-2/+2
When reverting a commit, the commit being merged is not the commit to revert itself but its parent. Add “parent of” to the conflict hunk label to make this more clear. The conflict hunk labels are all pieces of a single string written in the new get_message() function. Avoid some complication by using mempcpy to advance a pointer as the result is written. Also free the corresponding temporary buffer (it was leaked before). This is not important because it is a small one-time allocation. It would become a memory leak if unnoticed when libifying revert. This patch uses calls to strlen() instead of integer constants in some places. GCC will compute the length at compile time; I am not sure about other compilers, but this is not performance-critical anyway. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20checkout -m --conflict=diff3: add a label for ancestorLibravatar Jonathan Nieder1-1/+1
git checkout --merge --conflict=diff3 can be used to present conflict hunks including text from the common ancestor. The added information is helpful for resolving a merge by hand, and merge tools tend to understand it because it is very similar to what ‘diff3 -m’ produces. Unlike current git, diff3 -m includes a label for the merge base on the ||||||| line, and unfortunately, some tools cannot parse the conflict hunks without it. Humans can benefit from a cue when learning to interpreting the format, too. Mark the start of the text from the old branch with a label based on the branch’s name. git rerere does not have trouble parsing this output and its preimage ids are unchanged since it includes its own code for recreating conflict hunks. No other code in git tries to parse conflict hunks. Requested-by: Stefan Monnier <monnier@iro.umontreal.ca> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20checkout --conflict=diff3: add a label for ancestorLibravatar Jonathan Nieder1-2/+2
git checkout --conflict=diff3 can be used to present conflicts hunks including text from the common ancestor: <<<<<<< ours ourside ||||||| original ======= theirside >>>>>>> theirs The added information is helpful for resolving a merge by hand, and merge tools can usually understand it without trouble because it looks like output from ‘diff3 -m’. diff3 includes a label for the merge base on the ||||||| line, and it seems some tools (for example, Emacs 22’s smerge-mode) cannot parse conflict hunks without such a label. Humans could use help in interpreting the output, too. So change the marker for the start of the text from the common ancestor to include the label “base”. git rerere’s conflict identifiers are not affected: to parse conflict hunks, rerere looks for whitespace after the ||||||| marker rather than a newline, and to compute preimage ids, rerere has its own code for creating conflict hunks. No other code in git tries to parse conflict hunks. Requested-by: Stefan Monnier <monnier@iro.umontreal.ca> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20merge-file --diff3: add a label for ancestorLibravatar Jonathan Nieder1-2/+2
git merge-file --diff3 can be used to present conflicts hunks including text from the common ancestor. The added information is helpful for resolving a merge by hand, and merge tools can usually grok it because it looks like output from diff3 -m. However, ‘diff3’ includes a label for the merge base on the ||||||| line and some tools cannot parse conflict hunks without such a label. Write the base-name as passed in a -L option (or the name of the ancestor file by default) on that line. git rerere will not have trouble parsing this output, since instead of looking for a newline, it looks for whitespace after the ||||||| marker. Since rerere includes its own code for recreating conflict hunks, conflict identifiers are unaffected. No other code in git tries to parse conflict hunks. Requested-by: Stefan Monnier <monnier@iro.umontreal.ca> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20tests: document cherry-pick behavior in face of conflictsLibravatar Jonathan Nieder1-0/+198
We are about to change the format of the conflict hunks that cherry-pick and revert write. Add tests checking the current behavior first. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20tests: document format of conflicts from checkout -mLibravatar Jonathan Nieder1-4/+61
We are about to change the format of the conflict hunks that ‘checkout --merge’ writes. Add tests checking the current behavior first. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20Merge branch 'jk/maint-add-ignored-dir'Libravatar Junio C Hamano2-2/+85
* jk/maint-add-ignored-dir: tests for "git add ignored-dir/file" without -f dir: fix COLLECT_IGNORED on excluded prefixes t0050: mark non-working test as such
2010-03-20Merge branch 'jc/color-attrs'Libravatar Junio C Hamano1-4/+11
* jc/color-attrs: color: allow multiple attributes
2010-03-20Merge branch 'cc/reset-keep'Libravatar Junio C Hamano3-10/+139
* cc/reset-keep: Documentation: improve description of "git reset --keep" reset: disallow using --keep when there are unmerged entries reset: disallow "reset --keep" outside a work tree Documentation: reset: describe new "--keep" option reset: add test cases for "--keep" option reset: add option "--keep" to "git reset"
2010-03-20Merge branch 'bg/apply-fix-blank-at-eof'Libravatar Junio C Hamano3-0/+305
* bg/apply-fix-blank-at-eof: t3417: Add test cases for "rebase --whitespace=fix" t4124: Add additional tests of --whitespace=fix apply: Allow blank context lines to match beyond EOF apply: Remove the quick rejection test apply: Don't unnecessarily update line lengths in the preimage
2010-03-20Merge branch 'bw/union-merge-refactor'Libravatar Junio C Hamano1-0/+37
* bw/union-merge-refactor: merge-file: add option to select union merge favor merge-file: add option to specify the marker size refactor merge flags into xmparam_t make union merge an xdl merge favor
2010-03-20Use test_expect_success for test setupsLibravatar Brian Gernhardt5-61/+70
Several tests did not use test_expect_success for their setup commands. Putting these start commands into the testing framework means both that errors during setup will be caught quickly and that non-error text will be suppressed without -v. Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20t/t5505-remote.sh: escape * to prevent interpretation by shell as globLibravatar Brandon Casey1-1/+1
This test is supposed to check that git-remote correctly refuses to delete all URLS for the specified remote which match the '.*' regular expression. Since the '*' was not protected, it was interpreted by the shell as a file glob and expanded before being passed to git-remote. The call to git-remote still exited non-zero in this case, and the overall test still passed, but it exited non-zero because git-remote was passed the incorrect number of arguments, not for the reason it was supposed to fail. Correct the test by escaping the '*'. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20t5505: add missing &&Libravatar Brandon Casey1-1/+1
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>