2012-03-07 57 views
0

我正在嘗試在subversion中爲開發創建一個新條目。這是基於一個已經存在於Subversion中的項目。我不想基於該版本,因爲這僅供參考,不能更改。SVN添加錯誤 - 不是工作副本

我試圖用sts/eclipse中的subclipse導出它。但是,當我將頂級項目導入到sts/eclipse中時,項目結構不會保留。

sts/eclipse項目結構保留當我做結帳。所以我將該項目簽出到不同的目錄路徑。然後,使用cywin的命令行,我用「find.name」.svn「-execrm-rf {} \;」遞歸地從項目中刪除了所有.svn條目。

但是,當我試圖將新項目添加到subversion中時,我得到一個「SVN添加錯誤 - 不是工作副本」的頂級目錄。

我一直在檢查/谷歌搜索,並且當該目錄缺少.svn文件時發生此錯誤。因此,儘管刪除了所有.svn目錄,但Subversion仍然知道這個項目。如果我的水平更高,我會進入sts的「工作區」,(我不相信)那裏有.svn條目。

爲什麼顛覆者認爲在我刪除所有標籤之後這仍然是一個顛覆項目?我怎樣才能將這個簽出的目錄作爲一個新的條目添加到Subversion中?

回答

1

我認爲這是你在找什麼:

從Cygwin的命令行:

  1. svn export的一部開拓創新的項目到本地文件夾(svn export就像svn checkout但它不會創建所有的.svn文件夾)。
  2. svn addsvn commit該文件夾轉化爲顛覆。

下面是實現另一種方式完全一樣同上,但它的速度更快:

  1. svn branch原始項目到一個新的位置(目錄)。這會在存儲庫中創建原始項目(目錄)的副本。
  2. svn checkout分支進入本地目錄。現在

,如果你不希望保留原有的目錄,因爲你只打算從現在開始在新的一個工作的本地副本,那麼這是最快辦法做到這一點:

  1. svn branch將原始項目放到新的位置(目錄)。這會在存儲庫中創建原始項目(目錄)的副本。
  2. svn switch您原始項目(目錄)的本地副本到新分支。
+0

在您的第一個解決方案中,如何添加沒有任何.svn文件夾? – 2012-03-07 12:11:08

+0

謝謝。我在subclipse中遇到的問題是export命令不保留項目目錄結構。 subclipse checkout命令提供了一些選項來保存它。你知道我是否會遇到與cygwin的svn客戶端相同的問題? – 2012-03-07 12:34:32

+0

我喜歡svn分支的想法。結賬會保存項目結構。 – 2012-03-07 12:36:04

0

可能有一個未提交的更改,例如,您向svn(但未提交)添加了一些目錄/文件,然後意外刪除了它們。

使用「SVN詞」命令來查看,如果您有任何變化,如果有錯過提交的文件,你會得到這樣的錯誤: 的svn:提交失敗(細節如下): 的svn:目錄「XXX」缺失

然後使用「svn revert」恢復更改。

之後,您可以現在重做'svn add'和'svn ci'。