私が使用しているファイルを少し変更して編集をコミットしようとしました。svnコミットに失敗しましたが、私の編集でrepoの古いリビジョンが変更されました
$ svn commit -m "comment"
Sending pom.xml
svn: E160042: Commit failed (details follow):
svn: E160042: File or directory 'pom.xml' is out of date; try updating
svn: E160024: resource out of date; try updating
AFAIK、今はレポに変更がありませんでしたか? 誰かが変更を加えたようですが、ファイルを編集する前に自分の作業コピーを更新するのを忘れていました。予想通り
$ svn update
Updating '.':
U another.unrelated.file
G pom.xml
Updated to revision 11943.
、私たちの変化は、(右?、私の作業コピーに)マージされましたので、私は状態を確認してください。
$ svn status
変更なし?どうして? pom.xmlのマージされた作業コピーは変更されたものとしてマークされていませんか? 私はsvn info
を実行して、何が起こっているのかを確認します。
$ svn info
Path: .
Working Copy Root Path: working/dir
URL: https://not.relevant
Repository Root: https://not.relevant
Repository UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Revision: 11943
Node Kind: directory
Schedule: normal
Last Changed Author: otherguy
Last Changed Rev: 11856
Last Changed Date: 2012-01-04 16:12:42 +0100 (Wed, 04 Jan 2012)
は1 によってotherguy 8日前に私の変更の代わりになる「最後に変更さ」ではないでしょうか?だから私は実際に何があるかを見るためにレポファイルをキャッチしています。
svn cat https://company.com/repo/path/to/pom.xml | less
そして、ファイルのマージバージョンが表示されます。 (私とotherguyの両方の変更に伴い)。
ここで何が起こったのですか? svnは、メタデータを更新することなく、変更したファイルの既存のリビジョンを変更しましたか?それも可能ですか?
otherguyは私と同じ変更を行ったので、私のコミットは決して行われませんでした。 –