Github user khalidhuseynov commented on the issue: https://github.com/apache/zeppelin/pull/1007 yeah, I agree that having two interfaces is more elegant, but let's see some more detailed downsides. if you see [here](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java#L49) repoSync consists of `NotebookRepo` classes, thus when having any versioning related operation we will need to check everytime if repo instance is `instanceof NotebooRepoVersioned` (or some other flag) and then do cast and call corresponding method, which is an overhead @bzz @Leemoonsoo WDYT, any other opinions? Moreover, `NotebookRepoVersioned` haven't been really integrated into the workflow so far, so it's good time to think on either integrating or removing it to move on. And the only existing versioning related `checkpoint` method was in `NotebookRepo` instead of `NotebookRepoVersioned`.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---