echo off
setlocal enabledelayedexpansion&pushd %~dp0
rem 这里假设主干和分支的根目录为:Onetrack
rem 填写在本次提交代码中,你提交了的任一文件之一,注意完成的SVN路径
set oneFile=
rem 你需要合入的Onetrack分支版本,根目录到OneTrack即可
set DestinationURL=
rem 请指定一个临时处理文件的目录
set TMP_DIR=D:\AutoMergeTempDirectory
rem 你提交的代码onetrack,SVN路径,来自oneFile
set replace=!oneFile:*/OneTrack=!
set SourceURL=!oneFile:%replace%=!
if exist "%TMP_DIR%\Onetrack" rd /s/q "%TMP_DIR%\Onetrack"
if exist "%TMP_DIR%\Onetrack" (
echo 无法删除%TMP_DIR%目录,请手动删除
cmd /c start %TMP_DIR%
echo.
pause
goto end
)
if not exist %TMP_DIR% mkdir %TMP_DIR%
cd /d %TMP_DIR%
svn checkout %DestinationURL% --depth immediates
cd OneTrack
svn checkout %DestinationURL%/GV --depth immediates
svn checkout %DestinationURL%/Common --depth immediates
svn checkout %DestinationURL%/Feature --depth immediates
svn log %oneFile% -v -l1 -q --xml>..\svnCommitLog.xml
for /f "delims=" %%a in ('findstr "action=" %TMP_DIR%\svnCommitLog.xml') do (
set b=%%a
set b=!b:*OneTrack/=!
for /f "tokens=1,2 delims=/" %%i in ("!b!") do (
cd %%i/%%j
svn up --set-depth infinity
cd ..
cd ..
)
)
rem 获取版本号
for /f %%a in ('findstr "revision=" %TMP_DIR%\svnCommitLog.xml') do (
for /f tokens^=1-2*^ delims^=^" %%i in ("%%a") do (
set revision=%%j
)
)
echo %revision%
svn merge -c%revision% --ignore-ancestry %SourceURL% %TMP_DIR%\OneTrack
cmd /c start %TMP_DIR%
:end
pause
分享到:
相关推荐
合并分支到主干是将分支上的改动整合到主干的过程。这个过程可能涉及多个提交,所以需要确保每次合并都是基于最新的主干代码。合并命令如下: ```shell svn merge https://your-repo-url/branches/branch-name . ``...
合并操作是 SVN 中的一种重要操作,通过合并操作,可以将分支中的修改合并到主干中。在 Eclipse 中,合并操作可以通过以下步骤实现: 1. 在分支中进行开发,并且提交,在主干中进行更新。 2. 打开合并,选择类型,...
- 可以选择从主干合并到分支、从分支合并到主干等不同操作。 - 根据需求选择合并选项,点击“OK”后会显示差异列表供用户确认。 #### 四、实践总结 通过上述步骤,我们可以有效地利用 SVN 进行项目的版本管理和...
在提供的示例中,开发人员使用 `svn cp` 命令从主干创建了一个新的分支。这一步骤确保了开发工作可以在不影响主干的情况下进行: ```bash svn cp ...
新手看看。高手绕道。主要是关于svn主干与分支互相合并的问题
例如,`git pull origin master`用来从远程仓库的master分支拉取最新代码,`git push origin master`则将本地更改推送到远程master分支。为了确保身份验证,可以设置Git的全局配置,包括用户名和邮箱。 接下来是SVN...
但最近由于需求变更,每次发布新版本要更新几十个,一个个太麻烦,所以就想用一个批处理文件,即BAT文件自动更新SVN文件,附件是从网上找到的,找了好久才找到,不是本人原他创,共大家分分享。
在信息技术飞速发展的今天,为了加快开发的效率,提升各个部门的联动...日益更新的用户需求和不断升级的版本,如何才能做到灵活控制版本,今天我们请到了智博创享web端开发大牛卢建敏,他将分享使用SVN的心得和经验。
资源中有 SVN 主干(trunk)、分支(branch )、标记(tag) 的详细解释,和作用 并带 SVN分支与合并 的详细操作文档(附图)。 SVN分支与合并的总结 1.分支(branche)的创建。 1、分支创建是建立在主干上的。 2、创建...
"svn 自动 lock 自动锁"的主题涉及到如何在svn操作中实现文件的自动锁定,以优化多用户同时编辑同一文件时的效率。在多人共享代码库的环境中,文件锁定机制可以避免冲突,确保只有一个用户能够修改特定文件,其他...
2. **自动获取代码**:利用脚本(通常为bash、Python或Windows批处理脚本)定期检查 SVN 仓库的更新,当有新的提交时,自动将代码拉取到本地。这一步通常被称为“拉取”或“更新”,它确保开发人员始终拥有最新的源...
这样,你就可以有效地将同一份代码修改合入到多个SVN分支中,避免了重复劳动,提高了工作效率。值得注意的是,虽然这种方法适用于大部分情况,但仍然需要根据项目的具体规则和需求进行适当的调整。在实际操作中,...
SVN自动提交脚本,通过执行SVN Status命令来获取当前目录的Svn diff,通过替换SVN diff来将文件列表转换成Svn提交命令,最后对执行所有SVN命令来完成自动提交,可以用于SVN仓库的代码自动导入
分支合并到主干是svn分支管理的最后一步。在分支合并到主干中,我们需要按照以下步骤进行: 1. 将分支中改动的代码全部提交。 2. 切换到trunk。 3. 右击项目->Team->合并,选择merge two different trees,然后输入...
2. 使用SVN命令(如`svn copy`)或客户端工具来复制`trunk`到新的分支路径。 3. 更新你的工作副本到新创建的分支,此时你就可以在这个分支上进行独立的开发了。 ### 合并分支 合并分支的步骤: 1. 选择要合并的分支...
SVN自动更新功能允许用户定期从服务器获取最新的项目代码,确保本地工作副本与远程仓库同步。这在多个人协作的团队中尤其重要,因为其他人可能随时在服务器上进行提交。脚本通过执行`svn update`命令实现这一功能,...
在企业环境中,确保代码和文档的安全性至关重要,因此实施SVN自动备份功能是必要的。本文将详细解释如何配置和使用SVN自动备份,以及如何利用Windows计划任务实现定期备份。 首先,我们需要理解SVN自动备份的基本...
拉分支(或称创建分支)是将主干(trunk)上的代码复制到一个新的分支(branch)中。在 SVN 中,分支是主干的一个独立副本,允许开发人员在不影响主线的情况下进行实验性更改。当在主干上创建 `new_trunk_main.txt` ...
1. **`svn checkout` (简写:`svn co`)**:从svn仓库中检出代码到本地工作副本,格式为`svn checkout URL [PATH]`。 2. **`svn update` (简写:`svn up`)**:更新本地工作副本到最新版本,格式为`svn update [PATH]`...