1

コミットされたファイルをsvnリポジトリから同じ名前の特定のフォルダに自動的にコピーしたいと思います。

たとえば、私はsvnリポジトリを持って/svn/project1おり、コミット後、すべてのファイルをに配置する必要があります/www/project1

単純なコミット後のフックスクリプトがありますが、必要なディレクトリの一部を取得する方法を理解できません(project1):

#!/bin/sh
PROJECTNAME=                    # how get it?
rm -rf /www/$PROJECTNAME
mkdir /www/$PROJECTNAME
/usr/bin/svn export --force file:///svn/$PROJECTNAME/trunk /www/$PROJECTNAME
4

2 に答える 2

3

Bashパラメーター拡張を使用できます。

PROJECTNAME=${PWD##*/}

親ディレクトリを取得するには、次の2つの手順が必要です。

PROJECTNAME=${PWD%/*}
PROJECTNAME=${PROJECTNAME##*/}
于 2012-07-04T01:35:21.767 に答える
1

これを試して:

echo $PWD | awk -vFS=/ '{printf "%s",$NF}'

私が思いついたすべてのテストケースでは、ディレクトリを除いて、何かが出力されます。/したがって、これはでは機能しません/。(しかし、それはとにかくやりたいことではありません。)

これがうまくいくと思われる場合は、スクリプトでこれを試してください。

PROJECTNAME=$(echo $PWD | awk -vFS=/ '{printf "%s",$NF}')
于 2012-07-04T01:26:28.290 に答える