38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | |
| 
 | |
| function __pman_pmer_branches() {
 | |
|     local toplevel="$(git rev-parse --show-toplevel 2>/dev/null)"
 | |
|     [ -n "$toplevel" ] || return 0
 | |
| 
 | |
|     (
 | |
|         # cf pman.conf.sh
 | |
|         UPSTREAM=
 | |
|         DEVELOP=develop
 | |
|         FEATURE=wip/
 | |
|         RELEASE=release-
 | |
|         MAIN=master
 | |
|         TAG_PREFIX=
 | |
|         TAG_SUFFIX=
 | |
|         HOTFIX=hotfix-
 | |
|         DIST=
 | |
|         [ -f "$toplevel/.pman.conf" ] && source "$toplevel/.pman.conf"
 | |
|         # lister les branches
 | |
|         branches="$DEVELOP|$FEATURE.*"
 | |
|         [ -n "$UPSTREAM" ] && branches="$branches|$UPSTREAM"
 | |
|         remote=origin/
 | |
|         {
 | |
|             git for-each-ref refs/heads/ --format='%(refname:short)' 2>/dev/null
 | |
|             git for-each-ref "refs/remotes/$remote" --format='%(refname:short)' 2>/dev/null |
 | |
|                 grep -F "$remote" |
 | |
|                 cut -c $((${#remote} + 1))-
 | |
|         } | LANG=C sort -u | grep -E "^($branches)\$"
 | |
|     )
 | |
| }
 | |
| 
 | |
| function __pmer_completion() {
 | |
|     local cur
 | |
|     _get_comp_words_by_ref cur
 | |
|     COMPREPLY=($(compgen -W "$(__pman_pmer_branches)" "$cur"))
 | |
| }
 | |
| complete -F __pmer_completion pmer
 |