URLに対するSubversionのプロップセットを使用する方法は?
-
27-10-2019 - |
質問
のような転覆プロパティを操作することは可能ですか svn:externals
URLのみを介して? (つまり、作業中のコピーを持っていません。)
ピンするスクリプトが欲しいのですが svn:externals
Subversion URLを与えられた特定の改訂には、これは不可能のようです。
$ svn propset foo bar https://example.com/svn/myproject/trunk
svn: Setting property on non-local target 'https://example.com/svn/myproject/trunk' needs a base revision
$ svn propset foo bar -r HEAD https://example.com/svn/myproject/trunk
svn: Try 'svn help' for more info
svn: Cannot specify revision for setting versioned property 'foo'
$ svn propset foo bar --revprop -r HEAD https://example.com/svn/myproject/trunk
svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svn: At least one property change failed; repository is unchanged
svn: Error setting property 'foo':
could not remove a property
(実際の改訂番号を使用する場合、同じ結果が得られます HEAD
同じように。)
解決
いいえ。ファイル上のプロパティを変更することは、ファイル自体を変更するようなものです。作業ディレクトリが必要です。作業コピーを必要とせずにコミットを変更するいくつかのSubversionコマンドがあります。 svn cp
, svn mkdir
, 、 と svn delete
. 。他のすべては、変更を加えるために作業ディレクトリが必要です。
ちなみに、変更を加えることができます リビジョン 作業コピーのないプロパティ。リビジョンプロパティは、コミットコメント(SVN:log)、コミッターのID(SVN:著者)、およびコミットの時間(SVN:日付)のようなものです。
他のヒント
はい、それはちょっとしたハックですが。 SVN PropeditはURLターゲットを変更できます。
svn propedit foo --editor-cmd "echo bar>" http://example.com/svn/myproject/trunk -m "Property changed"
使用できます svnmucc
次のようなURLのプロパティを非相互に設定するコマンド svn:externals
.
例:
$ svnmucc --root-url https://example.com/svn -m 'reference other/yap' \
propset svn:externals "^/otherproject/tag/xyz other
^/yetanother/tag/123 yap" myproject/trunk
ご了承ください svnmucc
他のコマンドもサポートしています propset
また、複数のコマンドを1回の呼び出しにチェーンすることができます(したがって、名前)。結果は、1つの変更セットにすぎません。
svnmucc
コマンドはSubversionソースパッケージの一部であり、通常、配布のパッケージマネージャーから利用できます。たとえば、Fedora 25にはに含まれています subversion-tools
パッケージ。 OpenCSWには、メインSubversionパッケージにも含まれています。
ウィレムの上に建設 優れた答え, 、ここにSVNを設定する方法を示す例があります auto-props
為に needs-lock
すべてのファイルに対して mime-type
URLを使用した特定の拡張機能の場合:
svn propedit svn:auto-props --editor-cmd "echo \"* = svn:needs-lock=*
*.os = svn:mime-type=application/octet-stream
*.osproj = svn:mime-type=application/octet-stream\" >" http://example.com/svn/myproject/trunk -m "Setting auto-props."