我有一些源代码,我将其导入SVN。我忘记更新或检查它并对文件进行了一些更改。
现在(可以理解)SVN不允许我提交这些更改。它说:
的svn: '/ home / name / folder'是 不是工作副本
我现在可以做些什么来提交这些更改?
答案 0 :(得分:4)
您看到的错误:“svn:'/ home / name / folder'不是工作副本”与没有运行更新无关。这意味着什么:
/ home / name / folder 不是工作副本。
以下是对正在发生的事情的猜测:
以下是我对解决方案的建议:
svn co svn://MYREPO/FOLDER folder.svn
rsync -r folder/ folder.svn
运行svn status
。你应该看到有局部的变化。
不要忘记使用svn add
添加任何新文件。
svn commit
您的更改。
扔掉'文件夹'。从现在开始在'folder.svn'工作。
答案 1 :(得分:1)
将文件放入svn后,需要检查它们以创建工作树。您可以将编辑过的文件保留在原来的位置,并在其他地方签出工作树。然后在工作树和编辑过的文件之间进行差异处理,您应该看到所做的更改。将编辑过的文件复制到工作树上,然后将其签入。
答案 2 :(得分:0)
你应该有冲突。
如果您遇到冲突,则需要执行以下三项操作之一:
你必须尝试解决它! 看看
http://www.linxit.de/svnbook/en/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve
答案 3 :(得分:0)
bendin的回答是正确的。但是,如果您不关心保留原始版本,您也可以重新开始并重新导入文件夹,就像现在一样。您必须先删除旧版本(svn rm -m '' oldFolder
)。
答案 4 :(得分:0)
要将常规目录转换为工作副本,您可以执行以下操作:
svn checkout --force svn://MYREPO/FOLDER /home/name/folder svn add --depth infinity /home/name/folder/*
现在,您导入后对文件所做的所有修改都将显示为本地修改,文件夹中的其他所有内容都将添加到版本控制中。
这使得无需进行任何复制/粘贴/删除。