首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定提交到的svn-repository中的路径

如何确定提交到的svn-repository中的路径
EN

Stack Overflow用户
提问于 2015-08-07 15:31:36
回答 1查看 425关注 0票数 1

对于我的windows服务器上的提交后钩子脚本,我想确定进入存储库的最高路径是什么,提交是在哪个路径上开始的。

因此,如果我有一个基于存储库路径product\branch\somebranch的工作副本,且已更改的文件和文件夹的工作副本完成了提交,我如何在提交后脚本中将其追溯到product\branch\somebranch

优选地,我正在寻找一种不依赖于我的存储库结构的方法,以避免必须显式地编码出提交到主干和分支之间的差异。

EN

回答 1

Stack Overflow用户

发布于 2015-08-07 17:54:42

post-commit挂钩接收两个参数:本地磁盘存储库的完整路径和提交的修订号。

假设您的主机运行在unix机器上,您可以将这些参数与提交后脚本中的'svnlook‘一起使用,以查找存储库中的路径。这将为您提供存储库中更改的完整路径。

代码语言:javascript
复制
#!/bin/sh
REPOS="$1"
REV="$2"
svnlook changed -r$REV "$REPOS"

svnlook输出如下所示:

代码语言:javascript
复制
A   product/branches/somebranch/Makefile
U   product/branches/somebranch/main.c

从那里,您可以通过cut多次提取最高路径管道,以剥离修改后的标志并解析路径,例如

代码语言:javascript
复制
svnlook changed -r$REV "$REPOS" | cut -c5- | cut -d/ -f1-3

这一部分真的取决于你的repo布局,你可以采取很多方法,但这应该是你的入门。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31872007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档