我以前曾经使用过 svn move ,但我不是这样,因为我无力犯错,所以我在这里问:
我有一个项目,该项目是另一个子项目,现在应该是顶级独立项目:
当前布局(嵌套):
/
└── company
└── otherproject
└── trunk
└── project
所需的布局(分隔):
/
└── company
└── otherproject
│ └── trunk
└── project
└── trunk
我不确定是先运行svn mkdir
还是svn move
为您创建新目录。
还不清楚在svn commit
之后我应该怎么做svn move
。
答案 0 :(得分:1)
首先,正如royalTS所说,版本控制的全部要点是能够回滚。这包括您可以想到的各种变化。如果版本1234决定需要彻底清除所有(!)(也许是一年中的那个时候),则版本1233会不在乎。
现在,解决您的问题:
您是说目标目录不存在。事实并非如此。您要将from enum import Enum
class Entity:
# The instances don't need their own `states` enumeration,
# so I create one which will be shared among all instances.
STATES = Enum('State', 'IDLING WALKING JUMPING')
def __init__(self):
self.state = self.STATES.JUMPING
def update(self):
if self.state is self.STATES.JUMPING:
print('jumping')
entity = Entity()
entity.update()
移至project
。显然company
已经存在。无需company
。
您在这里有2个选择。
编辑本地工作副本:
mkdir
使用远程地址(http只是一个示例,它取决于实际配置)
# cd to somwhere in the working copy, let's say `company`.
cd /working-copy/company
# move
svn mv otherproject/trunk/project .
# commit changes
svn ci
这将立即提交。
顺便说一句,如果您指定不存在的文件或目录,则Subversion会像其他所有人一样向您抛出愤怒的错误消息。
也许您应该设置自己的存储库并进行一些实验...