2010-09-17 35 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),這提供了一個非常快速和互動的開發過程。