File tree Expand file tree Collapse file tree
Open diff view settings
Expand file tree Collapse file tree
Open diff view settings
Original file line number Diff line number Diff line change @@ -508,6 +508,8 @@ def string_decode(v: str) -> str:
508508 if len (optval ) > 1 and optval [0 ] == '"' and optval [- 1 ] != '"' :
509509 is_multi_line = True
510510 optval = string_decode (optval [1 :])
511+ elif len (optval ) > 1 and optval [0 ] == '"' and optval [- 1 ] == '"' :
512+ optval = optval [1 :- 1 ]
511513 # END handle multi-line
512514 # Preserves multiple values for duplicate optnames.
513515 cursect .add (optname , optval )
Original file line number Diff line number Diff line change 1+ [user]
2+ name = "Cody Veal"
3+ email = "cveal05@gmail.com"
Original file line number Diff line number Diff line change @@ -391,7 +391,7 @@ def test_complex_aliases(self):
391391 with GitConfigParser (file_obj , read_only = False ) as w_config :
392392 self .assertEqual (
393393 w_config .get ("alias" , "rbi" ),
394- ' "!g() { git rebase -i origin/${1:-master} ; } ; g"' ,
394+ "!g() { git rebase -i origin/${1:-master} ; } ; g" ,
395395 )
396396 self .assertEqual (
397397 file_obj .getvalue (),
@@ -406,6 +406,12 @@ def test_empty_config_value(self):
406406 with self .assertRaises (cp .NoOptionError ):
407407 cr .get_value ("color" , "ui" )
408408
409+ def test_config_with_quotes (self ):
410+ cr = GitConfigParser (fixture_path ("git_config_with_quotes" ), read_only = True )
411+
412+ self .assertEqual (cr .get ("user" , "name" ), "Cody Veal" )
413+ self .assertEqual (cr .get ("user" , "email" ), "cveal05@gmail.com" )
414+
409415 def test_get_values_works_without_requiring_any_other_calls_first (self ):
410416 file_obj = self ._to_memcache (fixture_path ("git_config_multiple" ))
411417 cr = GitConfigParser (file_obj , read_only = True )
You can’t perform that action at this time.
0 commit comments