This release features a bunch of fixes and new features:
-
usage of a database to save indices because previously there were too many files in .gd/indices. This issue was raised by @vrusinov in issue #106. In this discussion, a great suggestion was made by @nkabir to checkout boltdb and that turned out to be a great fit for this project. This was introduced in PR #268.
Note: In case you still have a .gd/indices dir, please remove it as it is no longer necessary.
-
deinit
command -- the counterpart ofinit
. This was introduced after a question by @mgalgs in issue #282. It was introduced by PR #283. -
directory duplication due to multibyte char + space mixes. This issue was raised by @hidehide55 in issue #250. With this discussion and investigation, trying to find a solution spawned some realizations as well as found a bug related to ideographic spaces and quoting with multi-byte characters in Golang itself golang/go#11511. Preceeding discussion here https://twitter.com/odeke_et/status/616492920296751104. This issue was fixed by @hidehide55 in PR #276.
-
acknowledgement of push errors during mkdirAll: this issue was found to be a factor in causing #250 as well as other issues such as ordinary duplication because during MkdirAll errors being ignored got interpreted as "the directory doesn't exist". This issue was fixed by PR #267.
-
exploring all clashes during push. This issue was reported by @js-ojus in issue #261. What happened is that a single clash would cause premature returns. However this is annoying if a user has to discover an infinite number of clashes by trying as many times as the clashes are. This was fixed by PR #266.
-
exploring all clashes during pull. This issue was reported by @js-ojus in issue #262. It was addressed by PR #266.
-
fixed .driveignore to handle absolute paths during listing. This issue was reported by @asmisha in issue #270. What was happening is that only basenames were being compared instead of full absolute path for which the basename is a subset anyways. This issue was addressed by PR #272.
-
drive binary can now be generated with a different name. This issue was raised by @sbrun in issue #271 where Debian packaging requested that the binary's name
drive
be set to something else. This issue involved discussions with @sbrun, @fommil, @rhertzog, @shaggytwodope and myself. This issue was addressed by PR #280. Now you can say
$ go get -u github.com/odeke-em/drive/drive-google # Should create your binary called `drive-google`
$ drive-google version
...
- fixed up local index check residuals. This issue was raised by @cdown in issue #275. What was happening was that in spite of files not existing remotely yet existant locally, the local counterparts do not have the content necessary to create a file index. Every time that such a case was encountered, a warning about not finding the local index was printed. This was addressed by PR #278.
This release features a whole lot of contributions and new features. Thank you to everyone for the ideas, raising issues, pull requests, conversations and for using drive.
Enjoy!