X



バージョン管理システムについて語るスレ10
0001デフォルトの名無しさん垢版2014/02/23(日) 18:17:11.03
バージョン管理システムについて語りましょう

●過去スレ
バージョン管理システムについて語るスレ
http://pc11.2ch.net/test/read.cgi/tech/1193332500/
バージョン管理システムについて語るスレ2
http://pc11.2ch.net/test/read.cgi/tech/1215520728/
バージョン管理システムについて語るスレ3
http://pc12.2ch.net/test/read.cgi/tech/1228366972/
バージョン管理システムについて語るスレ4
http://pc12.2ch.net/test/read.cgi/tech/1242918130/
バージョン管理システムについて語るスレ5
http://pc12.2ch.net/test/read.cgi/tech/1255241922/
バージョン管理システムについて語るスレ6
http://hibari.2ch.net/test/read.cgi/tech/1270640436/
バージョン管理システムについて語るスレ7
http://hibari.2ch.net/test/read.cgi/tech/1283780922/
バージョン管理システムについて語るスレ8
http://toro.2ch.net/test/read.cgi/tech/1295493964/
バージョン管理システムについて語るスレ9
http://toro.2ch.net/test/read.cgi/tech/1334766732/
0475デフォルトの名無しさん垢版2016/05/01(日) 15:27:33.79ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
0477デフォルトの名無しさん垢版2016/05/16(月) 06:53:06.30ID:qbgkd5A8
GPLじゃないなら組み込むアプリケーションでてくるのかな
gitを版管理として使いたいという需要以前からあるよね
0478デフォルトの名無しさん垢版2016/05/16(月) 09:24:44.48ID:HysSRgR+
gitコマンドを一緒に置いておいて外部プロセスとして使う分にはGPL関係ないし、libgit2ならリンク時例外あるしでそっち方面には影響なさそう
しかし15年前なら…
0480デフォルトの名無しさん垢版2016/11/02(水) 21:24:58.81ID:a7tHL4Q3
Git 対 Subversion:長引く争い | ReadWrite[日本版]
http://readwrite.jp/startup/4492/

なかなかGitに移行しないなんて言われてた時代があったんだな

> 2010年にはSubversionが、ソフトウェアの共同開発には
> 欠かせないツールであるバージョン管理システムの60%以上を占めていた。
> Forresterによれば、この時期Gitのシェアはわずか2.7%であった。
> Redmonkのアナリストであるステファン・オグレディが集めたデータによると、
> 今日(注2014年)ではGitのシェアは28%まで増加し、Subversionの地位を脅かしている。
0481デフォルトの名無しさん垢版2016/11/02(水) 22:43:28.29ID:MYQ7Ohex
争ったことが一度でもあっただろうか
0493デフォルトの名無しさん垢版2016/11/10(木) 09:27:15.68ID:tKSmyIgp
>>489
tsv「俺たちはお呼びじゃない」
0494デフォルトの名無しさん垢版2016/11/15(火) 20:29:13.95ID:HRzgVR+8
gitもここ数年意味ない機能追加ばかりだが
0495デフォルトの名無しさん垢版2016/11/16(水) 02:41:12.10ID:fzskfnoe
gitスレ人いなくなっててわろす
0497デフォルトの名無しさん垢版2016/12/19(月) 12:46:04.24ID:z9XVuDpo
水炊きごはん
0499デフォルトの名無しさん垢版2017/02/02(木) 00:11:38.54ID:RrrGuuGp
↓のブログによると、Subversion 「スナップショット」型で、Gitは「チェンジセット」型なんだそうだ。

SVN脳患者から見たGit
http://qiita.com/kaityo256/items/81e7951a1ca2706955a4

だけど、↓のブログによると、darcsはpatch-basedで、他のVCSはsnapshot-basedなんだそうだ。 darcs 恐るべし。

