まあ、これを行う良い方法はありません。ただし、ここに提案があります。
できることは、パブリック ディレクトリの外にあるサーバー上にベア リポジトリを作成することです。このリポジトリは、変更を SVN リポジトリにプッシュし、SVN リポジトリの門番のようになります。あなたのウェブサイトはすでに SVN リポジトリを実行しています。
$ cd; mkdir site_bare.git; cd site_bare.git
$ git --bare init
このベア リポジトリの post-commit フックでhttps://github.com/deanc/wordpress-plugin-git-svnのようなシェル スクリプトを使用できます。
#!/bin/sh
echo
echo "**** Pulling changes into the SVN repository [Hub's post-update hook]"
echo
cd $HOME/www || exit
unset GIT_DIR
# Change to SVN dir and commit changes
echo "Changing directory to SVN and committing to trunk"
cd $SVNPATH/trunk
svn commit --username=$SVNUSER -m "$COMMITMSG"
# Create a new tag and commit it :)
echo "Creating new SVN tag"
cd $SVNPATH
svn copy trunk/ tags/$NEWVERSION1
svn commit --username=$SVNUSER -m "Updating tag to $NEWVERSION1"
# Update the version number
echo "Updating version number for future executions"
cd $CURRENTDIR
echo $NEWVERSION1 > version.txt
exec git-update-server-info
これはhttps://github.com/deanc/wordpress-plugin-git-svn/blob/master/deploy.shから取得しましたが、git commit メッセージを要求する代わりに直接取得できます。
ローカル マシンで、ベア リポジトリをリモートとして追加し、変更をプッシュします。
git remote add bare <bare-repository-url>
これがどのように機能するかというと、いくつかのコードを記述してベア リポジトリにプッシュし、更新後のフックを使用して変更を SVN リポジトリにプッシュします。
変更をプッシュするには、上記のコードを変更する必要があります。さきほど参考にさせていただきました。