summaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
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 Hamano1-11/+49
* 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-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-21git-p4: support clone --bareLibravatar Pete Wyckoff1-4/+13
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 Wyckoff1-0/+18
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 Wyckoff1-1/+4
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-14Obey p4 views when using client specLibravatar Ian Wienand2-4/+51
When using the p4 client spec, this attempts to obey the client's output preferences. For example, a view like //depot/foo/branch/... //client/branch/foo/... //depot/bar/branch/... //client/branch/bar/... will result in a directory layout in the git tree of branch/ branch/foo branch/bar p4 can do various other reordering that this change doesn't support, but we should detect it and at least fail nicely. Signed-off-by: Ian Wienand <ianw@vmware.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-11Merge branch 'maint'Libravatar Junio C Hamano1-0/+3
* maint: Git 1.7.4.1 clone: fixup recurse_submodules option svn-fe: warn about experimental status Conflicts: contrib/examples/git-revert.sh contrib/svn-fe/svn-fe.txt
2011-02-11svn-fe: warn about experimental statusLibravatar Jonathan Nieder1-0/+3
svn-fe is young and some coming cleanups might involve backward incompatible UI changes. Add some words of warning to the manual so early adopters that are not following the project closely don't get burned. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-09Merge branch 'jn/cherry-pick-strategy-option'Libravatar Junio C Hamano1-1/+12
* jn/cherry-pick-strategy-option: cherry-pick/revert: add support for -X/--strategy-option
2011-02-07post-receive-email: suppress error if description file missingLibravatar Sitaram Chamarty1-1/+1
Signed-off-by: Sitaram Chamarty <sitaramc@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-12-28cherry-pick/revert: add support for -X/--strategy-optionLibravatar Jonathan Nieder1-1/+12
For example, this would allow cherry-picking or reverting patches from a piece of history with a different end-of-line style, like so: $ git revert -Xrenormalize old-problematic-commit Currently that is possible with manual use of merge-recursive but the cherry-pick/revert porcelain does not expose the functionality. While at it, document the existing support for --strategy. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-12-22Merge branch 'pd/bash-4-completion'Libravatar Junio C Hamano1-78/+290
* pd/bash-4-completion: bash: simple reimplementation of _get_comp_words_by_ref bash: get --pretty=m<tab> completion to work with bash v4 Conflicts: contrib/completion/git-completion.bash
2010-12-21Merge branch 'tc/completion-reflog'Libravatar Junio C Hamano1-1/+12
* tc/completion-reflog: bash completion: add basic support for git-reflog
2010-12-20completion: add missing configuration variablesLibravatar Martin von Zweigbergk1-4/+66
Quite a few configuration variables have been added since 226b343 (completion: add missing configuration variables to _git_config(), 2009-05-03). Add these variables to the Bash completion script. Also remove the obsolete 'add.ignore-errors' and 'color.grep.external', as well as 'diff.renameLimit.', which never existed and rename the misspelled 'sendemail.aliasesfiletype'. Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-12-17bash completion: add basic support for git-reflogLibravatar Tay Ray Chuan1-1/+12
"Promote" the reflog command out of plumbing, so that we now run completion for it. After all, it's listed under porcelain (ancillary), and we do run completion for those commands. Add basic completion for the three subcommands - show, expire, delete. Try completing refs for these too. Helped-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-12-15Merge branch 'master' (early part) into pd/bash-4-completionLibravatar Jonathan Nieder12-61/+288
* 'master' (early part): (529 commits) completion: fix zsh check under bash with 'set -u' Fix copy-pasted comments related to tree diff handling. Git 1.7.3.2 {cvs,svn}import: use the new 'git read-tree --empty' t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To' Clarify and extend the "git diff" format documentation git-show-ref.txt: clarify the pattern matching documentation: git-config minor cleanups Update test script annotate-tests.sh to handle missing/extra authors Better advice on using topic branches for kernel development Documentation: update implicit "--no-index" behavior in "git diff" Documentation: expand 'git diff' SEE ALSO section Documentation: diff can compare blobs Documentation: gitrevisions is in section 7 fast-import: Allow filemodify to set the root shell portability: no "export VAR=VAL" CodingGuidelines: reword parameter expansion section Documentation: update-index: -z applies also to --index-info gitweb: Improve behavior for actionless path_info gitweb URLs gitweb: Fix bug in evaluate_path_info ... Conflicts: GIT-VERSION-GEN RelNotes contrib/completion/git-completion.bash
2010-12-14bash: simple reimplementation of _get_comp_words_by_refLibravatar Jonathan Nieder1-8/+110
Add a minimal implementation of _get_comp_words_by_ref so $ git show head:g <tab><tab> on bash 4 can complete paths within the head commit without requiring the bash_completion functions to be loaded. This is a follow-up to the previous patch (bash: get --pretty=m<tab> completion to work with bash v4). Based on bash-completion 2.x (commit bf763033, 2010-10-26) but tweaked for simplicity and to allow zsh to parse the code. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Improved-by: SZEDER Gábor <szeder@ira.uka.de>
2010-12-14bash: get --pretty=m<tab> completion to work with bash v4Libravatar Peter van der Does1-76/+160
Bash's programmable completion provides the COMP_WORDS array variable, which holds the individual words in the current command line. In bash versions prior to v4 "words are split on shell metacharacters as the shell parser would separate them" (quote from bash v3.2.48's man page). This behavior has changed with bash v4, and the command line "is split into words as readline would split it, using COMP_WORDBREAKS as" "the set of characters that the readline library treats as word separators" (quote from bash v4's man page). Since COMP_WORDBREAKS contains the characters : and = by default, this behavior change in bash affects git's completion script. For example, before bash 4, running $ git log --pretty=m <tab><tab> would give a list of pretty-printing formats starting with 'm' but now it completes on branch names. It would be possible to work around this by removing '=' and ':' from COMP_WORDBREAKS, but as noticed in v1.5.6.4~9^2 (bash completion: Resolve git show ref:path<tab> losing ref: portion, 2008-07-15), that would break *other* completion scripts. The bash-completion library includes a better workaround: the _get_comp_words_by_ref function re-assembles a copy of COMP_WORDS, excluding a collection of word separators of the caller's choice. Use it. As a bonus, this also improves behavior when tab is pressed with the cursor in the middle of a word. To avoid breaking setups with the bash-completion library not already loaded, if the _get_comp_words_by_ref function is not defined then a shim that just reads COMP_WORDS will be used instead (no change from the current behavior in that case). Signed-off-by: Peter van der Does <peter@avirtualhome.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Explained-by: SZEDER Gábor <szeder@ira.uka.de>
2010-12-09Merge branch 'maint'Libravatar Junio C Hamano1-4/+4
* maint: contrib/hooks/post-receive-email: fix return values from prep_for_email
2010-12-09Merge branch 'ab/require-perl-5.8' into maintLibravatar Junio C Hamano2-2/+3
* ab/require-perl-5.8: perl: use "use warnings" instead of -w perl: bump the required Perl version to 5.8 from 5.6.[21]
2010-12-09contrib/hooks/post-receive-email: fix return values from prep_for_emailLibravatar Alan Raison1-4/+4
The function was returning 0 for failure and 1 for success which was breaking the logic in the main loop. It now also returns in all cases, rather than exiting. Signed-off-by: Alan Raison <alan@theraisons.me.uk> Acked-by: Kevin P. Fleming <kpfleming@digium.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-12-01Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: add: introduce add.ignoreerrors synonym for add.ignore-errors bash: Match lightweight tags in prompt git-commit.txt: (synopsis): move -i and -o before "--"
2010-12-01Merge branch 'maint-1.7.2' into maintLibravatar Junio C Hamano1-1/+1
* maint-1.7.2: add: introduce add.ignoreerrors synonym for add.ignore-errors bash: Match lightweight tags in prompt git-commit.txt: (synopsis): move -i and -o before "--"
2010-12-01bash: Match lightweight tags in promptLibravatar knittl1-1/+1
The bash prompt would display a commit's object name when having checked out a lightweight tag. Provide `--tags` to `git describe` in the completion script, so it will display lightweight tag names, as it already does for annotated tags. Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-24Merge branch 'mm/phrase-remote-tracking'Libravatar Junio C Hamano1-1/+1
* mm/phrase-remote-tracking: git-branch.txt: mention --set-upstream as a way to change upstream configuration user-manual: remote-tracking can be checked out, with detached HEAD user-manual.txt: explain better the remote(-tracking) branch terms Change incorrect "remote branch" to "remote tracking branch" in C code Change incorrect uses of "remote branch" meaning "remote-tracking" Change "tracking branch" to "remote-tracking branch" everyday.txt: change "tracking branch" to "remote-tracking branch" Change remote tracking to remote-tracking in non-trivial places Replace "remote tracking" with "remote-tracking" Better "Changed but not updated" message in git-status
2010-11-24Merge branch 'dk/maint-blame-el' into maintLibravatar Junio C Hamano1-0/+1
* dk/maint-blame-el: git-blame.el: Add (require 'format-spec)
2010-11-24Merge branch 'aw/git-p4-deletion' into maintLibravatar Junio C Hamano1-1/+3
* aw/git-p4-deletion: Fix handling of git-p4 on deleted files
2010-11-24Merge branch 'kf/post-receive-sample-hook' into maintLibravatar Junio C Hamano1-16/+31
* kf/post-receive-sample-hook: post-receive-email: ensure sent messages are not empty
2010-11-17Merge branch 'kb/completion-checkout'Libravatar Junio C Hamano1-3/+27
* kb/completion-checkout: completion: Support the DWIM mode for git checkout
2010-11-17Merge branch 'sg/completion'Libravatar Junio C Hamano1-15/+64
* sg/completion: bash: support pretty format aliases bash: support more 'git notes' subcommands and their options bash: not all 'git bisect' subcommands make sense when not bisecting bash: offer refs for 'git bisect start'
2010-11-17Merge branch 'dk/maint-blame-el'Libravatar Junio C Hamano1-0/+1
* dk/maint-blame-el: git-blame.el: Add (require 'format-spec)
2010-11-05Merge branch 'aw/git-p4-deletion'Libravatar Junio C Hamano1-1/+3
* aw/git-p4-deletion: Fix handling of git-p4 on deleted files
2010-11-03git-blame.el: Add (require 'format-spec)Libravatar David Kågedal1-0/+1
c5022f57 (git-blame.el: Change how blame information is shown, 2009-09-29) taught the "M-x git-blame" mode to format its output in a more interesting way, making use of the format-spec function. format-spec is included in Emacs 23 and is a useful function. Older emacsen can get it from Gnus. In all emacsen, we need to 'require it before use to avoid warnings: git-blame.el:483:1:Warning: the function `format-spec' is not known to be defined. Reported-by: Sergei Organov <osv@javad.com> Reported-by: Kevin Ryde <user42@zip.com.au> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-03Change incorrect "remote branch" to "remote tracking branch" in C codeLibravatar Matthieu Moy1-1/+1
(Just like we did for documentation already) In the process, we change "non-remote branch" to "branch outside the refs/remotes/ hierarchy" to avoid the ugly "non-remote-tracking branch". The new formulation actually corresponds to how the code detects this case (i.e. prefixcmp(refname, "refs/remotes")). Also, we use 'remote-tracking branch' in generated merge messages (by merge an fmt-merge-msg). Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-29contrib/ciabot: git-describe commit instead of HEADLibravatar Sven Eckelmann1-1/+1
For each commit a shorter version of the name will be generated. This is either the truncated hash or the output of git-describe. The call to git-describe was only made with an empty shell variable instead of an actual commit hash. Thus it only described the current HEAD and not each commit we want to submit to cia.vc. Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-28completion: fix zsh check under bash with 'set -u'Libravatar Mark Lodato1-3/+3
Commit 06f44c3 (completion: make compatible with zsh) broke bash compatibility with 'set -u': a warning was generated when checking $ZSH_VERSION. The solution is to supply a default value, using ${ZSH_VERSION-}. Thanks to SZEDER Gábor for the fix. Signed-off-by: Mark Lodato <lodatom@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-26Merge branch 'ab/require-perl-5.8'Libravatar Junio C Hamano2-2/+3
* ab/require-perl-5.8: perl: use "use warnings" instead of -w perl: bump the required Perl version to 5.8 from 5.6.[21]
2010-10-26Merge branch 'kf/post-receive-sample-hook'Libravatar Junio C Hamano1-16/+31
* kf/post-receive-sample-hook: post-receive-email: ensure sent messages are not empty
2010-10-26Merge branch 'ml/completion-zsh'Libravatar Junio C Hamano1-4/+46
* ml/completion-zsh: completion: make compatible with zsh
2010-10-22Fix handling of git-p4 on deleted filesLibravatar Andrew Waters1-1/+3
Signed-off-by: Andrew Waters <apwaters@googlemail.com> Tested-by: Thomas Berg <merlin66b@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-19{cvs,svn}import: use the new 'git read-tree --empty'Libravatar Thomas Rast1-1/+1
Since fb1bb96 (read-tree: deprecate syntax without tree-ish args, 2010-09-10) not passing --empty caused a spurious warning that was shown to the user. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-13completion: Support the DWIM mode for git checkoutLibravatar Kevin Ballard1-3/+27
Ever since commit 70c9ac2 (DWIM: "git checkout frotz" to "git checkout -b frotz origin/frotz"), git checkout has supported a DWIM mode where it creates a local tracking branch for a remote branch if just the name of the remote branch is specified on the command-line and only one remote has a branch with that name. Teach the bash completion script to understand this DWIM mode and provide such remote-tracking branch names as possible completions. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-13bash: support pretty format aliasesLibravatar SZEDER Gábor1-4/+17
Users can have their own pretty format aliases since 8028184 (pretty: add aliases for pretty formats, 2010-05-02), so let's offer those after '--pretty=' and '--format=' for 'log' and 'show', too. Similar to the completion of aliases, this will invoke 'git config' each time pretty aliases needs to be completed, so changes in pretty.* configuration will be reflected immediately. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-10-13bash: support more 'git notes' subcommands and their optionsLibravatar SZEDER Gábor1-9/+41
The current completion function for 'git notes' only supported the 'edit' and 'show' subcommands and none of their options. This patch adds support for all missing subcommands, options, and their arguments (files or refs), if any. The code responsible for completing subcommand looks different compared to the completion functions of other git commands with subcommands. This is because of the '--ref <notes-ref>' option which comes before the subcommand (i.e. git notes --ref <notes-ref> add). Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>