1

「svn log」を使ってsvnを使ってチェックインを見つけようとしましたが、どうやらsvn logは制限されているようです。ソース ツリーのルートから開始し、「svn log -l 10」を実行すると、リビジョン 958 ~ 949 のリビジョン情報が得られます。ただし、「svn log -r HEAD:900 -l 10」を実行すると、リビジョン 998 ~ 989 のリビジョン情報を取得します。なぜですか? 私には逆に思えます-「svn log -l 10」は最新の10を与えるはずですよね?これを機能させるために他のすべてのパラメーターが必要なのはなぜですか? 「svn log -r HEAD」を実行すると、ログ エントリが 1 つだけ取得されます。すべてのログ エントリを取得できるようにしたいので、結果を grep できます。もっと簡単な方法があるはずですか?

4

2 に答える 2

2

私はこれと同じことを経験しました。「svn log」の前に「svn up」を実行して解決しました。これからの私の理解では、svn はサーバーについて知っていることだけをリストし、コミットについては知りません (コミットをプッシュしただけで、キャッシュしませんでした)。

于 2012-05-23T19:38:50.427 に答える
0
~$ svn help log
log: Show the log messages for a set of revision(s) and/or file(s).
usage: 1. log [PATH]
       2. log URL[@REV] [PATH...]

  1. Print the log messages for a local PATH (default: '.').
     The default revision range is BASE:1.

したがって、設計上は から始まりBASEます。パスを使用する場合ではありません。 HEAD

  2. Print the log messages for the PATHs (default: '.') under URL.
     If specified, REV determines in which revision the URL is first
     looked up, and the default revision range is REV:1; otherwise,
     the URL is looked up in HEAD, and the default revision range is
     HEAD:1.

「svn log -r HEAD」を実行すると、ログ エントリが 1 つだけ取得されます。すべてのログ エントリを取得できるようにしたいので、結果を grep できます。

必ず、次のように制限しないでください。

 svn log HEAD:1
于 2012-05-23T19:57:23.860 に答える