aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2017-07-19 01:02:11 +0200
committerMáximo Cuadros <mcuadros@gmail.com>2017-07-19 01:02:11 +0200
commit330a45a58eef95095d9fb7343f8daeb8c408e4f5 (patch)
treeb1f29df100b3eb2aec26d7340ef2e2ab41c396bd /plumbing
parent11f75e288e5cd4343e5a48cea30f9480c5828059 (diff)
downloadgo-git-330a45a58eef95095d9fb7343f8daeb8c408e4f5.tar.gz
worktree: commit, use path package instead of filepath
Diffstat (limited to 'plumbing')
-rw-r--r--plumbing/format/config/decoder.go4
-rw-r--r--plumbing/format/config/encoder.go8
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
}
}