2017-06-23 52 views
0

私は、SVN履歴を使ってデプロイメントスクリプトで使用されるファイルリストを作成するbashスクリプトを持っています。今日私はマイナーなバグを見つけましたが、修正したいと思います。しかし、SVNは役に立ちません。ここで削除されたファイル/フォルダのsvn情報を取得

はシナリオです:

  1. は1をコミット - フォルダやファイル
    • /トランク/フォルダ/ファイル1
    • /トランク/フォルダ/ファイル2
  2. は2をコミット - フォルダ全体とすべてのファイルを削除しました。
    • /トランク/フォルダ私はすでに削除されたファイルを削除していたファイルのリストを構築していますが、この場合には削除されたファイルは、実際にフォルダである

。短いストーリー、削除されたsvnノードのタイプを判別して、適切に処理できるようにする必要があります。

SVNはあなたにこの情報を伝えることができinfoコマンド提供:

svn info TARGET 

をしかし、これは削除されたファイルで動作するようには思えません。私が削除されたフォルダの情報を実行しようとする場合は、上記の私の例では、私はエラーを取得する:

svn info trunk/folder 

svn: warning: W155010: The node 'trunk/folder' was not found.

svn: E200009: Could not display info for all targets because some targets don't exist

私はそれが削除された時にコミットからリビジョン番号を渡すと、私は同じエラーを取得します:

​​

取得するには、とにかくあります:私は組み合わせのいずれかの多くをしようとした場合

svn info -r2 trunk/folder 

は、私は同じエラーを取得します削除されたフォルダに関するこの情報?

FYI:2015年11月20日、午後7時25分09秒

EDITをコンパイル のsvn、バージョン1.7.14(r1542130):これは問題の単純化した説明です。私は、7000件のコミットを含むアクティブなリポジトリで作業しています。特定の問題は、複数の非連続リビジョンに分散させることができます。私はsvnのバージョンをアップグレードすることができません。

答えて

1

私は正確にあなたの目標とタスクが何であるかわからないし、手動でファイルリストを構築するために持っている理由 - Subversionはあなたが--xmlオプションでも実行することができますsvn listを提供します。リポジトリに直接アクセスできる場合は、svnlook treeまたはsvnlook changedを試すこともできます。

ところで、お客様のクライアントを更新してください。 SVN 1.7.xは非常に古いです。現在のバージョンは1.9.xであるため、アップグレードを計画する必要があります。

+0

私はリポジトリに直接アクセスできますが、作業を行うスクリプトを使用している人はしません。だからsvnそれを見てください。私は少し深いsvnのリストに見ていきます。ありがとう。 –

関連する問題