撤消svn更改列表

时间:2013-07-24 11:46:45

标签: svn

我通过svn add命令在svn中添加了一个目录,并且有一个修改过的文件。所以我的svn status命令显示了我

$ 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命令。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分: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)

您可以按照以下步骤操作:

  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及其内容