2009-03-02 121 views
3

我需要一個類似於Subversion的版本控制系統,但能夠保留每個文件的「修改」時間戳(日期)。具有時間戳的二進制文件的版本控制

我們需要對我們的安裝項目進行版本升級。在這種情況下,輸入文件(dll/exe)保留其時間戳是不明智的。

這樣做的最佳工具是什麼? (操作系統:Windows)

更新時間:

這裏是什麼,我想它做一個例子:

  • 放 「foo.dll」(修改1/1/2009)和「酒吧.dll「(修改2/2/2009)到工作目錄
  • 創建/測試設置並執行一次提交
  • 當另一個開發人員簽出該項目時,foo.dll和bar.dll都應該有其原始修改日期(1/1/2009和2/2/2009)

我們目前的解決方法是壓縮每個DLL(修改日期保存在zip中),但我更願意更容易一些。

+0

所有的版本控制系統保持一個「樂善堂修改」時間戳,我懷疑這不是你在找什麼。你想在添加到存儲庫時能夠指定修改的時間戳嗎? – 2009-03-02 13:54:32

+0

我希望文件保留修改日期 - 我已經添加了一個示例。 – laktak 2009-03-02 16:24:13

回答

1

您可以嘗試使用自己定義的顛覆屬性來存儲時間戳。如果更改此時間戳,則文件的「更改」狀態可以提交。您可以使用命令行訪問屬性的內容。你也有每個文件的不同時間。

然而,你可能需要一些額外的輕微腳本設置/讀取性能

1

git中,「提交」指向一棵樹,將其標記爲項目在特定時間點的樣子。它包含關於該時間點的元信息,,例如時間戳,自上次提交以來的更改的作者,指向先前提交的指針等。

+0

我想大多數版本控制系統提供這個? – 2009-03-02 13:52:28

+0

它可以存儲每個文件的時間戳嗎? – laktak 2009-03-02 16:25:37

0

這是其中一個請求顛覆開發者已經在雷達上,但還沒有實施。作爲「Nerdling」表明,混帳或水銀可能是一個更好的選擇,但你必須在顛覆了幾個選項(因爲你正在尋找的東西像SVN):

  1. 有一個討論和Perl腳本對SVN網站有一些解決方法。它保留了初始提交的修改日期...之後,它使用提交時間,但您可能可以修改腳本以使用修改的時間。它是perl,所以你在Windows上的里程可能會有所不同(我沒有在Windows上使用過cygwin和/或perl):http://svn.haxx.se/users/archive-2006-10/1345.shtml

  2. 你可以在提交之後修改每個修訂的svn:date屬性,時間。這將改變每個文件的修改時間在提交,雖然如此,如果這是不可取的,一定要提交自己的二進制文件:http://svnbook.red-bean.com/en/1.5/svn.ref.properties.htmlhttp://svnbook.red-bean.com/en/1.5/svn.advanced.props.html

  3. 我覺得龜SVN在Windows上可能會有一些選項來處理在提交上設置日期屬性。我只聽到了這個傳聞,並沒有使用它,所以這是傳聞:-)

這些都不是特別優雅,並要求你做一些額外的努力,但如果你想他們會工作堅持與SVN,這當然是一個很好的產品。如果您決定探索另一個像git或mercurial的SCM,請注意,您可以像SVN一樣使用它們,並忽略其他功能以幫助簡化轉換。

2

Subversion有use-commit-times選項,它使本地副本使用每個文件的上次提交時間的時間戳。另外svn export總是設置上次提交時間。

相關問題