我可以使用Trunk SVN直接从安装内的插件文件夹提交插件吗

时间:2011-04-03 作者:t31os

我设置了几个虚拟主机,其中三个在需要时通过SVN拉取文件(虽然实际上只有trunk文件夹needs 这一点),在其他版本中使用SVN可以轻松创建补丁,或者在我破解核心文件时轻松替换文件。

enter image description here

我的问题是,我是否可以直接从插件目录中签入插件?

以位于wp-content/plugins/post-ui-tabs 例如

enter image description here

我可以用那个文件夹来存放我的WordPress吗。org插件或我的插件文件夹是否需要模仿SVN的目录结构,例如。。

分支/标签/主干UPDATE:

谢谢大家的反馈!所有这些都有助于理解本地和远程目录结构。

我已经在回购中安装了插件,请参见此处
Post UI Tabs

对我的问题的直接回答是肯定的,我可以直接从我的插件文件夹进行提交,我只是有一个典型的本地结构wp-content/plugins/myplugin 这只是http://svn.wp-plugins.org/myplugin/trunk. 我直接提交到trunk,然后当我想要推送新版本时,我将分支到一个标记上(直接在Tortoise中这样做),并更新自述。txt稳定标记以引用新标记,即操作创建远程http://svn.wp-plugins.org/myplugin/tag/VER 我的本地工作副本仍保留在主干上(以后我会在博客上进行更多的练习)。

比我想的容易多了!。。。谢谢大家的建议。。所有有价值的信息,安迪,我觉得你的答案帮助最大,所以我给你接受,其他人我仍然非常感谢你的帮助,不幸的是我只能接受一个答案。。。但还是要谢谢你。

4 个回复
最合适的回答,由SO网友:Andy 整理而成

我对主干、分支或标记运行WordPress签出。这样,我可以轻松切换WordPress版本:

svn sw http://svn.automattic.com/wordpress/trunk
svn sw http://svn.automattic.com/wordpress/tags/3.1
在中wp-content/plugins 我的每个插件都有一个主干签出:

cd wp-content/plugins
svn co http://plugins.svn.wordpress.org/stats/trunk/ stats
我在stats插件上工作(更新自述文件中的变更日志),然后直接从那里提交:

emacs stats.php readme.txt
svn di stats.php readme.txt
svn ci stats.php readme.txt -m "stats: fixed issue with SSL"
当需要推出新版本时,我会从trunk复制到新标签:

svn cp http://plugins.svn.wordpress.org/stats/trunk/ http://plugins.svn.wordpress.org/stats/tags/4.2.1/ -m "stats: tag 4.2.1"
最后,我在自述文件中添加了stable标记,并将其提交给trunk。

emacs readme.txt
svn di readme.txt
svn ci readme.txt -m "stats: bump stable tag to 4.2.1"
所有这些都是在Linux或Mac上完成的。在我以前作为Windows用户的生活中,我会将SSH(PuTTY)放到Linux机箱中,或者(万不得已)虚拟化Linux。

SO网友:Rarst

免责声明-我也是SVN的初学者。

这可能吗?

应该是。我正在使用类似的设置,只是从官方存储库中签出了WP。

我在找外景吗?

没有。外部是存储库之间的链接。WP插件库在打包下载时会忽略它们(因此它们对它毫无用处)。据我所知,您不需要在多个存储库中使用插件。

我可以在SVN\'ed文件夹中拥有插件repo吗?

文件夹是单独“SVN”的。每个文件夹都有自己的SVN元信息,子文件夹没有义务属于一个树根SVN。只是要注意,以便将新文件添加到存储库中,它们应该是这样的。

或者我的插件文件夹需要模仿SVN的目录结构吗,例如。。

没有。您只需将文件夹提交到trunk,然后在有新版本时将trunk标记/分支到标记版本。当然,如果您不需要在本地计算机上保留旧版本的插件,就可以这样做。

我希望这是一个阅读手册的简单案例,但SVN似乎更适合非windows用户,我正在努力寻找任何不清楚的相关信息。

我最近问了这个问题Any guides on using WP SVN with IDE clients? 从答案和翻阅中,我发现最好的手动类型是乌龟附带的文档。它是针对Windows的,也正是针对那些不太熟悉命令行SVN命令的人。

SO网友:Roman

首先,我也是SVN的初学者。工作时我很开心;)

我不能完全肯定我是否正确理解了你的问题。您已经签出了WordPress主干,在这个工作副本中,您想从WordPress插件目录签出插件吗?

嗯,我不知道这是否可行,但你可以把你的wp-config.phpwp-content WordPress目录之外的目录,如Otto在his article.

例如,文档根目录:/var/www/

site1/
     wp-config.php
     wp-content/
         pluginA/ (svn-external to WordPress plugin repo)
         pluginB/ (svn-external to WordPress plugin repo)
         pluginC/ (local copy)
     wp-trunk/ (svn-external to WordPress trunk repo)
     wp-31/ (svn-external to WordPress branches repo)
通过这种方式,您可以使用svn externals签出多个版本的WordPress和所有需要的插件。这个洞site1 也可以存储在您自己的site1 svn回购,以便您的好友只需从您的svn服务器签出此回购。

SO网友:scribu

我的问题是,我是否可以直接从插件目录中签入插件?

“签入”是指在wp上更新插件。org(svn提交)或从wp下载插件。组织(svn签出)?

wp上的插件。组织确实需要传统trunk branches tags 结构

如果要在wp core的svn签出中对插件进行svn签出,可以只签出trunk文件夹:

svn checkout http://plugins.svn.wordpress.org/your-plugin-name/trunk/ wp-content/plugins/your-plugin-name/

结束