2012-03-22 57 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)版本控制系統爲你的文件。