2008-09-23 33 views
6

我的老闆讓我爲他設置一個Subversion服務器,這樣他就可以在不同機器上同步分享他的所有文檔,並且在沒有互聯網連接時仍然可以訪問它們。在Subversion中保留文件創建日期

我爲他做了這件事,但現在他要求保留「創建日期」文件屬性。我解釋說,自從他下載了所有創建日期的文件後,他堅持認爲我找到了一種方法來保留它,因爲它影響了他使用的桌面搜索代理。有沒有辦法設置這個屬性通過Subversion保存,還是我必須編寫一個腳本來獲取每個文件的日期,並讓他在每次初始檢查後運行'touch'?

請注意,添加到SVN資源庫的文檔集合跨越了幾年,他希望跨所有結帳保留這些日期。所以Subversion最後一次更改的日期可能會與他想要的年限相提並論。

回答

3

對不起 - 第一次誤解了這個問題。

一個選項可能是使用svnadmin dump和load命令。

  • 使用svnadmin轉儲轉儲存儲庫。
  • 編寫一個腳本來瀏覽輸出,將SVN創建日期更新爲源文件夾中的文件創建日期。
  • 使用svnadmin加載重新載入更新的轉儲文件。
  • 使用將文件日期設置爲前面提出的「最後提交時間」設置。

我不確定這是可能的,但我的頭頂我認爲它會。我似乎記得一個腳本,當我從SourceSafe轉移到Subversion時做了這樣的事情 - 我會看看我能否找到它。

編輯:是啊,你也許可以從這裏嬰兒牀一些代碼(http://www.pumacode.org/projects/vss2svn

0

我最後一次檢查沒有辦法在Subversion中保存原始文件的時間戳。

+0

有沒有這方面的更新?到目前爲止,SVN是否保留了創建/修改日期? – AxD 2017-06-23 09:32:04

4

使用TortoiseSVN

  • 右鍵單擊並選擇TortoiseSVN - >設置
  • 選擇設置文件日期爲 「最後提交時間」

我認爲,將工作爲你。

+2

他想要的日期不是顛覆日期,而是文件在導入到Subversion存儲庫之前的日期。我更新了這個問題來反映這一點。 – 2008-09-23 15:40:09

+1

另外,如果不使用烏龜取消註釋行:$ HOME/.subversion/config中的'use-commit-times = yes' – 2014-03-19 08:52:26

0

您可以使用Subversion文件屬性來存儲修改日期,但是您必須編寫自己的腳本來在簽入時更新屬性並在簽出時設置修改日期。

1

退房的財產 「的svn:日期」:

svn propset svn:date --revprop -r HEAD "2007-04-22" 

這需要一個鉤的pre-revprop - 預先設置