0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SVNファイル削除でハマった時の対処法

0
Posted at

背景

ファイルをエディタやファインダーから直接削除した後、svn commitを実行してもコミットされない現象が発生しました。この問題に対してどのように対処したか、備忘録としてまとめます。

原因

この問題は、ファイルシステムから物理的にファイルを削除しただけで、SVNに削除を通知していないために発生します。SVNは管理下にあるファイルが存在しないことを認識していますが、「削除する」という操作として記録されていない状態です。
この際、svn statusを実行すると、削除したファイルに!(Missing)マークが付いているのが確認できます。

解決手順

1. 削除をSVNに登録

svn remove --force ファイル名

複数ファイルがある場合は一括処理が便利です:

svn status | grep '^!' | awk '{print $2}' | xargs svn remove --force

2. 状況確認

svn status

!マークがD(Delete)マークに変わっていることを確認します。

3. コミット実行

svn commit -m "Remove unnecessary files"

予防策

今後は直接ファイルを削除せず、以下のコマンドを使用することで問題を回避できます:

svn remove ファイル名
svn commit -m "Remove file"

この方法により、ファイルの物理削除とSVNへの通知が同時に行われ、スムーズにコミットできます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?