2010-09-17 68 views
1

我目前正在编写一个CGI脚本,存储在建立在远程机器上的颠覆树中。在Subversion树上有很多其他相关文件,但只有一些CGI脚本。我目前使用TRAMP编辑脚本,然后在准备测试时(包括在浏览器中打开CGI链接),必须手动将cp转换为cgi-bin目录。Emacs:用于部署和测试CGI脚本的简单命令

我该如何最好地自动化这个过程?我一半都在考虑一个可以被Emacs启动的小Makefile。我也在考虑一个Emacs宏,因为Emacs在本地运行,它可能实际上在推送文件后为我打开一个新的Firefox标签。

回答

0

对于开发,您应该直接在cgi-bin目录中编辑您的cgi脚本。保持你的脚本打开你的Firefox,然后做C-r重新加载页面。

+0

我如何保持cgi-bin目录与Subversion同步?我在svn树中有一堆非cgi文件,所以check-out在cgi-bin中非常难看。另一个选择是将文件复制回svn树..基本上我现在有同样的问题(编辑/复制/部署)。 – User1 2010-09-23 21:02:30

1

我使用execute-buffer-script来执行位于emacs中tramp连接另一端的脚本。这不适用于cgi脚本,因为它们可能需要浏览器/网络服务器组合提供的额外信息。

你可以将你的svn控制的cgi-bin软链接到web服务器期望的位置,或者只是简单地链接每个单独的文件。

cd /path/to/webservers/cgi-bin 
ln -s /path/to/svn/controlled/cgi-bin/individual-file.ext individual-file.ext 

然后将您的tramp连接指向文件或链接并开始修改。当你觉得你有什么可行的东西时,重新加载浏览器,冲洗并重复。随着大多数CGI编程(包括jsp),这提供了一个非常快速和互动的开发过程。