我有一个颠覆项目,名为inboundem。这是我的第一次,当我创建它时,我省略了主干。我需要把它变成正确的结构,如inboundem / trunk。我有另外一个这样的项目,但由于没有修改,我做了svn delete
然后svn import
并且运行良好。但我有很多修改,我不想失去历史。
我不能svn move
,因为svn不允许我将项目移动到自身。
我怀疑我需要沿着svnadmin dump / load路径走下去,所以我做了:
svnadmin dump /subversion/active | svndumpfilter include inboundem > inboundem.dump
并创建了一个包含所有myboundem历史记录的转储文件。但我现在该怎么办?
我怀疑我应该svn delete
并删除项目,然后手动编辑转储文件并将节点路径从inboundem更改为inboundem / trunk,然后执行
svnadmin load /subversion/active < inboundem.dump
这样安全吗?有没有更简单的方法?也许我应该强制它,并逐个检查所有修订,删除项目,然后通过修订重新创建项目修订。
答案 0 :(得分:18)
svn mv svn://repo/inboundem svn://repo/trunk
svn mkdir svn://repo/inboundem
svn mv svn://repo/trunk svn://repo/inboundem/trunk
答案 1 :(得分:2)
为什么不在名为“trunk”的项目根目录中创建一个文件夹,然后将root中的所有文件/文件夹移动到该文件夹中?
我之前在Tortoise中做过这个,我不知道它使用了什么底层命令,因为你说svn move对你不起作用。也许尝试复制然后删除?
答案 2 :(得分:0)
您可以使用svn export,然后将导出的源移动到/ trunk,然后提交更改(在/ trunk中添加新文件夹)
然后在旧文件夹上删除(并调用删除),如果必须,仍然会有它们的历史记录供你恢复,但它会将它们恢复到旧文件夹,而不是新的主干。所有svn导出都会将所选目录移动到没有.svn文件夹的新位置,因此它就好像它不是一个工作副本,从那里你可以将它添加到你的工作副本。