1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-01 21:51:40 +02:00
Commit graph

423 commits

Author SHA1 Message Date
Daniel Shahaf
ec7088296b 38665: _git: config option completion: Quote properly. 2016-06-13 08:53:14 +00:00
Daniel Shahaf
0516736eae 38624: _git: Optimize the last commit's __git_recent_branches__names as suggested by Matthew. 2016-06-07 22:53:51 +00:00
Daniel Shahaf
6e834587eb 38592 (plus tweak): _git: New recent branches completion, unused. (Joint with Nils Luxton) 2016-06-07 22:53:46 +00:00
Daniel Shahaf
713eaa055d 38576: _git: Also detect _git-${thirdparty} functions in $fpath that are symlinks. 2016-06-03 02:21:54 +00:00
Russell Currey
058d957ce5 38393: _git: Fix typo in completion of '--minimal'
Signed-off-by: Russell Currey <ruscur@russell.cc>
2016-05-03 11:26:54 +00:00
Daniel Shahaf
276a690a2e _git: Complete fetchy refspecs correctly. 2016-05-01 01:52:29 +00:00
Daniel Shahaf
fe21e49a6d _git: Bifurcate __git_ref_specs.
No functional change, except for completion of 'git bundle' and 'git config
branch.*.merge'; this is a required groundwork for future patches.
2016-05-01 01:52:29 +00:00
Daniel Shahaf
c57d8dfcaa _git: Fix an apparent typo in __git_heads().
I couldn't reproduce different behaviour with and without this patch, although
the called command's output differs.
2016-05-01 01:52:28 +00:00
Daniel Shahaf
3e26848ef4 _git: Offer alternatives properly. 2016-05-01 01:52:28 +00:00
Daniel Shahaf
2979122d2d _git-bundle: Complete required file argument to 'git bundle' correctly. 2016-05-01 01:52:28 +00:00
Daniel Shahaf
442d702bbc 38316: _git-rebase: Complete any committish for the second argument 2016-04-23 21:28:21 +00:00
Daniel Shahaf
4df62e32fc 38255: _git: Fix argument pastedness.
Found by searching for /-\w\>.*:/.

This covers short options only, from the top of file through _git-tag().
2016-04-09 03:35:14 +00:00
Daniel Shahaf
9f70404714 38182: _git: Invoke reflog completion from the 'complete commit objects' codepath.
The reflog will only be used if the user has typed as "@" by hand.
2016-03-21 16:12:15 +00:00
Daniel Shahaf
ce4c9eafc4 38181: _git reflog: Complete '@{N}' instead of 'HEAD@{N}'.
The «HEAD@{...}» syntax is no longer completed, since it's not easily possible
to support both syntaxes (workers/34768).
2016-03-21 16:12:13 +00:00
Daniel Shahaf
67136df0bf 38180: _git: Improve reflog completion.
Currently, only used by «git reflog delete <TAB>».
2016-03-21 16:12:10 +00:00
m0viefreak
a1f45b3346 38151: _git: fix tag name of remote branches 2016-03-15 00:07:18 +00:00
m0viefreak
666a7f5845 38148: _git: reflog: complete references next to commands
'git reflog show' is the default subcommand, so

  git reflog <tab>

should complete subcommands and references.
2016-03-15 00:07:15 +00:00
Daniel Shahaf
527badc237 38129: _git: Fix __git_ignore_line's treatment of shell and pattern metacaracters.
Builds upon a patch by Jun T.