分散VCSのモデル、あるいはPijulについて
http://keens.github.io/blog/2016/02/14/dvcsnomoderu_aruihapijulnitsuite/
0500デフォルトの名無しさん垢版2017/02/02(木) 02:19:43.40ID:lRmYz8pA
不要なパッチを削除できるあたりdarcsのほうが好きだったのでうまく成長してほしい
0501デフォルトの名無しさん垢版2017/02/02(木) 08:13:39.05ID:SYC8QPRg
内部での保存方法はgitこそスナップショットでsvnは(逆方向の)patch-basedだろ?
少なくともgitがチェンジセット型ってこたーない。gitでの差分の見え方なんて後からオプション次第で変わるし
0502デフォルトの名無しさん垢版2017/02/02(木) 12:54:35.84ID:Y5kXFMjA
うむ
0503デフォルトの名無しさん垢版2017/02/07(火) 20:30:10.92ID:oyZmvWF9
SVN脳の問題点というかSVN系統の人が怖がってるのは結局
SVN 系統では commit と push が同一になっているから
merge を極端に恐れてるってだけじゃないかと。
0504デフォルトの名無しさん垢版2017/02/07(火) 20:57:37.50ID:+JGOmGWJ
svnだって、commitするときに他の人が先に変更を加えていたら
updateしてからcommitしなおす事になるし、このときローカルでちょこちょこ辻褄合わせをする作業は
git pull --rebaseと同じはずなんだけどな
0505デフォルトの名無しさん垢版2017/02/08(水) 12:17:33.93ID:6AUIUEjF
コミット時にコンフリクトする集中型の方が恐怖だけどな。
分散型は、いったんコミットした後で改めてマージするんで、
わけわからなくなっても、何度でもやり直せる。
0506デフォルトの名無しさん垢版2017/02/08(水) 23:27:00.23ID:b6dR+iVQ
いやだからその svn での恐怖心を
なんだか知らんが git を使ってても引きづってるってことなんじゃないかと。
0507デフォルトの名無しさん垢版2017/02/13(月) 15:12:37.22ID:W5+ofgFM
一番の恐怖は、コンフリクトが判明するのが後のタイミングになるってことなんだよ
Excelとかマージできないバイナリ系ファイルも一緒に管理してるから……
0510デフォルトの名無しさん垢版2017/03/09(木) 08:20:28.94ID:We1BNnwe
記事のコメントを見ると
WebKitのSVNリポジトリで、ハッシュ衝突したPDFがキャッシュ・ポイズニング攻撃に使えるかテストするために
ハッシュ衝突したPDFをコミットしたら
リポジトリがあぼ〜んってなったと言う訳か

てかWebKitってまだSVN使ってたの?
0512デフォルトの名無しさん垢版2017/03/09(木) 09:01:25.72ID:Nr7urPV/
分散型は、一旦コミットした後でマージするから、
最悪マージ前の双方のバージョンは残ってるってことじゃないの?
0515デフォルトの名無しさん垢版2017/03/09(木) 19:22:25.79ID:NWFSmelL
>>513
悪意を持った誰かが公開されているpdfをコミットしただけでぶっ壊せる
もしくはWebkitのように、システムの振る舞いを調べるテスト目的でコミットしても壊れる
0519デフォルトの名無しさん垢版2017/03/09(木) 23:11:06.25ID:SohBzwwd
>>517
旧バージョンでダンプして新バージョンでロードするだけでしょ
いままででもリポジトリのバージョン変わったらそうやってたし
0520デフォルトの名無しさん垢版2017/03/20(月) 10:28:05.47ID:tUUn7aQW
まあバージョン管理程度なら大した問題にはならんだろ。
ちょっとしたスクリプトを一枚かませばいいくらいの話。
0522デフォルトの名無しさん垢版2017/03/23(木) 00:11:04.47ID:M1uPRgNk
嫌がらせならハッシュ衝突なんて凝ったことしなくてもできる訳で
嫌がらせ以上のことが可能かといえばそういう話も無く
0523デフォルトの名無しさん垢版2017/03/26(日) 09:54:40.33ID:GxjULHy0
>>487
未だに使ってるとこあるよ。あり得ないと思った
0525デフォルトの名無しさん垢版2017/03/26(日) 11:52:30.59ID:iTS+fWTZ
>>523
普通に使ってるけど?
git だとアクセス制限とかかけられなかったりするから会社では使えないケースもあるし
0528デフォルトの名無しさん垢版2017/03/26(日) 19:12:03.88ID:K0FPpjuZ
東京電力の新会長に日立製作所の人間が就任
0531デフォルトの名無しさん垢版2017/03/27(月) 01:00:14.02ID:70JXvwsB
素人でスマンが、実際のところsubversionではできてgitではできないアクセス制限ってどんなのがあるの?
0533デフォルトの名無しさん垢版2017/03/27(月) 11:20:28.28ID:LarKYmAi
>>532
svnだとリモートリポジトリを作るのが面倒(?)とかいう理由で
全てのプロジェクトを一つのリポジトリに入れるとかいう
アホな使い方をしている例をしていたけど、そういう話?

