Subversionの:どのように入ってくるの変化の違いを比較するには?


19

私は、着信変更を受け入れる前に、私の同僚が行った変更を確認したいと思います。

ステータスを取得することから始めます

svn st -u

...これにより、変更が入ってきていることがわかります

    *     9803   incomingChanges.html
M         9803   localChanges.html
M   *     9803   localAndIncoming.html

何が変わったのかわかります

svn diff localChanges.html

...しかし、どのように私はdiffをすることができますlocalAndIncoming.html変更されているかを示すために、それは私の作業コピーとは異なるのですか?


コマンドラインの質問に対する答えではありませんが、最終的に、作業コピーとが違うのがわかったら、リポジトリの変更を自分の変更とマージすることになるでしょう。いくつかのGUIを使用してこれを行う場合、GUIを使用して初期diffも行うのはどうですか?TortoiseSVNなどのツールは、このような比較を提供します。また、EclipseのようなIDEは、(マージするものが何もない場合でも-同僚が何をしているかを知るのに便利な)受信した変更のレビューを非常に簡単に行うことができ、自動マージを回避します。
アルジャン

1
TortoiseSVNを使用して受信した変更を確認するGUIの方法はありますか?
クリスチャン

また、incomingChanges.htmlもdiffしますか?
ラフィカッチャドゥリアン

回答:



2

FYI svn diffに保存されている無修正ファイルに基づいて差分与え.svnディレクトリを、ライブレポのバージョンに基づいていません。

実行svn updateしてsubversionを取得し、更新(および場合によってはマージ)を試行してからを実行できますが、それはsvn diff私が望むほどクリーンではありません。

最後svn diffに、レポだけでの差分をサポートします。例:

svn diff svn://svnserver/repo/localChanges.html -r REV_NO

デフォルトでは、HEADと渡されたリビジョンを比較します。



0

新しいバージョンを実際にダウンロードするまで、本当にできません。このような制限は、新しいタイプのソース管理が最近一般的になった大きな理由の1つでした。分散ソース管理と呼ばれます。
この新しいフォームを使用すると、独自のローカルリポジトリがあり、メインリポジトリから変更を取得して差分を実行できます。変更が気に入らない場合は、独自のリポジトリを元に戻してそこから移動できます。

http://mercurial.selenic.com/

ええ、製品を切り替えることは最適なソリューションではないことをお勧めしますが、それでもなおソリューションです。


0

新鮮なフォルダ内の別のチェックアウトを行います。

cd ..
svn checkout  /path/to/repo clean_working_copy

clean_working_copyを再利用する場合は、更新する前に忘れないでください

svn update clean_working_copy

次に、ファイルをclean_working_copyのファイルと比較します

diff your_working_copy/localAndIncoming.html clean_working_copy/localAndIncoming.html

または、好みの3-way diffを使用します(私の場合はkdiff3です)

kdiff3 --L1 Base --L2 theirs --L3 mine your_working_copy/.svn/text-base/localAndIncoming.html clean_working_copy/localAndIncoming.html your_working_copy/localAndIncoming.html

これは機能しますが、scmはより統合された方法を提供するはずです。
RDS

0

おもう

svn diff -r HEAD

ほとんどあなたが欲しいものを与えます。唯一のことは、+と-があなたが期待するものに対して反転していることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.