mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-30 10:45:18 -06:00
Merge pull request #192 from cmasone-attic/issue176
Use d.Try less granularly Towards issue #176
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
||||
"github.com/attic-labs/noms/clients/util"
|
||||
"github.com/attic-labs/noms/d"
|
||||
"github.com/attic-labs/noms/dataset"
|
||||
"github.com/attic-labs/noms/ref"
|
||||
"github.com/attic-labs/noms/sync"
|
||||
)
|
||||
|
||||
@@ -25,26 +24,21 @@ func main() {
|
||||
flag.Usage()
|
||||
return
|
||||
}
|
||||
started := false
|
||||
if err := d.Try(func() { started = util.MaybeStartCPUProfile() }); started {
|
||||
defer util.StopCPUProfile()
|
||||
} else if err != nil {
|
||||
log.Fatalf("Can't create cpu profile file:\n%v\n", err)
|
||||
}
|
||||
|
||||
newHead := source.Heads().Ref()
|
||||
var refs []ref.Ref
|
||||
if err := d.Try(func() { refs = sync.DiffHeadsByRef(sink.Heads().Ref(), newHead, source) }); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
if err := d.Try(func() { sync.CopyChunks(refs, source, sink) }); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
if err := d.Try(func() { sync.SetNewHeads(newHead, *sink) }); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
err := d.Try(func() {
|
||||
if util.MaybeStartCPUProfile() {
|
||||
defer util.StopCPUProfile()
|
||||
}
|
||||
|
||||
if err := d.Try(util.MaybeWriteMemProfile); err != nil {
|
||||
log.Fatalf("Can't create memory profile file:\n%v\n", err)
|
||||
newHead := source.Heads().Ref()
|
||||
refs := sync.DiffHeadsByRef(sink.Heads().Ref(), newHead, source)
|
||||
sync.CopyChunks(refs, source, sink)
|
||||
sync.SetNewHeads(newHead, *sink)
|
||||
|
||||
util.MaybeWriteMemProfile()
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,24 +156,23 @@ func main() {
|
||||
flag.Usage()
|
||||
return
|
||||
}
|
||||
started := false
|
||||
if err := d.Try(func() { started = util.MaybeStartCPUProfile() }); started {
|
||||
defer util.StopCPUProfile()
|
||||
} else if err != nil {
|
||||
log.Fatalf("Can't create cpu profile file:\n%v\n", err)
|
||||
}
|
||||
err := d.Try(func() {
|
||||
if util.MaybeStartCPUProfile() {
|
||||
defer util.StopCPUProfile()
|
||||
}
|
||||
dataStore := datas.NewDataStore(cs)
|
||||
inputDataset := dataset.NewDataset(dataStore, *inputID)
|
||||
outputDataset := dataset.NewDataset(dataStore, *outputID)
|
||||
|
||||
dataStore := datas.NewDataStore(cs)
|
||||
inputDataset := dataset.NewDataset(dataStore, *inputID)
|
||||
outputDataset := dataset.NewDataset(dataStore, *outputID)
|
||||
input := types.ListFromVal(inputDataset.Heads().Any().Value())
|
||||
output := getIndex(input)
|
||||
|
||||
input := types.ListFromVal(inputDataset.Heads().Any().Value())
|
||||
output := getIndex(input)
|
||||
outputDataset.Commit(datas.NewSetOfCommit().Insert(
|
||||
datas.NewCommit().SetParents(outputDataset.Heads().NomsValue()).SetValue(output.NomsValue())))
|
||||
|
||||
outputDataset.Commit(datas.NewSetOfCommit().Insert(
|
||||
datas.NewCommit().SetParents(outputDataset.Heads().NomsValue()).SetValue(output.NomsValue())))
|
||||
|
||||
if err := d.Try(util.MaybeWriteMemProfile); err != nil {
|
||||
log.Fatalf("Can't create memory profile file:\n%v\n", err)
|
||||
util.MaybeWriteMemProfile()
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,5 +23,5 @@ type recoverablePanicker struct {
|
||||
}
|
||||
|
||||
func (s recoverablePanicker) Errorf(format string, args ...interface{}) {
|
||||
panic(nomsError{fmt.Sprintf(format, args...)})
|
||||
panic(UsageError{fmt.Sprintf(format, args...)})
|
||||
}
|
||||
|
||||
7
d/try.go
7
d/try.go
@@ -7,18 +7,17 @@ func Try(f func()) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// TODO: I think a better name for this might be like UsageError. That's really what it's intended for: telling the caller "you're holding it wrong".
|
||||
type nomsError struct {
|
||||
type UsageError struct {
|
||||
msg string
|
||||
}
|
||||
|
||||
func (e nomsError) Error() string {
|
||||
func (e UsageError) Error() string {
|
||||
return e.msg
|
||||
}
|
||||
|
||||
func nomsRecover(errp *error) {
|
||||
if r := recover(); r != nil {
|
||||
if _, ok := r.(nomsError); !ok {
|
||||
if _, ok := r.(UsageError); !ok {
|
||||
panic(r)
|
||||
}
|
||||
*errp = r.(error)
|
||||
|
||||
@@ -10,7 +10,7 @@ func TestTry(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
e := Try(func() { Exp.Fail("hey-o") })
|
||||
assert.IsType(nomsError{}, e)
|
||||
assert.IsType(UsageError{}, e)
|
||||
|
||||
assert.Panics(func() {
|
||||
Try(func() { Chk.Fail("hey-o") })
|
||||
|
||||
Reference in New Issue
Block a user