diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2017-07-19 01:02:11 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2017-07-19 01:02:11 +0200 |
commit | 330a45a58eef95095d9fb7343f8daeb8c408e4f5 (patch) | |
tree | b1f29df100b3eb2aec26d7340ef2e2ab41c396bd /plumbing/format/config | |
parent | 11f75e288e5cd4343e5a48cea30f9480c5828059 (diff) | |
download | go-git-330a45a58eef95095d9fb7343f8daeb8c408e4f5.tar.gz |
worktree: commit, use path package instead of filepath
Diffstat (limited to 'plumbing/format/config')
-rw-r--r-- | plumbing/format/config/decoder.go | 4 | ||||
-rw-r--r-- | plumbing/format/config/encoder.go | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/plumbing/format/config/decoder.go b/plumbing/format/config/decoder.go index 0f02ce1..c6ad3d8 100644 --- a/plumbing/format/config/decoder.go +++ b/plumbing/format/config/decoder.go @@ -2,6 +2,7 @@ package config import ( "io" + "os" "github.com/src-d/gcfg" ) @@ -33,5 +34,6 @@ func (d *Decoder) Decode(config *Config) error { config.AddOption(s, ss, k, v) return nil } - return gcfg.ReadWithCallback(d, cb) + + return gcfg.ReadWithCallback(io.TeeReader(d, os.Stdout), cb) } diff --git a/plumbing/format/config/encoder.go b/plumbing/format/config/encoder.go index 88bdf65..76d73fd 100644 --- a/plumbing/format/config/encoder.go +++ b/plumbing/format/config/encoder.go @@ -3,6 +3,7 @@ package config import ( "fmt" "io" + "strings" ) // An Encoder writes config files to an output stream. @@ -61,7 +62,12 @@ func (e *Encoder) encodeSubsection(sectionName string, s *Subsection) error { func (e *Encoder) encodeOptions(opts Options) error { for _, o := range opts { - if err := e.printf("\t%s = %s\n", o.Key, o.Value); err != nil { + pattern := "\t%s = %s\n" + if strings.Index(o.Value, "\\") == -1 { + pattern = "\t%s = %q\n" + } + + if err := e.printf(pattern, o.Key, o.Value); err != nil { return err } } |