summaryrefslogtreecommitdiff
path: root/t
AgeCommit message (Collapse)AuthorFilesLines
2009-04-22graph API: fix a bug in the rendering of octopus mergesLibravatar Allan Caffee1-1/+1
An off by one error was causing octopus merges with 3 parents to not be rendered correctly. This regression was introduced by 427fc5. Signed-off-by: Allan Caffee <allan.caffee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-22t4202-log: extend test coverage of graphingLibravatar Allan Caffee1-2/+28
Extend this test to cover the rendering of graphs with octopus merges and pre_commit lines. Signed-off-by: Allan Caffee <allan.caffee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-21test-lib.sh: Help test_create_repo() find the templates dirLibravatar Michael J Gruber1-1/+1
Currently, test_create_repo() expects that templates can be found below `pwd`/.. This assumption fails when tests are run against a git installed somewhere else or test_create_repo() is called from subdirectiories (several tests do this). Therefore, use $TEST_DIRECTORY as introduced in 2d84e9fb and expect templates to be present in $TEST_DIRECTORY/.. which should be the root dir of the git checkout. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-21Merge branch 'mk/maint-apply-swap'Libravatar Junio C Hamano1-3/+31
* mk/maint-apply-swap: tests: make test-apply-criss-cross-rename more robust builtin-apply: keep information about files to be deleted tests: test applying criss-cross rename patch Conflicts: t/t4130-apply-criss-cross-rename.sh
2009-04-20clone: add test for push on an empty clone.Libravatar Matthieu Moy1-0/+10
Commit 55f0566 (get_local_heads(): do not return random pointer if there is no head, 2009-04-17) fixed a segfault for git push, this patch adds a test-case to avoid future regressions. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20tests: make test-apply-criss-cross-rename more robustLibravatar Michał Kiedrowicz1-3/+31
I realized that this test does check if git-apply succeeds, but doesn't tell if it applies patches correctly. So I added test_cmp to check it. I also added a test which checks swapping three files. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20builtin-apply: keep information about files to be deletedLibravatar Michał Kiedrowicz1-1/+1
Example correct diff generated by `diff -M -B' might look like this: diff --git a/file1 b/file2 similarity index 100% rename from file1 rename to file2 diff --git a/file2 b/file1 similarity index 100% rename from file2 rename to file1 Information about removing `file2' comes after information about creation of new `file2' (renamed from `file1'). Existing implementation isn't able to apply such patch, because it has to know in advance which files will be removed. This patch populates fn_table with information about removal of files before calling check_patch() for each patch to be applied. Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20tests: test applying criss-cross rename patchLibravatar Michał Kiedrowicz1-0/+38
Originally reported by Linus in $gmane/116198 Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19Merge branch 'ef/maint-fast-export' into maintLibravatar Junio C Hamano1-0/+15
* ef/maint-fast-export: builtin-fast-export.c: handle nested tags builtin-fast-export.c: fix crash on tagged trees builtin-fast-export.c: turn error into warning test-suite: adding a test for fast-export with tag variants
2009-04-19Merge branch 'jc/maint-shared-literally' into maintLibravatar Junio C Hamano1-4/+8
* jc/maint-shared-literally: Update docs on behaviour of 'core.sharedRepository' and 'git init --shared' t1301-shared-repo: fix forced modes test
2009-04-19builtin-fast-export.c: handle nested tagsLibravatar Erik Faye-Lund1-2/+2
When tags that points to tags are passed to fast-export, an error is given, saying "Tag [TAGNAME] points nowhere?". This fix calls parse_object() on the object before referencing it's tag, to ensure the tag-info is fully initialized. In addition, it inserts a comment to point out where nested tags are handled. This is consistent with the comment for signed tags. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19builtin-fast-export.c: fix crash on tagged treesLibravatar Erik Faye-Lund1-3/+2
If a tag object points to a tree (or another unhandled type), the commit- pointer is left uninitialized and later dereferenced. This patch adds a default case to the switch that issues a warning and skips the object. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19test-suite: adding a test for fast-export with tag variantsLibravatar Erik Faye-Lund1-0/+16
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18Work around ash "alternate value" expansion bugLibravatar Ben Jackson1-0/+10
Ash (used as /bin/sh on many distros) has a shell expansion bug for the form ${var:+word word}. The result is a single argument "word word". Work around by using ${var:+word} ${var:+word} or equivalent. Signed-off-by: Ben Jackson <ben@ben.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18Merge branch 'nd/archive-attribute'Libravatar Junio C Hamano2-4/+96
* nd/archive-attribute: archive test: attributes archive: do not read .gitattributes in working directory unpack-trees: do not muck with attributes when we are not checking out attr: add GIT_ATTR_INDEX "direction" archive tests: do not use .gitattributes in working directory
2009-04-18Merge branch 'maint'Libravatar Junio C Hamano1-0/+9
* maint: Describe fixes since 1.6.2.3 doc/git-daemon: add missing arguments to max-connections option doc/git-daemon: add missing arguments to options init: Do not segfault on big GIT_TEMPLATE_DIR environment variable imap-send: use correct configuration variable in documentation
2009-04-18Merge branch 'bs/maint-1.6.0-tree-walk-prefix' into maintLibravatar Junio C Hamano2-0/+14
* bs/maint-1.6.0-tree-walk-prefix: match_tree_entry(): a pathspec only matches at directory boundaries tree_entry_interesting: a pathspec only matches at directory boundary
2009-04-18Merge branch 'js/maint-submodule-checkout' into maintLibravatar Junio C Hamano1-0/+42
* js/maint-submodule-checkout: Fix 'git checkout <submodule>' to update the index
2009-04-18Merge branch 'cb/maint-merge-recursive-submodule-fix' into maintLibravatar Junio C Hamano1-0/+74
* cb/maint-merge-recursive-submodule-fix: simplify output of conflicting merge update cache for conflicting submodule entries add tests for merging with submodules
2009-04-18Merge branch 'maint-1.6.0' into maintLibravatar Junio C Hamano1-0/+9
* maint-1.6.0: doc/git-daemon: add missing arguments to options init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
2009-04-18init: Do not segfault on big GIT_TEMPLATE_DIR environment variableLibravatar Frank Lichtenheld1-0/+9
Signed-off-by: Frank Lichtenheld <flichtenheld@astaro.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-17Merge branch 'mk/apply-swap'Libravatar Junio C Hamano1-0/+38
* mk/apply-swap: builtin-apply: keep information about files to be deleted tests: test applying criss-cross rename patch
2009-04-17Merge branch 'jc/shared-literally'Libravatar Junio C Hamano1-5/+9
* jc/shared-literally: t1301-shared-repo: fix forced modes test
2009-04-17Merge branch 'ns/am-to-empty'Libravatar Junio C Hamano1-0/+15
* ns/am-to-empty: git-am: teach git-am to apply a patch to an unborn branch
2009-04-17Merge branch 'bw/short-ref-strict'Libravatar Junio C Hamano1-3/+15
* bw/short-ref-strict: remote.c: use shorten_unambiguous_ref rev-parse: --abbrev-ref option to shorten ref name for-each-ref: utilize core.warnAmbiguousRefs for :short-format shorten_unambiguous_ref(): add strict mode
2009-04-17Merge branch 'da/difftool'Libravatar Junio C Hamano1-0/+211
* da/difftool: mergetool--lib: simplify API usage by removing more global variables Fix misspelled mergetool.keepBackup difftool/mergetool: refactor commands to use git-mergetool--lib mergetool: use $( ... ) instead of `backticks` bash completion: add git-difftool difftool: add support for a difftool.prompt config variable difftool: add various git-difftool tests difftool: move 'git-difftool' out of contrib difftool/mergetool: add diffuse as merge and diff tool difftool: add a -y shortcut for --no-prompt difftool: use perl built-ins when testing for msys difftool: remove the backup file feature difftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiff git-mergetool: add new merge tool TortoiseMerge git-mergetool/difftool: make (g)vimdiff workable under Windows doc/merge-config: list ecmerge as a built-in merge tool
2009-04-17Merge branch 'maint'Libravatar Junio C Hamano1-1/+8
* maint: doc/gitattributes: clarify location of config text Fix buffer overflow in config parser git-apply: fix option description
2009-04-17Merge branch 'maint-1.6.1' into maintLibravatar Junio C Hamano1-1/+8
* maint-1.6.1: Fix buffer overflow in config parser
2009-04-17Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano1-1/+8
* maint-1.6.0: Fix buffer overflow in config parser
2009-04-17archive test: attributesLibravatar René Scharfe1-0/+91
Add a test script for all archive attributes and their handling in normal and bare repositories. export-ignore and export-subst are tested, as well as the effect of the option --worktree-attributes. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-17archive tests: do not use .gitattributes in working directoryLibravatar René Scharfe1-4/+5
We are interested in using archive mostly from a bare repository, so it should not add .gitattributes to the work tree. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-17Fix buffer overflow in config parserLibravatar Thomas Jarosch1-1/+8
When interpreting a config value, the config parser reads in 1+ space character(s) and puts -one- space character in the buffer as soon as the first non-space character is encountered (if not inside quotes). Unfortunately the buffer size check lacks the extra space character which gets inserted at the next non-space character, resulting in a crash with a specially crafted config entry. The unit test now uses Java to compile a platform independent .NET framework to output the test string in C# :o) Read: Thanks to Johannes Sixt for the correct printf call which replaces the perl invocation. Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-15builtin-apply: keep information about files to be deletedLibravatar Michał Kiedrowicz1-1/+1
Example correct diff generated by `diff -M -B' might look like this: diff --git a/file1 b/file2 similarity index 100% rename from file1 rename to file2 diff --git a/file2 b/file1 similarity index 100% rename from file2 rename to file1 Information about removing `file2' comes after information about creation of new `file2' (renamed from `file1'). Existing implementation isn't able to apply such patch, because it has to know in advance which files will be removed. This patch populates fn_table with information about removal of files before calling check_patch() for each patch to be applied. Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-13tests: test applying criss-cross rename patchLibravatar Michał Kiedrowicz1-0/+38
Originally reported by Linus in $gmane/116198 Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-13for-each-ref: utilize core.warnAmbiguousRefs for :short-formatLibravatar Bert Wesarg1-3/+15
core.warnAmbiguousRefs is used to select strict mode for the abbreviation for the ":short" format specifier of "refname" and "upstream". In strict mode, the abbreviated ref will never trigger the 'warn_ambiguous_refs' warning. I.e. for these refs: refs/heads/xyzzy refs/tags/xyzzy the abbreviated forms are: heads/xyzzy tags/xyzzy Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-12git-am: teach git-am to apply a patch to an unborn branchLibravatar Nanako Shiraishi1-0/+15
People sometimes wonder why they cannot apply a patch that only creates new files to an unborn branch. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-12Mark t1301 permission test to depend on POSIXPERMLibravatar Junio C Hamano132-599/+3041
This prepares the topic for inclusion to master.
2009-04-12Merge branch 'jk/no-perl'Libravatar Junio C Hamano11-2/+47
* jk/no-perl: tests: skip perl tests if NO_PERL is defined Makefile: allow building without perl
2009-04-12Merge branch 'jk/show-upstream'Libravatar Junio C Hamano1-0/+22
* jk/show-upstream: branch: show upstream branch when double verbose make get_short_ref a public function for-each-ref: add "upstream" format field for-each-ref: refactor refname handling for-each-ref: refactor get_short_ref function
2009-04-12Merge branch 'fg/remote-prune'Libravatar Junio C Hamano1-0/+81
* fg/remote-prune: add tests for remote groups git remote update: Fallback to remote if group does not exist remote: New function remote_is_configured() git remote update: Report error for non-existing groups git remote update: New option --prune builtin-remote.c: Split out prune_remote as a separate function.
2009-04-12Merge branch 'cc/bisect-filter'Libravatar Junio C Hamano1-0/+60
* cc/bisect-filter: (21 commits) rev-list: add "int bisect_show_flags" in "struct rev_list_info" rev-list: remove last static vars used in "show_commit" list-objects: add "void *data" parameter to show functions bisect--helper: string output variables together with "&&" rev-list: pass "int flags" as last argument of "show_bisect_vars" t6030: test bisecting with paths bisect: use "bisect--helper" and remove "filter_skipped" function bisect: implement "read_bisect_paths" to read paths in "$GIT_DIR/BISECT_NAMES" bisect--helper: implement "git bisect--helper" bisect: use the new generic "sha1_pos" function to lookup sha1 rev-list: call new "filter_skip" function patch-ids: use the new generic "sha1_pos" function to lookup sha1 sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1 rev-list: pass "revs" to "show_bisect_vars" rev-list: make "show_bisect_vars" non static rev-list: move code to show bisect vars into its own function rev-list: move bisect related code into its own file rev-list: make "bisect_list" variable local to "cmd_rev_list" refs: add "for_each_ref_in" function to refactor "for_each_*_ref" functions quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array ...
2009-04-12t1301-shared-repo: fix forced modes testLibravatar Johannes Sixt1-4/+8
This test was added recently (5a688fe, "core.sharedrepository = 0mode" should set, not loosen; 2009-03-28). It checked the result of a sed invocation for emptyness, but in some cases it forgot to print anything at all, so that those checks would never be false. Due to this mistake, it went unnoticed that the files in objects/info are not necessarily 0440, but can also be 0660. Because the 0mode setting tries to guarantee that the files are accessible only to the people they are meant to be used by, we should only make sure that they are readable by the user and the group when the configuration is set to 0660. It is a separate matter from the core.shredrepository settings that w-bit from immutable object files under objects/[0-9a-f][0-9a-f] directories should be dropped. COMMIT_EDITMSG is still world-readable, but it (and any transient files that are meant for repositories with a work tree) does not matter. If you are working on a shared machine and on a sekrit stuff, the root of the work tree would be with mode 0700 (or 0750 to allow peeking by other people in the group), and that would mean that .git/COMMIT_EDITMSG in such a repository would not be readable by the strangers anyway. Also, in the real-world use case, .git/COMMIT_EDITMSG will be given to an arbitrary editor the user happens to use, and we have no guarantee what it does (e.g. it may create a new file with umask and replace, it may rewrite in place, it may leave an editor backup file but use umask to create it, etc.), and the protection of the file lies majorly on the protection of the root of the work tree. This test cannot be run on Windows; it requires POSIXPERM when merged to 'master'. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-11git-svn: Save init/clone --ignore-paths in configLibravatar Ben Jackson1-2/+2
The --ignored-paths argument is now stored as "svn-remote.$REMOTE_NAME.ignore-paths" in the config file. [ew: edited subject and message] Signed-off-by: Ben Jackson <ben@ben.com> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-04-11git-svn: Add per-svn-remote ignore-paths configLibravatar Ben Jackson1-3/+52
The --ignore-paths option to fetch is very useful for working on a subset of a SVN repository. For proper operation, every command that causes a fetch (explicit or implied) must include a matching --ignore-paths option. This patch adds a persistent svn-remote.$repo_id.ignore-paths config by promoting Fetcher::is_path_ignored to a member function and initializing $self->{ignore_regex} in Fetcher::new. Command line --ignore-paths is still recognized and acts in addition to the config value. Signed-off-by: Ben Jackson <ben@ben.com> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-04-09add tests for remote groupsLibravatar Jeff King1-0/+81
This tries to systematically cover existing behavior, and also mark some expect_failure cases for desired behavior. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-08Merge branch 'jc/shared-literally' into maintLibravatar Junio C Hamano1-0/+37
* jc/shared-literally: t1301: loosen test for forced modes set_shared_perm(): sometimes we know what the final mode bits should look like move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath Move chmod(foo, 0444) into move_temp_to_file() "core.sharedrepository = 0mode" should set, not loosen
2009-04-08Merge branch 'jc/maint-1.6.0-diff-borrow-carefully' into maintLibravatar Junio C Hamano1-0/+8
* jc/maint-1.6.0-diff-borrow-carefully: diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
2009-04-08Merge branch 'jc/maint-1.6.0-keep-pack' into maintLibravatar Junio C Hamano1-0/+61
* jc/maint-1.6.0-keep-pack: pack-objects: don't loosen objects available in alternate or kept packs t7700: demonstrate repack flaw which may loosen objects unnecessarily Remove --kept-pack-only option and associated infrastructure pack-objects: only repack or loosen objects residing in "local" packs git-repack.sh: don't use --kept-pack-only option to pack-objects t7700-repack: add two new tests demonstrating repacking flaws is_kept_pack(): final clean-up Simplify is_kept_pack() Consolidate ignore_packed logic more has_sha1_kept_pack(): take "struct rev_info" has_sha1_pack(): refactor "pretend these packs do not exist" interface git-repack: resist stray environment variable Conflicts: t/t7700-repack.sh
2009-04-08Merge branch 'bc/maint-1.6.1-branch-deleted-was' into maint-1.6.1Libravatar Junio C Hamano1-1/+1
* bc/maint-1.6.1-branch-deleted-was: git-branch: display "was sha1" on branch deletion rather than just "sha1"
2009-04-08tests: skip perl tests if NO_PERL is definedLibravatar Jeff King11-2/+47
These scripts all test git programs that are written in perl, and thus obviously won't work if NO_PERL is defined. We pass NO_PERL to the scripts from the building Makefile via the GIT-BUILD-OPTIONS file. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>