デプロイしたバイナリに最新のSVNリビジョン番号のタグ付けを開始したいと思います。
ただし、SVNはファイルベースであり、ディレクトリ/プロジェクトベースではないため、最大のリビジョン番号を特定するには、すべてのディレクトリとサブディレクトリのファイルをスキャンする必要があります。
ルートでの使用svn info
は機能しません(サブディレクトリ内のファイルではなく、そのディレクトリのバージョンを報告するだけです):
svn
これを行うためのコマンドを使用するショートカットがあるかどうか疑問に思いました。それ以外の場合、誰かがネットワーク効率の良い簡単なスクリプトを提案できますか(リモートサーバーにまったくヒットしなかった場合は私が好むでしょう)?
また、代替アプローチの1つは、バージョンファイルを。で保持することであることも理解していますsvn:keywords
。これは機能しますが(他のプロジェクトで使用しました)、ファイルがダーティであることを確認し、避けられないマージの競合に対処することにうんざりしています。
回答ルートディレクトリsvn up
を呼び出す前に適切な処理を行わないと、問題が発生することがわかります。svn info
$ svn info
Path: .
...
Last Changed Author: fak
Last Changed Rev: 713
Last Changed Date: 2008-08-29 00:40:53 +0300 (Fri, 29 Aug 2008)
$ svn up
At revision 721.
$ svn info
Path: .
...
Revision: 721
Last Changed Author: reuben
Last Changed Rev: 721
Last Changed Date: 2008-08-31 22:55:22 +0300 (Sun, 31 Aug 2008)