11package git
22
3- import "github.com/spf13/pflag"
3+ import (
4+ "github.com/spf13/pflag"
5+ )
46
57type Options struct {
6- Quiet bool
7- Verbose bool
8- SignOff bool
9- All bool
10- Amend bool
11- DryRun bool
12- Author string
13- Date string
8+ Quiet bool
9+ Verbose bool
10+ SignOff bool
11+ All bool
12+ Amend bool
13+ DryRun bool
14+ NoVerify bool
15+ Author string
16+ Date string
17+ ExtraGitFlags []string
1418}
1519
1620func NewOptions () * Options {
1721 return & Options {
18- Quiet : false ,
19- Verbose : false ,
20- SignOff : false ,
21- All : false ,
22- Amend : false ,
23- DryRun : false ,
24- Author : "" ,
25- Date : "" ,
22+ Quiet : false ,
23+ Verbose : false ,
24+ SignOff : false ,
25+ All : false ,
26+ Amend : false ,
27+ NoVerify : false ,
28+ DryRun : false ,
29+ Author : "" ,
30+ Date : "" ,
31+ ExtraGitFlags : []string {},
2632 }
2733}
2834
@@ -35,6 +41,8 @@ func (o *Options) AddFlags(f *pflag.FlagSet) {
3541 f .BoolVarP (& o .All , "all" , "a" , o .All , "commit all changed files." )
3642 f .BoolVarP (& o .SignOff , "signoff" , "s" , o .SignOff , "add a Signed-off-by trailer." )
3743 f .BoolVar (& o .Amend , "amend" , o .Amend , "amend previous commit" )
44+ f .BoolVarP (& o .NoVerify , "no-verify" , "n" , o .NoVerify , "bypass pre-commit and commit-msg hooks." )
45+ f .StringSliceVar (& o .ExtraGitFlags , "git-flag" , o .ExtraGitFlags , "git flags, e.g. --git-flag=\" --branch\" " )
3846}
3947
4048func (o * Options ) Combine (filename string ) []string {
@@ -61,9 +69,15 @@ func (o *Options) Combine(filename string) []string {
6169 if o .Amend {
6270 combination = append (combination , "--amend" )
6371 }
72+ if o .NoVerify {
73+ combination = append (combination , "--no-verify" )
74+ }
6475 if o .DryRun {
6576 combination = append (combination , "--dry-run" )
6677 }
78+ if len (o .ExtraGitFlags ) > 0 {
79+ combination = append (combination , o .ExtraGitFlags ... )
80+ }
6781
6882 return combination
69- }
83+ }
0 commit comments