バージョン管理システムについて語るスレ10at TECH
バージョン管理システムについて語るスレ10 - 暇つぶし2ch2:デフォルトの名無しさん
14/02/23 18:19:58.71 .net
●関連スレ
CVS 1.3 [UNIX板]
スレリンク(unix板)
CVS導入スレ~ Rev.3 [プログラム板]
スレリンク(tech板)
subversion バージョン管理【サブバージョン】 [Linux板]
スレリンク(linux板)
Subversion r14 [プログラム板]
スレリンク(tech板)
Git 8
スレリンク(tech板)
【分散型バージョン管理】 Mercurial 2【hg】
スレリンク(tech板)
【bzr】Bazaarでバージョン管理 Rev 4
スレリンク(tech板)

3:デフォルトの名無しさん
14/02/23 18:20:47.21 .net
●関連サイト
Apache Subversion
URLリンク(subversion.apache.org)
Git
URLリンク(git-scm.com)
Bazaar
URLリンク(bazaar.canonical.com)
Mercurial
URLリンク(mercurial.selenic.com)
Darcs
URLリンク(www.darcs.net)
GNU arch
URLリンク(www.gnu.org)
monotone
URLリンク(www.monotone.ca)

4:デフォルトの名無しさん
14/02/23 18:22:15.09 .net
●チュートリアル
Git入門
URLリンク(www8.atwiki.jp)
git チュートリアル (バージョン 1.5.1 以降用)
URLリンク(www8.atwiki.jp)
Pro Git
URLリンク(git-scm.com)
5分でわかるBazaar - Bazaar v2.6.0dev2 documentation
URLリンク(doc.bazaar.canonical.com)
Mercurial の使い方のチュートリアル
URLリンク(mercurial.selenic.com)

5:デフォルトの名無しさん
14/02/23 18:23:14.75 .net
以上テンプレ
消滅してるとことか削除させてもらった

6:デフォルトの名無しさん
14/02/23 18:54:18.97 .net
インターネットアーカイブに残ってたので一応
●関連サイト
CVS
URLリンク(web.archive.org)
●チュートリアル
Subversionによるバージョン管理(日本語訳)
URLリンク(web.archive.org)

7:デフォルトの名無しさん
14/02/24 15:42:18.04 .net
おつ
少なくともどれかがないとコード書けない体になったわ

8:デフォルトの名無しさん
14/02/24 22:08:41.96 .net
>>1

9:デフォルトの名無しさん
14/02/25 19:06:56.33 .net


10:デフォルトの名無しさん
14/02/25 23:10:01.95 .net
セーブがわりにくだらんコミットすんじゃないと俺だけローカルリポジトリになったし

11:デフォルトの名無しさん
14/02/26 11:40:24.24 .net
今の職場は、コミット時にはコミットレビューなるものを行わないとコミットできない。
さすがにやり過ぎではないかと。

12:デフォルトの名無しさん
14/02/26 13:43:47.94 .net
commitは好きにやればいいだろ
そのままpush済んなって話であって

13:デフォルトの名無しさん
14/02/26 14:01:13.54 .net
git脳

14:デフォルトの名無しさん
14/02/26 19:28:02.16 .net
VCSごとにコミットやブランチの意味が異なるとかヤメテー

15:デフォルトの名無しさん
14/02/26 19:36:52.07 .net
コミットやブランチはそんなに混乱してないだろ
コミットの場合は何処にコミットするかって話なだけだし

問題はチェックアウトだ

16:デフォルトの名無しさん
14/02/26 22:00:00.42 .net
コミットは集中型と分散型で意味が違うだけで、それぞれの中では一緒だよね
ブランチはそれなりに違うと思う

17:デフォルトの名無しさん
14/02/27 01:47:00.68 .net
svnとgitとhgに限れば、コミットは同じような概念だな
ブランチはsvnの場合、異質
チェックアウトはsvnは部分チェックアウト出来るのがメリット大きい

18:デフォルトの名無しさん
14/02/27 13:28:12.01 .net
今でもファイル名に日本語使ってるような文書ファイルなんかは一応 bzr で管理してる。
hg が unicode サポートすれば不要なんだが。

19:デフォルトの名無しさん
14/02/27 23:18:28.02 .net
コミットってビルド出来るならしていいんだろ?

20:デフォルトの名無しさん
14/02/27 23:22:11.74 .net
スクリプト言語とかだとろくにテストもしないでコミットしとる場合が多い

21:デフォルトの名無しさん
14/02/27 23:38:04.66 .net
ビルドできない状態のを大量にコミットしてました
すんません

22:デフォルトの名無しさん
14/02/28 00:17:07.64 .net
Mercurial でのプルリクエストをサポートしました
URLリンク(sourceforge.jp)


キター!!

23:デフォルトの名無しさん
14/03/02 00:53:25.99 .net
gitにはサブモジュールっていう別のgitリポジトリを参照することできるけど
バイナリ管理にはSVNがいいっていうんなら
gitのサブモジュールみたいな機能で、テキストはgitのような分散で、バイナリはSVNという複合なリポジトリとか作れたりしないん?

24:デフォルトの名無しさん
14/03/02 01:07:43.33 .net
バイナリ管理にSVNがいいなんて誰も言ってないよ。
テキストデータでないものはバージョン管理は無理

っていうか、バージョンの意味が違うんだよ。
gitなどのバージョン管理システムっていうのは
ソースコードの機能の違いをバージョンと評してこれを管理するもの

バイナリファイルはデータの違い。バージョンではなく
入れ替え可能なデータ。画像の違いなんてものは違う
データというだけでバージョンというものは当てはまらない。

25:デフォルトの名無しさん
14/03/02 01:16:49.50 .net
そんな俺定義のバージョン管理語られても

前スレの後半でバイナリ管理の話もあったのに

26:デフォルトの名無しさん
14/03/02 01:21:34.48 .net
そういや今は過去スレ見放題なんだっけ?

27:デフォルトの名無しさん
14/03/02 01:36:08.82 .net
バイナリなんてファイル管理しておけば
バージョン管理する必要なんてないでしょ。

28:デフォルトの名無しさん
14/03/02 01:47:58.53 .net
じゃあテキストは何でバージョン管理するの?

バイナリのバージョン管理の必要や需要はあるけど
ツールが無いってのが現状じゃないの

29:デフォルトの名無しさん
14/03/02 02:16:30.05 .net
officeファイルのバージョン管理なら、大きな企業だとシェアポイント使ってる

30:デフォルトの名無しさん
14/03/02 02:23:28.86 .net
適当な差分をとれさえすればいいんだろ。
例えば.xlsxならzip圧縮されたxmlなんだからテキストとして差分をとることも可能だろうし、
画像にしても画素単位で差分をとれるだろうし。
問題は、そこまでする手間に見合うかじゃないの?

31:デフォルトの名無しさん
14/03/02 02:45:36.92 .net
それは見当違い

32:デフォルトの名無しさん
14/03/02 02:48:39.78 .net
それとはどこよ

33:デフォルトの名無しさん
14/03/02 02:55:07.97 .net
適当な差分という意味では
多くのGUIアプリケーションがUndo/Redoを実装しているんだから
そのスタック(とは限らないけど)を
シリアライズ/デシリアライズする標準フォーマットがあればいいと思うんだけど
まぁそういうのを作って採用するインセンティブが無いよね

34:デフォルトの名無しさん
14/03/02 02:59:45.93 .net
画像はマージしないからな。

ファイル単体で管理すればいいなら
わざわざバージョン管理ツールを使う必要はない。
バックアップさえあれば十分だ。

35:デフォルトの名無しさん
14/03/02 03:04:54.01 .net
xmlファイルで差分を取るとかマージするとか、現実に行うとどうなるか考えてみよう
sharepointはシステム化の進んだ企業では非常にポピュラーな存在
ソースコードの管理には不向きだから、この板では知名度が低いというだけ

36:デフォルトの名無しさん
14/03/02 03:12:38.24 .net
>>34
画像の場合
複数ユーザの同時変更によるコンフリクトの修正は
現実的でないかもしれんが
複数のバージョンのパーツを融合させるというのは
ありふれた工程だと思う

てか>>34の理屈が通るなら
何でソースコードのバージョン管理してんの?

37:デフォルトの名無しさん
14/03/02 03:42:56.25 .net
>>36
画像は成果物をソースコードに混ぜ込んでるだけだよ。

画像にもソースというものはあって、それはオリジナル画像のこと。
オリジナル画像は解像度が高かったりイラストレーター形式だったりする。

ウェブ用にはそのオリジナルの画像を変換したものを使う。
バージョン管理するのは、ウェブ用に生成したファイル。

オリジナル画像の方はバックアップはとるが
バージョン管理はする必要がない。

というかオリジナル画像とかサイズが数MBになるものが大量にあったりして
そんなものをソースコードに混ぜ込んだりしたら、チェックアウトするたびに
ファイルコピーで時間がかかって、やってられないんだわ。

38:デフォルトの名無しさん
14/03/02 03:46:28.39 .net
画像に関して言えば
バージョン管理するのは、「どの画像を使うか」という
情報であって、画像そのもののバージョン管理じゃないんだわ。

39:デフォルトの名無しさん
14/03/02 03:53:12.45 .net
何勝手にウェブ用とかソースコードと一緒に管理する話に限定してるの?
対象を限定して議論を深めるならともかく
そんなわかり切った話されても

ム板だからって視野狭すぎでは?

40:デフォルトの名無しさん
14/03/02 03:54:15.08 .net
>>39
じゃあ違う場合の話しろよ。

文句ばかり言って終わりか。
お前のレスに価値がない。

41:デフォルトの名無しさん
14/03/02 03:55:48.55 .net
バイナリっていうのは人間が
直接編集できるものじゃないんだから
何かのツールの生成物になるんだよ。
バージョン管理に生成物を含めないのは言うまでもないよね。

42:デフォルトの名無しさん
14/03/02 04:01:29.34 .net
数年後にビルド環境を整えられる自信がない時は、生成物入れちゃってもいいと思うわ。

43:デフォルトの名無しさん
14/03/02 04:14:39.84 .net
IDE使ってたら色んなもの勝手に生成してくれちゃうと思うんだけど
そういうのはバージョン管理しちゃいけないの?

リポジトリに含めないってのは
バージョン管理が不要という意味とは少し違うんじゃないか?

それに人間が直接編集することを想定してない
テキストデータだっていくらでもあるし
ツールの一種であるテキストエディタと同程度に
人間が編集できるバイナリデータだって
いくらでもあると思うんだが

44:デフォルトの名無しさん
14/03/02 04:19:33.84 .net
> 人間が直接編集する

さっきからミナサンが使ってるこれが理解不能

45:デフォルトの名無しさん
14/03/02 04:25:17.35 .net
「直接」ってのは感覚的な違いでしかないと思うけどね
だから本質じゃないでしょってのが>>43の後半の話だけど

46:デフォルトの名無しさん
14/03/02 05:20:55.92 .net
>>43
> IDE使ってたら色んなもの勝手に生成してくれちゃうと思うんだけど
> そういうのはバージョン管理しちゃいけないの?

はい、いけません。

(どうせ、どのファイルがなんのファイルかわからないから
なにも考えずに全部登録してるだけだろ。それが他人の迷惑になるかもしれないのに、
そんなこと言わずに、管理しちゃいけないの?とか聞いてることからわかる)

勝手に生成するものを含めたらIDEが勝手に書き換えて
編集中ってなるだろうが、それをコミットして他人が
チェックアウトしたらどうなる。めちゃくちゃだ。

