2012-03-22 51 views
5

我的老板希望我们能够使用我们的MS Word文档的颠覆。这个想法是,只有我们的部门可以访问Word文档,所以我们更新并提交更改。如何合并SVN和汇合

但我们希望与我们公司的其他人分享这些文件。我们使用汇合来控制访问。

当前,当我们更新Word文档时,我们提交给SVN,然后在Confluence中更新附件(作为页面查看)。这使我们能够通过电子邮件将URL发送到某个文档,并且只允许具有Confluence中正确权限的人员看到它。这是我们想要的。

有什么办法让汇合引用SVN中指定的文件的最新版本?我想对SVN进行更改,并让用户始终可以看到Confluence中的最新版本。

+1

如果你有合流你为什么需要svn? – 2012-03-23 07:38:19

回答

3

此请求无法满足,因为您要求Atlassian提供的其他产品的功能。与此请求最接近的匹配是在Confluence中嵌入到Atlassian Fisheye的链接,通过一个间接层([Confluence]->[Fisheye]->[SVN])。

SVN的实际Confluence集成不存在,因为它落在Confluence的产品范围之外。相反,Atlassian为此提供了其他工具,如FisheyeJIRA,以直接与SVN进行交互。

如果您希望开发尽可能接近老板原始请求的服务堆栈,请考虑遵循this tutorial建立Atlassian提供的完整集成套件。除此之外的任何事情都应该通过来自社区或公司本身的plugins进行调查。

(全面披露:我既没有工作,也没有Atlassian的与他们有任何预先存在业务关系,我只是用自己的软件公司内的人,我一直在采用。)

2

我认为这种情况下没有插件,但可能你可以编写一个小型的shell脚本,它使用Confluence CLI将更改后的文件作为附件推送到Confluence中的指定页面。

0

Couldn”只是你写了一个SVN后提交挂钩,检查给定的回购或给定的文件扩展名,然后直接在您的汇合数据库中更新attachmentdata表?

  1. 您将二进制位置传递给svnlook以及repsitory名称和修订号。
  2. 然后运行svnlook以获取已更改文件的列表。
  3. 然后过滤文件以便只列出文档文档。
  4. 然后为每个文件获取文件名和文件路径。
  5. 从文件名获得文件数据。
  6. 然后运行SQL来更新相关的附件数据条目。

初学者指南邮政commit钩子可在Subversion Post-Commit Hooks 101和附加信息是avaliable在下面的#1问题:

0

MS共享点已全部您需要的功能(文档版本加限制访问全部内置,带有Web界面),它是免费的(或者至少,基础版本,它会做你想做的)

0

我会建议在服务器上添加SVN后提交挂钩。

@echo off 
SET SVNLOOK=C:\Program Files\CollabNet Subversion Server\svnlook.exe 
SET GREP=D:\SVN\Repo\hooks\grep.exe 

REM Write a list of modified *.doc files to a .log file 
("%svnlook%" changed -t %2 %1 | "%grep%" "^U.*\.doc$" > %2.log) 

REM ---------------------------------------- 
REM Here, you would use the file "%2.log" to push the updated word documents. 
REM ---------------------------------------- 

REM Clean up the .log file 
del %2.log 
0

我会放弃这个念头,然后

  1. 导入您的Word文档作为合流(我记住的网页,如果你有大量的文件,这可能看起来像一个平凡任务)
  2. 使用Confluence权限管理来控制访问......您可以将用户管理绑定到MS Active Directory和其他目录服务。

这样你就有1)一个相当方便的权限控制系统和2)版本控制系统为你的文件。