summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-02-27Merge branch 'mg/patch-id'Libravatar Junio C Hamano2-0/+38
* mg/patch-id: git-patch-id: do not trip over "no newline" markers git-patch-id: test for "no newline" markers
2011-02-27Merge branch 'mz/rerere-remaining'Libravatar Junio C Hamano5-19/+123
* mz/rerere-remaining: mergetool: don't skip modify/remove conflicts rerere "remaining"
2011-02-27Merge branch 'nd/sorted-builtin-command-list'Libravatar Junio C Hamano1-9/+9
* nd/sorted-builtin-command-list: git.c: reorder builtin command list
2011-02-27Merge branch 'js/maint-merge-use-prepare-commit-msg-hook'Libravatar Junio C Hamano2-8/+41
* js/maint-merge-use-prepare-commit-msg-hook: merge: honor prepare-commit-msg hook
2011-02-27Merge branch 'nd/hash-object-sanity'Libravatar Junio C Hamano5-10/+63
* nd/hash-object-sanity: Make hash-object more robust against malformed objects Conflicts: cache.h
2011-02-27Merge branch 'js/detach-doc'Libravatar Junio C Hamano1-23/+121
* js/detach-doc: git-checkout.txt: improve detached HEAD documentation
2011-02-27Merge branch 'va/p4'Libravatar Junio C Hamano1-4/+31
* va/p4: git-p4: Add copy detection support git-p4: Improve rename detection support
2011-02-27Merge branch 'pw/p4'Libravatar Junio C Hamano2-11/+149
* pw/p4: git-p4: support clone --bare git-p4: decode p4 wildcard characters git-p4: better message for "git-p4 sync" when not cloned git-p4: reinterpret confusing p4 message git-p4: accommodate new move/delete type in p4 git-p4: add missing newline in initial import message git-p4: fix key error for p4 problem git-p4: test script
2011-02-27Merge branch 'uk/checkout-ambiguous-ref'Libravatar Junio C Hamano4-107/+320
* uk/checkout-ambiguous-ref: Rename t2019 with typo "amiguous" that meant "ambiguous" checkout: rearrange update_refs_for_switch for clarity checkout: introduce --detach synonym for "git checkout foo^{commit}" checkout: split off a function to peel away branchname arg checkout: fix bug with ambiguous refs Conflicts: builtin/checkout.c
2011-02-27Merge branch 'sp/maint-smart-http-sans-100-continue'Libravatar Junio C Hamano1-11/+55
* sp/maint-smart-http-sans-100-continue: smart-http: Don't use Expect: 100-Continue
2011-02-27Merge branch 'mo/perl-bidi-pipe-envfix'Libravatar Junio C Hamano2-5/+30
* mo/perl-bidi-pipe-envfix: perl: command_bidi_pipe() method should set-up git environmens
2011-02-27Merge branch 'hv/mingw-fs-funnies'Libravatar Junio C Hamano2-9/+173
* hv/mingw-fs-funnies: mingw_rmdir: set errno=ENOTEMPTY when appropriate mingw: add fallback for rmdir in case directory is in use mingw: make failures to unlink or move raise a question mingw: work around irregular failures of unlink on windows mingw: move unlink wrapper to mingw.c
2011-02-27Merge branch 'en/object-list-with-pathspec'Libravatar Junio C Hamano2-2/+79
* en/object-list-with-pathspec: Add testcases showing how pathspecs are handled with rev-list --objects Make rev-list --objects work together with pathspecs
2011-02-27Merge branch 'nd/struct-pathspec'Libravatar Junio C Hamano25-444/+649
* nd/struct-pathspec: (22 commits) t6004: add pathspec globbing test for log family t7810: overlapping pathspecs and depth limit grep: drop pathspec_matches() in favor of tree_entry_interesting() grep: use writable strbuf from caller for grep_tree() grep: use match_pathspec_depth() for cache/worktree grepping grep: convert to use struct pathspec Convert ce_path_match() to use match_pathspec_depth() Convert ce_path_match() to use struct pathspec struct rev_info: convert prune_data to struct pathspec pathspec: add match_pathspec_depth() tree_entry_interesting(): optimize wildcard matching when base is matched tree_entry_interesting(): support wildcard matching tree_entry_interesting(): fix depth limit with overlapping pathspecs tree_entry_interesting(): support depth limit tree_entry_interesting(): refactor into separate smaller functions diff-tree: convert base+baselen to writable strbuf glossary: define pathspec Move tree_entry_interesting() to tree-walk.c and export it tree_entry_interesting(): remove dependency on struct diff_options Convert struct diff_options to use struct pathspec ...
2011-02-27gitweb: Make i18n (encoding) tests in t9500 leave clean stateLibravatar Jakub Narebski1-1/+5
The most important issue is that after unsetting `i18n.commitencoding' config variable t9500 no longer will use author and comitter name containing ISO-8859-1 characters, which are invalid UTF-8 characters. Besides it is good practice in general to clean up the state in tests. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-27git-add: make -A description clearer vs. -uLibravatar Michael J Gruber1-1/+1
Currently, it sounds as if "notice removal of files" distinguishes "-A" from "-u", and there is no mention of the worktree. But both notice the removal, and only "-A" adds changes from untracked files. Say so. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-27Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: branch_merged: fix grammar in warning
2011-02-27branch_merged: fix grammar in warningLibravatar Eric Hanchrow1-1/+1
Signed-off-by: Eric Hanchrow <eric.hanchrow@gmail.com> Helped-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-22update-index --refresh --porcelain: add missing constLibravatar Jonathan Nieder2-3/+3
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-22checkout: add missing const to describe_detached_headLibravatar Jonathan Nieder1-1/+1
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21Merge branch 'maint'Libravatar Junio C Hamano2-14/+14
* maint: Documentation: clarify -u<mode> option defaults
2011-02-21git-checkout.txt: improve detached HEAD documentationLibravatar Jay Soffian1-23/+121
The detached HEAD state is a source of much confusion for users new to git. Here we try to document it better. Reworked from http://article.gmane.org/gmane.comp.version-control.git/138440 Requested-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21Documentation: clarify -u<mode> option defaultsLibravatar Clemens Buchacher2-14/+14
Signed-off-by: Clemens Buchacher <drizzd@aon.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21Merge branch 'maint'Libravatar Junio C Hamano5-92/+15
* maint: t/t7500-commit.sh: use test_cmp instead of test t/gitweb-lib.sh: Ensure that errors are shown for --debug --immediate gitweb/gitweb.perl: don't call S_ISREG() with undef gitweb/gitweb.perl: remove use of qw(...) as parentheses
2011-02-21git-p4: Add copy detection supportLibravatar Vitor Antunes1-0/+16
Add new config options: git-p4.detectCopies - Enable copy detection. git-p4.detectCopiesHarder - Find copies harder. The detectCopies option should be set to a true/false value. The detectCopiesHarder option should be set to true/false value. P4Submit can now process diff-tree C status and integrate files accordingly. Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Acked-by: Tor Arvid Lund <torarvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: Improve rename detection supportLibravatar Vitor Antunes1-4/+15
Only open files for edit after integrating if the SHA1 of source and destination differ from each other. Add git config option detectRenames to allow permanent rename detection. This options should be set to a true/false value. Rename "detectRename" variable to "detectRenames" to make it more coherent with the description in git man pages, which always use plural. Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Acked-by: Tor Arvid Lund <torarvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21t/t7500-commit.sh: use test_cmp instead of testLibravatar Ævar Arnfjörð Bjarmason1-1/+6
Change commit_msg_is() in t/t7500-commit.sh to use test_cmp instead of the shell's test function. Now if a test fails we'll get test_cmp output showing us what failed. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21t/gitweb-lib.sh: Ensure that errors are shown for --debug --immediateLibravatar Ævar Arnfjörð Bjarmason3-88/+6
Because '--immediate' stops test suite after first error, therefore in this mode test_debug 'cat gitweb.log' was never ran, thus in effect negating effect of '--debug' option. This made finidng the cause of errors in gitweb test sute difficult. Modify the gitweb_run test subroutine to run test_debug itself in the case of errors (and also remove "test_debug 'cat gitweb.log'" from gitweb tests). This makes it possible to run *gitweb tests* with --immediate ---debug combination of options; also it makes gitweb tests to not output spurious debug data that is not considered error. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Jakub Narębski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21gitweb/gitweb.perl: don't call S_ISREG() with undefLibravatar Ævar Arnfjörð Bjarmason1-1/+1
Change S_ISREG($to_mode_oct) to S_ISREG($from_mode_oct) in the branch that handles from modes, not to modes. This logic appears to have been caused by copy/paste programming by Jakub Narebski in e8e41a93. It would be better to rewrite this code not to be duplicated, but I haven't done so. This issue caused a failing test on perl 5.13.9, which has a warning that turned this up: gitweb.perl: Use of uninitialized value in subroutine entry at /home/avar/g/git/t/../gitweb/gitweb.perl line 4415. Which caused the Git test suite to fail on this test: ./t9500-gitweb-standalone-no-errors.sh (Wstat: 256 Tests: 90 Failed: 84) Failed tests: 1-8, 10-36, 38-45, 47-48, 50-88 Non-zero exit status: 1 Reported-by: perl 5.13.9 Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21gitweb/gitweb.perl: remove use of qw(...) as parenthesesLibravatar Ævar Arnfjörð Bjarmason1-2/+2
Using the qw(...) construct as implicit parentheses was deprecated in perl 5.13.5. Change the relevant code in gitweb to not use the deprecated construct. The offending code was introduced in 3562198b by Jakub Narebski. The issue is that perl will now warn about this: $ perl -wE 'for my $i qw(a b) { say $i }' Use of qw(...) as parentheses is deprecated at -e line 1. a b This caused gitweb.perl to warn on perl 5.13.5 and above, and these tests to fail on those perl versions: ./t9501-gitweb-standalone-http-status.sh (Wstat: 256 Tests: 11 Failed: 10) Failed tests: 2-11 Non-zero exit status: 1 ./t9502-gitweb-standalone-parse-output.sh (Wstat: 256 Tests: 10 Failed: 9) Failed tests: 2-10 Non-zero exit status: 1 Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Jakub Narębski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: support clone --bareLibravatar Pete Wyckoff2-4/+23
Just like git clone --bare, build a .git directory but no checked out files. Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-By: Tor Arvid Lund <torarvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: decode p4 wildcard charactersLibravatar Pete Wyckoff2-0/+40
There are four wildcard characters in p4. Files with these characters can be added to p4 repos using the "-f" option. They are stored in %xx notation, and when checked out, p4 converts them back to normal. This patch does the same thing when importing into git, converting the four special characters. Without this change, the files appear with literal %xx in their names. Be careful not to produce "*" in filenames on windows. That will fail. Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: better message for "git-p4 sync" when not clonedLibravatar Pete Wyckoff1-0/+2
A common error is to do "git-p4 sync" in a repository that was not initialized by "git-p4 clone". There will be no p4 refs. The error message in this case is a traceback for an assertion, which is confusing. Change it instead to explain the likely problem. Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-By: Tor Arvid Lund <torarvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: reinterpret confusing p4 messageLibravatar Pete Wyckoff1-0/+4
Error output will look like this: glom$ git p4 clone //deopt Importing from //deopt into . Reinitialized existing Git repository in /tmp/x/.git/ Doing initial import of //deopt from revision #head into refs/remotes/p4/master p4 returned an error: //deopt/... - must refer to client glom. This particular p4 error is misleading. Perhaps the depot path was misspelled. Depot path: //deopt Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: accommodate new move/delete type in p4Libravatar Pete Wyckoff1-5/+7
562d53f (git-p4: Fix sync errors due to new server version, 2010-01-21) taught git-p4 sync to recognize the new move/delete type, but this type can also show up in an initial clone and labels output. Instead of replicating the support in three places, hoist the definition somewhere global. Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-By: Tor Arvid Lund <torarvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: add missing newline in initial import messageLibravatar Pete Wyckoff1-1/+1
Signed-off-by: Pete Wyckoff <pw@padd.com> Acked-By: Tor Arvid Lund <torarvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: fix key error for p4 problemLibravatar Pete Wyckoff2-1/+17
Some p4 failures result in an error, but the info['code'] is not set. These include a bad p4 executable, or a core dump from p4, and other odd internal errors where p4 fails to generate proper marshaled output. Make sure the info key exists before using it to avoid a python traceback. Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-21git-p4: test scriptLibravatar Pete Wyckoff1-0/+55
Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-17git-patch-id: do not trip over "no newline" markersLibravatar Michael J Gruber2-1/+3
Currently, patch-id trips over our very own diff extension for marking the absence of newline at EOF. Fix it. (Ignore it, it's whitespace.) Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-17git-patch-id: test for "no newline" markersLibravatar Michael J Gruber1-0/+36
Currently, patch-id trips over our very own output that marks the absence of newline at EOF. Expose this in a test. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-16Merge branch 'maint'Libravatar Junio C Hamano1-2/+4
* maint: parse_tag_buffer(): do not prefixcmp() out of range
2011-02-16Merge branch 'maint-1.7.3' into maintLibravatar Junio C Hamano0-0/+0
* maint-1.7.3:
2011-02-16Merge branch 'maint-1.7.2' into maint-1.7.3Libravatar Junio C Hamano3-20/+26
* maint-1.7.2: fast-import: introduce "feature notes" command fast-import: clarify documentation of "feature" command
2011-02-16Merge branch 'maint-1.7.1' into maint-1.7.2Libravatar Junio C Hamano3-20/+26
* maint-1.7.1: fast-import: introduce "feature notes" command fast-import: clarify documentation of "feature" command
2011-02-16Merge branch 'maint-1.7.0' into maint-1.7.1Libravatar Junio C Hamano3-20/+26
* maint-1.7.0: fast-import: introduce "feature notes" command fast-import: clarify documentation of "feature" command
2011-02-16mergetool: don't skip modify/remove conflictsLibravatar Martin von Zweigbergk2-7/+35
Since bb0a484 (mergetool: Skip autoresolved paths, 2010-08-17), mergetool uses different ways of figuring out the list of files with merge conflicts depending on whether rerere is active. If rerere is active, mergetool will use 'git rerere status' to list the files with remaining conflicts. However, the output from that command does not list conflicts of types that rerere does not handle, such as modify/remove conflicts. Another problem with solely relying on the output from 'git rerere status' is that, for new conflicts that are not yet known to rerere, the output from the command will list the files even after adding them to the index. This means that if the conflicts in some files have been resolved and 'git mergetool' is run again, it will ask the user something like the following for each of those files. file1: file does not need merging Continue merging other unresolved paths (y/n) ? Solve both of these problems by replacing the call to 'git rerere status' with a call to the new 'git rerere remaining' that was introduced in the previous commit. Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-16rerere "remaining"Libravatar Martin von Zweigbergk3-12/+88
After "rerere" resolves conflicts by reusing old resolution, there would be three kinds of paths with conflict in the index: * paths that have been resolved in the working tree by rerere; * paths that need further work whose resolution could be recorded; * paths that need resolving that rerere won't help. When the user wants a list of paths that need hand-resolving, output from "rerere status" does not help, as it shows only the second category, but the paths in the third category still needs work (rerere only makes sense for regular files that have both our side and their side, and does not help other kinds of conflicts, e.g. "we modified, they deleted"). The new subcommand "rerere remaining" can be used to show both. As opposed to "rerere status", this subcommand also skips printing paths that have been added to the index, since these paths are already resolved and are no longer "remaining". Initial patch provided by Junio. Refactored and modified to skip resolved paths by Martin. Commit message mostly by Junio. Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-16parse_tag_buffer(): do not prefixcmp() out of rangeLibravatar Nguyễn Thái Ngọc Duy1-2/+4
There is a check (size < 64) at the beginning of the function, but that only covers object+type lines. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-15git.c: reorder builtin command listLibravatar Nguyễn Thái Ngọc Duy1-9/+9
The majority of commands is in alphabet order except some. Reorder them so it's easier to locate a command by eye and able to binary search. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-15merge: honor prepare-commit-msg hookLibravatar Jay Soffian2-8/+41
When a merge is stopped due to conflicts or --no-commit, the subsequent commit calls the prepare-commit-msg hook. However, it is not called after a clean merge. Fix this inconsistency by invoking the hook after clean merges as well. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>