08/07/18 23:58:59
>>19
> 実際には svn co / svn update 時に、読み取り専用で
> ファイルが取得されるだけで、手作業で読み取り専用をはずして
> 編集しちゃえば commit できちゃったのですが、そういうもの?
そう言うものです。
Subversion のロックは、編集時にロックを必要とするファイル(要するにマージできないファ
イル。例えばビットマップファイル等) を編集する時は、svn lock でロックを取得して、編
集が完了したら svn commit すると、自動的にロックが解除されると言うもの。
ただ、これだと俺みたいに物忘れの激しい奴はロックを忘れて編集を始めてしまうことがある。
編集の間に他人がロックしなければ問題なくコミットできるけど、他の人がロックしてしまう
とコミット時にエラーになって初めて気付くというお間抜けなことになって、泣く泣く自分の
やった編集をあきらめるか、ロックをかけた人をなき落とすなり脅すなりしてその人が実施し
た編集をあきらめてもらうしかなくなる。
そこで、svn:need-lock 属性をつけておくと、普通は読取専用になってるからアプリによって
は開いた時に「読取専用だよ~」とか言ってくれるので、そこでロックを取得することを思い
出すだろうと言う仕組み。(ロックを取得すると読み書き可能になる。)
アプリによっては、読取専用でも何も言わずに編集できてしまい、保存する時にはじめて読取
専用だよ~って言ってくる奴もあるから、残念ながら万能じゃないけど、Subversion にはファ
イルの編集を始めたことを知るすべがないので、現状のところではこのあたりが精一杯の対応。