Also upgrade/fix __git_pattern_escape.
2016-03-11 22:19:04 +00:00
Daniel Shahaf
98fcdb0861 38128: _git: Fix completion of diffs against the index when treeish isn't shell-safe
This affects 'git diff --cached -- <TAB>' and 'git reset $treeish <TAB>'.
2016-03-10 23:18:36 +00:00
Daniel Shahaf
be41c522f2 38123 (after 38074): _git reset $treeish: complete only staged files 2016-03-10 23:18:15 +00:00
Daniel Shahaf
33bd9136d6 38120: _git: Document the internal helper function __git_ignore_line. 2016-03-09 14:08:49 +00:00
Jun-ichi Takimoto
983060d5d1 38074: _git reset HEAD: complete only staged files 2016-03-08 21:21:44 +09:00
Daniel Shahaf
8a59aed696 37924: Completion: _git: Complete files for 'check-ignore'
Also, don't leak the parameter 'ret'; the leak was theoretical because
the caller immediately wrote to that parameter.
2016-02-09 03:41:46 +00:00
Daniel Shahaf
295133d741 37703: Completion: git: Also complete sendmail commands for send-email's configuration. (after 37666) 2016-01-23 23:50:04 +00:00
Daniel Shahaf
3eb4d9c2e2 37666: Completion: git: 'send-email --smtp-server=' takes absolute path to sendmail. 2016-01-20 07:49:30 +00:00
Daniel Shahaf
c6fc6f80cd 37665: Completion: New helper _absolute_command_paths. 2016-01-20 07:49:29 +00:00
Daniel Shahaf
e14540ac02 37150: _git: Autocomplete .. for commit ranges
This patch makes three changes:

- Enable 'git diff o/m<TAB>' to complete to 'origin/master..' with the
  ".." being autoremovable.

  This is implemented by the first hunk.  That hunk is a functional
  subset of Oliver's users/20705, however, the latter hasn't been
  committed.

- Make typing "^" remove the "..", in light of the syntax "foo^..bar".

- Make typing "." _not_ remove the ".." but simply append it, since
  "foo...bar" is a valid and useful syntax.
2015-12-05 10:15:40 +00:00
Daniel Shahaf
6a3de994af 36957: _git: Apply matchspecs to filename completion such as 'git log f/b<TAB>' → 'foo/bar.txt's
This patch makes 'git log S/e<TAB>' expand to Src/exec.c.  The incumbent
code would run 'git ls-tree S/' and find no matches.
2015-12-05 10:15:39 +00:00
Daniel Shahaf
d554f31bcb 37149: _git: Complete 'bisect/bad' ref 2015-11-20 03:39:34 +00:00
Daniel Shahaf
afc4d41652 37129: _git: Complete 'commit -p' 2015-11-17 23:31:26 +00:00
Barton E. Schaefer
9ce000db22 37115: update for changes in ${(P)...} evaluation. 2015-11-14 21:22:17 -08:00
Daniel Shahaf
6198f7ffba 37031: _git-merge: Exclude ancestors of HEAD from recent commit completion
As done for _git-cherry-pick in a428c6b62c (36328 + 36340).
2015-11-13 20:17:51 +00:00
Peter Stephenson
20153c573e 37062: tentative mechanism for git commit descriptions.
Mechanism for forcing completion system into verbose mode is subject
to change.
2015-11-04 17:37:17 +00:00
Daniel Shahaf
0e510f0c35 37032: Temporarily revert 36959. 2015-10-31 13:03:54 +00:00
Daniel Shahaf
8b51584246 36962: _git: Fix completion of RHS of refspecs.
Before this patch, 'git push $remote :<TAB>' completed branch names (as though
by `git branch -a`), instead of completing remote branch names sans the
${remote}/ prefix.
2015-10-25 18:52:29 +00:00
Daniel Shahaf
cc19bb96b9 36964: _git: Complete remotes branch names with slashes correctly.
For example, 'git push remote HEAD:foo/bar' creates such branches.
2015-10-25 18:52:13 +00:00
Daniel Shahaf
b4f7482e44 36960: _git: Enable slash matcher for more branch and tag completions, include 'git branch <TAB>' and 'git tag <TAB>'. 2015-10-25 18:47:35 +00:00
Daniel Shahaf
f890d442e2 36959: _git: Offer @~$n as completion of recent commits.
Suggested-by: Oliver Kiddle (users/20705)
2015-10-25 18:47:26 +00:00
Daniel Shahaf
17af119089 36958: _git: Fix recent commit completion descriptions.
The uniquifiers 'HEAD~$n' were incorrect when a recent commit was the second
parent of a merge commit.  Detect that case and print something correct
instead.
2015-10-25 18:47:11 +00:00
Daniel Shahaf
f8b2c13c97 unposted: _git: Fix 'commit object name' completion messages.
Offer the "this alternative is still valid, but I don't know to offer
completions for it" for hash completion but not for recent object completion;
the former is protected by a _guard and the latter incorrectly appeared also in
cases such as 'git log a/b<TAB>' which were not the start of a gitrevisions(7)
expression.
2015-10-25 18:39:34 +00:00
Daniel Shahaf
98875bcb05 36900: _git: stash names completion: Display log messages
The "$@" argument to compadd is removed because (I think) it contains a -J,
which conflicts with the -V.

