問題タブ [svnlook]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - Perlでsvnlookの出力を一致させるにはどうすればよいですか?
私はWindowsサーバーでSVNを実行しており、Perlスクリプトを使用していくつかのpre-commitフックを実装しています。TortoiseSVNから次のエラーメッセージが表示されます。
エラー!!ScriptError!! 行を解析できません:_U path / to / files / trunk
これはスクリプトです:
正規表現を成功しないようなものに置き換えてみました/_([AUD]).\s\s(.+)$/
-私も試し/.*([AUD]).\s\s(.+)$/
ました。
考え?提案?
svn - Unicode Ouptut を使用した SvnLook
Windows Vista では、VisualSvn Server 2.1.3 を介して Subversion 1.6.12 をセットアップすると、次の出力が得られます。
それ以外の
コマンドを使用して(管理モードのdosまたはpowershellコンソールで)
他のサブバージョン バイナリ ディストリビューション (silksvn) を試してみましたが、常に同じ問題が発生します。Windows で svnlook に Unicode または少なくとも現在の Windows エンコーディングで出力するように指示する方法は?
注:この質問は「svnlook changed」エンコーディングの複製ではないと思います:私はWindowsを使用しており、フックに関連する問題ではありません。
ありがとう...
svn - 「svnlook cat」は、コミット トランザクション中に適切にフォーマットされたテキストを強制的に出力できますか?
Subversion の pre-commit フックを作成する際にsvnlook
、
試行されたコミットで変更された適切にフォーマットされたファイルではなく、単一の連続した行で構成される戻り値になります。ソースのフォーマットはコンパイルにとって重要であるため、これは問題です。すべてが 1 行で終わってしまう理由は何か分かりますか? 何か不足していますか?
svn - SVNコマンドライン:svnlook history mypath、ファイルを開くことができません
このコマンドを使用して、コミットの履歴を表示します。
svnlook history -r 2 mypath
そして私はこれを手に入れます:
svnlook: Can't open file 'mypath/format': No such file or directory
「mypath」は正しいと思います。また、より深いディレクトリに移動してみました。絶対パスと相対パスを試してみました。-rオプションを指定して試してみましたが、使用しないと常に同じ結果が得られます。
svn - 「svnlookpropget」は機能しますか?
さて、以下を見てください:
svnlookコマンドを使用していますが、問題があるようです。1行目は、にプロパティの変更があることを示していますtrunk
。foo
2行目は、値が。で呼び出されたプロパティがあることを示していますbar
。svnlook proplist
私はこのコマンドを介してこれを行いました。さて、これまでのところとても良いです。
propget
3行目は、 onプロパティの結果を示していますfoo
。何も返しません。4行目で行ったように名前のつづりを間違えると、プロパティが見つからないことがわかります。
私の理解ではsvnlook propget
、プロパティの値を出力するのと同じように出力することを想定してsvn propget
います。実際には:
私が思うことを正確に行います。
私は何かが足りないのですか。私は何か間違ったことをしましたか。svnlook
または、コマンドに問題がありますか?
Subversionフックにはこれが必要なので、svn
代わりに使用することsvnlook
はできません。
php - PHPを介したsvnlookは1行を提供します
svnlook を呼び出す単純な php exec コマンドがあります。ターミナルからコマンドを実行すると、期待するすべての出力が得られます。以下に示すように実行すると、最後のアイテムのみが取得されます。
出力をバッファできますか? もしそうなら、どのように?そして、それは役に立ちますか?
svn - svnのsvnlook結果でのキリル文字のサポート
svnlookを使用してSVNから更新/追加/削除されたファイルのリストを取得しようとしています:
しかし、私はいくつかの奇妙なことをしました:
このファイル名はキリル文字で、Windows-1251エンコーディングであることがわかっています。このファイルは通常SVN自体に保存されているので、通常どおりコミットして更新できます。しかし、どうすればsvnlookから正しいファイル名を取得できますか?
ありがとう!
PS Ubuntu 11.04 x64
svn - バッチFOR/Fとファイル/パス名のスペースとトークンの使用法?
バッチファイルを使用して、SVNリポジトリで変更されたファイルのみを更新しています。これは私のバッチファイルの一部です:
dok version1.txtの代わりにdokしか取得できませんが、スペースが原因だと思います。スペースがある場合でも、ファイル名を取得するためにコードを変更するにはどうすればよいですか?それはトークンのせいですか、それとも名前をどこで切り取ったのですか?
svnlookの出力は次のようになります。
D Testprojekt / trunk / dok-Kopie(2).txt
D Testprojekt / trunk / dok-Kopie(3).txt
D Testprojekt / trunk / dok-Kopie(4).txt
したがって、tokens = 2を使用して、パス(Testprojekt / trunk / dok-Kopie(2).txt)のみを取得し、アクション(D =削除など)は取得していません。
ありがとう!
svn - pre-commit スクリプトでのブランチの再統合またはマージの検出
pre-commit スクリプト内で、? に起因するコミットを特定することは可能svn merge
ですか?
svnlook changed ...
変更されたファイルを表示しますが、マージと手動編集を区別しません。
merge
理想的には、標準とを区別したいと思いmerge --reintegrate
ます。
バックグラウンド:
プロジェクトに SVN の使用ポリシーを適用するために pre-commit フックを使用する可能性を探っています。
ポリシーの 1 つは、一部のディレクトリ ( など/trunk
) を直接変更してはならず、機能ブランチの再統合によってのみ変更する必要があると述べています。したがって、pre-commit スクリプトは、ブランチの再統合を除いて、これらのディレクトリに加えられたすべての変更を拒否します。
何か案は?
アップデート:
コマンドを調査しましたが、最も近いのは、ディレクトリsvnlook
のプロパティへの変更を検出して解析することです。svn:mergeinfo
このアプローチにはいくつかの欠点があります。
svnlook
プロパティの変更にフラグを立てることはできますが、どのプロパティが変更されたかはわかりません。proplist
(前のリビジョンとの差分が必要です)- の変更を調べることで
svn:mergeinfo
、実行されたことを検出できsvn merge
ます。ただし、コミットが純粋にマージの結果であるかどうかを判断する方法はありません。マージ後に手動で行った変更は検出されません。(関連記事:別のパス/リビジョンに対するトランザクション ツリーの差分)
svn - 事前コミットでのトランザクションのベースリビジョンの決定
トランザクションの前にファイルの内容に基づいていくつかのルールを適用したいpre-commitフックを書いています。したがって、トランザクションの開始時に、「U」、「UU」、または「D」とマークされたファイルの内容を、保留中の変更なしでsvnlookcatしたいと思います。提供されたトランザクション識別子(事前コミットの2番目の引数)を取得し、ダッシュとそれに続く文字を取り除き、「基本リビジョン」と見なしても安全ですか?この情報を入手するためのより良い方法はありますか?