バージョン管理システムについて語るスレ10 (641レス)
上下前次1-新
225: 2014/03/11(火)08:57 AAS
svnの壁ってやつかね。その先を知らない人が
満足する。
226: 2014/03/11(火)09:02 AAS
gitはどちらかと言えば、開発者のための道具だからね。
管理者のための道具じゃない。
gitをバリバリ使っている人は、だいたい開発者。
(念のためプログラマだけじゃないよ。開発する人全員)
svnで満足しているのは、ただの管理者でしょ?
ソース貰って、その日付だけわかればいいような、そんな人。
だから日付バックアップでも成り立つ。
開発者とは違って貰ったものを修正なんかしないからね。
227: 2014/03/11(火)10:01 AAS
程度によるよ
多人数で開発して細かくdiffを取ってpatchを当てる続けるようなソースコードの管理する場合にはgitやmercurialの方が向いてる
そうじゃない場合はsubversionの方が有利な事もある
既出の部分チェックアウトやファイルロック
228(1): 2014/03/11(火)10:04 AAS
>>209
gitを理解出来ないプログラマーはたくさんいるよ
linuxのカーネル開発してるような優秀な人揃いのプロジェクトならいいけど、
そうじゃない低レベルなプロジェクトもたくさんあるのが現実
229(15): 2014/03/11(火)10:40 AAS
>>220
user = {dev1, dev2, co-dev1}
がいるときに、
/proj/src/app/
/proj/src/lib/
/proj/src/else
/proj/else
というディレクトリ構成で、
* dev1,dev2は全てのディレクトリ以下を参照できる
* co-dev1は/proj/src/lib以下を見ることができない。それ以外は全部参照できる
という設定をするとき、
dev-group = {dev1, dev2, co-dev1}
lib-dev-group = {dev1, dev2}
というグルーピングをし、
chgrp -R /proj dev-group
chgrp -R /proj/src/lib
chmod -R 770 /pro/src/lib
とすれば実現できるが、これをgitではどうやるかという話だと思うが。
もちろん、複数人で開発するのだから、サーバでの話。
230(1): 2014/03/11(火)10:42 AAS
>>229
訂正。
> chgrp -R /proj/src/lib
↓
chgrp -R /proj/src/lib lib-dev-group
231: 2014/03/11(火)11:01 AAS
>>228
gitすら理解できないってよほどアホか覚える気が全くないかだろう
そんな奴をプログラマーと呼べるのか?最低限持っているべき知識だろ
もう世界中で使われているから
分からない事があってもググれば大抵の事は解決するし
232: 2014/03/11(火)11:24 AAS
>>229-230
まあそう言うこと。
たぶんわかってるけど git が劣ってるなんて許せねーって言う奴とよくわからんけど煽ってやれ、っー奴が半々ぐらいかな (w
各マシンにリポジトリ全体を持つような仕組みなので、見せないを実現しようとしたらリポジトリの仕組みにかなり手を入れないとダメだろうし、OSS だとそう言う要求はあまり無いだろうから git がこの機能を持ってないのは当たり前とすら言えると思うんだけどね。
まあ当面 svn + git (svn) で行くわ。
233(2): 2014/03/11(火)12:18 AAS
>>229
>サーバーの OS 上でファイルシステムのパーミッションを設定するとよいでしょう。
なんだから
そこまでやったらgitでは何もやることないんじゃないの
234: 2014/03/11(火)12:34 AAS
>>233
ネタなのかマジで言ってるのかよくわからん (w
ひょっとしてベアリポジトリの存在を知らないのか?
235(1): 2014/03/11(火)12:37 AAS
freebsdの開発チームはがsubversionを採用したんだよな
理由はsubversionの方が合ってるからって
236: 2014/03/11(火)12:39 AAS
>>233
だから具体的にどうやるか書け
237(1): 2014/03/11(火)12:47 AAS
いやおれhg使いだし
サブモジュールのディレクトリにパーミッション設定して終わりじゃないのか
238: 2014/03/11(火)12:58 AAS
>>237
何いってんの?
239(1): 2014/03/11(火)13:03 AAS
煽るだけのは邪魔だからどっか行けよ
240: 2014/03/11(火)13:32 AAS
>>235
Linux の世話になんかならんぞ、っーのもあるんじゃね?
まあ便利ならなんでも取り込む Linux/git に対して、ポリシーに沿わないものは取り込まない FreeBSD/Subversion って感じかな。
241: 2014/03/11(火)13:36 AAS
いやおまえこそ
242: 2014/03/11(火)13:42 AAS
GPLを排除したいFreeBSDにしてみれば
メジャーなDVCSのGit、Hg、Bzrが軒並みGPLな現状じゃ
Apacheライセンスな非DVCSのSubversionを選ぶざるを得ないってとこか
243: 2014/03/11(火)13:46 AAS
>>239
良く分かってないのに適当な回答かまして場をかき乱す奴よりはまし。
244(9): 2014/03/11(火)13:58 AAS
>>229
gitでの話。
drwxrwx--x dev-group:dev-group /proj ← ここ以下をgitで管理
drwxrwx--x dev-group:dev-group /proj/.git ← gitデータディレクトリ
drwxrwx--x dev-group:dev-group /proj/src/app/
drwxrwx--- lib-dev-group:lib-dev-group /proj/src/lib/
drwxrwx--x dev-group:dev-group /proj/src/else
drwxrwx--x dev-group:dev-group /proj/else
dev-group = dev1, dev2, co-dev1
lib-dev-group = dev1, dev2
こうすればいい。お前が言ったことを分かりやすく図にしただけ。
(これだと新規ファイル作成時に問題があるがね。気づいてないでしょ?慣れてないことするからw)
gitは普通のディレクトリなのだから、同じようにやればいいと言ってる。
これが下記のgitの使い方の一つとして述べられてる「ファイルベールのリポジトリ」
この欠点はdev-groupはgitを使えるが、それ以外はgitを使えないということと
gitを使う時に多少考える必要が有ること、gitの本領を発揮できないということ。
だがgitを使いたくなった時は、ただのディレクトリではダメな作業が
できたということなので即刻ディレクトリをやめろという話になる。
4.1 Git サーバー - プロトコル
外部リンク:git-scm.com
利点
ファイルベースのリポジトリの利点は、シンプルであることと既存のファイルアクセス権や
ネットワークアクセスを流用できることです。チーム全員がアクセスできる共有ファイルシステムがすでに存在するのなら、
リポジトリを用意するのは非常に簡単です。ベアリポジトリのコピーをみんながアクセスできるどこかの場所に置き、
読み書き可能な権限を与えるという、ごく普通の共有ディレクトリ上での作業です。
245: 2014/03/11(火)14:07 AAS
linuxっていつまで経ってもaclベースのアクセス制御普及しないよな
246(1): 2014/03/11(火)14:08 AAS
>>244
> この欠点はdev-groupはgitを使えるが、それ以外はgitを使えないということと
どういうこと?co-dev1がgitを使えないんだったら意味ないじゃん
247(1): 2014/03/11(火)14:11 AAS
>>244
なんだローカルの話か。なら最初から
cd proj
git init
って言えば何を言いたかったのか全員がわかったのに。
ちなみに、お前以外は全員リモートサーバを想定してると思うよ。
248(1): 2014/03/11(火)14:16 AAS
>>244
俺gitの知識はほぼゼロなんだけど、それでco-dev1はgit clone/push/pullのどれも支障が無いのか?
249: 2014/03/11(火)14:17 AAS
>>246
> どういうこと?co-dev1がgitを使えないんだったら意味ないじゃん
dev-groupはgitつかえるよ?
git使いたいなら、最初からディレクトリは
ダメですねって話ですよね?
だ〜か〜ら、共有ディレクトリを使う方法(>>229)は
欠点があるって言ってるんだよ。
普通にgitを使えよ。
共有ディレクトで権限管理するのはやめなさい。
つまり、>>229のやり方をやめなさいってことだよ。
250(1): 2014/03/11(火)14:19 AAS
>248
> 俺gitの知識はほぼゼロなんだけど、それでco-dev1はgit clone/push/pullのどれも支障が無いのか?
共有ディレクトリを使った方法(>>229の方法)を使っている以上無理。
最初っから、共有ディレクトリを使った方法(>>229)は欠点だって言ってるの。
でもgitはただのディレクトリだから、ディレクトリを使った方法(>>229)でも
できるという話。git化することで何も失われていない。
251(1): 2014/03/11(火)14:20 AAS
>>247
全員がとかいってるけど、
実は「お前が」だよ。
お前一人がわからなかった。
勝手に他人もいっしょにするなよ。
252(5): 2014/03/11(火)14:32 AAS
>>250
え?>>144に対して、
>>213
> gitは普通のディレクトリを使うので、
> 一部のフォルダを特定の人/グループに見せないかいうのは
> ディレクトリと全く同じ設定をすればよい。
なんでしょ?
> 共有ディレクトリを使った方法(>>229の方法)を使っている以上無理。
ってどういうこと?
> でもgitはただのディレクトリだから、ディレクトリを使った方法(>>229)でも
> できるという話。
できるって何が?
> git化することで何も失われていない。
ちなみに、>>244のディレクトリ構成を実際に作って、co-dev1でgit cloneしてみたら、/proj/src/libも取得できちゃったんだけど。
俺はgitの知識がほぼゼロなんで、なにか間違ってるかもしれないけど。
253: 2014/03/11(火)14:38 AAS
>>251
お前一人が勘違いしている可能性は考慮しないのか
254(2): 252 2014/03/11(火)14:43 AAS
ちなみに、俺がやったこと。
/path/to/proj以下に>>244のディレクトリ構成を作って、
cd /path/to/proj
git init
git add *
git commit -a
su - co-dev1
cd ~/src
git clone /path/to/proj
これで、proj/src/lib以下が取得できてしまったんだが、これを取得できないようにするにはどうしたらいい?
上下前次1-新書関写板覧索設栞歴
あと 387 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.017s