Bash autocompletion for 'git new-branch' and 'git reparent-branch'
This CL introduces bash autocompletion for some specific git commands contributed by depot_tools (git new-branch and git reparent-branch). Change-Id: I8208ef7d7d974765c468d01fa94c4ed334b01bb3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4859465 Reviewed-by: Josip Sokcevic <sokcevic@chromium.org> Commit-Queue: Dominic Battre <battre@chromium.org>changes/65/4859465/3
parent
f2e3352a0e
commit
272e6ab3cb
@ -0,0 +1,65 @@
|
|||||||
|
# Copyright (c) 2023 The Chromium Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
|
||||||
|
|
||||||
|
# This adds completion to bash shells for git commands. It is
|
||||||
|
# meant for developers and not needed for inclusion by any automated
|
||||||
|
# processes that will, of course, specify the full command, not rely
|
||||||
|
# on or benefit from tab-completion.
|
||||||
|
#
|
||||||
|
# Requires:
|
||||||
|
# Installed git bash completion.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# Add this to your .bashrc:
|
||||||
|
#
|
||||||
|
# # The next lines enable bash completion for git commands from
|
||||||
|
# # depot_tools.
|
||||||
|
# if [ -f "$HOME/bin/depot_tools/git_completion.sh" ]; then
|
||||||
|
# . "$HOME/bin/depot_tools/git_completion.sh"
|
||||||
|
# fi
|
||||||
|
|
||||||
|
|
||||||
|
_git_new_branch ()
|
||||||
|
{
|
||||||
|
case "$cur" in
|
||||||
|
-*)
|
||||||
|
__gitcomp_nl_append "--upstream_current"
|
||||||
|
__gitcomp_nl_append "--upstream"
|
||||||
|
__gitcomp_nl_append "--lkgr"
|
||||||
|
__gitcomp_nl_append "--inject_current"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case "$prev,$cur" in
|
||||||
|
--upstream,o*)
|
||||||
|
# By default (only local branch heads are shown after --upstream, see
|
||||||
|
# the case below. If, however, the user types "--upstream o", also
|
||||||
|
# remote branches (origin/*) are shown.
|
||||||
|
__git_complete_refs --cur="$cur"
|
||||||
|
;;
|
||||||
|
--upstream,*)
|
||||||
|
__gitcomp_nl "$(__git_heads '' $cur)"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
_git_reparent_branch ()
|
||||||
|
{
|
||||||
|
case "$cur" in
|
||||||
|
-*)
|
||||||
|
__gitcomp_nl_append "--lkgr"
|
||||||
|
__gitcomp_nl_append "--root"
|
||||||
|
;;
|
||||||
|
o*)
|
||||||
|
# By default (only local branch heads are shown after --upstream, see the
|
||||||
|
# case below. If, however, the user types "--upstream o", also remote
|
||||||
|
# branches (origin/*) are shown.
|
||||||
|
__git_complete_refs --cur="$cur"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
__gitcomp_nl "$(__git_heads '' $cur)"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
Loading…
Reference in New Issue