- Git 8
961 :デフォルトの名無しさん[sage]:2014/04/12(土) 13:49:00.36 ID:EipzA34R - >>958
ロックしなくて問題ない。 作業がかぶっていなければ、修正内容がかぶることはない。 かぶったらコンフリクトを解消すればいいだけ。コンフリクトを解消するのは、小さな作業。 (コンフリクトを解消した、つまり修正後のテスト等はロックがあっても結局やるべきことだから違いはない) たとえロックしていたとしてもコンフリクトは発生する。 バイナリファイルにおいてのコンフリクト解消とはどちらかを取るだけ それはロックしなくてもできること。 > 該当のファイルが複数のチケットから参照されてるとかのケースもあるよね? ソースコードが複数のチケットから参照されていても、内容がかぶらなければマージすればいいだけ。 複数のチケットで、たとえば画像を赤くしろ、青くしろなんてのがあったら 作業前にどちらのチケットをやるかを決めるべきこと。 ロックがあったとしても、画像を赤くしてから、青くすれば、結局赤くした修正はなくなる。 だからこれはチケットで解決するべき問題。 複数のチケットから参照されてるなんて、具体的でないケースを言うからわからなくなる。 複数のチケットで、同じものに対する修正があるとき、それをどうするかはチケットで解決するべき問題だってわかるはずだ。
|
- Git 8
962 :デフォルトの名無しさん[sage]:2014/04/12(土) 13:54:07.45 ID:EipzA34R - 考えれば考えるほど、ロックの意味がなくなってきたな。
AとBを同時に修正して、AをマージしてからBをマージするか Aを修正してマージしてから、Bを修正してマージするかの違いしかないじゃないか。 この場合コンフリクトはどちらでも起こりうるし、 単に修正作業が直列化したに過ぎない。 (マージだけを見ればどちらも直列化している)
|
- Git 8
964 :デフォルトの名無しさん[sage]:2014/04/12(土) 14:05:42.24 ID:EipzA34R - > どっちかの編集の労力を捨てろって言ってるの?
その為にチケット管理しろって言ってるの。 どのファイルを修正するかなんて 作業前にわかるだろ。
|
- Git 8
968 :デフォルトの名無しさん[sage]:2014/04/12(土) 14:10:25.33 ID:EipzA34R - > だからそのケースで、ロックしてるっ言う情報はどこに記録するんだ?
要らない。 チケットベースで作業管理していて、作業内容が違うから、 内容はかぶらないのですんなりマージできる。 まれにマージできない場合だけコンフリクト解消するだけでOK それよりも問題なのは、マージできない場合=ロックする必要がある時に 本当にロックしてしまうと、並列で作業できるはずのことが 並列で作業できなくなってしまう。 それは開発の遅れを引き起こす。 ロックしないから並列で開発できる VS ロックするから並列で開発できない こういいう話。 > 上半分と下半分の両方が修正されるというケースは思い付かないのか。 上半分を青くして、下半分を赤くする修正の二つが終わった時、 本当に、上半分を青くしてといった人の意図したとおりなっているかはわからない やっぱり修正を始める前に、チケットで解決しておくべき問題だったな。
|
- Git 8
969 :デフォルトの名無しさん[sage]:2014/04/12(土) 14:11:50.26 ID:EipzA34R - >>966
> あと、複数のチケットから参照されるケースについて、ロック情報をどこに書くんだい? についても、書いてね。 書かなくていいというか、書いたらダメ。 書いたら並列で開発できなくなる。 "一人で開発しているから" 並列で開発することは出来ないからどうでもいいが、 "複数人で開発しているなら" 並列で開発できなくしてはいけない。 並列で開発できなくなったら待ちが発生する。
|