私はプロパティで何が起こっているのか把握し、その問題を解決するのは、それらを無視するよりも傾きがちです。つまり、この回答の最後には、Linux上であれば、復帰プロセスを高速化する1つのライナーがあります。
この回答のために、1つのファイル(window.c
)にプロパティを設定し、別のファイル(window.h
)を変更しました。プロパティの使用をsvnを
svn status
M window.c
M window.h
主なコマンドは、次のとおりです。
svn propset answer 42 window.c
property 'answer' set on 'window.c'
あなたはおそらくこれを使用することを希望していない42を評価するために、ファイルwindow.c上propety「答え」を設定します。
svn proplist window.c
Properties on 'window.c':
svn:keywords
svn:eol-style
answer
ファイルのすべてのプロパティ(値なし)を一覧表示します。
svn propget answer window.c
42
特定のプロパティの値を取得します。
svn propedit answer window.c
Set new value for property 'answer' on 'window.c'
私のマシン上ではすべてのものがナノです。このプロパティを編集して、指定したファイルに設定します。
svn propdel answer window.c
property 'answer' deleted from 'window.c'.
指定されたプロパティを削除します(これはおそらく問題は解決しません)。
あなたはまた異なっているプロパティを見つけるためにsvn diff
を行うことができます。
svn diff window.c
Index: window.c
===================================================================
--- window.c (revision 35712)
+++ window.c (working copy)
Property changes on: window.c
___________________________________________________________________
Added: answer
## -0,0 +1 ##
+42
\ No newline at end of property
この基本的にはここでの唯一の変更はプロパティ「答えは」の値42(なし改行で、追加されているであることを述べています)。
だから私はsvn diff
で スタートを行うと、変更内容を見つけるだろう:
svn diff controllers/database/udfs/searchForNameContSrch.sql
svn diff controllers/main
が変更されたプロパティのためのGoogleを持って、あなたがそれを設定しているもののツールを把握することができるかどうかを確認それをオフにします。
svn propdelete
を使用してプロパティを破棄することはできますが、それは役に立たないと思います。それに失敗
- 迅速な復帰スクリプトそうでない場合
、Linuxを使用している場合、この1つのライナーは、プロパティの変更を持つファイルではなく、コンテンツの変更を元に戻します。
これは、重要ではない最初の更新をテストしてください。ある
svn status | grep "^ M" | sed "s/^.\{8\}//" | while read rv; do svn revert $rv; done
:
のsvnステータス
パイプをグレップと 'M'(そう、それは 'MM' を無視するで始まる行だけのためのフィルターを通して - 重要)。
sedでパイプして、最初の8文字(ファイル名の前にあるすべてのステータス列)を削除します。
パイプをループにして、指定されたファイル名を元に戻します。
ここではアクションである:
svn status
M window.c
M window.h
svn status | grep "^ M" | sed "s/^.\{8\}//" | while read rv; do svn revert $rv; done
Reverted 'window.c'
svn status
M window.h
これはおそらく、不正行為との答えであるには余りにも洗練され、しかし私はときどきviに必要なファイルをコピーして貼り付け、最初の文字列を削除してから、すべてのファイル名が同じ行になるまでshift-Jを押し続けてから、 "svn ci -mBlahBlah"をその行をシェルコマンドとして実行します。 –
:-)それは私がコミットしたくないファイルを元に戻すようなものです。彼らはコミットすべきではありません、とにかくプロパティが変更された理由はわかりません。 – Radek
Q1:Tortoiseを使ってそのような仕事をすることができます。チェックボックスで、コミットするファイルを選択します。 Q2:複数のファイルがある場合は、このツールを使用してクリーンアップすることができる同じツールで、Q1、Tortoiseがそのクリーンアップを行います。 –