Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename and split package #178

Closed
17 tasks done
flimzy opened this issue Aug 12, 2017 · 1 comment
Closed
17 tasks done

Rename and split package #178

flimzy opened this issue Aug 12, 2017 · 1 comment

Comments

@flimzy
Copy link
Member

flimzy commented Aug 12, 2017

I'm creating this issue to inform kivik users of an upcoming change, and to invite comment.

My goal is to split the Kivik package up into sub-packages. This is to reduce the dependency tree, as well as to isolate changes to the sub-packages where they matter.

The new packages will be (roughly):

  • kivik (plus kivik/driver), the core driver.
  • couchdb The CouchDB backend (currently kivik/driver/couchdb)
  • pouchdb The PouchDB backend (currently kivik/driver/pouchdb)
  • memorydb The (in progress) memory backend (currently kivik/driver/mem)
  • fsdb The (barely started) filesystem backend (currently kivik/driver/fs)
  • kouch A command-line tool for interacting with CouchDB servers. (Partial support in kivik/cmd/kivik)
  • server (name undecided) Libraries and possibly a command-line tool for running a Kivik server (currently kivik/serve)

Possibly concurrently, I would like to move all Kivik packages to the new go-kivik namespace.

My plan, such as it is, is to piecemeal duplicate the existing Kivik components (couchdb, pouchdb, etc), into the new namespace. Changes will only be added to the new packages under the go-kivik namespace. This will allow existing installations to continue functioning during a transition period, while encouraging new users to use the new packages.

Eventually, likely after all sub-packages have been moved to go-kivik, I will take the plunge, and transfer the core kivik repository to the go-kivik namespace. GitHub will handle redirection, but that likely won't be sufficient, due to the kivik/driver sub-package.

Of course my goal is to make this transition as painless as possible.

Any comments or suggestions are welcome.

TODO list

The final rename will involve:

*Once the new driver packages are published, I intend not to add any features or bugfixes to the legacy packages. After some time (probably 30-90 days or so), I'll add a single warning (probably in an init function) that warns that the driver is obsolete, and point to the new location. Hopefully this will get the attention of anyone continuing to download the old location. After a further wait, I will remove the legacy drivers entirely.

@flimzy
Copy link
Member Author

flimzy commented Dec 14, 2017

The rename is finally complete. See the announcement.

@flimzy flimzy closed this as completed Dec 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant