diff --git a/client/.gvc/gvc b/client/.gvc/gvc new file mode 100644 index 0000000..7ef2036 Binary files /dev/null and b/client/.gvc/gvc differ diff --git a/client/.gvc/gvc.db b/client/.gvc/gvc.db index 7038b28..afcc23f 100644 Binary files a/client/.gvc/gvc.db and b/client/.gvc/gvc.db differ diff --git a/client/.gvc/gvc.db.lock b/client/.gvc/gvc.db.lock new file mode 100644 index 0000000..e69de29 diff --git a/client/.gvc/logs/gvclog.log b/client/.gvc/logs/gvclog.log index 5732124..82ec88c 100644 --- a/client/.gvc/logs/gvclog.log +++ b/client/.gvc/logs/gvclog.log @@ -1,16 +1,248 @@ {"level":"info","message":"Creating new Manager..."} {"level":"info","module":"database","message":"Fetching last commit on branch: master"} -{"level":"info","message":"Creating new Manager..."} -{"level":"info","module":"database","message":"Fetching last commit on branch: master"} -{"level":"info","module":"database","message":"Last commit was of number: 1 Last Commit Hash was: E\ufffd\ufffd>\ufffd\ufffd˵\ufffd\u0012V\ufffd\ufffdϟw\ufffd`#,FU(\ufffd\ufffdQ\ufffd}\ufffd1 \ufffd Last commit occurred on date: 2020-07-06 14:50:09.4015985 -0400 EDT m=+0.027025401"} -{"level":"info","message":"Creating new Manager..."} -{"level":"info","module":"database","message":"Fetching last commit on branch: master"} {"level":"info","module":"database","message":"Last commit was of number: 1 Last Commit Hash was: 45d0ec3eabe1cbb5901256d0cecf9f779460232c465528a1d351987d8f31208b Last commit occurred on date: 2020-07-06 14:50:09.4015985 -0400 EDT m=+0.027025401"} -{"level":"info","message":"Creating new Manager..."} -{"level":"info","module":"database","message":"Fetching last commit on branch: master"} -{"level":"info","module":"database","message":"Last commit was of number: 1 Last Commit Hash was: 45d0ec3eabe1cbb5901256d0cecf9f779460232c465528a1d351987d8f31208b Last commit occurred on date: 2020-07-06 14:50:09.4015985 -0400 EDT m=+0.027025401"} -{"level":"info","message":"Creating new Manager..."} -{"level":"info","module":"database","message":"Fetching last commit on branch: master"} -{"level":"info","module":"database","message":"Last commit was of number: 1 Last Commit Hash was: 45d0ec3eabe1cbb5901256d0cecf9f779460232c465528a1d351987d8f31208b Last commit occurred on date: 2020-07-06 14:50:09.4015985 -0400 EDT m=+0.027025401"} -{"level":"info","message":"Starting commit number: %!s(int=2) on branch: master"} -{"level":"info","message":"Total number of files to commit: %!s(int=16)"} +{"level":"info","message":"Number of new Files: 240"} +{"level":"info","message":"Starting commit number: 2 on branch: master"} +{"level":"info","message":"Total number of files to commit: 16"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test2.go"} +{"level":"info","message":"Converting changed file: client.go"} +{"level":"info","message":"Converting changed file: add.go"} +{"level":"info","message":"Converting changed file: branch.go"} +{"level":"info","message":"Converting changed file: commit.go"} +{"level":"info","message":"Converting changed file: commonlib.go"} +{"level":"info","message":"Converting changed file: ignore.go"} +{"level":"info","message":"Converting changed file: info.go"} +{"level":"info","message":"Converting changed file: init.go"} +{"level":"info","message":"Converting changed file: lock.go"} +{"level":"info","message":"Converting changed file: refresh.go"} +{"level":"info","message":"Converting changed file: remote.go"} +{"level":"info","message":"Converting changed file: switch.go"} +{"level":"info","message":"Converting changed file: config.go"} +{"level":"info","message":"Converting changed file: structures.go"} +{"level":"info","message":"Converting changed file: test.go.old"} +{"level":"info","module":"database","message":"Writing new commit: %!s(int=2) on branch: master"} diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/add.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/add.go new file mode 100644 index 0000000..1176a20 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/add.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/branch.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/branch.go new file mode 100644 index 0000000..1ee98f5 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/branch.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/client.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/client.go new file mode 100644 index 0000000..8898e79 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/client.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/commit.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/commit.go new file mode 100644 index 0000000..3366932 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/commit.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/commonlib.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/commonlib.go new file mode 100644 index 0000000..92a23b6 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/commonlib.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/config.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/config.go new file mode 100644 index 0000000..326fd60 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/config.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/ignore.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/ignore.go new file mode 100644 index 0000000..3d7d4ef Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/ignore.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/info.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/info.go new file mode 100644 index 0000000..179c3e7 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/info.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/init.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/init.go new file mode 100644 index 0000000..7af3289 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/init.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/lock.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/lock.go new file mode 100644 index 0000000..ba76ca6 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/lock.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/refresh.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/refresh.go new file mode 100644 index 0000000..9c17618 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/refresh.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/remote.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/remote.go new file mode 100644 index 0000000..514e36b Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/remote.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/structures.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/structures.go new file mode 100644 index 0000000..2b061e4 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/structures.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/switch.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/switch.go new file mode 100644 index 0000000..5992dd7 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/switch.go differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/test.go.old b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/test.go.old new file mode 100644 index 0000000..0e9c8c8 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/test.go.old differ diff --git a/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/test2.go b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/test2.go new file mode 100644 index 0000000..15f7253 Binary files /dev/null and b/client/.gvc/objects/9e0abad7213701c37d8a9f85663247c6265670041923ea6b985e8806d4b9049a/test2.go differ diff --git a/common/engine/commits.go b/common/engine/commits.go index a4aa7af..f798b79 100644 --- a/common/engine/commits.go +++ b/common/engine/commits.go @@ -36,6 +36,7 @@ func (m *Manager) CreateInitialCommit(fileList []database.File, branch string, c for _, file := range fileList { filename, err := ConvertFileForStorage(&file, folder) if err != nil { + fmt.Println("Failure converting file for storage! ", file) // TODO: roll back commit on error (folders/files created need to be deleted) return err } @@ -51,7 +52,7 @@ func (m *Manager) CreateInitialCommit(fileList []database.File, branch string, c } // CreateCommit creates a new commit by running diffs on files, compressing, etc, as needed -func (m *Manager) CreateCommit(changedFiles []database.File, trackedFiles []database.File, branch string, commitMessage string, commitNumber int) error { +func (m *Manager) CreateCommit(changedFiles, trackedFiles, newFiles []database.File, branch string, commitMessage string, commitNumber int) error { m.Info().Msgf("Starting commit number: %d on branch: %s", commitNumber, branch) //Need to deduplicate so we aren't storing duplicates of files, storing all the files in one folder won't work, will need something like git //For initial commit no changes are made to files, so don't store anything, just save the list so you can send to server @@ -63,7 +64,7 @@ func (m *Manager) CreateCommit(changedFiles []database.File, trackedFiles []data } currentTime := time.Now() newCommit.CommitHash = hashBytes - newCommit.Number = 1 + newCommit.Number = commitNumber newCommit.TrackedFiles = trackedFiles newCommit.Date = currentTime.String() folder := m.FilePaths.ObjectFolder + string(filepath.Separator) + hex.EncodeToString(hashBytes) @@ -71,13 +72,20 @@ func (m *Manager) CreateCommit(changedFiles []database.File, trackedFiles []data if err != nil { return fmt.Errorf("unable to create commit directory in object dir: %s err: %s", folder, err) } + // TODO: Do a full file copy every 5 commits m.Info().Msgf("Total number of files to commit: %d", len(trackedFiles)) fmt.Println("Total number of files to commit: ", len(trackedFiles)) // TODO: CHeck for NEW Files and convert to starage, not changed files - for _, file := range changedFiles { - m.Info().Msgf("Converting changed fi") + // Find NEW files that need to be converted for storage + var changedandNewFiles []database.File + changedandNewFiles = append(changedFiles, newFiles...) + + for _, file := range changedandNewFiles { + m.Info().Msgf("Converting changed file: %s", file.Name) filename, err := ConvertFileForStorage(&file, folder) if err != nil { + fmt.Println("Error converting changed file! ", file.Name) + m.Info().Msgf("error converting file for storage: %s err: %s", file.Name, err) // TODO: roll back commit on error (folders/files created need to be deleted) return err } diff --git a/common/engine/compressor.go b/common/engine/compressor.go index 6227bff..9796762 100644 --- a/common/engine/compressor.go +++ b/common/engine/compressor.go @@ -19,12 +19,12 @@ type SomeStruct struct { } // CompressFile uses pgzip to compress a file for storage -func CompressFile(path string) error { +func CompressFile(path string, newPath string) error { fileBytes, err := ioutil.ReadFile(path) if err != nil { return fmt.Errorf("unable to read file: %s", path) } - file, err := os.Create(path) + file, err := os.Create(newPath) if err != nil { return err } diff --git a/common/engine/filesystem.go b/common/engine/filesystem.go index 4b5d864..4bef4cc 100644 --- a/common/engine/filesystem.go +++ b/common/engine/filesystem.go @@ -69,8 +69,8 @@ func ExpandToIntArray(length int64, arry []byte, intArray *[]int64) error { // ConvertFileForStorage opens the original file and dumps the bytes to pgzip to compress it for storage func ConvertFileForStorage(file *database.File, folder string) (fileName string, err error) { - filename := folder + string(filepath.Separator) + file.Name //fileName is under the object folder then the hash, then the filename - err = CompressFile(filename) + filename := folder + string(filepath.Separator) + file.Name //fileName (for compressed object) is under the object folder then the hash, then the filename + err = CompressFile(file.Path, filename) // Path to the original file so we can compress, and the expected new compressed file if err != nil { return filename, err } diff --git a/common/engine/manager.go b/common/engine/manager.go index 1eb9116..e8aa872 100644 --- a/common/engine/manager.go +++ b/common/engine/manager.go @@ -210,11 +210,11 @@ func (m *Manager) BeginCommit(branch string, commitMessage string) error { return err } if len(trackedFiles) == 0 { - return fmt.Errorf("no files show as tracked in repo, cannot commit, aborting...") + return fmt.Errorf("no files show as tracked in repo, cannot commit, aborting") } - commit, err := m.dB.FetchLastCommitOnBranch(branch) //Check for previous commits + lastCommit, err := m.dB.FetchLastCommitOnBranch(branch) //Check for previous commits if err != nil { - m.Info().Msgf("unable to fetch last commit on branch, assuming first commit on branch", err) + m.Info().Msgf("unable to fetch last commit on branch, assuming first commit on branch: %s", err) err := m.CreateInitialCommit(trackedFiles, branch, commitMessage) // Create the initial commit if err != nil { m.Err(err).Msgf("unable to create initial commit: %s", err) @@ -223,7 +223,7 @@ func (m *Manager) BeginCommit(branch string, commitMessage string) error { m.Info().Msgf("Initial Commit Created, returning...") return nil } - var filesToDiff []database.File // Contains the list of files that have changed since the initial commit + var changedFiles []database.File // Contains the list of files that have changed since the initial commit for _, trackedFile := range trackedFiles { fmt.Println("Working on file: ", trackedFile.Path) if trackedFile.Path == "" { @@ -245,19 +245,32 @@ func (m *Manager) BeginCommit(branch string, commitMessage string) error { fmt.Printf("No changes found in file: %s when compared to file: %s\n", currentFile.Name(), trackedFile.Name) continue } - filesToDiff = append(filesToDiff, trackedFile) + changedFiles = append(changedFiles, trackedFile) } + var newFiles []database.File // Comparing old tracked files with current to find new tracked files + for _, oldFile := range lastCommit.TrackedFiles { + for _, newFile := range trackedFiles { + if oldFile.Path == newFile.Path { + continue + } else { + newFiles = append(newFiles, newFile) + } + } + } + m.Info().Msgf("Number of new Files: %d", len(newFiles)) //diffChannel := make(chan database.DiffObject) //diffContext := context.Background() //m.WaitGroup.Add(2) - fmt.Println("Changed Files: ", filesToDiff) - if len(filesToDiff) == 0 { + for _, changedFile := range changedFiles { + fmt.Println("Changed File: ", changedFile.Path) + } + + if len(changedFiles) == 0 { m.Info().Msgf("No changed files found to commit on branch: %s", branch) return fmt.Errorf("no changed files, cannot commit on branch: %s", branch) } - fmt.Println("COMMIT: ", hex.EncodeToString(commit.CommitHash)) - newCommitNumber := commit.Number + 1 - err = m.CreateCommit(filesToDiff, trackedFiles, branch, commitMessage, newCommitNumber) + newCommitNumber := lastCommit.Number + 1 + err = m.CreateCommit(changedFiles, trackedFiles, newFiles, branch, commitMessage, newCommitNumber) if err != nil { return err } diff --git a/go.mod b/go.mod index 5a3249c..6e13f16 100644 --- a/go.mod +++ b/go.mod @@ -8,13 +8,20 @@ require ( github.com/amlwwalker/fdelta v0.0.0-20200513211915-3b53ff25eff6 github.com/apsdehal/go-logger v0.0.0-20190515212710-b0d6ccfee0e6 github.com/asdine/storm v2.1.2+incompatible + github.com/boltdb/bolt v1.3.1 // indirect + github.com/boltdb/boltd v0.0.0-20150220181201-1f04e2021e45 // indirect github.com/cbergoon/merkletree v0.2.0 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect github.com/deranjer/clir v1.0.5 github.com/deranjer/store v0.0.0-20200526205429-464dd59c6031 github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect + github.com/elazarl/go-bindata-assetfs v1.0.1 // indirect + github.com/evnix/boltdbweb v0.0.0-20191029203843-5b16e6623bd9 // indirect + github.com/gin-gonic/gin v1.6.3 // indirect github.com/go-resty/resty/v2 v2.3.0 github.com/golang/protobuf v1.4.2 // indirect github.com/golang/snappy v0.0.1 // indirect + github.com/hasit/bolter v0.0.0-20200427155054-832cf37fbaf6 // indirect github.com/imdario/mergo v0.3.9 github.com/kalafut/imohash v1.0.0 github.com/klauspost/compress v1.10.10 // indirect @@ -22,11 +29,18 @@ require ( github.com/labstack/echo v3.3.10+incompatible github.com/labstack/gommon v0.3.0 // indirect github.com/mattn/go-colorable v0.1.6 // indirect + github.com/mattn/go-runewidth v0.0.9 // indirect + github.com/olekukonko/tablewriter v0.0.4 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/r3labs/diff v1.1.0 // indirect github.com/radovskyb/watcher v1.0.7 github.com/rs/zerolog v1.19.0 + github.com/sirupsen/logrus v1.6.0 // indirect + github.com/urfave/cli v1.22.4 // indirect github.com/valyala/fasttemplate v1.1.0 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect go.etcd.io/bbolt v1.3.4 // indirect golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d // indirect + golang.org/x/sys v0.0.0-20200908134130-d2e65c121b96 // indirect google.golang.org/appengine v1.6.6 // indirect ) diff --git a/go.sum b/go.sum index d301708..efc08ca 100644 --- a/go.sum +++ b/go.sum @@ -10,20 +10,45 @@ github.com/apsdehal/go-logger v0.0.0-20190515212710-b0d6ccfee0e6 h1:qISSdUEX4sjD github.com/apsdehal/go-logger v0.0.0-20190515212710-b0d6ccfee0e6/go.mod h1:U3/8D6R9+bVpX0ORZjV+3mU9pQ86m7h1lESgJbXNvXA= github.com/asdine/storm v2.1.2+incompatible h1:dczuIkyqwY2LrtXPz8ixMrU/OFgZp71kbKTHGrXYt/Q= github.com/asdine/storm v2.1.2+incompatible/go.mod h1:RarYDc9hq1UPLImuiXK3BIWPJLdIygvV3PsInK0FbVQ= +github.com/boltdb/bolt v1.3.1 h1:JQmyP4ZBrce+ZQu0dY660FMfatumYDLun9hBCUVIkF4= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/boltdb/boltd v0.0.0-20150220181201-1f04e2021e45 h1:ep0QrTbZFgXa8e4lTAdd/NPY9ZiSP/ysDf26+UNPogo= +github.com/boltdb/boltd v0.0.0-20150220181201-1f04e2021e45/go.mod h1:512MO8jN3usqrPdyZ8YtG6vLsQ8wGV5W9cykDwCy1WI= github.com/cbergoon/merkletree v0.2.0 h1:Bttqr3OuoiZEo4ed1L7fTasHka9II+BF9fhBfbNEEoQ= github.com/cbergoon/merkletree v0.2.0/go.mod h1:5c15eckUgiucMGDOCanvalj/yJnD+KAZj1qyJtRW5aM= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deranjer/clir v1.0.5 h1:tEunZj5qJLYNBtzMQ/vH8hEAIv4NptWFmTldsP9U2qY= github.com/deranjer/clir v1.0.5/go.mod h1:x/FAjr5CHGsBT0yjs+NYxX3qFxx8G15gbeCcN6FFuyU= github.com/deranjer/store v0.0.0-20200526205429-464dd59c6031 h1:sPjxPMNILoBbu6uhDfa97AhlUhTgtPY2HqySAzuLd4o= github.com/deranjer/store v0.0.0-20200526205429-464dd59c6031/go.mod h1:wPOs9IJ77lRTXyjEOQeegCFjIlm21qOFcv33lXmU7gE= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE03qmvRTNfbw= +github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= +github.com/evnix/boltdbweb v0.0.0-20191029203843-5b16e6623bd9 h1:dC7Oop5DzcTumNzd05DmaeRKFTbnmoFcMI0mDTq9YOQ= +github.com/evnix/boltdbweb v0.0.0-20191029203843-5b16e6623bd9/go.mod h1:bgR50h2xH9mkOK8usjyWvaOtA2hUAHDTXSc72t2lvT8= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-resty/resty/v2 v2.3.0 h1:JOOeAvjSlapTT92p8xiS19Zxev1neGikoHsXJeOq8So= github.com/go-resty/resty/v2 v2.3.0/go.mod h1:UpN9CgLZNsv4e9XG50UU8xdI0F43UQ4HmxLBDwaroHU= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= @@ -37,18 +62,33 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/hasit/bolter v0.0.0-20200427155054-832cf37fbaf6 h1:YJo92OCdfUKr9ojl1bjuZ0QZLEgFFeT68eeRVaUeOis= +github.com/hasit/bolter v0.0.0-20200427155054-832cf37fbaf6/go.mod h1:QeiIIsu6N8sVPeSHpo1i9cID5fjR5/9nEgumickazDo= github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg= github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/kalafut/imohash v1.0.0 h1:LgCJ+p/BwM2HKpOxFopkeddpzVCfm15EtXMroXD1SYE= github.com/kalafut/imohash v1.0.0/go.mod h1:c3RHT80ZAp5C/aYgQI92ZlrOymqkZnRDprU87kg75HI= github.com/klauspost/compress v1.10.10 h1:a/y8CglcM7gLGYmlbP/stPE5sR3hbhFRUjCBfd/0B3I= github.com/klauspost/compress v1.10.10/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/pgzip v1.2.4 h1:TQ7CNpYKovDOmqzRHKxJh0BeaBI7UdQZYc6p7pMQh1A= github.com/klauspost/pgzip v1.2.4/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kval-access-language/kval-boltdb v0.0.0-20170330045345-f3797777c95e h1:6eQQkLvMgIY9ecZKVtEsKdUeApg6qkNl8IwJp6cZBNg= +github.com/kval-access-language/kval-boltdb v0.0.0-20170330045345-f3797777c95e/go.mod h1:CJfrSSteer+JJgIkdw/LU7Ss1CiZ6G/+oIfo4nJ1P/s= +github.com/kval-access-language/kval-parse v0.0.0-20170504112528-b96aa5a26330 h1:u+bu63lKw/77wcyhzRB9YwipGEa4l3et/hu4xkcX2cQ= +github.com/kval-access-language/kval-parse v0.0.0-20170504112528-b96aa5a26330/go.mod h1:sIViryZLFGwtty1cz01GVfqCzHR2j5O7ZCcuYiGJAJA= +github.com/kval-access-language/kval-scanner v0.0.0-20170504112421-4f097cacd289 h1:xp6dE/eMUsoTqp/A4p846HSDlETgYPcW+gmtSW7G0tc= +github.com/kval-access-language/kval-scanner v0.0.0-20170504112421-4f097cacd289/go.mod h1:YAawD4QhDnNbLB6455T6SheCYnZh90kII4jhq5HWzAQ= github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg= github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -56,19 +96,55 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.2 h1:sq53g+DWf0J6/ceFUHpQ0nAEb6WgM++fq16MZ91cS6o= +github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= +github.com/olekukonko/tablewriter v0.0.4 h1:vHD/YYe1Wolo78koG299f7V/VAS08c6IpCLn+Ejf/w8= +github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/r3labs/diff v1.1.0 h1:V53xhrbTHrWFWq3gI4b94AjgEJOerO1+1l0xyHOBi8M= +github.com/r3labs/diff v1.1.0/go.mod h1:7WjXasNzi0vJetRcB/RqNl5dlIsmXcTTLmF5IoH6Xig= github.com/radovskyb/watcher v1.0.7 h1:AYePLih6dpmS32vlHfhCeli8127LzkIgwJGcwwe8tUE= github.com/radovskyb/watcher v1.0.7/go.mod h1:78okwvY5wPdzcb1UYnip1pvrZNIVEIh/Cm+ZuvsUYIg= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.19.0 h1:hYz4ZVdUgjXTBUmrkrw55j1nHx68LfOKIQk5IYtyScg= github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo= +github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= +github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= @@ -90,6 +166,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -97,6 +174,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepx golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200908134130-d2e65c121b96 h1:gJciq3lOg0eS9fSZJcoHfv7q1BfC6cJfnmSSKL1yu3Q= +golang.org/x/sys v0.0.0-20200908134130-d2e65c121b96/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -119,5 +198,6 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/tylerb/is.v1 v1.1.2 h1:AB/MANFml2ySf+adwcinvajyHvsYltAOD+rb/8njfSU= gopkg.in/tylerb/is.v1 v1.1.2/go.mod h1:9yQB2tyIhZ5oph6Kk5Sq7cJMd9c5Jpa1p3hr9kxzPqo= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=