我創建了一個回購,然後我跑svn import . https://myrepo
。它似乎已經很好地檢查了一切,並且可以在我的另一臺機器上檢查它。但是,它似乎沒有創建.svn
文件夾,所以我不能在以後運行任何svn ci
命令。SVN導入不會創建.svn文件夾?
這就造成巨大的麻煩,試圖以後同步上漲,因爲現在我所有的東西是已經在回購,但它的變化,我試圖去提交衝突。
我在做什麼錯?
我創建了一個回購,然後我跑svn import . https://myrepo
。它似乎已經很好地檢查了一切,並且可以在我的另一臺機器上檢查它。但是,它似乎沒有創建.svn
文件夾,所以我不能在以後運行任何svn ci
命令。SVN導入不會創建.svn文件夾?
這就造成巨大的麻煩,試圖以後同步上漲,因爲現在我所有的東西是已經在回購,但它的變化,我試圖去提交衝突。
我在做什麼錯?
我從不使用導入,因爲它不舒服。導入不會創建.svn目錄,您必須運行新導入目錄的額外結帳。
除了導入文件之外,我首先在回購庫中創建一個空目錄,並將其簽入到我想要「導入」的現有項目目錄中。然後你可以簡單地運行提交,它會添加所有文件。
當您使用subversion設置項目時,在初始導入項目後,應該檢查項目並繼續在檢出的副本中處理項目。我認爲問題在於你一直在處理你簽入的副本。
只有一個工作副本會有一個.svn文件夾。導入不會創建工作副本。 (爲什麼不呢?假設你試圖從沒有寫入權限的介質中導入,在這種情況下,如果導入試圖創建一個工作副本,它將失敗)。要創建工作副本,您必須使用結帳。
換言之,導入會將信息推送到存儲庫。這就是它所要做的,它對原始文件沒有影響。大多數Subversion命令只能在一個方向上工作:檢出,導出和更新本地系統/工作副本上的修改文件。導入並提交只更新存儲庫。除了[un]鎖定操作之外,我無法想象同時影響存儲庫和工作副本的命令。
導入後,您可以運行svn checkout --force
將導入的目錄轉換爲工作副本。
問題是,它似乎在Linux上改變了很多權限。我通常會在我的服務器上導入/ etc目錄,並發現我需要在--force結帳後修復大量權限。 –
GAHHHHHHHHH ...不要使用TORTOISE-SVN來做到這一點 - 它會消滅你的本地目錄。
Sooo .........在其他地方首先做一個zip/copy!..嘆息...(至少我有一個前一個 - 雖然 - zipfile)。
我相信你不知道svn的工作方式如何。 – Cheung
我想提供有關在導入後使用TortoiseSVN的更新。 TortoiseSVN現在可以讓您檢出一個非空的文件夾。
因此,您可以簡單地簽出到用於導入的相同文件夾中。 TortoiseSVN版本里面的所有文件,檢測到它們都匹配,並且不下載/覆蓋任何東西。不必再重新命名源文件夾,然後退出到一個新的空文件夾。使用TortoiseSVN 1.8.0版,Build 24401 - 64位,2013-06-17T18:15:59(Subversion 1.8.0, - 發行版)對Windows進行了測試,版本號爲 。
實施例:
目錄C:\ myfiles的具有數據。
導入該文件夾到SVN在http://example.com/svn/myfiles
退房http://example.com/svn/myfiles到C:\ myfiles文件。
TortoiseSVN警告目的地不是空的,請點擊確定。
TortoiseSVN的地方,然後C:\ myfiles文件及其內容(目前儲備庫相匹配)版本控制之下,而不必修改/下載/替換任何文件。
不幸的是,驗證文件似乎只需要一個實際的結帳:(我想我會嘗試'svn co --force',如[Michael Hackner]所建議的(http://stackoverflow.com/用戶/ 189919/michael-hackner),下一次看看它是如何發揮的。 –
檢查文件夾權限。在我的情況下,它的工作。
所以,我* *應該*導入'它,'cd ..',重命名它,然後再次檢查它?這是標準/預期的工作流程嗎? – mpen
在我後面重複:「存儲庫不是工作副本,我不應該像一個一樣對待它。」 – Powerlord
@Powerlord:什麼倉庫?導入時,本地目錄不是存儲庫,只是作爲回購的初始版本導入。 –