@@ -764,23 +764,31 @@ def custom_environment(self, **kwargs):
764
764
finally :
765
765
self .update_environment (** old_env )
766
766
767
+ def transform_kwarg (self , name , value , split_single_char_options ):
768
+ if len (name ) == 1 :
769
+ if value is True :
770
+ return ["-%s" % name ]
771
+ elif type (value ) is not bool :
772
+ if split_single_char_options :
773
+ return ["-%s" % name , "%s" % value ]
774
+ else :
775
+ return ["-%s%s" % (name , value )]
776
+ else :
777
+ if value is True :
778
+ return ["--%s" % dashify (name )]
779
+ elif type (value ) is not bool :
780
+ return ["--%s=%s" % (dashify (name ), value )]
781
+ return []
782
+
767
783
def transform_kwargs (self , split_single_char_options = True , ** kwargs ):
768
784
"""Transforms Python style kwargs into git command line options."""
769
785
args = list ()
770
786
for k , v in kwargs .items ():
771
- if len (k ) == 1 :
772
- if v is True :
773
- args .append ("-%s" % k )
774
- elif type (v ) is not bool :
775
- if split_single_char_options :
776
- args .extend (["-%s" % k , "%s" % v ])
777
- else :
778
- args .append ("-%s%s" % (k , v ))
787
+ if isinstance (v , (list , tuple )):
788
+ for value in v :
789
+ args += self .transform_kwarg (k , value , split_single_char_options )
779
790
else :
780
- if v is True :
781
- args .append ("--%s" % dashify (k ))
782
- elif type (v ) is not bool :
783
- args .append ("--%s=%s" % (dashify (k ), v ))
791
+ args += self .transform_kwarg (k , v , split_single_char_options )
784
792
return args
785
793
786
794
@classmethod
0 commit comments