47:デフォルトの名無しさん
14/03/02 08:40:46.29 .net
svn だとディレクトリごとにチェックアウトしたり、アクセス制限かけたりできるけど、git だと無理そうだね
毎回リポジトリ内を全て落としていそう

Android Studio 用に作られたワークスペースを、Eclipse で使う場合って、
OS で シンボリックリンク使えよってこと?

48:デフォルトの名無しさん
14/03/02 10:36:35.98 .net
>>42
> 生成物入れちゃってもいいと思うわ。

品証とかお客さんへ出すときなどはやってる。
VS だと環境整えても全く同じバイナリは生成できないから。

49:デフォルトの名無しさん
14/03/02 10:54:12.10 .net
特定のバージョンのライブラリが必要な場合は入れることある。

何でもかんでも入れるのはよくないけど、ソースコード以外はダメだってのも極端すぎ。
そういうのはプロジェクトやその会社の運用次第だから。

ソースはバージョン管理システムで管理してるのに、ワードやエクセルなんかのファイルは
ファイル名に日付つけたりoldディレクトリ作ったりとかするくらいなら、それらも突っ込んどけ
よって思う。
バイナリファイルはdiffとったりしないけど、プロジェクトの成果物の一元管理という点から
同じ所に入れてほしいね。

50:デフォルトの名無しさん
14/03/02 11:02:48.47 .net
>>49
そういうのはプロジェクト管理
ソフトを使うんだよ。

なんでもソースコード扱いにするな。

51:デフォルトの名無しさん
14/03/02 12:31:52.46 .net
>>46
含めたらプロジェクト構造が保てない自動生成ファイルもあるんだけどなあ…
結局、IDEの生成物に関しては
「分からないものをどうするか」なんて考え自体が変で
各自動生成ファイルがどういう役割か、程度の理解は要るよ。

52:デフォルトの名無しさん
14/03/02 12:48:30.70 .net
Javaで、mavenやivyリポジトリから自動ダウンロードさせたjarファイルって、
どうしてる?

バージョン管理に入れとかないと、数年後には手に入らなくなってるのも
有るんじゃないかと思うんだけど。

53:デフォルトの名無しさん
14/03/02 12:59:42.27 .net
本来はソースコード、画像、ドキュメントはそれぞれ別のアプローチでバージョン管理すべきだが、どうしても一つのリポジトリに全部入れがちになる
その点、svnは日本語ファイル名でトラブルが少ない、圧縮効率がいい、部分チェックアウト出来る、WindowsのGUIクライアントの出来がいいって事で、比較的そういう使い方に向いてる

54:デフォルトの名無しさん
14/03/02 13:28:31.19 .net
>>50
どんなプロジェクト管理ソフトがおすすめ?
wordやexcelの管理するソフトを探してた
出来れば外出先で編集して、帰ってきてから簡単にマージしたい

55:デフォルトの名無しさん
14/03/02 20:23:22.02 .net
>>54
訳あってなに使っているかは言えないけど、
条件としては、メールに頼らない、
WordやExcelを使わない。
そういうのがオススメだね。

理由はメールだと関係者宛のメールが面倒くさい。
プロジェクトに入っているならば
その人全員でいいはずなのにいちいち個人宛てとか
CCとか面倒くさい作業になる。
話が時系列でおえない。新しく参加した人が知ることが出来ない。
まあデメリットだらけ。

WordやExcelを使わないのは、今誰の行動待ちとか
今どういう状態にあるのか全く管理できないから。
プロジェクト管理において機能不足で使えない。

56:デフォルトの名無しさん
14/03/02 20:24:47.90 .net
>>52
数年後に手に入れられることが確実なら、リポジトリに入れないわけでしょ?
なら答え出てる。リポジトリにいれないが正解。

数年後に手に入れる方法なら別にリポジトリを使わなくてもできるから。

57:デフォルトの名無しさん
14/03/02 20:25:42.29 .net
??

58:デフォルトの名無しさん
14/03/02 20:31:33.30 .net
>>55
wordやexcelはバージョン仮管理ソフトではなく、プロジェクト管理ソフトを利用するべき。
と、>>50 で主張されていたので
どんなソフト使ってるか?聞いたんだけど・・・・・
wordやexcelを使わないって・・・・・
全く話がかみ合わない
俺の理解が悪いのか?

59:デフォルトの名無しさん
14/03/02 20:39:35.28 .net
>>58
> wordやexcelの管理するソフトを探してた
って書いてあるからだろ。

そもそもそれらを使うなって話。

60:デフォルトの名無しさん
14/03/02 20:41:44.57 .net
そもそもプロジェクトの進捗管理と
プロジェクトの成果物は別のものなんだよね。
これらを一緒に管理しようとすると
めちゃくちゃになる。

61:デフォルトの名無しさん
14/03/02 20:43:25.05 .net
プロジェクト管理ってVisual Studioみたいな感じかな

62:デフォルトの名無しさん
14/03/02 20:44:45.88 .net
違う

マイルストーンとかそういう話。

63:デフォルトの名無しさん
14/03/02 20:47:55.12 .net
>>59
なら50はなんなの?

64:デフォルトの名無しさん
14/03/02 20:51:44.86 .net
>>50はなんなのって
プロジェント管理には(WordやExcelではなく)
プロジェクト管理ソフトを使えって話だろ

65:デフォルトの名無しさん
14/03/02 20:54:57.70 .net
テキストエディタを使って絵をかけないように、
(正確に言えばSVGとかでかけるがものすごく効率が悪い)
WordやExcelやメールではプロジェクト管理ができないってことが
出発点なんだよね。

できないからなにを使うのがいいかという話。

66:デフォルトの名無しさん
14/03/02 21:08:20.84 .net
>>64
49の日本語を理解しろよ
プロジェクト管理をやるとは書いてない
成果物としてのWordやExcelの管理をどうするか
という話題にしか読めないが
どう読んだらプロジェクト管理をExcelでやるなんて読めるんだ?

67:デフォルトの名無しさん
14/03/02 21:18:08.44 .net
プロジェクト管理≠バージョン管理

68:デフォルトの名無しさん
14/03/02 21:22:57.47 .net
プロジェクトの指すものが違う奴居るよな
ossプロジェクトみたいなのとvsとかvcでのプロジェクトと

>>55
MLとそのアーカイブ使えばいいだけだな
個人宛にるのは内緒話とかあるからなんともいえん

69:デフォルトの名無しさん
14/03/02 21:27:09.58 .net
プロジェクト管理といえば、redmain

70:デフォルトの名無しさん
14/03/02 21:29:25.86 .net
なんで、WordやExcelが成果物になるんだ?
プログラマーの成果物がWordやExcelだなんていう話は
聞いたことがないぞ。事務員が紛れこんでるのか?

71:デフォルトの名無しさん
14/03/02 21:44:15.42 .net
バイナリのリソースがソースコードと密接に絡んでるようなものを作ってる立場だと、
「ソースコードのバージョン管理システムにバイナリを入れる奴が悪い。入れるな」って意見は正しいけど原理主義的だと思うんだよな。
そういうものを管理するのにGitをだましだまし使ってるところが問題なんだろうけど、これといった決定打がないんだよなあ。

72:デフォルトの名無しさん
14/03/02 21:48:28.76 .net
>>69
名前も覚えてないのに定番みたいに紹介する男の人って

73:デフォルトの名無しさん
14/03/02 22:29:39.32 .net
おいおい
設計書も作らない素人が紛れてるのか

74:デフォルトの名無しさん
14/03/02 22:41:52.06 .net
横から初心者(というか、アマチュアな…でしょうか)質問で、すみません
プロジェクト管理ソフトって定番とかあるんでしょうか

75:デフォルトの名無しさん
14/03/02 22:47:20.44 .net
Microsoft Project。

76:デフォルトの名無しさん
14/03/02 22:54:44.63 .net
>>75
それガントチャートアプリだろ
プロジェクト管理じゃない

77:デフォルトの名無しさん
14/03/02 23:03:46.27 .net
Comparison of project management software - Wikipedia, the free encyclopedia
URLリンク(en.wikipedia.org)

定番ってどれだろうねえ

78:デフォルトの名無しさん
14/03/02 23:05:09.47 .net
プロジェクトマネジメントだろ

79:デフォルトの名無しさん
14/03/02 23:05:24.75 .net
Project management software - Wikipedia, the free encyclopedia
URLリンク(en.wikipedia.org)
> Basecamp, Podio, Project.net, Asana, Sharepoint, Framebench, Brightpod etc

ここらがメジャーどこかな

80:デフォルトの名無しさん
14/03/02 23:13:11.77 .net
>>76
れっきとしたプロジェクト管理である。
何か勘違いしてらっしゃるようで。

81:デフォルトの名無しさん
14/03/02 23:14:36.97 .net
>>74
Excel

82:デフォルトの名無しさん
14/03/03 00:49:59.39 .net
>>70
まともな会社なら設計仕様とかテスト仕様書とかって、当然プログラマーの成果物でしょ?
まさか、ソースコードだけ作って仕様書作らないとか・・・?
でもプロジェクト管理ソフトの話をしてるし、プロジェクト管理ソフト使うレベルの会社が
そんな専門学校生の同人ゲーム並の開発体制とってるなんてことはないだろうし・・・。