Joint with Daniel Hahler.
2015-10-20 14:30:10 +00:00
Peter Stephenson
9064483b6c 36722: allow git range to complete after ^.
Take account of backslash quoting.
2015-10-01 09:47:15 +01:00
James Clarke
bddd99d98a 36441: _git: Fixed typo in --author-date-order description 2015-09-07 21:11:10 +00:00
Daniel Shahaf
6e825e7b25 36353: _git: Unbreak after previous. 2015-09-01 04:37:39 +00:00
Mateusz Karbowy
a428c6b62c 36328 + 36340: _git-cherry-pick: Complete other branches only 2015-08-30 22:51:15 +00:00
Daniel Shahaf
63b1dcd284 36304: _git-cat-file: Fix regression in 36237
This broke 'git cat-file blob origin:Etc/<TAB>'.
2015-08-27 23:14:57 +00:00
Daniel Shahaf
fdf48d84fa 36277: _git: Updated for git-clone 2.4.5. 2015-08-24 11:23:44 +00:00
Daniel Shahaf
a69994ede1 36247: __git_objects: Complete HEAD:./foo correctly in worktree subdir 2015-08-19 23:29:50 +00:00
Daniel Shahaf
663fa4092f 36237: __git_objects: Complete HEAD:foo correctly in worktree subdir 2015-08-19 23:29:49 +00:00
Daniel Shahaf
a4c41fff12 36236: _git-log: Complete multiple revspecs
e.g., git log origin/master origin/foo origin/bar
2015-08-19 23:28:12 +00:00
Daniel Shahaf
d70e7149df 36236: _git-log: complete 'git rm'd files 2015-08-19 23:28:11 +00:00
Oliver Kiddle
ea5d100643 36148: _git-log: Complete flags after positional argument 2015-08-19 23:27:40 +00:00
Wieland Hoffmann
8e0b5e0e00 Wieland Hoffmann: 36123: protect against word splitting in __git_is_committish_range 2015-08-13 15:53:12 +02:00
Oliver Kiddle
cf77e28a3f 36127: assorted minor completion function changes 2015-08-12 18:06:03 +02:00
Mikael Magnusson
8815500f95 36116: _git: various fixes
Add = to git checkout --conflict= completion
fix transposed [-
git push remote argument is not optional
can use shorter syntax for a check
2015-08-12 17:54:07 +02:00
Daniel Hahler
d90f92194f 35970: completion: fix typos in _git and _brace_parameter 2015-08-02 17:58:12 +02:00
Daniel Hahler
8024de798d 35779: completion: _git-config: remove extraneous "local expl"
It is defined at the beginning of the function already, and results in
the output of `expl=''` when completing after `git config
branch.local.pushremote ` etc.
2015-07-13 15:05:52 +02:00
Oliver Kiddle
deb2ec7f17 35510: use consistent formatting for git subcommands 2015-06-18 23:50:59 +02:00
Oliver Kiddle
8ebb4e65a9 35504: complete % placeholders for git log --format 2015-06-18 23:47:40 +02:00
Daniel Hahler
e8cf611879 35216: _git-checkout: do not call __git_commits twice
This makes `branch_arg` empty by default, to be used only for
__git_remote_branch_names.

`branches::__git_revisions` was used here, but that's the same as
tree_ish_arg='tree-ishs::__git_tree_ishs' - both call __git_commits.

Only tree_ish_arg will call __git-commits now.
2015-06-08 00:35:01 +02:00
Daniel Hahler
da603d0a00 35098: completion: git: provide --amend also with "message" group
Especially during a git rebase, you would use `git commit -m foo
--amend`.
2015-05-29 01:56:18 +02:00
Oliver Kiddle
a711b2abef 35315: replace inappropriate uses of _path_commands 2015-05-28 22:45:34 +02:00
Daniel Hahler
068558616a 35261: completion: git: __git_recent_commits: local ret
Without this, `ret` will be set to 1 with `git diff --ex<tab>` and
result in duplicate entries:

   % git diff --ex<tab>
    -- option --
   --exit-code    -- report exit code 1 if differences, 0 otherwise
   --exit-code  -- report exit code 1 if differences, 0 otherwise
   --ext-diff     -- allow external diff helper to be executed
   --ext-diff   -- allow external diff helper to be executed
   --no-ext-diff  -- disallow external diff helper to be executed
    -- recent commit object name --
2015-05-22 01:12:10 +02:00
Daniel Shahaf
c174947040 35224: completion: git: Add fast-export --signed-tags=warn-strip 2015-05-19 20:35:14 +00:00
Daniel Hahler
a0d269460a 35217: add missing changelog entry; use "-O expl" with _alternative 2015-05-19 10:43:24 +02:00
Daniel Hahler
7408f91d31 35217: completion: git: send-email: complete (recent) commits
This adds `__git_commit_objects_prefer_recent` as alternative for
git-send-email's completion.
2015-05-19 10:28:51 +02:00
Daniel Hahler
8f6823b710 __git_commit_objects: do not use _guard, but only a pattern
With using `_guard` there like it's been done, the completion could not
be selected, probably because of the call to `_message` therein.

This changes it to use only the logic/check from `_guard` that we want
here.
2015-05-19 08:50:42 +02:00
Daniel Hahler
ed3e5f521d Completion/Unix/Command/_git: remove -2 with __git_recent_commits
Remove "-2" for _describe in __git_recent_commits.

This fixes the duplicate entries issue, because __git_recent_commits
gets called twice for _git-checkout (for __git_revisions and
__git_tree_ishs):

1. __git_commit_objects_prefer_recent _alternative __git_commits
   __git_revisions _alternative _git-checkout
2. __git_commit_objects_prefer_recent _alternative __git_commits
   __git_tree_ishs _alternative _git-checkout
2015-05-19 07:49:48 +02:00
Daniel Hahler
d0057538d3 35204: fix broken __git_recent_commits from previous commit
This fixes 1e7bb4a: newlines need to be kept (from the "%d" part).
2015-05-19 06:38:43 +02:00
Daniel Hahler
1e7bb4a8f8 35164: fix __git_commit_objects/__git_recent_commits
$pipestatus for `: foo` is 0 always.

Without this, "git checkout" in a non-git directory would complete " ",
but not result in a note/error about not being in a git dir.
2015-05-19 05:42:21 +02:00
Daniel Shahaf
6bfe6fd84b users/20222: completion: git: Add matchspec for heads
Allows 'git checkout o/m<TAB>' to complete 'origin/master'.

Moreover, '/x<TAB>' would complete 'foo/bar/xyzzy/baz', since the matchspec
uses not '*' but '**'.
2015-05-19 01:55:15 +00:00
Daniel Shahaf
34a1489f43 35105: completion: git: add distance_from_head to __git_recent_commits
This adds the "HEAD~15" gitrevisions(7) identifier of the commit to the
description, which also uniquifies, isn't redundant, and may be easier
to type.

Ref: zsh-workers/34820 (http://www.zsh.org/mla/workers/2015/msg00744.html)
2015-05-18 02:48:03 +02:00
Daniel Hahler
733db1b411 35106: completion: git: unique name for __git_recent_commits
This helps to distinguish it from __git_commit_objects.
2015-05-18 02:48:03 +02:00
Daniel Hahler
a0b221e7c5 35103: completion: git: add %cr to commit objects (all and recent) 2015-05-18 02:48:03 +02:00
Daniel Hahler
94c6b32fe7 35104: completion: git: __git_commit_objects: query 1000 commits
Also, `--all` and `--reflog` is used to get all commits.

It adds the _guard in front, so only non-empty values will come here.
Also, __git_commit_objects_prefer_recent will only call it, if there are
no matching recent commits.
2015-05-18 02:48:03 +02:00
Daniel Hahler
454f079852 35101: completion: git: add __git_commit_objects_prefer_recent
This is used with __git_commits then, and is meant to only call
__git_recent_commits, if there are matches.
2015-05-18 02:48:03 +02:00
Daniel Hahler
1d5b225498 35100: __git_recent_commits: massage ' ->*' from heads
Handle " -> master, origin/master" in decorated git-log output, and add
it as separate entries.
2015-05-18 02:48:03 +02:00
Daniel Hahler
895408bb81 completion: git: add missing return to __git_recent_commits 2015-05-17 19:54:15 +02:00
Daniel Shahaf
7990cf983e 35161: completion: git: Fix typo in 35061 2015-05-16 22:57:22 +00:00
Oliver Kiddle
32a448dc25 users/20219: fix completion for git options 2015-05-15 18:04:40 +02:00
Daniel Hahler
968c5ceaa7 35062: __git_setup_revision_options includes __git_setup_diff_options 2015-05-14 19:03:21 +02:00
Daniel Hahler
a1c1f6828c 35061: add __git_setup_diff_stage_options and use it with _git-diff-files and _git-diff explicitly 2015-05-14 19:00:32 +02:00
Daniel Hahler
fec4e7243b 35016: introduce new pretty formats %g[sdD] for reflog information 2015-05-14 18:56:23 +02:00
Daniel Hahler
b884853756 35060 + 35072: completion: git: split __git_heads into local and remote
It is useful to have this distinction visually.

This also uses `--format=%(refname:short)` directly with `git
for-each-ref`.
2015-05-12 00:59:07 +00:00
Daniel Shahaf
122bb9a125 34886: completion: git: Complete rebase --exec argument 2015-04-13 21:01:45 +00:00
Daniel Shahaf
7793ebcb71 34885: completion: git: Sort "commit object" completions most recent first 2015-04-13 20:59:19 +00:00
Daniel Shahaf
7929dd8cba 34885: completion: git: Fix another instance of the 34671 bug fixed in 34814 2015-04-13 20:59:02 +00:00
Daniel Hahler
ca8edaba92 34748: completion: git: update list of builtintools 2015-04-10 16:24:42 +00:00
Daniel Shahaf
727533088a 34814: completion: git: Fix bug introduced by 236da69
Based on a patch by Daniel Hahler <git@thequod.de>.
2015-04-01 09:44:26 +00:00
Daniel Hahler
0b79922edb 34762: completion: git: add short option for '--dir-diff' (_git-difftool) 2015-03-29 05:52:44 +00:00
Daniel Shahaf
e176eff554 34739: git completion: Fix regression in ce80a92
This restores the message when completing a commit object name that
isn't one of the most recent 20 commits.  e.g., 'git checkout deadbeef<TAB>'.
2015-03-19 06:51:32 +00:00
Daniel Shahaf
236da69842 34671 plus tweaks: Add -1 -2 -J -V -x to _describe, use them to sort 'git --fixup' hash completions 2015-03-16 09:27:06 +00:00
Daniel Shahaf
097dedf9ab 34671: git completion: only offer recent commits' tags/heads for --fixup 2015-03-16 09:25:39 +00:00
Daniel Hahler
ce80a925d6 34638 with tweaks: git completion: complete commit hashes and --fixup 2015-03-07 03:56:48 +00:00
Daniel Hahler
7d15b9a9cb 34468: completion: git: stash: handle 'save' being the default
"git stash" should complete arguments for "git stash save", but without
the message part.
2015-02-08 20:27:26 +01:00
Daniel Hahler
8f403ab25c 34467: completion: git: minor doc fixes
I am not sure about the deprecation of user-commands, but from other
places in the doc and commit history this deprecation was meant to be
reverted?!
2015-02-08 20:27:25 +01:00
Daniel Hahler
ffaf99288f 34469: git completion: add "stash" from refs/stash to __git_heads 2015-02-08 20:27:25 +01:00
Daniel Shahaf
a5333cc344 34444: git completion: minor improvements
- 'git rebase': complete arguments in the same word as the option

- 'git commit': provide message for --fixup/--squash
2015-02-02 15:32:59 +00:00
Wieland Hoffmann
9ca77b2143 _git: Change one --validate to --no-validate
As the description of that argument says, it's used to *not* perform
sanity checks.
2015-01-17 13:00:23 +01:00
Daniel Shahaf
c7850ac4f6 34042: _git: Respect tags for subcommand completion.
It is now possible to use the tag-order style to stagger the overwhelming
'git <TAB>' subcommand listing.  For example:

    zstyle ':completion::complete:git:argument-1:' tag-order \
        main-porcelain-commands user-commands third-party-commands \
        ancillary-manipulator-commands ancillary-interrogator-commands \
        plumbing-manipulator-commands plumbing-interrogator-commands \
        aliases
2015-01-05 15:57:42 +00:00
Peter Stephenson
9161a16b2e 33729: "git remote add" should complete local repositories 2014-11-23 21:03:37 +00:00
Oliver Kiddle
13fc579343 33467: correct return status on functions and numerous other minor fixes 2014-10-14 23:04:45 +02:00
Øystein Walle
95a6d965c5 33180: _git: add missing --3way option 2014-09-23 22:26:22 +02:00
Øystein Walle
93702691ec 33177: _git: fix typo in git-apply 2014-09-23 22:26:21 +02:00
Øystein Walle
d338cc5395 33178: _git: updates for Git 2.1.0
This incorporates changes mentioned in the release notes since 2.0.0.
2014-09-23 22:26:21 +02:00
Øystein Walle
56116a763a 33176: _git: Add missing --list to git-tag 2014-09-23 22:26:20 +02:00
Øystein Walle
8560d4ff31 33179: _git: updates for Git 2.0.0
This incorporates changes mentioned in the release notes since 1.9.0.
2014-09-23 22:26:20 +02:00
Marc Finet
089123f9e8 33150: completion git: fix send-email --confirm values 2014-09-14 12:02:38 +02:00
Marc Finet
ffd439b69b 33151: completion git: support aliases when \n exist
The git completion for aliases (i.e. completing with aliased verb)
was broken whem some \n exist in aliases.
2014-09-14 12:02:35 +02:00
Barton E. Schaefer
2e99ef809d un-transpose help text for git merge -{-no,}-verify 2014-08-24 08:43:40 -07:00
m0viefreak
cd2eb07a78 m0viefreak: users/18655,18657,18660: assorted auto-removable suffix fixes
Src/Zle/compresult.c, Src/Zle/zle_misc.c, Src/Zle/zle_refresh.c: fix
auto-removable suffix highlighting

Completion/Unix/Command/_git: fix compadd for auto-removable suffix in
_git_commit_ranges and _git_stash
2014-03-23 13:02:12 -07:00
Takeshi Banse
ab917d4a0e 32502: fix typo in argument list for git completio 2014-03-21 19:42:02 +00:00
Oliver Kiddle
079540cc78 users/18485: add .. as an auto-removable suffix in git revision ranges 2014-02-25 08:59:20 +01:00
m0viefreak
b97808fba2 32398: _git: completion updates up to latest git v1.9.0
- cherry-pick: allow commit ranges to be specified
- push: option is called --set-upstream and not --set-upstream-to
- status: offer -b,--branch when --porcelain or -z are given
  --porcelain and -z don't show the branch info by default, so it
  is needed to offer --branch for those options, too.
- checkout: add '--detach' option
- checkout: offer '-l' option when '--orphan' was given
- show-ref: update wording of --head and --heads according to man-page
- config: update default value for color.ui
  color-bool was changed to accept a default value as $parts[5]
- add support for 'cygstart' as a valid builtin browser on cygwin
- rebase: add suuport for --autostash and config.autostash
- update builtin browser list
- grep: add --{no,}textconv
- check-ignore: add --no-index
- update-ref: add --stdin -z
- add -C
- pull: add support for --rebase=preserve
- config: add support for http.*. options
- blame: -L can be given multiple times
- config: add support for http.savecookies
- push: add support for --force-with-lease
- diff: --diff-filter: allow lower-case variants (all-but ... specs)
- config: add support for 'fetch.prune' and 'remote.*.prune'
- check-ignore: -z: update message, check-attr: add -z
- config: add diff.orderfile
- revision options: add --exclude
- revision options: add --ignore-missing
- revision options: add --bisect
- rev-parse: add --stuck-long
- merge-base: add --fork-point
- config: implement submodule.*.update completion
- send-email: add --smtp-ssl-cert-path and config options
2014-02-18 12:22:21 +01:00
m0viefreak
f8e874ef9d 32397: _git: fix __git_submodules to only use the actual name of the submodule
The output of 'submodule status' is

Xsha1 name (describe)

X being one of -,+,U,[space]

We are only interested in the name part and not the whole line.

Fix the parameter expansions accordingly.
2014-02-18 12:22:21 +01:00
m0viefreak
139ee0e351 32395: _git: diff: refactor and fix wrong completions
Before this, there were several cases where the completion
would offer the wrong things:

$ git diff branch -- <tab>

would try to complete "changed in workdir files", but needs to
complete all "tree files in HEAD".

$ git diff --cached -- file1 file2 <tab>
would try to complete "changed in workdir files" but needs to
complete "changed in index files".

...

After this change all possible combinations are taken into
account and completion should work properly.
2014-02-18 12:22:16 +01:00
m0viefreak
946a99a0b3 32396: _git: fix __git_committish_range_{first,last} and __git_is_committish_range
- Ranges with 3 dots would always fail, because the non-greedy
  expansion  %..(.|)* in __git_committish_range_first would only
  remove '..' and never three dots. 'a...b' would end up in 'a.'.
  Use ${${1%..*}%.} instead.
- Use a similar approach for __git_committish_range_last.
- Wrap them in another expansion to replace empty results with 'HEAD'.
  Git man-page states omitted range ending are being replaced with
  HEAD. This rule has to be followed to make completions like
  'git log foo.. -- <tab>' work properly.
- Add an additional check to make sure none of the extracted first/last
  parts contain additional '..' in invalied ranges such as 'a..b..c'.
  This gets rid of the 'TODO:' and ideally saves a few unneded
  calls to git rev-parse.
2014-02-18 12:19:23 +01:00
Barton E. Schaefer
a2098b0b26 users/18368: compromise to restore partial path completion inadvertently removed by 31159 2014-01-27 21:54:13 -08:00
Hong Xu
567b494033 32069: completion for "git submodule update --remote" 2013-11-30 12:46:19 -08:00
Peter Stephenson
4163ebf4c7 unposted, see 32054: Rationalise character encoding.
Shell functions are strictly ASCII for maximum portability.

Other files within the distribution may contain UTF-8 characters.

Exception for test files: where they need single character input
with the top bit set, ISO-8859-X is used (X doesn't matter as
we don't need the Euro).
2013-11-27 15:56:44 +00:00
Øystein Walle
95a5ca90d9 31865: _git: Make --batch(-check) accept an argument
Also reword the explanation slightly to make it more compact since more
explanation is needed.
2013-10-21 17:40:13 +02:00
Øystein Walle
3d77fa789d 31864: _git: Add two sub-comamnds introduced in v1.8.4
Add _git-check-ignore() and _git-check-mailmap()
2013-10-21 17:40:12 +02:00
Øystein Walle
32ffba1214 31866: _git: Reword --heads to match new meaning 2013-10-21 17:40:09 +02:00
Øystein Walle
baee0a2295 31862: _git: Add status.short and status.branch 2013-10-21 17:40:07 +02:00
Øystein Walle
805b665901 31863: _git: Add new arguments introduced in Git v1.8.4 2013-10-21 17:40:03 +02:00
Øystein Walle
e91d90125b 31861: _git: Add git-clean -i/--interactive support
- Add -i and --interactive to _git-clean()
 - Add column.clean configuration variable
2013-10-21 17:40:01 +02:00
m0viefreak
7a37568b8c 31855: _git: revert: add '-e,--edit' 2013-10-21 17:39:59 +02:00
m0viefreak
2c1affc6c1 31856: _git: fix a few "undocumented" options
commit: '--null' is documented
relink: '-h,--help' are never documented for subcommands but always exist
verify-tag: '-v,--verbose' are documented with updated description
diff: '--cumulative' is deprecated -> remove
2013-10-21 17:39:57 +02:00
Øystein Walle
07ca60acf4 31858: _git: fix wrong default value 2013-10-21 17:39:56 +02:00
m0viefreak
80cb8e947f 31857: _git: Remove unsupported -q option from diff options 2013-10-21 17:39:53 +02:00
Øystein Walle
5585b95f3c 31859: _git: re-order the last two git-blame arguments
The proper syntax is git blame [<commit>] <file> where <commit> is optional.
2013-10-21 17:39:50 +02:00
Øystein Walle
7872a5becd 31854: _git: Make git-show accept diff arguments 2013-10-21 17:39:48 +02:00
Øystein Walle
34ba14e1ec 31853: _git: Add missing column.* config variables 2013-10-21 17:39:46 +02:00
m0viefreak
8a70a98577 31754: _git: git rm: make git rm --cached work as intended
While limiting the completion to __git_changed-in-index_files
makes perfect sense for "git diff", it is wrong to use for
"git rm", because it prevents it from completing files present in
HEAD. Giving --cached to git rm is supposed to
"just remove it from the index, keep the working tree copy"
and is in no way related to the file needing to be
modified in the index in the first place.
2013-09-22 14:01:16 +02:00
Øystein Walle
2025b05bcf 31752: _git: change completion text for consistency 2013-09-22 14:01:15 +02:00
m0viefreak
128de883bd 31753: _git: correct some "undocumented" options
diff options:
  --cumulative is deprecated --> remove
  -G / -S: reword -S to emphase the difference to -G

revision options:
  --abbrev: reword, to emphase the --abbrev-commit requirement
2013-09-22 14:01:15 +02:00
Øystein Walle
cf0eae5d96 31751: _git: remove TODOs of actually documented options
No functional changes.
2013-09-22 14:01:14 +02:00
Øystein Walle
ab05a3d6d4 31749: _git: fix some typos in description texts 2013-09-22 14:01:13 +02:00
m0viefreak
735e7becb9 31748: _git: support completing remote branches without <remote>/ prefix
this is used in git 1.8's
git checkout <branch>
as a shorthand for
git checkout -b <branch> --track <remote>/<branch>
in case <branch> exists on exactly one remote and is not a local branch
2013-09-22 14:01:12 +02:00
m0viefreak
e45f685d4a 31746: _git: reword _git-config TODO
Support for merge drivers, filter drivers, and diff drivers is
missing.
2013-09-22 14:01:12 +02:00
Øystein Walle
5ec6a1510a 31750: _git: add new configuration options to match latest git v1.8.3 2013-09-22 14:01:11 +02:00
Øystein Walle
6c4c11929c 31747: _git: completion updates to match latest git v1.8.3 part 2 2013-09-22 14:01:10 +02:00
m0viefreak
f20ba1a51e 31755: _git: completion updates to match latest git v1.8.3 2013-09-22 14:01:09 +02:00
m0viefreak
06d58592ab 31745: _git: correctly use __git_guard_number in some cases
The space is relevant to make the help text work as intended.
2013-09-22 14:01:08 +02:00
m0viefreak
ef4157fac4 31744: _git: make git submodule <cmd> completion work
The -A parameter in the main completion stopped completion
in the subcommands from working. Remove it.
2013-09-22 14:01:08 +02:00
m0viefreak
2813d8aa98 31743: _git: fix usage of ->int: for some entries in _git-config 2013-09-22 14:01:07 +02:00
m0viefreak
5f427b8245 31741: _git: fix a wrong variable in __git_config_values
This probably was a copy/paste mistake.
2013-09-22 14:01:06 +02:00
Luka Perkov
075ad840d6 31726: _git: add few more arguments for cherry-pick and revert
Signed-off-by: Luka Perkov <luka@openwrt.org>
2013-09-14 11:21:34 +02:00
Luka Perkov
c721356646 31708: _git: add --fixup and --squash options to commit
Signed-off-by: Luka Perkov <luka@openwrt.org>
2013-09-07 10:09:11 +02:00
Luka Perkov
a4245da999 31702: check for git rebase -i for autosquash 2013-09-06 21:48:00 +01:00