版本控制和版本控制管理在 Oak 中是如何工作的?

Posted

技术标签:

【中文标题】版本控制和版本控制管理在 Oak 中是如何工作的?【英文标题】:How does versioning and version control management work in Oak? 【发布时间】:2016-12-13 23:45:34 【问题描述】:

我们可以说 OAK 1.4 提供了开箱即用的版本控制和版本控制管理功能吗?如果是这样,如何?这是否也意味着 AEM 作者可以使用相同的功能,即暴露于顶层?

【问题讨论】:

【参考方案1】:

Jackrabbit 的核心始终是提供版本管理。在 OAK 实现中,它封装在 org.apache.jackrabbit.oak.jcr.version 下。

关于 JackRabbit 版本控制的功能方面的详细信息(OAK 也适用)可以在 Wiki here

中找到

核心概念围绕着 mixin 类型 mix:versionable,在 OAK 中,任何具有混合类型 mix:versionable 的节点都可以进行版本控制以维护更改历史记录。实现的关键方面是 VersionManager 类,它为版本关系操作提供 API。

在 AEM 中,JCR 版本控制的核心概念得到了扩展,并以更受限制的方式提供。 AEM 允许对 Pages only 进行版本控制,这受限于在包 com.day.cq.wcm.core.impl.VersionManagerImpl 中提供自己的 VersionManager 实现,请参阅文档here

默认情况下,在 AEM 中,页面版本是在页面激活时创建的。 AEM 在经典 UI 中提供 GUI 界面以在页面上显式创建版本,并且有一个 OOTB 流程步骤可用于在自定义工作流实现中按原样使用版本控制。

【讨论】:

以上是关于版本控制和版本控制管理在 Oak 中是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

LabVIEW版本控制(转)

学习使用Git 版本控制 代码管理

梳理版本控制器:SVN和Git比较

.o文件或构建版本控制的最佳实践是什么?

梳理版本控制器:SVN和Git比较

msysGit管理GitHub代码