83:デフォルトの名無しさん
14/03/03 07:48:45.74 .net
>>76
ガントチャートしか書いたこと無いのかよ (w

84:デフォルトの名無しさん
14/03/03 07:51:27.27 .net
>>70
>事務員が紛れこんでるのか?

働いたことことない無職が紛れ込んでいたというオチ (w

85:74
14/03/03 08:26:59.77 .net
ありがとうございました
プロの方は色々やってるんだなあ…

86:デフォルトの名無しさん
14/03/03 08:55:57.71 .net
excelだのwordだので仕様書を書いたりする人は、oss界隈には多分いない
と思うよ(自分の知る限り)。だから、gitにしろmercurialにしろ、ossな
バージョン管理システムは、そういったプロの人達には使いにくいかも
しれないねぇ。気の毒に…
素人くさいossなんかやめて、プロはプロ向けの道具を使えばいい。

87:デフォルトの名無しさん
14/03/03 11:30:10.72 .net
>>53
>本来はソースコード、画像、ドキュメントはそれぞれ別のアプローチでバージョン管理すべきだが、どうしても一つのリポジトリに全部入れがちになる

でも画像とソースコードを同じシステムで管理しないと、別々のリビジョンになって意味なくなってしまわない?
別々に管理するとこのリソースでこのコードの時は正常に動作していたがとか、
ベータ版のときのソースはいつのでリソースはどれだっけみたいなことって結構あると思うが

もちろん開発してる環境によって色々あるとは思うけど、本来はソースコード、画像、ドキュメントは同一システムで管理すべきだが、
今はツールやチェックアウトにかかる時間などの制約で、やむなく別々に管理しないといけないことがあるってのが現状じゃないかと思う。

88:デフォルトの名無しさん
14/03/03 14:55:57.93 .net
画像を例えばsvnで管理するなら先にsvnに画像コミットしておいて
本体側ではsvnのrevだけ管理したらいい

89:デフォルトの名無しさん
14/03/03 15:14:49.09 .net
>>88
そんな事するぐらいなら
Mercurialのlargefile使う

90:デフォルトの名無しさん
14/03/03 19:21:28.28 .net
画像入れない派の人は、1KBにも満たないようなアイコンファイルとかも入れないわけ?

91:デフォルトの名無しさん
14/03/03 20:00:03.17 .net
svnはロック出来るのも利点だな
バイナリはマージ出来ない以上、コンフリクトは確実に回避する必要がある

92:デフォルトの名無しさん
14/03/04 10:32:25.72 .net
帳票のテンプレートならわかるけど
設計書にExcelってワロタ

93:デフォルトの名無しさん
14/03/04 12:44:55.04 .net
>>92
> 設計書にExcelってワロタ

普通にあるだろ。
無職なのか?

94:デフォルトの名無しさん
14/03/04 14:29:52.36 .net
出たよバカ自慢

95:デフォルトの名無しさん
14/03/04 14:34:59.06 .net
あるかないかは問題にしてないだろ

96:デフォルトの名無しさん
14/03/04 22:12:44.96 .net
プロジェクト管理ソフトに続いて、今度は設計書作成ソフトの話題ですか。
で、実際何を使ってるよ?
うちはエクセル。

97:デフォルトの名無しさん
14/03/04 23:30:30.62 .net
>>96
他のなにを検討した結果エクセルになった?
それともエクセルにしたのは使えるのがそれだけだから?

98:デフォルトの名無しさん
14/03/04 23:31:58.91 .net
プロジェクト管理に使ってるエクセルのファイルをバージョン管理してるって話?

99:デフォルトの名無しさん
14/03/05 00:41:08.63 .net
周りでは、Excelで設計書もスケジュール管理もやる人が多い
これは会社が変わっても一緒
おそらく、だれでもそれなりに使えるから。
じゃないかな
効率は・・・・あまり良いとは言えないが、他に良いソフトもない

で、バージョン管理は使ってないから
・設計書.xls
・設計書_最新.xls
・設計書_20140304.xls
・設計書_修正前.xls
があふれている

これも、バージョン管理に入れれば良いかも知れないが
ファイルサーバで行うのが一番使いやすいので困っている

バージョン管理ソフトでなんか良い方法はないかな

100:デフォルトの名無しさん
14/03/05 01:10:05.72 .net
設計書Markup Language を作って、それで書いたものをバージョン管理に追加
実際に見るときは、TeX とかPDFとかに変換

101:デフォルトの名無しさん
14/03/05 01:13:04.44 .net
javadoc形式でコメント書くのもだが
wordでのhtml編集みたいにマークアップの記述なしで装飾でけたらいいのに

102:デフォルトの名無しさん
14/03/05 01:22:54.83 .net
>>99
gitでもhgでも良いと思うぞ
因みにうちは共有物は全てSVNに突っ込んでる
俺個人のファイルは全てhgに突っ込んでる

103:デフォルトの名無しさん
14/03/05 03:21:04.47 .net
>>99
sparkle share でドキュメント投げてもらう。
んでそれをリモートブランチとして取り込む。

104:デフォルトの名無しさん
14/03/05 07:58:53.95 .net
日本語ファイル名が化ける時点で話にならない

105:デフォルトの名無しさん
14/03/06 06:49:43.95 .net
一昨年にfixされてる

106:デフォルトの名無しさん
14/03/06 19:17:26.24 .net
実際、化けるよね
Macも混在してるとさらに

107:デフォルトの名無しさん
14/03/07 00:57:23.74 .net
最近職場でPerforce使いはじめたけど
ローカルでファイル消したらrevertできなくて嵌った
gitが気楽でええわ
バイナリデータ扱うとカスみたいに遅いsvnは放置で

108:デフォルトの名無しさん
14/03/07 03:16:56.38 .net
gitってバイナリデータ扱うのに一番向いてないだろう

109:デフォルトの名無しさん
14/03/07 09:22:10.23 .net
>>108
容量は食うけど、とにかくsvnより早いから使ってたんだが
バイナリ向けにいいのあったら教えてほしい

110:デフォルトの名無しさん
14/03/07 10:45:20.66 .net
>>107
svn がバイナリデータで他より遅い?
svn がアホみたいに遅くなるのはファイル数が増えたときだろう。

111:デフォルトの名無しさん
14/03/07 10:52:13.21 .net
>>107
大きなバイナリ扱うのが上手いのはそれこそPerforceだとおもうけど
ギガバイト超えてくるとかなり差があると思う

112:デフォルトの名無しさん
14/03/07 19:24:07.76 .net
そういうサイズのバイナリを管理する必要があるプロジェクトってどんなものなんだ

113:デフォルトの名無しさん
14/03/07 20:45:58.04 .net
バージョン管理システムにバイナリファイルを管理させるのは役割チガイナノ叶う。正式版リリース時点の成果物一式(ソース、実行ファイル、ドキュメント、テスト仕様書)を完成図書として管理したいなと思って。
構成管理の仕組みの範疇かも。

114:デフォルトの名無しさん
14/03/07 22:19:16.42 .net
>>107
Mercurial

115:デフォルトの名無しさん
14/03/08 08:42:20.94 .net
ゲーム作ってる所はsubversionが多いらしいね

116:デフォルトの名無しさん
14/03/08 08:57:37.64 .net
Gitって別のものへの移し替えが生じたときに面倒な事になりそう。
最近でいうとCVSからSVNへの移し替えとか。
まあGitがその地位を失うことが無ければそんな面倒な自体も無いだろうけどw

117:デフォルトの名無しさん
14/03/08 09:47:56.38 .net
え?

118:デフォルトの名無しさん
14/03/08 12:43:58.69 .net
svnとcvsしかつこうとらんけど、何使ってもバージョン管理ができりゃええのよ
前との差分、逆櫓、これな

119:デフォルトの名無しさん
14/03/08 13:44:51.56 .net
バージョン管理が出来るのは最低条件だろ。
今はどれだけ開発がし易いかが重要になってる。

120:デフォルトの名無しさん
14/03/08 15:47:59.41 .net
おまいらレスありがとうな
>>110
すまん語弊がありました
バイナリデータたくさんな環境なの(´・ω・`)

>>111
やっぱりPerforceなのかな…
ライセンス料の問題で気軽に導入できないのが辛いとこなんだよね
去年のCEDECでPixarが使ってると聞いて入れてみたら便利ではあった
でもオープンソースでなんとかしたい、Tortoise的環境がほしいってのがあるんだ

>>112
>>115がお察しの通りコンシューマのゲーム開発なんだ
アセット100GB越えがザラだから分割してgitリポジトリ作ってる
急ぎの仕事で悩んでるので助言はありがたい
gitがベストだとも思ってないよ

>>114
試してみる

121:デフォルトの名無しさん
14/03/08 16:02:27.74 .net
ageちまったスマソorz

122:デフォルトの名無しさん
14/03/09 02:41:21.23 .net
>>119
だったら開発がしやすいどんな機能があるのかないのか、に絞って話さないとな
性能はさておき、まずはできるかどうかでしょ

お前がそれについて書いてるかどうかは知らんけど

123:デフォルトの名無しさん
14/03/09 13:33:51.72 .net
現在プログラム板のID制導入の投票を実施中です
よろしくお願いします

プログラム板 強制ID制導入に関する投票スレ
スレリンク(vote板)

124:デフォルトの名無しさん
14/03/09 15:58:10.80 .net
>>122
ブランチの作成や切り替えが一瞬(長くても数秒レベル)で終わる。
特定のコミットだけを取ってこれる。
歴史を書き直せる。
bisect

最低限この機能は必要。
あと性能も重要。開発の快適さに直結するから。

125:デフォルトの名無しさん
14/03/09 16:18:40.18 .net
>>124
これまた見事な git 脳

126:デフォルトの名無しさん
14/03/09 16:24:44.21 .net
>>125
git関係ないよ。

まずブランチの切り替え、速いほうがいいだろ?当たり前すぎる話。
特定のコミットを取ってこれるというのは、
そりゃ複数の機能を一人・多人数で開発していれば
その必要あるでしょ。作った順に必ずしもリリースするわけじゃ無いんだから。
歴史を書き直すのも、コミットした後でミスを見つけたとか普通にあるので
必須の機能。bisectはバグを見つけるのに便利。

gitの機能を言ってるんじゃないんだよ。
開発に必要な機能の話をしている。

127:デフォルトの名無しさん
14/03/09 16:37:53.34 .net
井の中の蛙乙

128:デフォルトの名無しさん
14/03/09 16:40:32.29 .net
だからブランチという用語は慎重に使えと……

129:デフォルトの名無しさん
14/03/09 23:02:24.87 .net
>>127
じゃあ、何か言えよw

130:デフォルトの名無しさん
14/03/09 23:17:13.95 .net
bisect始めて知った
いつも手動で二分探索してたわ…

131:デフォルトの名無しさん
14/03/09 23:28:28.71 .net
>>129
例えばセキュリティ、ファイルロック、部分チェックアウトとか git が弱いところ書いてないだろ

132:デフォルトの名無しさん
14/03/09 23:33:39.91 .net
gitとは関係なしに
バージョン管理システムにおけるセキュリティの問題って何?

133:デフォルトの名無しさん
14/03/09 23:49:30.33 .net
>>132
フォルダ毎にアクセス制限かけたりとかかな
外注さんとやってると、ここは見せたくないとかあるから

134:デフォルトの名無しさん
14/03/10 00:07:57.53 .net
>>133
そういう需要があるのは理解できるけど
フォルダ毎のアクセス制限を管理するのと
最初からリポジトリとかフォルダより上位のモジュールで分けて管理するのと
どっちが合理的かというと微妙な気が……

セキュアだけどまともに運用できるかという点で
SELinuxのそれと似た印象を受ける

135:デフォルトの名無しさん
14/03/10 03:18:40.78 .net
>>131
> 例えばセキュリティ、ファイルロック、部分チェックアウトとか git が弱いところ書いてないだろ

それらの機能を具体的に。
どういう時に使うの?

136:デフォルトの名無しさん
14/03/10 03:20:06.95 .net
特定のディレクトリでプロジェクトが閉じてるのに、なんでその親ディレクトリがリポジトリになってんの。
VCSの機能不足より、むしろ管理者の機能不全を疑ってしまう。

137:デフォルトの名無しさん
14/03/10 03:23:05.75 .net
>>133
見せたくないのなら、渡さなければいいんじゃないの?

たとえば、ライブラリはソースコードではなく
コンパイルしてオブジェクトファイルとして渡せばいいでしょう?

コンパイルできない言語であれば、それはその言語の問題だけど。
それならそれでリポジトリには含めないでおいて、
動かす必要があるのなら、クライアントからアクセス出来ない
サーバー領域に置いておけばいい。もちろんそっちは別管理。

ようはソース非公開ライブラリと同じやり方だよ。

138:デフォルトの名無しさん
14/03/10 03:24:16.69 .net
クライアントに見せてはいけないものは
設定ファイルのパスワードレベルであれば、
それは元からリポジトリに含めてはいけない情報だしなぁ。

139:デフォルトの名無しさん
14/03/10 06:08:27.66 .net
>>134
> どっちが合理的かというと微妙な気が……

状況次第でしょ?
リポジトリ分ければいいじゃんとか言ってる奴いるけど、プロジェクトの一部が社外には出せないと言う状況で、全部を社内で開発してる時と外注さんに任せる時でリポジトリの構成変えるの?

140:デフォルトの名無しさん
14/03/10 06:24:12.14 .net
>>139
えとさ、どういうディレクトリ構成なのさ?
それ言ってくれんとわからん。

なんか、話を聞いていると、一つのディレクトリのあちこちに、
社内に公開できる部分、出来ない部分があってごちゃごちゃ
混ざってるように思えるんだけど?

もしそうだとしたら、それ人為的ミスで間違って
ファイルわたしてしまう可能性があるから修正した方がいいよ。

簡略化するとこういう感じ
root
├メインプロジェクト(自社開発)
└外注さんに任せるライブラリ

もしくは

root
├メインプロジェクト(外注さんと共同開発)
└自社専用ライブラリ

ライブラリ部分はgitで言えばsubmoduleという機能を使えばいい。
submoduleは外部のリポジトリを自分のリポジトリに埋め込む機能。
もちろん別々のリポジトリとして扱える。

submoduleはルート直下にしか置けない。
メインプロジェクト以下にライブラリを置かなければいけないことはよくある話で、
そういう場合はシンボリックリンクを使ってメインプロジェクト配下に見せる。

141:140
14/03/10 06:36:10.29 .net
なかなかいいサンプルが見つからないが、submoduleを使うとこういう感じになる。
URLリンク(github.com) (この人は俺とは無関係)

util @ 75d064d ってなってる所がサブモジュールで
クリックするとわかるように「外部のリポジトリ@コミット番号」に
紐付いている。

このutilディレクトリの中身は、この人から見れば
リンク先のファイルがそのまま有るように見える。

この人達が知り合いかどうかは知らないが、
ソースコード上はこうやって無関係のリポジトリを
取り込むことができている。

これと同じ仕組みを使えばいいだけだよ。

142:デフォルトの名無しさん
14/03/10 07:51:24.77 .net
>>140
> もしそうだとしたら、それ人為的ミスで間違ってファイルわたしてしまう可能性があるから

そのためのセキュリティなんだが...、git 脳には伝わらんか。

143:デフォルトの名無しさん
14/03/10 08:38:35.22 .net
>>142
お前、セキュリティ単語いってるだけじゃん。
具体的に何をしているのかいえって。

俺のセキュリティならなんの問題もない(笑)

144:デフォルトの名無しさん
14/03/10 10:17:47.96 .net
>>143
プロジェクト無いの一部のフォルダを特定の人/グループに見せないとか、更新禁止にするだけだよ?
理解できない?
派遣の外注さんに応援頼むんだけと、社外秘のソースとかとかお客さんとの契約でここは関係者以外には見せちゃダメとか、色々あるんだわ。
お前んとこでそんな状況になったこと無いから問題なしとか言うならいちいちでしゃばってくんなよ。

145:デフォルトの名無しさん
14/03/10 10:33:11.63 .net
>>144
いや、だから見せないならば、渡さなければいいじゃん
リポジトリを分けてサブモジュールで管理すればいい。
更新禁止は普通にメインリポジトリへのマージを制限すればいいだけ。

特定の人、グループの管理をするという発想は当然あって、
もちろん用意されている。gitで言えば、Git-サーバー-というのが
そういうことをしてくれる。

あんたの言ってることは、みな想定の範囲内の
すでに解決済みの話だよ。

146:デフォルトの名無しさん
14/03/10 10:34:24.39 .net
>>144
理解できてないんじゃなくて、
少なくともgitの世界では解決済みの話だって言ってるんだよ。
それを理解できてないのはあんたのほうでは?

147:デフォルトの名無しさん
14/03/10 10:55:31.51 .net
ま、Linuxのカーネル開発する人たちにはファイルロックも部分チェックアウトも不要な機能なんだろう

148:デフォルトの名無しさん
14/03/10 10:56:10.55 .net
>>145-146
○○すれば大丈夫とか言うなら、そりゃそうだとしか言えんわな...
プロジェクトの途中でリポジトリ分ければいいじゃんとか、正気かよ? とは思うが、git 脳だと当たり前なんだろうな (w

149:デフォルトの名無しさん
14/03/10 11:10:14.60 .net
>>148
お前、何も反論してないって自分で気づいてる?
「俺は違うと思う」と言ってるだけ。

150:デフォルトの名無しさん
14/03/10 11:15:34.13 .net
>>147
ロックの話をするならば、
楽観的ロックの悲観的ロック違いを知っているか?
これはどちらも「ロック」だ。

gitでは悲観的ロックではなく、楽観的ロックを
採用しているというだけのこと。
つまりコミットする時にチェックをする。

このメリットは、修正対象が小さいならば(マージできるならば)
ロックを掛けないほうが効率がいいから。

部分チェックアウトがなぜ必要になるのかは簡単で
ロック(悲観的ロック)があるからこその話。
つまりロックを掛けた時に他の人が修正できないという問題があると
認めているようなもの。gitでは全部チェックアウトしても何も問題起きない。

特定のリポジトリの権限管理についてはgitサーバーで使うとさっきも書いた。

151:デフォルトの名無しさん
14/03/10 11:17:54.85 .net
技術力の差によってある種の壁ができてるんだと思う。
技術力が低い場合、もっと便利なものがあるのにそれを使えないで、
分かりやすく言えば、メールでファイルをやりとりするみたいなことしか出来ない。
普通に権限管理すればいいのに、許可されたファイルを渡して修正してもらうみたいな
無駄なワークフローをしている。

技術力が低いから、くだらない作業をしている。
そしてそれが最高の方法だと勘違いして、
もっといい方法を提示しても話を聞こうともしない。

152:デフォルトの名無しさん
14/03/10 11:30:04.99 .net
結局、「日付のフォルダでいいじゃん」って事か

153:デフォルトの名無しさん
14/03/10 11:38:45.89 .net
まさか、gitに日付のフォルダで対抗してたの?
さすがに日付のフォルダじゃ使えなさすぎでしょw

154:デフォルトの名無しさん
14/03/10 11:49:36.89 .net
一体どういう管理方法をしてるんだろうな。
gitの批判をする前に、具体的にどういった
やりとりをしているのか書いてほしいね。

まずは、ディレクトリ構造と
それをどうやってアクセス制限をかけているのかを

155:デフォルトの名無しさん
14/03/10 11:53:19.17 .net
こんなんだろ?w

最新フォルダ
最新フォルダのコピー
○日のバックアップフォルダ
○日のバックアップフォルダ

○○さん、○○日納品分
○○さん、○○日納品分

156:デフォルトの名無しさん
14/03/10 11:54:40.35 .net
たとえばCVSの日時指定チェックアウトでもbisectとか不可能じゃない。

だけど不可能じゃないからといって、なんでもかんでも人力でやるのは人力の無駄だわな。
省力化できることは省力化しなきゃ。

157:デフォルトの名無しさん
14/03/10 12:24:33.44 .net
しかし、オープンソースの世界では、リポジトリにロックかける必要なんてないよな、普通。
必要ない機能は実装しないのが当然だとは思わないの?ossの外の人達がossの成果物を使う
のは勝手にどうぞ、としかいいようがないが、それで機能が足りないだの技術力がどうのと
文句いわれても、別にオープンソースの側は何とも思わないよねー。
だって必要ない機能なんだもん。

158:デフォルトの名無しさん
14/03/10 12:24:35.99 .net
エクセルとかのバイナリファイルを編集する場合、ロックがないと致命的に扱いづらい

159:デフォルトの名無しさん
14/03/10 12:31:16.96 .net
オープンソース界隈の人たちは、エクセルとか使わない、で終了なんだが。

160:デフォルトの名無しさん
14/03/10 12:40:31.63 .net
営業やディレクターはgitなんか使わないでok

161:デフォルトの名無しさん
14/03/10 12:42:00.21 .net
RCSの経験で「俺たちにはいらねーわ」って結論が出てるわけだもんな。

162:デフォルトの名無しさん
14/03/10 12:42:55.26 .net
そんなにロック書けたいなら、共有ディレクトリをそのままgit管理したら?
gitだと普通のディレクトリを1コマンドでgitリポジトリできちゃう
別に他の場所を用意する必要もない。
今まで使っていたディレクトリがそのままバージョン管理できる。

もちろんこの使い方は通常のgitよりも柔軟性に欠ける。
だが通常のディレクトリよりも機能は上だ。

163:デフォルトの名無しさん
14/03/10 12:43:29.46 .net
gitってなんでもできるんだなー。

164:デフォルトの名無しさん
14/03/10 12:53:18.85 .net
>>149
反論?
>>124 からの流れで別に反論なんてしてないが?
git でやりづらいこともあるでしょ? って言ってるだけ。
別に git はそんなことを想定して作ってないだろうから当たり前なんだが、バージョン管理システムの機能の話してるのに git がー、git でわー、とか俺にはそんな必要ないからとか言われてもしょうがないでしょ?
素直に、そんな機能は無いって言えばいいだけだと思うよ。

165:デフォルトの名無しさん
14/03/10 12:53:59.78 .net
>>162
それやるなら、さらに--separate-git-dirを使うといいかも。
.gitディレクトリを別の所に作成できる。

つまりは、ディレクトリはほぼそのままで
(.gitディレクトリが書かれた.gitファイルができるだけ)
gitの管理下における。

166:デフォルトの名無しさん
14/03/10 12:54:57.53 .net
>164
> 素直に、そんな機能は無いって言えばいいだけだと思うよ。

なんの機能の話してるの?

その機能をさっさといってよねw

167:デフォルトの名無しさん
14/03/10 12:55:32.05 .net
今までの話でgitで出来ない機能なんて
一つも出てないなー

168:デフォルトの名無しさん
14/03/10 13:16:33.50 .net
普通のディレクトリをそのままgit化できる時点で
ディレクトリ+αの機能になるしね。
ディレクトリでできることはgitでもできる。

169:デフォルトの名無しさん
14/03/10 13:57:10.16 .net
そんな面倒なことするよりsvnでロックかける方が便利だよ

170:デフォルトの名無しさん
14/03/10 14:09:31.22 .net
svnでロックかけるために、
リポジトリを別ディレクトリに作って
そこにチェックインしてとかやるの?
面倒くさい。

gitで管理するの必要なのはgit init。これ一つだけだよ。
そうするだけで、ただのディレクトリがgit管理ディレクトリになる。

171:デフォルトの名無しさん
14/03/10 15:02:36.91 .net
制限が必要ならgitoliteだかそんなのいくつかあるだろ

172:デフォルトの名無しさん
14/03/10 15:12:46.90 .net
>>150
釣りかマジかわからん...

> 部分チェックアウトがなぜ必要になるのかは簡単でロック(悲観的ロック)があるからこその話。

で、部分チェックアウトができる SVN のロック方式はどっちと思ってるんだ?

173:デフォルトの名無しさん
14/03/10 15:14:06.52 .net
>>154
>>144 みてわからないなら、諦めてくれ。

174:デフォルトの名無しさん
14/03/10 15:15:30.69 .net
>>166-167
はいはい、git ってすごいなー

これでいい?(w

175:デフォルトの名無しさん
14/03/10 15:17:46.72 .net
>>174
いや良くない。欲しいのは論理的な反論。
それ以外は負け犬の遠吠えにしか見えないから。

176:デフォルトの名無しさん
14/03/10 15:18:19.61 .net
>>173

>>144なら普通にgitでもできるよ。
これで問題解決したよね。

177:デフォルトの名無しさん
14/03/10 15:21:16.58 .net
>>172
部分チェックアウトとロックには何も関係がない。

SVNは悲観的ロック(例えばチェックインを忘れたまま帰ってしまう人がいると、
そのファイルをほかの人が編集できずに作業が止まってしまうといったことがあり得る。
こうなると、開発者の待ち時間が増えてしまい、開発のスピードを遅くしやすいのだ。)
とgitと同じで優れている楽観的ロックの両方を持っている。

でも優れいている楽観的ロックがあれば
わざわざ劣った悲観的ロックを使う必要がない。

178:デフォルトの名無しさん
14/03/10 15:25:06.58 .net
>>171
> gitolite

ブランチをうまく使えばいいかと思ったけど、見せないって言うのは無理なんだな。
まあ各自がリポジトリ自体を持ってしまう git だと難しいし、そもそも OSS だと必要性は薄いからなぁ。

179:デフォルトの名無しさん
14/03/10 15:26:38.21 .net
>>178
話し聞いてる?

gitは普通のディレクトリをそのままgit管理できるの。
だからそのサブディレクトリ単位で公開非公開も設定できる。

このやり方はgitをちゃんと使ったやり方よりも劣るが、
単なるディレクトリよりはマシ。

なんどでも言うよ?

180:デフォルトの名無しさん
14/03/10 15:27:28.08 .net
>>176
見せないこともできるの?
リポジトリを分けることについては、>>148 の後半見てね。

181:デフォルトの名無しさん
14/03/10 15:27:33.91 .net
ブランチを使うという発想自体が
すでに間違ってるよね。

道具を間違った使い方をして
使いにくいと言っているだけ。

こういうのも「技術力」だからね。

182:デフォルトの名無しさん
14/03/10 15:29:55.85 .net
>>180
リポジトリを分ければもっと柔軟に管理できる。

だけど、分けなくても出来ないことはない。
gitのリポジトリはただのディレクトリ上位互換。
ディレクトリでできることは全部gitリポジトリで出来る。

それはちゃんとgitを使ったやり方より劣ったやり方だけど
ただのディレクトリよりは優れている。

まあ、君の技術が追いつくまではこれ使っていればいいんじゃない?
俺からすれば不便だけどさ。あれもできないこれもできない。

183:デフォルトの名無しさん
14/03/10 15:32:57.11 .net
>>177
前半は >>150 にアンカーしてくれ。

> 悲観的ロックを使う必要がない。

これは、バイナリーファイル用だよ。
ちなみにロックは他人でもはずせる。
どちらかと言うと、編集してますよと言うコミュニケーションのためのフラグみたいなもんだよ。

184:デフォルトの名無しさん
14/03/10 15:35:31.69 .net
ロックを他人が勝手に外したら
意味ないだろw

取っていいですかーってわざわざ電話するのか?

外す前に許可とるのか?
とらないで作業続けられないのか?

ロックを他人が外すのは緊急用だろ。

そういう無駄なコミュニケーションが
開発速度を落とす。

185:デフォルトの名無しさん
14/03/10 15:36:21.04 .net
>>183
> 前半は >>150 にアンカーしてくれ。

意味不明。

なんで自分で自分にレスしないといけないのか。
お前に言ってるんだよ。

186:デフォルトの名無しさん
14/03/10 15:36:51.11 .net
Mercurialには、hglockエクステンションが有って、Subversionに近いロックが出来る。

187:デフォルトの名無しさん
14/03/10 15:39:45.39 .net
>>181
なら >>144 を実現するための正しい方法を書いてくれ。
今のところ >>140-141 ぐらいしかやり方出てないようだけど?

>>182
> ディレクトリでできることは全部gitリポジトリで出来る。

だから、ディレクトリは特定ディレクトリを見せないって言う設定できるよね?
git でどうやるの?

188:デフォルトの名無しさん
14/03/10 15:43:36.98 .net
>>184
> 取っていいですかーってわざわざ電話するのか?

そうだよ。
コミュニケーションのためって書いたでしょ?

> ロックを他人が外すのは緊急用だろ。

それなら、管理者コマンドになってるはず。

> そういう無駄なコミュニケーションが開発速度を落とす。

君にはそう思えるんだろうね。

189:デフォルトの名無しさん
14/03/10 15:49:23.47 .net
>>185
ん?
自分がなに書いたのかわかってる?

> 部分チェックアウトがなぜ必要になるのかは簡単でロック(悲観的ロック)があるからこその話。

> 部分チェックアウトとロックには何も関係がない。

まさか、本人とはね (w

190:デフォルトの名無しさん
14/03/10 16:23:13.92 .net
誰か、bzr-gitとかsvn-gitの乗り換えチャートでも作ってくれたりしないもんかな。

191:デフォルトの名無しさん
14/03/10 17:16:41.02 .net
bzrなんか誰が使ってんの?w

192:デフォルトの名無しさん
14/03/10 17:20:39.54 .net
>>191
GNU信者でしょ

193:デフォルトの名無しさん
14/03/10 17:21:18.71 .net
>>187
> だから、ディレクトリは特定ディレクトリを見せないって言う設定できるよね?
> git でどうやるの?

お前根本的な所がわかってないじゃないか。
gitでもディレクトリ使ってるんだよ。
gitはディレクトリ+αと考えればいい。
だからディレクトリでできることは全てgit使っていても出来る。

194:デフォルトの名無しさん
14/03/10 17:23:34.52 .net
たぶん、単なるディレクトリが
そのままgitリポジトリになるってことが
あまりにも(その人にとって)革新的なことであり
信じられないんだと思う。

だからそんなことはない。gitを使うとディレクトリで
出来たことができなくなるはずって思っちゃう。

ディレクトリでできることはすべて
gitでもできるんだよ。

195:デフォルトの名無しさん
14/03/10 17:26:12.69 .net
>>193-194
ご託はいいから、具体的なやり方書いて。

196:デフォルトの名無しさん
14/03/10 17:44:57.14 .net
>>195
だから普通のディレクトリと全く同じやり方だよ。
これでわからないの?

197:デフォルトの名無しさん
14/03/10 18:36:20.57 .net
先ほどからやたらとgitを否定する方がいらっしゃいますが、git使えなくて
後輩にバカにされた腹いせに書き込んでるのでしょうか?
git脳なんて言ってるけどgit使えない脳の方が問題ですね。

198:デフォルトの名無しさん
14/03/10 18:42:40.39 .net
bazaar脳がemacsはgitに以降しそうだから焦ってるんだろ

199:デフォルトの名無しさん
14/03/10 19:05:48.64 .net
>>196
それ君が設定してから push して外注さんが clone したら、指定したフォルダは外注さんに見えなくなるの?
まさか、ローカルで見えないから OK とか恥ずかしいこと言ってないよね?

>>197
ごめんな、git 普通に使ってるんだわ。
でも、他も使ってるから粗が見えちゃうんだな。
まあ適材適所なんだが、この手の奴はあまりバラバラにあっても管理がめんどいから、可能なら統合したいんだな。

200:デフォルトの名無しさん
14/03/10 19:21:31.31 .net
じゃぁ、いいとこ取りのバージョン管理システムを新たに開発すればいいじゃん。

201:デフォルトの名無しさん
14/03/10 23:36:11.36 .net
なんか伸びてるとおもたら荒れてんのぉ

202:デフォルトの名無しさん
14/03/11 00:53:39.84 .net
部分チェックアウトは必要だわ
Android Studio 用のプロジェクトがコミットされたリポジトリからチェックアウトして、
Eclipse の プロジェクトで使う場合とか
assets ディレクトリを部分的に別々のリポジトリからチェックアウトしておくとか
面倒だから一つのリポジトリで複数のプロジェクトを管理とか
どう考えても部分チェックアウトは必須機能

203:デフォルトの名無しさん
14/03/11 01:47:53.26 .net
>>202
Android Studio側のbuild.gradleとかにある設定は手動でEclipseに反映させてんのか?
おとなしくAndroid Studio使えよ

204:デフォルトの名無しさん
14/03/11 02:04:19.60 .net
gnomeかなんかでmakeかなんか使ってるとかいう話を見た気がする

205:デフォルトの名無しさん
14/03/11 02:49:32.38 .net
いつも思うんだが、喧嘩腰じゃないと話せない人がいるのはなんなんだ・・・
議論の一部に自分に取って有意義な話があってその辺りについて詳しい話が聞きたいと思っても
喧嘩腰な人が出てくるとまったく議論にならなくなる、というか聞く気すら起きなくなる

206:デフォルトの名無しさん
14/03/11 05:17:40.62 .net
>>199
なんで普通のディレクトリではできないことの話をしてるんだ?

何回も言ってるだろう? gitのディレクトリは普通のディレクトリだ
だから”普通のディレクトリと同じこと"はできると

お前が言ってるpushやらcloneなんてのは普通のディレクトリでは出来ないことだ。
そんなことをしたいなら、ディレクトリを使うな(gitを使え)という話になる。

207:デフォルトの名無しさん
14/03/11 05:27:22.22 .net
>>202
> Android Studio 用のプロジェクトがコミットされたリポジトリからチェックアウトして、
> Eclipse の プロジェクトで使う場合とか

そんな時に使うのがgitのサブモジュールという機能だよ。

まず、Android Studio 用のプロジェクトからチェックアウトして
Eclipse の プロジェクトで使うという、そのやり方
部分チェックアウトでやると、大きな問題がある。

それはEclipse の プロジェクトで使っているのは、
Android Studio 用のプロジェクトのどのリビジョンか?という話。

「Eclipse の プロジェクトのリビジョンX0005で使っているのは
Android Studio 用のプロジェクトの一部分のY0005リビジョンである」
という情報がX0005には記録されない。だからX0004に戻した時、Y????のどれを使えばいいかわからない。
X0005にY0005のソースコード丸々入れるというやり方もあるだろうが、そうすると最新版への追尾が難しくなる。

gitのサブモジュールのやり方を教えよう。

Eclipse の プロジェクトを開発している時に、特定のコミットにしたいして
Android Studio 用のプロジェクトの、特定のコミットをひもづける。
だからX0005にY0005を紐付けたら、X0005をチェックアウトした時に、自動的にY0005になる。
もちろんX0010をチェックアウトしたら、X0010に紐付けられたY000?が自動的に使われる。
Y000?を最新にしたければ、Y000?の最新を取ってきて新たにX0011というコミットを作る。
そうすれば、X0011は最新のY000?をできる。

部分チェックアウトで頑張るよりも、はるかにスマートな方法だ。

208:デフォルトの名無しさん
14/03/11 07:41:35.95 .net
>>197
git使えない人は多いと思うよ
プログラマーでもgit理解出来ない人多いんだから、営業職の人にgitを無理強い出来ないね

209:デフォルトの名無しさん
14/03/11 07:44:32.68 .net
営業職の人には普通にファイルを保存してもらって
分かる人がgitで管理すればよい。

まさかgit使えないなんて言うんじゃないだろうな?
それ技術者なはずなのに、営業職レベルってことだぞw

210:デフォルトの名無しさん
14/03/11 07:52:01.12 .net
>>201
別に荒れてないよ、git 脳が勝手に暴れて勝手に玉砕しただけ (w

211:デフォルトの名無しさん
14/03/11 07:53:32.10 .net
なるほど、ということにしたい奴が荒らしていたわけか。

212:デフォルトの名無しさん
14/03/11 08:04:16.45 .net
>>206
はあ?
>>144 をやりたいって話なのは理解してるんだよね?
ファイシステム云々は >>179 とかが言い出した話だよ?
俺は >>144 が git でできるって言うならやり方示して、って言ってるだけ。
まさか、これがそのまま来るとは思わんかったわ (w
> ローカルで見えないから OK とか恥ずかしいこと言ってないよね?

213:デフォルトの名無しさん
14/03/11 08:07:55.75 .net
>>212
> プロジェクト無いの一部のフォルダを特定の人/グループに見せないとか、更新禁止にするだけだよ?
やりたいのはこれだよね?
なんども答え出てると思うけど、

gitは普通のディレクトリを使うので、
一部のフォルダを特定の人/グループに見せないかいうのは
ディレクトリと全く同じ設定をすればよい。

さらにもっと高度な管理がしたければ、gitサーバーを使うことで
柔軟なアクセス制限を書けられる。

submoduleを使うことで、プロジェクトの一部を
別リポジトリにすることだって可能。

214:デフォルトの名無しさん
14/03/11 08:08:11.18 .net
>>211
もうみんな話変えようとしてるよ?
まだ、恥ずかしいレス続けるの? (w

215:デフォルトの名無しさん
14/03/11 08:10:13.16 .net
意訳

> もうみんな話変えようとしてるよ?

「俺は」 話変えようとしてるよ? みんなも同調してよ!

> まだ、恥ずかしいレス続けるの? (w

お前のレスは恥ずかしいんだ。 みんなも同調してよ!

216:デフォルトの名無しさん
14/03/11 08:15:43.08 .net
>>213
> なんども答え出てると思うけど、

リポジトリ分ける以外の答あったっけ?

> さらにもっと高度な管理がしたければ、gitサーバーを使うことで
> 柔軟なアクセス制限を書けられる。

だからそのやり方書いてよ。

217:デフォルトの名無しさん
14/03/11 08:16:35.24 .net
>>215
まだやるの? (w

218:デフォルトの名無しさん
14/03/11 08:20:49.49 .net
>>216

リポジトリ分ける以外の答えは>>213に書いてあるだろ?
なんで見えてないの?すごく不思議なんだけど。

gitは普通のディレクトリを使うので、
一部のフォルダを特定の人/グループに見せないかいうのは
ディレクトリと全く同じ設定をすればよい。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

さらにもっと高度な管理がしたければ、gitサーバーを使うことで
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
柔軟なアクセス制限を書けられる。

219:デフォルトの名無しさん
14/03/11 08:21:23.81 .net
都合の悪いレスは見えないんだろ?
本気でそんな人がいるとはね。

220:デフォルトの名無しさん
14/03/11 08:25:26.44 .net
>>216
> > さらにもっと高度な管理がしたければ、gitサーバーを使うことで
> > 柔軟なアクセス制限を書けられる。
>
> だからそのやり方書いてよ。

お前が、gitサーバーで柔軟なアクセス制限できるという事実を素直に認めたらな。

お前が今知るべきなのやり方ではなく、gitサーバーがお前の目的を
叶えてくれる道具だということを知ることだから。

URLリンク(git-scm.com)サーバー-サーバー用の-Git-の取得
URLリンク(git-scm.com)

ちょっとしたセットアップ
小規模なグループ、あるいは数名の開発者しかいない組織で Git を使うなら、
すべてはシンプルに進められます。Git サーバーを準備する上でもっとも複雑なことのひとつは、
ユーザー管理です。同一リポジトリに対して「このユーザーは読み込みのみが可能、
あのユーザーは読み書きともに可能」などと設定したければ、アクセス権とパーミッションの設定は多少難しくなります。

SSH アクセス
開発者全員が SSH でアクセスできるサーバーがすでにあるのなら、リポジトリを用意するのは簡単です。
先ほど説明したように、ほとんど何もする必要はないでしょう。より複雑なアクセス制御をリポジトリ上で行いたい場合は、
そのサーバーの OS 上でファイルシステムのパーミッションを設定するとよいでしょう。

リポジトリに対する書き込みアクセスをさせたいメンバーの中にサーバーの
アカウントを持っていない人がいる場合は、新たに SSH アカウントを作成しなければなりません。
あなたがサーバーにアクセスできているということは、すでに SSH サーバーはインストールされているということです。

221:デフォルトの名無しさん
14/03/11 08:30:42.77 .net
gitサーバーの一つがgithubだといえば、
馬鹿にもわかるかねぇ。

言うまでもないだろうがgithubはプライベートリポジトリと言って
外部の人には見えないリポジトリにも対応している。

さすがに「githubの使い方を教えてよ」は
技術者として恥ずかしくて言えないだろう。

222:デフォルトの名無しさん
14/03/11 08:44:47.35 .net
なんか荒れてると思ったら炎上学習法やってる奴が居るのか…

223:デフォルトの名無しさん
14/03/11 08:46:12.56 .net
うるさい。そのやり方書いてよ。

224:デフォルトの名無しさん
14/03/11 08:54:37.15 .net
svnでいいな

225:デフォルトの名無しさん
14/03/11 08:57:34.91 .net
svnの壁ってやつかね。その先を知らない人が
満足する。

226:デフォルトの名無しさん
14/03/11 09:02:25.87 .net
gitはどちらかと言えば、開発者のための道具だからね。
管理者のための道具じゃない。

gitをバリバリ使っている人は、だいたい開発者。
(念のためプログラマだけじゃないよ。開発する人全員)

svnで満足しているのは、ただの管理者でしょ?
ソース貰って、その日付だけわかればいいような、そんな人。
だから日付バックアップでも成り立つ。
開発者とは違って貰ったものを修正なんかしないからね。

227:デフォルトの名無しさん
14/03/11 10:01:47.42 .net
程度によるよ
多人数で開発して細かくdiffを取ってpatchを当てる続けるようなソースコードの管理する場合にはgitやmercurialの方が向いてる
そうじゃない場合はsubversionの方が有利な事もある
既出の部分チェックアウトやファイルロック

228:デフォルトの名無しさん
14/03/11 10:04:45.01 .net
>>209
gitを理解出来ないプログラマーはたくさんいるよ
linuxのカーネル開発してるような優秀な人揃いのプロジェクトならいいけど、
そうじゃない低レベルなプロジェクトもたくさんあるのが現実

229:デフォルトの名無しさん
14/03/11 10:40:50.83 .net
>>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:デフォルトの名無しさん
14/03/11 10:42:06.63 .net
>>229
訂正。
> chgrp -R /proj/src/lib

chgrp -R /proj/src/lib lib-dev-group

231:デフォルトの名無しさん
14/03/11 11:01:28.32 .net
>>228
gitすら理解できないってよほどアホか覚える気が全くないかだろう
そんな奴をプログラマーと呼べるのか?最低限持っているべき知識だろ

もう世界中で使われているから
分からない事があってもググれば大抵の事は解決するし

232:デフォルトの名無しさん
14/03/11 11:24:53.82 .net
>>229-230
まあそう言うこと。
たぶんわかってるけど git が劣ってるなんて許せねーって言う奴とよくわからんけど煽ってやれ、っー奴が半々ぐらいかな (w

各マシンにリポジトリ全体を持つような仕組みなので、見せないを実現しようとしたらリポジトリの仕組みにかなり手を入れないとダメだろうし、OSS だとそう言う要求はあまり無いだろうから git がこの機能を持ってないのは当たり前とすら言えると思うんだけどね。

まあ当面 svn + git (svn) で行くわ。

233:デフォルトの名無しさん
14/03/11 12:18:30.59 .net
>>229
>サーバーの OS 上でファイルシステムのパーミッションを設定するとよいでしょう。
なんだから
そこまでやったらgitでは何もやることないんじゃないの

234:デフォルトの名無しさん
14/03/11 12:34:05.41 .net
>>233
ネタなのかマジで言ってるのかよくわからん (w
ひょっとしてベアリポジトリの存在を知らないのか?

235:デフォルトの名無しさん
14/03/11 12:37:56.06 .net
freebsdの開発チームはがsubversionを採用したんだよな
理由はsubversionの方が合ってるからって

236:デフォルトの名無しさん
14/03/11 12:39:49.82 .net
>>233
だから具体的にどうやるか書け

237:デフォルトの名無しさん
14/03/11 12:47:54.53 .net
いやおれhg使いだし
サブモジュールのディレクトリにパーミッション設定して終わりじゃないのか

238:デフォルトの名無しさん
14/03/11 12:58:42.60 .net
>>237
何いってんの?

239:デフォルトの名無しさん
14/03/11 13:03:47.19 .net
煽るだけのは邪魔だからどっか行けよ

240:デフォルトの名無しさん
14/03/11 13:32:01.32 .net
>>235
Linux の世話になんかならんぞ、っーのもあるんじゃね?

まあ便利ならなんでも取り込む Linux/git に対して、ポリシーに沿わないものは取り込まない FreeBSD/Subversion って感じかな。

241:デフォルトの名無しさん
14/03/11 13:36:20.76 .net
いやおまえこそ

242:デフォルトの名無しさん
14/03/11 13:42:31.53 .net
GPLを排除したいFreeBSDにしてみれば
メジャーなDVCSのGit、Hg、Bzrが軒並みGPLな現状じゃ
Apacheライセンスな非DVCSのSubversionを選ぶざるを得ないってとこか

243:デフォルトの名無しさん
14/03/11 13:46:51.73 .net
>>239
良く分かってないのに適当な回答かまして場をかき乱す奴よりはまし。

244:デフォルトの名無しさん
14/03/11 13:58:09.47 .net
>>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 サーバー - プロトコル
URLリンク(git-scm.com)

利点
ファイルベースのリポジトリの利点は、シンプルであることと既存のファイルアクセス権や
ネットワークアクセスを流用できることです。チーム全員がアクセスできる共有ファイルシステムがすでに存在するのなら、
リポジトリを用意するのは非常に簡単です。ベアリポジトリのコピーをみんながアクセスできるどこかの場所に置き、
読み書き可能な権限を与えるという、ごく普通の共有ディレクトリ上での作業です。

245:デフォルトの名無しさん
14/03/11 14:07:09.69 .net
linuxっていつまで経ってもaclベースのアクセス制御普及しないよな

246:デフォルトの名無しさん
14/03/11 14:08:14.88 .net
>>244
> この欠点はdev-groupはgitを使えるが、それ以外はgitを使えないということと

どういうこと?co-dev1がgitを使えないんだったら意味ないじゃん

247:デフォルトの名無しさん
14/03/11 14:11:14.81 .net
>>244
なんだローカルの話か。なら最初から
cd proj
git init
って言えば何を言いたかったのか全員がわかったのに。

ちなみに、お前以外は全員リモートサーバを想定してると思うよ。

248:デフォルトの名無しさん
14/03/11 14:16:55.82 .net
>>244
俺gitの知識はほぼゼロなんだけど、それでco-dev1はgit clone/push/pullのどれも支障が無いのか?

249:デフォルトの名無しさん
14/03/11 14:17:33.84 .net
>>246

> どういうこと?co-dev1がgitを使えないんだったら意味ないじゃん

dev-groupはgitつかえるよ?
git使いたいなら、最初からディレクトリは
ダメですねって話ですよね?

だ~か~ら、共有ディレクトリを使う方法(>>229)は
欠点があるって言ってるんだよ。

普通にgitを使えよ。
共有ディレクトで権限管理するのはやめなさい。
つまり、>>229のやり方をやめなさいってことだよ。

250:デフォルトの名無しさん
14/03/11 14:19:33.04 .net
>248
> 俺gitの知識はほぼゼロなんだけど、それでco-dev1はgit clone/push/pullのどれも支障が無いのか?

共有ディレクトリを使った方法(>>229の方法)を使っている以上無理。

最初っから、共有ディレクトリを使った方法(>>229)は欠点だって言ってるの。

でもgitはただのディレクトリだから、ディレクトリを使った方法(>>229)でも
できるという話。git化することで何も失われていない。

251:デフォルトの名無しさん
14/03/11 14:20:30.61 .net
>>247
全員がとかいってるけど、
実は「お前が」だよ。

お前一人がわからなかった。
勝手に他人もいっしょにするなよ。

252:デフォルトの名無しさん
14/03/11 14:32:12.88 .net
>>250
え?>>144に対して、

>>213
> gitは普通のディレクトリを使うので、
> 一部のフォルダを特定の人/グループに見せないかいうのは
> ディレクトリと全く同じ設定をすればよい。
なんでしょ?

> 共有ディレクトリを使った方法(>>229の方法)を使っている以上無理。
ってどういうこと?

> でもgitはただのディレクトリだから、ディレクトリを使った方法(>>229)でも
> できるという話。
できるって何が?

> git化することで何も失われていない。
ちなみに、>>244のディレクトリ構成を実際に作って、co-dev1でgit cloneしてみたら、/proj/src/libも取得できちゃったんだけど。
俺はgitの知識がほぼゼロなんで、なにか間違ってるかもしれないけど。

253:デフォルトの名無しさん
14/03/11 14:38:57.36 .net
>>251
お前一人が勘違いしている可能性は考慮しないのか

254:252
14/03/11 14:43:10.33 .net
ちなみに、俺がやったこと。
/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以下が取得できてしまったんだが、これを取得できないようにするにはどうしたらいい?

255:デフォルトの名無しさん
14/03/11 14:46:33.16 .net
>>252
お前頭悪いなw

共有ディレクトリを使った方法では、
gitを使うことに制限が出る。

無理というのは、その制限の話だ。

gitを使いたくなっただろ?
ちゃんと使おうと思うなら
共有ディレクトリ(>>229)はやめだ。

だが共有ディレクトリ程度でできるレベルであれば
>>244を使えば良い。

256:デフォルトの名無しさん
14/03/11 14:48:04.93 .net
>>254
お前は、パーミッションも読めないのかw

>>244のdrwxrwx--x とかその後のdev-groupとか
意味わかってるか? 本気で馬鹿なのか?

257:252
14/03/11 14:49:00.12 .net
>>255
ちょっと何を言いたいのか良くわからない。

> 無理というのは、その制限の話だ。
要するに、
>>144
> プロジェクト無いの一部のフォルダを特定の人/グループに見せないとか、更新禁止にするだけだよ?
はできるの?できないの?

> gitを使いたくなっただろ?
いや、svnで満足してるし。
gitはgithubでcloneするくらいでいい。

258:デフォルトの名無しさん
14/03/11 14:53:48.97 .net
>>256
> >>254
> お前は、パーミッションも読めないのかw

再現できてると思うけど。

ls -lR
.:
合計 4
drwxrwxr-x 4 user1 grp1 4096 3月 11 14:20 2014 src

./src:
合計 8
drwxrwxr-x 2 user1 grp1 4096 3月 11 14:20 2014 app
drwxrwx--- 2 user1 wheel 4096 3月 11 14:20 2014 lib

./src/app:
合計 4
-rw-rw-r-- 1 user1 grp1 6 3月 11 14:20 2014 aaa.c

./src/lib:
合計 4
-rw-rw-r-- 1 user1 wheel 8 3月 11 14:20 2014 bbb.c

uid=500(usr1) gid=500(usr1) 所属グループ=500(usr1),10(wheel),505(grp1)
uid=503(usr2) gid=507(usr2) 所属グループ=507(usr2),505(grp1)

259:デフォルトの名無しさん
14/03/11 14:54:41.80 .net
>>244
ねえねえ、マジで言ってるの?
git 脳って git には詳しいのかと思ってたら、単なるアホだったのか (w

それ、自分に対する権限しか設定してないから、clone されたら丸見えだよ。
もし、反論するなら事前にベアリポジトリについてググってこい。
まあ、ググって理解したら恥ずかしくて出てこれないと思うが。

260:デフォルトの名無しさん
14/03/11 14:58:24.01 .net
はぁ? なんでcloneするんだよ。
そこから間違ってるじゃないかw
cloneした時点でお前の間違いが明らかになってるんだが。

ファイルベースのリポジトリは最初に用意する人が
cloneするのみ。ファイルベースのリポジトリは
そのディレクリをみんなで共有する仕組みだよ。

最初っからディレクトリを使った方法と
全く一緒だって言ってるじゃないか。

261:デフォルトの名無しさん
14/03/11 15:00:06.59 .net
>>260
複数人で作業すること前提なんですが

262:デフォルトの名無しさん
14/03/11 15:00:30.30 .net
あたりまえだけど、

drwxrwx--x dev-group:dev-group /proj/.git ← gitデータディレクトリ

こうなってるので、dev-group以外の人はgit cloneできない。
なぜならファイルそのものにアクセス出来ないから。

263:デフォルトの名無しさん
14/03/11 15:01:37.98 .net
>>261
ディレクトリを共有していれば、
普通に複数人で作業できますが?

gitはただのディレクトリなんだから
(gitとして制限をうけるだけで)
全く同じように共有できるって気づかない?

264:252
14/03/11 15:01:47.99 .net
>>260
> はぁ? なんでcloneするんだよ。
いや俺マジでgitに詳しくないんだけど、cloneってsvnで言えばsvn coじゃないの?
ワーキングコピーを作る方法。

265:デフォルトの名無しさん
14/03/11 15:02:29.48 .net
あ、もしかして>>244のgitの公式説明

「ファイルベースのリポジトリ」が
一つのディレクトリをみんなで共有する方法だって
気づいていない?

266:デフォルトの名無しさん
14/03/11 15:03:59.48 .net
>>264
> いや俺マジでgitに詳しくないんだけど、cloneってsvnで言えばsvn coじゃないの?
> ワーキングコピーを作る方法。

本当にに詳しくないなwwwwwwwwwwwwwwww


gitにはsvnみたいに、ワーキングコピーとリポジトリなんて
二つにディレクトリに別れてないの。

普通のディレクトリを、場所を変えずにそのままで
gitリポジトリに変えられちゃうんだよ。

き・そ・ち・し・き

267:デフォルトの名無しさん
14/03/11 15:04:58.55 .net
まさかとは思うが、複数人が同じサーバにログインして、同じディレクトリ下で開発するとか思ってないだろうな?

268:デフォルトの名無しさん
14/03/11 15:06:59.00 .net
proj/src/lib以下はリポジトリ分けて
projのサブモジュールにするんでしょ?
何かおかしなこと言ってるヤツいるけど

269:252
14/03/11 15:07:27.36 .net
>>266
> gitにはsvnみたいに、ワーキングコピーとリポジトリなんて
> 二つにディレクトリに別れてないの。
話が全然かみ合わないんだけど、gitだって全員の変更を一つにまとめる中央リポジトリ的なものがあるんじゃない?
俺の薄い知識だと、それとローカルを同期させたり差分を取り込んだりするのにpull/pushがあると思ったが。

> 普通のディレクトリを、場所を変えずにそのままで
> gitリポジトリに変えられちゃうんだよ。
いや、その程度は知ってるって。>>252に手順示したじゃん。

270:デフォルトの名無しさん
14/03/11 15:08:31.10 .net
>>264
mkdir hogehoge ← ディレクトリ作りました。
cd hogehoge ← ディレクトリに移動しました。
touch a ← まあ適当にファイルを作ってみましょう。

-------- ここまでgitとは無関係の作業 -----------

git init ← hogehogeがgitリポジトリになりました。

-------- これだけでgit化終わり -----------

git checkout -b branch1 ← ブランチ1に切り替え
git add a ←ファイル追加
git commit ← ファイルコミット

-------- なんでもできます -----------

gitを始めるのにcloneなんて要りません。

271:デフォルトの名無しさん
14/03/11 15:08:40.05 .net
>>268
> proj/src/lib以下はリポジトリ分けて
> projのサブモジュールにするんでしょ?

そんなことしなくても出来ると言って暴れてる奴がいるんだよ

272:デフォルトの名無しさん
14/03/11 15:09:29.01 .net
>>270
一人の場合はそれでいいが、今は複数人で開発するときの話だ

273:デフォルトの名無しさん
14/03/11 15:09:57.21 .net
>>267
> まさかとは思うが、複数人が同じサーバにログインして、同じディレクトリ下で開発するとか思ってないだろうな?

それ、共有ディレクトリ(>>229)を作ったやり方の話話をしてるんだよね?

229 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/11(火) 10:40:50.83
>>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ではどうやるかという話だと思うが。
もちろん、複数人で開発するのだから、サーバでの話。

274:デフォルトの名無しさん
14/03/11 15:11:37.04 .net
>>272

だから複数人で共有しろよ、gitディレクトリを。

>>229で話しているのはそういうことだよ。

275:デフォルトの名無しさん
14/03/11 15:13:14.93 .net
底辺だとそんな開発してるんだな
勉強になるわ

276:デフォルトの名無しさん
14/03/11 15:14:29.68 .net
複数人で開発したことないんだと思うよ

277:デフォルトの名無しさん
14/03/11 15:14:43.02 .net
共有ディレクトリを使ってパーミッションでアクセス制限とかw
>>229は前時的な開発してるな。

さっさとgit化すればいいのにw

278:デフォルトの名無しさん
14/03/11 15:15:24.86 .net
>>229のやり方って複数人で開発できるの?

できるならgitでも同じことやれば出来るってわかるけど。

279:デフォルトの名無しさん
14/03/11 15:19:13.77 .net
>>229のやり方でもグループを適切に設定すれば複数人で開発できるよ。
(もちろんgitのディレクトリを共有するやり方でもね)

ただ、それだと共有ディレクトリを使ったレベルまで
開発が不便になるから、この場合は普通にやるなら
サブモジュールを使って管理するべきことだろう。

今話してるのは、git化しても共有ディレクトリを使ったやり方はできるから
gitなし共有ディレクトリと何も変わらないということ。

280:229
14/03/11 15:22:17.78 .net
単なるファイルシステム上のアクセス制限であれば、>>229のように設定すれば実現できるが、
それをgitでできるのか?というのが>>229の趣旨。

もちろん、単一ディレクトリのアクセス制限ができても、複数人では開発できない。

281:デフォルトの名無しさん
14/03/11 15:24:20.43 .net
??279
は?この人何言ってるの?

282:デフォルトの名無しさん
14/03/11 15:25:19.98 .net
その辺は現場によってまちまちだろうね
メンバーごとにプロジェクトフォルダをコピーするだけで完全に動作する環境の方がいいが、そこまで開発環境を作り込めない現場も多い

283:デフォルトの名無しさん
14/03/11 15:27:00.67 .net
一人だけ完全にずれてることにまだ気づかない奴

284:デフォルトの名無しさん
14/03/11 15:28:42.86 .net
そもそも最初からgitだとsubmodule使うしかないねって話なのに。

285:デフォルトの名無しさん
14/03/11 15:50:06.26 .net
ディレクトリ共有とか、もう何年もその発想忘れてたわ

286:デフォルトの名無しさん
14/03/11 16:10:13.28 .net
平均的プログラマーの7割は、gitを理解できない。
これが現実。

OSS開発者の事じゃないぞ。サラリーマン開発者の事だ。

287:デフォルトの名無しさん
14/03/11 17:39:26.04 .net
>>283
もうわざとでしょ、彼にとってはバージョン管理なんかより git でもアクセス制御ができると言えることが最重要なんだよ、例えそれに意味がなくても (w

>>284
現状ではそれが一番みたいですな。

>>285
特に SCM 使ってたら直接共有する必要ないしな。

288:デフォルトの名無しさん
14/03/11 17:44:33.56 .net
>>287
やっぱり気づいてないみたいね。

はっきり言うと、わかってないのはお前。

289:デフォルトの名無しさん
14/03/11 17:45:30.23 .net
>>287
> 現状ではそれが一番みたいですな。
それは最初に俺が言ったことだろw

140 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/10(月) 06:24:12.14
>>139
えとさ、どういうディレクトリ構成なのさ?
それ言ってくれんとわからん。

なんか、話を聞いていると、一つのディレクトリのあちこちに、
社内に公開できる部分、出来ない部分があってごちゃごちゃ
混ざってるように思えるんだけど?

もしそうだとしたら、それ人為的ミスで間違って
ファイルわたしてしまう可能性があるから修正した方がいいよ。

簡略化するとこういう感じ
root
├メインプロジェクト(自社開発)
└外注さんに任せるライブラリ
もしくは
root
├メインプロジェクト(外注さんと共同開発)
└自社専用ライブラリ

ライブラリ部分はgitで言えばsubmoduleという機能を使えばいい。
submoduleは外部のリポジトリを自分のリポジトリに埋め込む機能。
もちろん別々のリポジトリとして扱える。

submoduleはルート直下にしか置けない。
メインプロジェクト以下にライブラリを置かなければいけないことはよくある話で、
そういう場合はシンボリックリンクを使ってメインプロジェクト配下に見せる。

290:デフォルトの名無しさん
14/03/11 17:48:26.46 .net
最初に俺がサブモジュールというちゃんとした答えを言って
サブモジュールを使うより劣るけど、git+共有ディレクトリでもやれなくてはないよ。
(だから共有ディレクトリでやれるアクセス制限はもちろん出来る)
って話をしているのに、わかってないんだな。やっぱり馬鹿か。

291:デフォルトの名無しさん
14/03/11 17:54:08.80 .net
もうだれが誰やら

292:デフォルトの名無しさん
14/03/11 17:57:25.88 .net
>>288, >>290
きみ、もういいから (w

>>289
うん、そうだよ。
でも、リポジトリ構成変えないといけないからうちでは採用できないって書いてある。
一番マシだからと言って使えるかどうかは別の話でしょ?

293:デフォルトの名無しさん
14/03/11 18:02:02.36 .net
>>290
> サブモジュールを使うより劣るけど、git+共有ディレクトリでもやれなくてはないよ。
いや、やれないじゃん

294:デフォルトの名無しさん
14/03/11 18:07:20.75 .net
ファイル共有なんて論外。

295:デフォルトの名無しさん
14/03/11 18:08:11.80 .net
そこは外注使うと決まった時点でリポジトリの構成を変えるべき
手続きが面倒とかは甘え

296:デフォルトの名無しさん
14/03/11 18:14:57.09 .net
「共有ディレクトリでやれるアクセス制限」って意味わかんないんだけど。
何のこと?

297:デフォルトの名無しさん
14/03/11 18:16:52.29 .net
>>296
ディレクトリのパーミッションのこと言ってるらしいよ。

だから当たり前だけどgitでもディレクトリを共有すれば同じこと出来る。

298:デフォルトの名無しさん
14/03/11 18:17:35.41 .net
>>292
> でも、リポジトリ構成変えないといけないからうちでは採用できないって書いてある。

え? どこに?

299:デフォルトの名無しさん
14/03/11 18:18:34.93 .net
>>295
馬鹿だからファイル共有を使ったやり方しかできないんです。
パーミッション設定で精一杯なんです。

300:デフォルトの名無しさん
14/03/11 18:22:13.47 .net
>>297
> ディレクトリのパーミッションのこと言ってるらしいよ。
わかんないのはそっちじゃなくて、「共有ディレクトリ」の方。
普通、共有ディレクトリというと、ネットワーク上に存在するディレクトリ/フォルダを指すことが多いけど、そのことかな?
で、そこのアクセス制限と個々人の開発環境とはどうリンクするのかがわからない。

301:デフォルトの名無しさん
14/03/11 18:26:06.32 .net
>>300
複数のユーザーで共有ディレクトリを使いたい
URLリンク(www.itmedia.co.jp)
> Linux上で複数のユーザーが使えるようchmod 770などと
>指定するディレクトリを用意しても,それぞれのユーザーが
>書き込んだファイルやディレクトリは,他のユーザーが書き換えることができない。

302:デフォルトの名無しさん
14/03/11 18:28:41.51 .net
>>301
そういう意味の「共有」だとしたら、個々人の開発環境とはどうリンクするの?

303:デフォルトの名無しさん
14/03/11 18:28:56.58 .net
あぁ、個人ごとにホームディレクトリに
ローカルリポジトリを持つという発想ではなくて
サーバーにある一つのディレクトリを
みんなで共有して開発するやり方か。
グループ権限とか設定して。

でも同じ設定すればgit使いながら
共有ディレクトリ使えるんじゃねーの?
ってそういう話をしていたわけか。やっと分かった。

304:デフォルトの名無しさん
14/03/11 18:31:23.02 .net
sticky bitのことを知ってるのは俺だけだと思ってそうw

305:デフォルトの名無しさん
14/03/11 18:32:26.65 .net
>>303
> サーバーにある一つのディレクトリを
> みんなで共有して開発するやり方か。
そのやり方が全く想像できないんですが。

306:デフォルトの名無しさん
14/03/11 18:32:50.57 .net
>>302
個々の人の開発環境っていきなり何の話。
スレを「開発環境」検索しても
無関係なものしかヒットしないんだけど。

プロジェクトファイルだけを共有するんだから
個々の人の開発環境は、個々の人でしょ?
(つまりホームディレクトリに設定ファイルがある)
好きなエディタ使えるよ。そういう話だよね?

307:デフォルトの名無しさん
14/03/11 18:33:48.41 .net
>>304
そんなのだれでも知ってる。

308:デフォルトの名無しさん
14/03/11 18:34:32.24 .net
>>305
> そのやり方が全く想像できないんですが。

そのやり方っていうか、そもそもグループ権限を理解してないよね?

309:デフォルトの名無しさん
14/03/11 18:37:15.19 .net
gitを知らないどころか
グループ権限までしらん人がいるのか。
下には下がいるもんじゃw

310:デフォルトの名無しさん
14/03/11 18:42:01.17 .net
>>295
なんでツールのためにそんな苦労するの?
SVN ならちょっと設定するだけですよ。

>>298
>>148 の後半

311:デフォルトの名無しさん
14/03/11 18:42:47.49 .net
>>310
なんでSVNの話?
共有ディレクトリの話でしょ?

312:デフォルトの名無しさん
14/03/11 18:43:39.11 .net
>>304
なんか昔に聞いたことあったけどすっかり忘れてたので、ググってみた
忘れたままでいい機能だった...

313:デフォルトの名無しさん
14/03/11 18:46:22.62 .net
>>310 >>311
SVNで一つのディレクトリを複数の人で共有して
開発してるんでしょ? なんでそんなことをしているのかしらんけど。

その程度のやり方で満足しているなら
gitでも同じようにすればいいじゃん?
gitでも一つのディレクトリを複数の人で共有して使えるよ。
不便だけどね。(SVNでも不便なはずだが?)

314:デフォルトの名無しさん
14/03/11 18:47:18.73 .net
>>311
すまん、共有ディレクトリの話なら誤レスだ、無視してくれ。

315:デフォルトの名無しさん
14/03/11 18:48:54.26 .net
>>312
お前それは恥ずかしいセリフだぞ。
たとえば、sudoコマンドには sticky bitがついてる。
ついてるからこそ一般権限で実行できるわけだ。

ただ今の話はsticky bitよりもSGIDの方が重要なんだけどな。
>>304はちょっと無知っぽいw

316:デフォルトの名無しさん
14/03/11 18:49:39.77 .net
>>313
> SVNで一つのディレクトリを複数の人で共有して開発してるんでしょ?

ねえねえ、どこからそんな変な解釈思い付いたの? (w

317:デフォルトの名無しさん
14/03/11 18:50:08.29 .net
SVNで一つのディレクトリを複数の人で
共有して開発ってマジでやってんの?
ちょっとその発想はなかった。

318:デフォルトの名無しさん
14/03/11 18:51:39.62 .net
>>315
それは setuid だよ (w

319:デフォルトの名無しさん
14/03/11 18:51:42.41 .net
>>316
それは>>229だな。しっかりやり方を説明しちゃってる。

229 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/11(火) 10:40:50.83
>>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ではどうやるかという話だと思うが。
もちろん、複数人で開発するのだから、サーバでの話。

320:デフォルトの名無しさん
14/03/11 18:54:52.43 .net
>>319
あぁ、ほんとだ。グループで共有するって
話の発端はそいつなのね。

で、まじでこんなやり方でSVN使ってんの?

321:デフォルトの名無しさん
14/03/11 19:03:19.56 .net
>>315
sudoとかで立ってるのは04000でSet-user-id bit
Sticky bitと言われるのは01000

322:デフォルトの名無しさん
14/03/11 19:07:36.74 .net
>>304

> 304 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/11(火) 18:31:23.02
> sticky bitのことを知ってるのは俺だけだと思ってそうw

なんでここでsticky bitがでてくるの?

323:デフォルトの名無しさん
14/03/11 19:13:14.84 .net
>>319
それ SVN 関係ない
単なる説明用だろ

SVN はサーバー側で設定すれば見せたくないフォルダーとかはチェックアウトできなくなるからクライアント側で設定する必要がない

>>313 とかは玉砕した git 脳が同じ土俵に引きづりこもうとしてるだけだろ (w

324:デフォルトの名無しさん
14/03/11 19:14:10.07 .net
> SVN はサーバー側で設定すれば見せたくないフォルダーとかはチェックアウトできなくなるからクライアント側で設定する必要がない

サーバー側で設定すればだろ?

同じことがgitでもできるってなんで考えられないの?

325:デフォルトの名無しさん
14/03/11 19:16:09.81 .net
>>322
自分が知ってる一番難しそうな奴書いたんだろ。
まあ、>>315 みたいなアホが釣れたからちょっとは効果があったんじゃね? (w

326:デフォルトの名無しさん
14/03/11 19:16:27.40 .net
ゲーム脳ってあるでしょ? あれ、ゲームやってる人の脳がおかしいって話だったけど、
よくよく聞くと、「ゲーム脳」といっている人の脳がおかしいって気づく。

自分が「ゲーム脳」とはこうである!と決めて
それが絶対正しいと思い込んじゃう。
論理的に考えれば、明らかに間違っていることを
指摘しても聞く耳持たなくなっちゃう。

git脳という単語を見た時、そう思ったよ。

327:デフォルトの名無しさん
14/03/11 19:18:48.85 .net
>>324
> 同じことがgitでもできるってなんで考えられないの?

えっ、まだやるの?
仕組みが違うことぐらいは知ってるんだよね?
まあ、できると言うなら方法を具体的に書いてくれ。

328:デフォルトの名無しさん
14/03/11 19:19:52.02 .net
お前らこれ以上スレを汚すのはやめろ

329:デフォルトの名無しさん
14/03/11 19:22:18.83 .net
/.Jに集うLinuxヲタ達と同じ臭いがする
gitスレ行けばいいのに


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch