2013-07-24 155 views
-1

我通過svn add命令在svn中添加了一個目錄,並且有一個修改後的文件。所以,我的svn status命令我展示撤消svn更改列表

$ svn status 
A  app/code/local/Mage/Adminhtml/Block/Store 
A  app/code/local/Mage/Adminhtml/Block/Store/switcher.phtml 
M  app/code/local/Derm/Customersignup/controllers/AccountController.php 

我只是想提交app/code/local/Mage/Adminhtml/Block/Store和裏面的文件。所以我用svn changelist命令。我之前使用它來提交選定的文件,並發現很方便。但它跳過目錄添加,但添加文件裏面。我搜索了一下發現svn checkout可以添加目錄。現在

$svn changelist my-changelist app/code/local/Mage/Adminhtml/Block/Store/ 

我的svn狀態成爲

$svn status 
M  app/code/local/Derm/Customersignup/controllers/AccountController.php 
--- Changelist 'my-changelist': 
M  app/design/adminhtml/default/default/template/store/switcher.phtml 
A  app/code/local/Mage/Adminhtml/Block/Store/Switcher.php 

恐怕如果我犯這個變更表,然後我的商店目錄不會被提交和可能會有一些例外,以及。 所以我想撤銷我的更改列表更改,恢復不需要的修改文件app/code/local/Derm/Customersignup/controllers/AccountController.php並使用直接svn commit命令。 任何幫助將不勝感激。

+1

沒有這樣的事情作爲'清單'。這是一個「變更清單」。 – bmargulies

+0

您在'svn status'的兩個不同執行中顯示不同的文件列表。那不應該發生,除非你還沒有告訴我們有關的其他事情。 – alroc

回答

2

一種方法是離開了-m提交信息提交時:

$ svn commit --changelist my-changelist 

這將打開,您可以輸入您提交信息的編輯器。底部將顯示提交的所有內容(文件和目錄)的完整列表。這可以幫助您驗證您是否提交了您認爲正在提交的內容並緩解您的擔憂。

您可以指定所有要提交在命令行上的文件:

$ cd app/code/local/Mage/Adminhtml/Block 
$ svn commit Store Store/switcher.phtml 

這樣會提交你想要什麼,而不必定義一個變更。

如果要刪除更改列表,可以使用svn changelist --remove命令從更改列表中刪除項目,並且一旦更改列表爲空,它將不再被定義。

繼續嘗試使用更改列表的第一個命令,當編輯器打開時,您會看到將提交的內容。如果不是您想要的,請將該消息留空並中止提交。

-1

你可以按照下列步驟操作:

  1. 使用svn changelist --remove以刪除修改,然後
  2. svn revert app/code/local/Derm/Customersignup/controllers/AccountController.php恢復到以前的版本(放棄修改)
  3. svn ci提交的所有文件,
  4. svn ci app/code/local/Mage/Adminhtml/Block/Store只提交文件夾Store及其內容
  5. 看什麼承諾
+0

沒有'svn清單'之類的東西。 – bmargulies

+0

@bmargulies謝謝你看到這個,我修好了,因爲OP的錯字而感到困惑:( – Bigood

+0

'svn changelist --remove'給我一個錯誤:'svn:E205001:沒有足夠的參數提供'。展開? – danidemi