50

code.google.com でホストされているオープンソース アプリを持っています。クロスプラットフォーム (Linux / Windows / Mac) です。最初に TortoiseSVN を使用して WinXP マシンからコードをアップロードしましたが、Linux ビルドに使用される「構成」バッチ ファイルには「実行」ビットが設定されていないようです。

それらを必要とするファイルにこれらを設定する最も簡単な方法は何ですか? TortoiseSVN を使用する方が簡単だと思いますが、それが使用できない場合は、Linux マシンでコマンド ライン SVN を使用することもできます。

4

5 に答える 5

83

コマンドラインでこれを行う方法は次のとおりです。

for file in `find . -name configure`; do
  svn ps svn:executable yes ${file}
done

または、1つのファイル(configureここではファイル名)の場合:

svn ps svn:executable yes configure
于 2008-09-19T16:32:34.000 に答える
20

Tortoise SVNを使用すると、非常に簡単です。複数のファイルを選択し(検索結果からのものである可能性があるため、同じディレクトリにある必要はありません)、TortoiseSVNメニューで[プロパティ]を選択し、必要なプロパティを追加します(主に使用されるプロパティのドロップダウンリスト(この場合は「svn:executable」)と値(この場合は「*」)を設定します。変更されたファイルをコミットしてLinuxでチェックアウトすると、実行可能ビットが設定されます。

一度に複数のプロパティを設定する場合は、最初に1つのファイルにプロパティを正しく設定し、それらをファイルにエクスポートし、必要なすべてのファイルを選択して、[プロパティ]メニューを選択する方が安全な場合があります。以前に保存したプロパティをインポートします。

于 2008-09-19T16:38:56.420 に答える
7

Unix では {} を使用して resulset をアドレス指定します。

find . -type f -name "*.bat" -exec svn propset svn:executable yes '{}' \;

このプロパティが有効な引数として「はい」を必要とする理由を知っている人はいますか? はいの代わりに '' を使用した別の例も見つかりました...

于 2011-01-07T11:10:49.450 に答える
1

svn のインポート中に失われた実行権限を復元する方法:

svn のインポート中に使用した元のソースからパーミッションをコピーします (現在のディレクトリをバージョン 1 に):

find . -type f | xargs -I {} chmod --reference {} ../version1/{}

次に、次のシェル スクリプトを使用して、すべての実行可能ファイルに対して svn:executable を設定します。

for file in `find . -executable -type f`; do
  svn ps svn:executable yes ${file}
done
于 2014-11-25T14:01:39.123 に答える