リポジトリの一部を読み出し不可にするのであれば
その部分だけ別リポジトリに分ければ良いと思うけど?
submoduleがあるからリポジトリの特定のディレクトリだけ
別リポジトリにするなんてことも簡単にできる
0534デフォルトの名無しさん垢版2017/03/27(月) 11:21:50.59ID:LarKYmAi
それからsvnでリポジトリの一部を読み出し不可にするって
apacheの設定の話をしてる?

それapacheの機能だよね?
0536デフォルトの名無しさん垢版2017/03/27(月) 12:25:01.61ID:e29nEpzR
>>533-534
プロジェクトとかシステムの一部のソースは外注さんには公開しないと言うのは別に珍しい話ではない
アクセス制御のために別リポジトリにするのは本末転倒
あと Apache の機能で Subversion の機能じゃないじゃんとか子供みたいなこと言うのは恥ずかしくないのか?
0537デフォルトの名無しさん垢版2017/03/27(月) 14:24:08.92ID:LarKYmAi
> あと Apache の機能で Subversion の機能じゃないじゃんとか子供みたいなこと言うのは恥ずかしくないのか?

いいや? Apacheの機能を使ってもいいというのであれば
gitでも同じことはできる。
0538デフォルトの名無しさん垢版2017/03/27(月) 14:27:12.05ID:LarKYmAi
> プロジェクトとかシステムの一部のソースは外注さんには公開しないと言うのは別に珍しい話ではない
公開するものだけを渡せばいいだけの話
公開しないものと公開するものを同じリポジトリに入れる必要がない。

> アクセス制御のために別リポジトリにするのは本末転倒
それこそ別リポジトリにするべきことだろう。

別リポジトリににすればいいだけなのに、
公開しないものを同じリポジトリに入れて
アクセス制御するほうが本末転倒だろう。
0539デフォルトの名無しさん垢版2017/03/27(月) 15:01:35.22ID:X8AlYPVD
プロジェクトで要求するような詳細な権限管理はGitHubみたいなアプリケーション側ですることでSCMの責務ではない
以上
0540デフォルトの名無しさん垢版2017/03/27(月) 15:19:58.53ID:BGS+rNUA
>>538
> > アクセス制御のために別リポジトリにするのは本末転倒
> それこそ別リポジトリにするべきことだろう。
時系列を考えないと。

最初は全て同一リポジトリで社内ユーザなら誰でも見られるようにする。
その後、一般公開したり、一部を外部に開発依頼することになったりするときに、全部を公開するのがまずいとなる。
そういうときに、権限管理があったら便利だよねってこと。

最初から、将来起こりえるだろう事象を見越して、リポジトリを分割管理する方が本末転倒だと思うけどね。
0541デフォルトの名無しさん垢版2017/03/27(月) 16:41:44.76ID:LarKYmAi
最初は全て同一リポジトリで社内ユーザなら誰でも見られるようにする。
その後、一般公開したり、一部を外部に開発依頼することになったりするときに、
公開するものだけをまとめたほうがいいだろう?

アクセス禁止がデフォルト設定
公開したいところだけ、別リポジトリにまとめる


リポジトリをアクセス許可にして制限するというやり方では
ミスしやすい
0542デフォルトの名無しさん垢版2017/03/27(月) 16:48:12.04ID:BGS+rNUA
>>541
どちらがベターかはケースバイケースでしょう。
あなたがべき論でもって、権限管理方式を全否定しているからレスしただけ。
0543デフォルトの名無しさん垢版2017/03/27(月) 16:48:57.03ID:LarKYmAi
もともと「社内だけで使えるリポジトリ」と思っていたわけで、
どこに何をおいても社内だけだから安全だと思ってしまう。

「社内だけで使えるリポジトリ」の一部を社外にも公開しますよと
通知した所で、忘れる可能性がある。
その一部に間違えて、公開してはいけない情報を入れてしまったら?

そうなるから「社内だけで使えるリポジトリ」を
あとから変更するというのはやってはいけない。

「社内だけで使えるリポジトリ」は将来に渡っても
社内だけにしておかないといけない。

そうすると当然、社外とも共有するリポジトリを作るという話になる。
もちろん最初に作るわけじゃない。
必要になった時点で作ればいいだけ。

必要になった時点で必要な権限で新しいリポジトリを作る。
最初から公開するものとして作っているのだから間違えることもない。
別リポジトリにすることは、安全に公開範囲を決める方法となる

いちいち、このディレクトリって、誰が見れるんだっけ?
などと気にする必要もなくなる。
0544デフォルトの名無しさん垢版2017/03/27(月) 16:49:44.27ID:LarKYmAi
>>542
いずれのケースでもリポジトリを分けるほうがベター
subversionを使っていたとしてもリポジトリを分けたほうが良い
0545デフォルトの名無しさん垢版2017/03/27(月) 16:55:09.24ID:BGS+rNUA
>>543
そういうこと言い始めたら、ファイルシステム全体で権限管理しているLinuxなんて信用ならんってことになりませんかね。
0546デフォルトの名無しさん垢版2017/03/27(月) 17:03:34.11ID:DbmaBtXa
>>545
ならねーよ
0548デフォルトの名無しさん垢版2017/03/27(月) 17:09:35.26ID:BGS+rNUA
そう、なりませんよね。

だったら、もしgitにも権限管理機能があったら、やはり同じように信頼できるやり方ができるんじゃないですかね。
0549デフォルトの名無しさん垢版2017/03/27(月) 17:31:02.44ID:LarKYmAi
ソースコードの場合は、原則として
リポジトリの全てがないとビルドできないのだから
ディレクトリの一部が見れないという方式は取れない。

もし別々にビルドできるのであれば、
それは別のリポジトリにする方が良い
モジュールの独立性を高くできる。

モジュールの時点で独立しているので、
ソースコードの一部を隠すという発想よりも
安全に運用できる。
0550デフォルトの名無しさん垢版2017/03/27(月) 18:24:55.49ID:e29nEpzR
>>537
使っていいからやり方教えて

>>538
アクセス権限の変更が必要になる度にリポジトリの構成を変えるの?
なかなか小学生らしい斬新な発想ですね w

>>539
github ならできるの?
0551デフォルトの名無しさん垢版2017/03/27(月) 18:52:07.74ID:DbmaBtXa
>>548
論理飛躍しすぎ。
0552デフォルトの名無しさん垢版2017/03/27(月) 19:35:47.70ID:e29nEpzR
非公開の情報を間違ったディレクトリに突っ込む >>543 みたいな間抜けな奴は同じ情報を間違ったリポジトリにも突っ込むと思った方がいい
そもそもそう言う間抜けに書き込み権限を与えるなよ w
0554デフォルトの名無しさん垢版2017/03/28(火) 11:09:32.22ID:uzRike2T
>>549
> ソースコードの場合は、原則として
> リポジトリの全てがないとビルドできないのだから
そんなことない。
メインアプリ+プラグイン/ライブラリ複数を一度のビルドでコンパイルするケースは結構ある。
出力されるのが、LM + .so複数みたいな。
0555デフォルトの名無しさん垢版2017/03/28(火) 21:26:42.96ID:8XEqMjkn
>>554
一部だけビルドできるってことは、別のリポジトリにできるということ。
ならば、そうすればいいだけの話
0556デフォルトの名無しさん垢版2017/03/29(水) 10:34:46.63ID:Y3wjV6v+
>>555
> 一部だけビルドできるってことは、別のリポジトリにできるということ。
なるほど、ここに誤解があるのか。

「一部だけビルドできる」というのと「別のリポジトリにできる」というのはイコールじゃない場合が多い。
両者に依存関係がある場合ね。

簡単に分割できるのは、ビルドが不要な言語に多いんじゃないか?
0557デフォルトの名無しさん垢版2017/03/29(水) 10:55:14.48ID:BMMgvCDG
それは一部だけビルドできると言っていいのか…?
あとそれってsvnでアクセス権設定しても同じように困るんじゃないの?
0558デフォルトの名無しさん垢版2017/03/29(水) 13:17:13.75ID:Y3wjV6v+
>>557
> それは一部だけビルドできると言っていいのか…?
まあ、こんな感じですかね。
foreach dir in subdirs
 cd dir; exec build_script
end

