对于我们的项目,我们使用cvs,我们希望使用eclipse创建的补丁进行共享更改,并在映像中进行配置:
补丁是这样的:
### Eclipse Workspace Patch 1.0
#P project2
Index: testFile2.txt
===================================================================
RCS file: testFile2.txt
diff -N testFile2.txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ testFile2.txt 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,5 @@
+
+xxxxxx
#P project1
Index: testFile1.txt
===================================================================
RCS file: testFile1.txt
diff -N testFile1.txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ testFile1.txt 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,5 @@
+
+yyyyyy
是否有命令/库允许在没有eclipse的情况下应用此补丁? 我尝试'patch'命令,但似乎不支持这种补丁格式。
答案 0 :(得分:0)
问题没有简单的解决方案,因为Multi-project的格式不是标准的,只有eclipse知道如何应用该格式。 标准补丁格式不知道命令:
#P project1
我的解决方法是:
使用ant任务应用路径(包装补丁命令)
<target name="applyPatch">
<echo message="Apply patch:${patchFileName}"/>
<echo message="workspace.home:${workspace.home}"/>
<sequential>
<local name="projectName" />
<basename property="projectName" file="${patchFileName}" suffix=".patch" />
<echo message="${projectName}"/>
<exec executable="patch">
<arg value="-d"/>
<arg value="${workspace.home}/${projectName}"/>
<arg value="-i"/>
<arg value="${patchFileName}"/>
<arg value="-p" />
<arg value="0" />
<arg value="-u" />
<arg value="-N" />
</exec>
</sequential>
</target>