首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVN: svn导入状态

SVN: svn导入状态
EN

Stack Overflow用户
提问于 2013-09-19 19:09:52
回答 1查看 83关注 0票数 1

在PHP脚本中,我在本地创建了文件夹和文件,希望将它们放到SVN中。我使用一个包含svn import PATH/TO/MY/FOLDERS/AND/FILES的.cmd文件,它可以正常工作。在svn导入成功之后,我想删除我刚刚在本地使用相同的.cmd-script放入SVN的文件夹。所以我必须这样说(伪代码)

if(svn import PATH/TO/FOLDERS == successful){delete PATH/TO/FOLDERS locally}

这样的事情有可能发生吗?我不太了解.cmd-scripting,所以如果我的问题很愚蠢,请原谅。

EN

回答 1

Stack Overflow用户

发布于 2013-09-19 20:40:48

SVN导入成功返回0,错误返回非零值。符合POSIX的外壳将能够解释这一点,这样您就可以编写类似于svn import PATH/TO/FOLDERS && rm -rf /PATH/TO/FOLDERS的代码。

PHP的system()函数接受第二个参数--返回值,它将在调用system()时设置:

代码语言:javascript
复制
$svncmd = 'svn import PATH/TO/FOLDERS'
system( $svncmd, $retval);
if( $retval != 0 ) {
    $rmcmd = 'rm -rf PATH/TO/FOLDERS'
    system( $rmcmd, $retval);
    if( $retval != 0 ) {
         echo '"' . $rmcmd . '" failed and returned '"' . $retval . '"';
    }
} else {
    echo '"' . $svncmd . '" failed and returned '"' . $retval . '"';
}

我认为我倾向于将对system()的调用和下面的错误消息包装在一个函数中,以使代码更简洁。

Perl有一个名为$!的特殊值,它包含由system()或其相关人员返回的任何错误消息的文本。我确信PHP也有类似的东西,但是我用了5秒钟的googling搜索没有找到任何东西。这是非常值得的;它将使您的错误消息更具可读性。

同样值得注意的是,使用system()会使您的代码本质上不可移植。使用PHP's SVN functions可能更好。

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

https://stackoverflow.com/questions/18893013

复制
相关文章

相似问题

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