> あとそれってsvnでアクセス権設定しても同じように困るんじゃないの?
subdirのいくつかが欠けていても、それは単にビルドされないだけですね。
あと、svnでできるかどうかは知りません。
0559デフォルトの名無しさん垢版2017/03/29(水) 13:25:46.88ID:Y3wjV6v+
とういか、別にそんな細かい話したいわけじゃなくて、リポジトリの一部をomitして提供、
あるいは一部のみ提供する必要があったとき、リポジトリを分割するだけが解じゃなくて、
権限設定機能があるならそれで済み場合もあるってこと。

なぜだか、それに強行に反対する人(たち?)がいるようで。
0560デフォルトの名無しさん垢版2017/03/29(水) 16:15:13.03ID:dkT05tkI
>なぜだか、それに強行に反対する人(たち?)がいるようで。
逆じゃないの

gitじゃアクセス権出来ないから使えない状況がある(>>525)って所が発端で、リポジトリ分ければ良いじゃんって人とリポジトリ分けられないじゃんって人が言い合ってたのが今の流れでしょ
0561デフォルトの名無しさん垢版2017/03/29(水) 16:35:56.60ID:Y3wjV6v+
>>560
> 逆じゃないの
そこも認識が違ってますね。
他の人はともかく、俺はSCM一般の話をしてたつもり。

> リポジトリ分けられないじゃん
いや、そんな人いないと思うけど・・・。

git固有の話をするなら、モジュールを分割してsubmoduleで扱う方式だと、そのリポジトリの
利用者全員に影響を与えてしまうというデメリットがあるね。
0562デフォルトの名無しさん垢版2017/03/29(水) 17:51:38.84ID:nMwlQpLq
リポジトリ分けたい人は分ければいい
俺はアクセス権のためにいちいちリポジトリ分けたりするのは本末転倒って思ってるからそんなことをしないだけ
0563デフォルトの名無しさん垢版2017/03/29(水) 18:25:33.13ID:Y3wjV6v+
>>562
ですねぇ。

この話題ももう終わりだろうから、一つだけコメントしておこう。
>>533
> 全てのプロジェクトを一つのリポジトリに入れるとかいう
> アホな使い方
googleはそうしてますね。
0564デフォルトの名無しさん垢版2017/03/29(水) 21:33:57.72ID:G25OA3ZV
>>562
> 俺はアクセス権のためにいちいちリポジトリ分けたりするのは本末転倒

いや、どこが "本末" が "転倒" してるんだ?って話なんだが。

重要なのはアクセス権が違うのだから、きちんと役割を分けましょうということだろう?
リポジトリを分ければ、きちんと役割が分かれるのだから
本末は転倒してないだろ?

やり方が複数あるってだけだよ。

リポジトリごとに分ければ、誰がそこにアクセスできるのか明確になるし、
githubなんかの情報共有でもリポジトリが別れているから、
issueなどに書かれた見せてはいけない情報だって見れなくできる。

メリットのほうが大きいと思うが?

逆に聞きたいんだが、ファイルのアクセス権に対応したチケット管理ツールとかあるの?
このディレクトリに関するチケットは見せないみたいな
0566デフォルトの名無しさん垢版2017/03/29(水) 21:56:32.41ID:rnkAS5XR
>>565の話にも関係してるけど)

それからsvnにあるのはアクセス権の機能じゃないからな。
svnにあるのはリポジトリの特定ディレクトリ以下のみをチェックアウトできる機能だけ
ユーザー登録をsvnに設定するわけじゃない。apacheなどの設定
バージョン管理ソフト自体にアクセス権の機能をつけたら無駄に複雑になる。

本末転倒というならば、むしろこっちの方だろう。
アクセス権を実現するためだけに、apacheなどと連携しなければいけない。
リポジトリそのものを分ければ、git単体でアクセス権を実現できるのに
アクセス権を実現するためだけに、ユーザー管理用のサーバーが必要になってしまう。
0567デフォルトの名無しさん垢版2017/03/29(水) 21:57:43.60ID:rnkAS5XR
ちなみに、
> svnにあるのはリポジトリの特定ディレクトリ以下のみをチェックアウトできる機能
があるために、svnではいちいちブランチ切るのに長いディレクトリ名を指定したりして
面倒になってしまっている。
レスを投稿する


ニューススポーツなんでも実況