2009-02-12 49 views
5

讓我解釋我們的設置開始:TortoiseSVN:什麼導致灰色複選標記?

我與一些承包商工作。他們正在使用Visual Source Safe進行源代碼管理,而我們公司正在使用Subversion。每隔幾天,他們瓶坯簽入到我們的倉庫通過執行以下步驟:

  1. 結帳從我們的倉庫(他們的工作就可以了唯一的所以這實際上並沒有做任何事情)
  2. 複製到該目錄下的所有應用程序文件
  3. 提交回

它是一個可怕的過程,我們計劃來解決它的下一次迭代,但它的工作原理。 除有時它不。有時在提交之後,某些文件會有一個灰色的複選標記疊加層。

我不知道這意味着什麼。谷歌搜索意味着它可能與鎖定有關,但沒有人明確鎖定任何東西!這些文件似乎已經提交,但是當我退出時它們已經丟失。我相信我錯過了一些東西。

誰能解釋什麼鑼,以及如何解決它?

回答

10

here

如果你設置了svn:needs-lock屬性上的一個文件,Subversion會讓此文件只讀,直到你獲得文件鎖。只讀文件具有此覆蓋,表示必須首先獲取鎖定,然後才能編輯該文件。

我們在這裏沒有使用需要鎖定的東西,所以我不能真正解釋更多。儘管這是一個開始。

編輯:由於他們正在使用VSS,這些文件將在未檢出時設置爲只讀屬性。 TortoiseSVN可能會將此解釋爲具有需求鎖定集。

4

這些都是有文件的svn:needs-lock屬性集。要編輯這些文件,你首先必須鎖定它們。

下面是來自TortoiseSVN的幫助文件的解釋:

如果你設置了svn:需要鎖 財產上的一個文件,Subversion會讓 該文件設置爲只讀,直到你對得到一個 鎖文件。這樣的文件有 這個圖標來表示你必須 先得到一個鎖,你可以 編輯之前該文件。

這通常用於二進制文件(圖像,文字文檔等),當幾個人編輯時不容易合併。鎖可防止文件一次可由多個人編輯。

如果你想刪除的svn:needs-lock屬性,然後用鼠標右鍵單擊該文件,選擇TortoiseSVN - >屬性和刪除屬性。

更新:哪些原因會導致文件具有了svn:needs-lock屬性:

  • 要麼它明確由某人
  • 設置或者您在顛覆配置文件中的一些規則( TortoiseSVN - >設置 - >編輯顛覆配置文件)。檢查該文件的[auto-props]部分。例如,我們通過將相應的文件擴展名添加到subversion配置文件的[auto-props]部分來自動設置所有MS-Office文件的needs-lock屬性。
+0

什麼會導致發生,沒有人明確鎖定任何東西。該過程與我所描述的完全相同。 – 2009-02-12 22:12:59

+0

男人,我似乎今天打字速度不夠快。 – Moose 2009-02-12 22:13:14

+0

它可能是svn將該文件視爲只讀文件並將其用作道具設置? – Tim 2009-02-12 22:16:33

0

那些二進制文件?如果是這樣,這意味着這些文件在服務器上是獨佔鎖的,所以沒有人可以同時檢查它們。

1

如果你打算繼續與這種可怕的計劃,可能我建議你調查svn_load_dirs腳本?它用於將更改從非版本化的目錄層次結構應用到SVN回購。在這種情況下,您的非版本控制文件實際上來自VSS,但不計算爲此目的進行版本控制。基本上,它注意到添加的內容和刪除的內容,使您有機會告訴它,其中一些添加/刪除實際上是重命名/移動,然後將更改應用到您的回購站。它比僅僅將文件粘貼到工作副本上更好,因爲後一種方法無法正確處理添加/刪除的文件或目錄。

要回答您的原始問題,灰色複選標記表示該文件是隻讀的。通常只有當文件需要被鎖定才能寫入時纔會遇到這種情況,但是我很確定它會將所有隻讀文件標記爲灰色複選標記,而不僅僅是那些在其上設置了svn:needs-lock的文件。至於爲什麼這些文件在您退房時不顯示,那幾乎可以肯定是因爲他們從未被檢入過......如果他們在服務器中,當您更新/檢出時他們會顯示在您的工作副本中(或者它會給你一個關於阻礙他們的東西的明確的錯誤信息)。

0

向您展示文件和文件夾圖標疊加層每次您在資源管理器中打開這樣的文件夾時,TortoiseSVN都必須讀取該狀態。這通常需要幾分之一秒的時間,但如果您有較慢的硬盤或非常大的目錄,則可能需要更長的時間。 以下是一些需要注意的事項: 網絡驅動器響應速度可能非常慢,因此您可能不得不關閉此類驅動器的圖標疊加層。但是,緩存方案通常使其可行。 只要文件的最後修改時間發生變化,TortoiseSVN就需要對該文件進行完整的差異(!)以確定它是否發生了變化。如果您經常更改文件,請撤消更改並再次保存文件,您將會遇到瀏覽速度減慢的情況。您可以通過清理工作副本文件夾來修復該情況。 有幾種病毒掃描程序會干擾TortoiseSVN。大多數情況下,他們將文件鎖定在.svn狀態目錄中,這會導致TortoiseSVN掛起或變得非常慢。有時甚至可能會出現拒絕訪問錯誤。 嘗試配置您的病毒掃描程序,以便它忽略.svn目錄。 如果您正在使用Windows XP,那麼您也可以禁用zipfolders。這也會增加瀏覽速度。 1.從開始菜單中選擇運行 2.在提示符下鍵入regsvr32/u%windir%\ system32 \ zipfldr.dll,然後單擊確定。 3.更改將立即生效,但您可能必須重新啓動Windows內置ZIP支持的痕跡消失。 如果您希望在任何時候重新啓用Windows XP的內置ZIP支持,請按照以下步驟操作: 4.從開始菜單中選擇運行 5.輸入regsvr32%windir%\ system32 \ zipfldr.dll at提示並單擊確定 6.更改將立即生效,但您可能必須重新啓動Windows才能使內置ZIP支持的所有跟蹤都可用。 檢查您的系統是否存在間諜軟件,策略執行軟件或本地搜索引擎(如Google桌面)。這些都可以相當有效地干擾正常使用。

相關問題