1 :
デフォルトの名無しさん :
2009/10/11(日) 15:18:42
1Z
バックアップをとりたいんだったら 定期的にclone/pullするだけ
svndumpだろ
githubならぬbzrhubに期待age
launchpadでいいじゃん
>>9 launchpadってなんかsourceforgeみたいなんだよね。そうじゃなくて、githubやbitbucketを期待している。
ニュアンスの問題?なんだけど
誰でもブランチをプロジェクトに紐付けられるから、githubやbitbucketの方に近い気がする>launchpad
launchpadはかなり良くできてるよ。 sourceforgeが貧相に見える。
Trac っていいですか?
だんだんスレ違いになってきてね?
会社の比較的大きな(数十人)プロジェクトで使えるものを検討しています。 無料、有料どちらでもかまわないので、皆様のお薦めのバージン管理システムを教えてください。
・数十人なんかぜんぜんたいしたことない ・OSは? ・IDE使うなら何使ってるのか?
svn
>>15 >>16 に追加して、
・日本語ファイル名使う?
・メンバーのクライアントOSは?
・サーバーOSは?
>>15 gitかbzrで良いよ
コツはモジュールの開発者毎にブランチを分けることね。
代表がそんな程度なら、使わないほうがいいよ
>>15 SVN
・比較的ドキュメントがそろっている
・問題があったときも情報が検索で出てきやすい
どうも、メンバーが技術的にバージョン管理系のソフトに
慣れてなさそうなので情報の少ないソフトはやめておいた方がいいと思います。
余裕があるなら、分散管理系が開発者としては楽なんだけどね。
>>15 perforce
個人的に頭のおかしいやつが多いbzrだけはやめとけwww
日本でperforce使ってるやつなんて居るの? Google除いて
>>25 集中型で一番まともなのがperforce
使ってるところも沢山ある。
>>26 >集中型で一番まともなのがperforce
kwsk
>>26 >2009/10/13(火) 18:54:13
kwsk
ksks
我慢していたが限界だ。
俺はココに突っ込みたくて仕方ない。
>>15 >バージン管理システム
エロい意味でなくなぜ誰も突っ込まないのかと、
皆のスルー力に脱帽した。
素で気づかなかったわ・・・
perforceってGoogleに使われてるってことで知ったけど、それまで名前も聞いた事無かったな。 日本で無名なだけなんだろうか。
使われてないだけだと思う
やっと20の意味が分かった
AppleもPerforceじゃなかったっけ
perforceといえばjam
>>26 まじ?初めて聞いた。
具体的にOSSなどの採用実績を教えてください
Perforce(p4)っつーと、FreeBSDかなぁ。
FreeBSDはsvnに移行してなかった?
ksk
gitでAというタグが打たれた時のaというファイルの内容を見るのに、今は git ls-tree A a としてから git show をしてるんだけど、これを一発で直接見る方法はあますか?
bzr-gitを入れて(ry
>>44 へぇー bzrってそんなこともできるんだwww
>>40 master repository的な意味合いで行くとcvsからsvnに移行してる。
p4のrepositoryがmaster repositoryだったことはない。
好き勝手に開発したいけどcvsのbranch使いにくいってことでp4使い始めた人達がいたけど、
svnに移行した以上p4使い続ける意味はないはず。
単に「使ってる」って意味合いだけで挙げたんだが……まあいいか。
ああ、いいならいいや。 master repositoryがp4だった時期はないってことをはっきりさせときたかったんでね。
>>49 C#でgit?はぁ誰得だよ、と思ってたら、
Windows用gitの救世主となるのかな。これは期待。
記事見るまで知らなかったけど java 実装の git なんてのもあるのか。 たしか ruby 実装のもあるって話が前スレであったと思うし、なんか色々乱立してかえってややこしいことになりそうだなぁ
前スレに出てたのはgitのpython実装であるdulwichのことでしょ。bzr-gitに使われてるやつ。
54 :
デフォルトの名無しさん :2009/10/16(金) 16:38:29
>>53 これでまた暴動でも起こるんですかねwww
55 :
デフォルトの名無しさん :2009/10/16(金) 17:31:40
なんで?
うーん やっぱりMercurialが今後主流になるのですかねえ… どれが主流になるか判らなかったんでずっと様子見してたけど そろそろ使い方を勉強しても、無駄にはならないか…
OOoってCVSだったのか…未だにCVSのとこってけっこうあるんだねぇ
この一見だけで Mercurial って思えるのが不思議。 乗り換え先が git のほうがプロジェクト的に多いだろ。
SunがMercurial好きってだけじゃね?
>>59 が正解。
でも太陽に陰りが見えるから、メルクリウス神がろくでなしになるのも時間の問題。
>>60 あはは。そんな馬鹿な
と言い切れないのが怖いです…
Sunって桃鉄で言うところの
ここまで来てGitとhgのどちらかが潰れるとは思えないがねぇ そう思える人はよほど相手を潰したい人なんでしょ
誰もそんなこと言ってないが。
>>60 はSunがOracleに買われて、hgからgitびいきに変わるだろうって予言しょ。
太陽に陰り→日蝕→Eclipse→IBM→Clear Case やっぱりIBMに買われてた方が自然だったな>Sun
でも、IBM Rational ClearCaseになるのは勘弁
もう飽きたし面倒くさいからSubversionとRCSでいいや(´・ω・`)
bzrにしようと思ってたんだが、人気ねー
TortoiseRCSがあったらいいというのに(´・ω・`)
ローカルでしかバージョン管理しなくても、今や分散型を(限定的に)使えばいい時代だから、RCSがこれから顧みられることはないだろうなぁ
gentooだと/etc以下、設定ファイルなんかの世代管理ツールのバックエンドにRCS使ってたと思う。
みなさんに質問なのですが、 あるディレクトリ以下のバージョン管理を始めたあとに、 その親ディレクトリもバージョン管理しないといけなくなった場合、 どのようにしますか? たとえば $HOME/src/hogehoge.c を src を基点にバージョン管理を始めたあとに $HOME/.bashrc のバージョン管理をしたくなったらどうしますか?
>>71 ./hogehoge.cを./src/hogehoge.cに移動
できるだけ最初からディレクトリ構成を練っておく。 もしそうなった場合は移動するだけ。 CVSでもなければ移動は簡単でしょ。
>>71 みたいな例は.bashrcがそもそも移動できない例だけど、
逆にそういう実際の例が思いつかないな…。
unixやVista以降なら、ファイル単体のシンボリックリンク張ればいいのかね。
>>74 俺様は~/configの下に設定ファイルを集約してシンボリックリンクにしてる。
eg ln -s config/emacs .emacs
>>70 ファイル単位の履歴で十分な用途だとRCSでもいいかもね。
RCSだと余計なライブラリとか言語処理系は不要だし
いざというときのサルベージでは安心できる。
77 :
デフォルトの名無しさん :2009/10/18(日) 11:35:08
RCSとか言ってるやつはネタだろ。 そんなマジレスしなくても
>>77 いやだからクリアケース使ってる人の大半は
そんな欠点は百も承知の上で IBM がらみで仕方なく使ってるんだってば
いいこと思いついた。 ClearCaseは使うふりにとどめて、実際の作業では別のVCS使えばいいんじゃね? IBMが「ClearCaseを全ての場面で実際に動かしているか」なんて逐一チェックしているなら無意味だが。 (スパイウェアでも仕込まない限りは…ね)
Wikipediaの記事見たけど、これが1990年代に開発されたことを考えればすごく野心的だな。 「svn? git? それは我々が20年前に通過した場所だ!」とか何かのインタビューで豪語していた のも分からんでもない。 最大の問題は、理論だけが先行しちゃった上にコードが古すぎるって事ではあるんだろうな。
で?
っていう
理論だけで役にはたたない。 それ何てタネンバウム?
astはちゃんと実装までやったし、その実装も教育用のものとしては依然として 使いものになるからその批判はまとまずれ。
ClearCaseと同じじゃん
実用 git, linux --------- 越えられない壁 ---------- 教育用 ClearCase, タネンバウム
犬のコードなんか教育用に使えたもんじゃないしな.
BSDは教科書どおりに無駄なフィールドあるしな。 プロセス構造体とかw 教科書とおりって意味では教育的だがw
task_structとか、mm_structとか、_struct付けるのはあたまわるいとしかおもえないんですが.
さあ、盛り上がってまいりました。
linuxは、頭が悪いやつがつくっても 目玉の数が多ければ大丈夫という開発モデルだからね。
BSDは頭のいいやつが考えるんだが、時間が掛るし頑固者が多いので なかなか進まないという
ひとり7万ってなめてんの?
VSSからどの程度改善されてるんかね。 というか、どこの製品を買収したんだ。
ヤタ!朕が98げっとだ!!お前等朕にひれ伏せ!クソ共が!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /\ /\ /神\/../ / /\ \(´∀` )./ ())ノ__ ○二○二⌒/../ / /||(二ニ) (___/../ 几l γ ⌒ /|V||彡Vミ/⌒_ノ二二ノl0 l| (◎).|l |((||((゚ )/⌒/||三三三・) || (´⌒(´ __ ゝ__ノ  ̄(___) ̄ ゝ__ノ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄(´⌒(´⌒;; 朕は神なり!朕は神なり!朕は神なり!朕は神なり!朕は神なり!朕は神なり!朕は神なり! 朕 IS GOD!朕 IS GOD!朕 IS GOD!朕 IS GOD!朕 IS GOD!
Windowsで立ち上げてるsvnservにMax OS Xからアクセスするときに、 ホスト名ってどうやって指定したらよいんでしょう・・・。
IPアドレスかNetBIOS名でいいんじゃないの
現在研究室ではTortoiseSVNをローカルのリポジトリのみで使用しています。 作業コピー(orコピー)をUSBメモリに入れて自宅でもコーディングをしたいのですが 自宅PCなのでTortoiseSVNみたいにシェル統合されたくありません。 TortoiseSVNみたいにSubversion無しで(TortoiseSVN単体で)使用できるようなシステムは無いでしょうか。 欲を言えばUSBメモリでリポジトリ+システム全部が持ち運びできるようなものがいいです。
>>102 > 自宅PCなのでTortoiseSVNみたいにシェル統合されたくありません。
> TortoiseSVNみたいにSubversion無しで(TortoiseSVN単体で)使用できるようなシステムは無いでしょうか。
Subversion無しでどうやってTortoiseSVNを使うんだよ・・・。
クライアントだけあってもしょうがないだろうに。
>>103 TortoiseSVNはスタンドアロンでリポジトリの作成〜インポート〜チェックアウト〜Diff〜コミットなどなどできるんよ
>>103 すげぇ〜、実はTortoiseSVNの事、これっぽっちも知らなかったのに
この上から目線の「俺は何でも知ってるんだよ!カス!」口調。
さすが2chだ、何ともないぜ。
>>102 シェル統合が嫌なのはわかったが、CUIがいいのか、WinCvsみたいなスタンドアロンのGUIがいいのか。
107 :
102 :2009/10/25(日) 10:15:50
TortoiseSVNみたいにGUIで出来たほうがいいです。
RApidSVNとかなんとかいうのあるはずだろ。 というかなんでぐぐらんの?
ググるのくらいお前らがやってくれよ
そもそもググる必要なくね? subversionのウェブサイトへ行けば、殆ど必要な物すべてにリンクが通じてるぞ。
git svnがお勧め GUIなし、svnが陳腐に見えて使えなくなること請け合いだが
ClearCaseは糞
>>102 svnやめてgitにしたらいいよ
hgでもいいけど
114 :
102 :2009/10/25(日) 14:31:30
>>108 RapidSVNはGUIフロントエンドで結局Subversionも入れないとダメみたいな記事を見かけたもので、
一応ググったんですけど、TortoiseSVNみたいに単体で使えるものが見つからなかったのでここで聞いてみました。
>>110 subversion無しで使えるものが欲しいのです。
>>111-112 ありがとうございます。調べてみます。
>>114 君の使い方ならsubversionじゃない方がいいんじゃないか?
中央集権型のリポジトリと相性が悪そう。
分散リポジトリを検討するが吉
subversion不要ってのが意味不明だなw リポジトリ自体が不要? I/Fだけあってもしかたないのに 何の恩恵を受けてるか自覚が出るまで放置だな
TortoiseSVNのシェル拡張じゃないやつが欲しいんだろ 何でそんなつまらんことにこだわってんのかわからんけどさ
ようするにインストールの仕方がわかんないんだろJK
TortoiseSVNにもsubversionはいってるはずだがw
ようするにCUIは使えないってことか 分散は100年早いよw
別にSubversion入れればいいじゃんって思うけど入れるのがダメな理由なんなわけ
122 :
デフォルトの名無しさん :2009/10/25(日) 18:51:36
Rational ClearCase なんて使うならCVSの方がよっぽどまし。 つーか、Subversion使えよ。おすすめ。 ClearCaseなんぞIBM工作員しかマンセーしないから。
tortoiseSVNをインストールせずに、リポジトリの入ったUSBをさしたところで使いたいってことだと思う。確かに、制限ユーザーだとインストールできないし。 subversionのコマンドライン版を使う。 GUIが欲しいなら、Python版のGUIクライアントがあったと思うけど。
バージョン管理システム略してバーカン
125 :
デフォルトの名無しさん :2009/10/25(日) 18:55:54
バカシス
>>123 そんな時はsvnじゃなくてgitか水銀だろJK
リポジトリもワークも同じだからUSBで無問題。
しかし、GUIが欲しいJKには使いこなすのはムリポ
bzrはポータブル版(nonadmin?)があったような、、 bzr-svnでいけんじゃね?
話の限りではsvnじゃなくてbzrがベストなんじゃね 確かスタンドアロンのGUIが標準添付だったはずだし 伝聞だけで使ったことが無いもんだから、お勧めできる立場には無いけど
その前に学校で開発してて、windows使ってるのがありえない 最近の情報学科もゆとりなわけ?
そういえば、M$のOS上にリポジトリ置いたことないから お勧めできる立場にないや
>>129 熱くなる気持ちは分からんでもないが、WindowsにVisual Studioの組み合わせが主流の学校は別に珍しくないよ
なんか盛り上ってまいりました
>>132 Visual Studioもいいが、そこでSVN使うの?
SourceSafeとかあったような
JKがいると雰囲気変るよね 明るくなるっていうのは、おバカで明るくなる
>>134 SourceSafeだけは あ り え な い
>>135 俺は学生の時からlinuxばっかりだな
M$製品使うなら統一しなきゃ バージョン管理だけsubversionってw
おまえらVSSの話はかまわんがVSとWindowsの話はスレ違いだ
わかりましたー 先生
VSSとかMS自身からも見捨てられた骨董品じゃねえか 今さら進んで選択する人なんているの?
教育に使うならM$と心中したらいいのにな せめてsubversionでなくM$社内で使ってるものにしたら?
何やら過激派が紛れ込んでいる様子
そいでJKはまだ帰ってこないのか
>>143 ちょっと上にレスしてるWindows(笑)って馬鹿にしてる無知な奴らだろうね。
VSにSVNアドオンとか普通にあるのにw
svnも時代遅れだよ 無知なやつら
VSにはVSSがお似合い。プップッ
しかし、お前ら馬鹿にされ過ぎだぜ。 言い返す技量もないと見える
>>148 え?そこ?さすが有能な方は理解しがたい所を指摘しますなぁ・・・
bzr には bzr-explorer というシェル拡張じゃないGUIがあるよ。 標準のインストーラーでは、デフォルトでbzr explorer がインストールされて、 TortoiseBZRはデフォルトではインストールされない。
そういう話じゃないだろうw
svnが最高と思ってる奴らに何を言っても無駄なようだ
個人なら好きなの使えるけどな 実際は他の人が変えたら無い訳で
普段使ってるツールが対応してるとかアドインがあるかどうかでも変わってくるしな
それは分るな。 gitにしたいけど周りのこと考えて無難にsvnをベースのリポジトリにしてる 自分だけはgit-svnで快適に暮す
他が安定してればsvnじゃなくてもいいんだけどな
gitやHGの使い方覚えるくらいなら他の事勉強するって10人に8人は答える
そしてその半分以上は勉強以外にその時間を使う
で、結局CVSやSVNで我慢する
一方、gitを覚えた奴は賢いマージ、軽いブランチなどにより 生産性があがり、自由な時間が増える
その自由時間で他の事も勉強できる
生産性あげても他の人の遅れをフォローするハメにあって結局
gitのおかげでハゲが治りました
その時間があるからこんなスレでくだらないことも書きこめるわけだな
そう!gitサイコー
ワラタw このスレエディタでコーディングしてる奴多そうだな
そしてvim vs emacsまでこなせるのかこのスレは。優秀だな。
171 :
デフォルトの名無しさん :2009/10/30(金) 09:51:27
git より hg の方が良さげだ。
今月号 Software Design が git 特集なんだね
Windowsでgit-svn使おうとして絶望した
ギットギットにしーてやんよ
なんでgitはメンテナが日本人なのにWindowsでの日本語ファイル名扱いがうんこなの? Windowsがウンコとか言われると反撃できないのでそれはやめてね
gitはLinuxの開発のために作られたから、Posix API にベッタリ依存しているだけ。 unicode cygwin使え。
結局、svnの次は、hg,git,bzr 三強時代ということ?
179 :
デフォルトの名無しさん :2009/11/03(火) 18:29:26
>>178 bzrはないwww
Ubuntuに関わると必須になるのはただの悪夢
世界的にみると今さらbzrは無いだろうとは俺も思うが、日本じゃこれからbzrが主流になる可能性はまだある
この三強のどれかが今更廃れるとも思えないがな
Windowsの本命はGitSharpかもしれない…
183 :
デフォルトの名無しさん :2009/11/03(火) 22:20:13
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄」 ―――――――――――――‐┬┘ | ____.____ | | | | | RationalClearCaseを | | ∧_∧ | | 窓から | |( ´∀`)つ ミ | 投げ捨てろ | |/ ⊃ ノ | |  ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄ | ミRationalClearCase
英語圏の(マルチバイト文字不要な)奴らが実質主導という悲しい現実。
185 :
デフォルトの名無しさん :2009/11/04(水) 04:26:45
マックで濁音や半濁音が入ると文字化けします。 なんとかならんのでしょうか?
結局 git と hg と bzr はどれがいいんだよ
gitが一番つぶしが効くと思う githubとかあるし。 rubyかlinuxを良く使うなら一択じゃないかな
hgが一番つぶしが効くと思う bitbucketとかあるし。 PythonかJavaを良く使うなら一択じゃないかな bzrが一番つぶしが効くと思う Launchpadとかあるし。 MySQLかemacsを良く使うなら一択じゃないかな
結局 git と hg と bzr はどれがいいんだよ
自分が関わっているか関わりたいプロジェクトで使ってるやつを 選べばいいだろ
bzr-svn が 1.0 になり、 bzr-git もだいぶ動くようになってきて、 bzr-hg も開発が活性化してきた。 どんなVCSを採用しているプロジェクトに参加するときでもクライアントはbzrだけで済むようになれば、 一番「つぶしがきく」のはbzrだな。
バザールでござーる♪
みなさん darcs はもう眼中になしですか?
はい。
あれコンパイルするの異様に難しいし
199 :
デフォルトの名無しさん :2009/11/05(木) 23:00:23
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄」 ―――――――――――――‐┬┘ | ____.____ | | | | | RationalClearCaseを | | ∧_∧ | | 窓から | |( ´∀`)つ ミ | 投げ捨てろ | |/ ⊃ ノ | |  ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄ | ミRationalClearCase
>>196 何であんなとろくさいのを使わんといけんの?
理論的に明らかにdarcsはとろくさいじゃん。
darcsが一番つぶしが効くと思う Patch-tagとかあるし。 haskellかhaskellを良く使うなら一択じゃないかな
>>202 そんなことないよ。
hgとかgitとか最近は多いよ。
IBM Rational ClearCaseが一番潰し甲斐があると思う。 ClearQuestとかあるし。 IBMかその下請けの仕事なら一択じゃないかな。
hgがいいお。いいんだお!!!
ApacheはGitだったっけ?
svnをgitで管理するんですね
ローカルでロールバック目当てに作業するならhgなんだけど、 会社で使うとなるとフォルダ移動が出来るsvnだな。 分散リポジかつフォルダ履歴管理が可能な国際化対応ツールがあればいうことなし。
>>210 分散かつフォルダを管理してUnicodeファイル名に対応したbzrをどうぞ
gitもあるじょ
213 :
デフォルトの名無しさん :2009/11/06(金) 23:00:51
>>211 分散でもなく集中でもなく意味不明なbzrはパス
いや、普通に分散だと思うが。
215 :
デフォルトの名無しさん :2009/11/07(土) 02:09:59
>>214 リポジトリをコピーするコマンドもないのに分散と言えるのか?
多少遅くてもいいんで、Javaポートしてくれと思ったり。
レポジトリをコピーする必要があるのか?
>>212 gitはフォルダを管理しないしUnicodeファイル名対応もまだだろ。
>>216 bzrはJythonで動かした報告があった。
今の bzr-eclipse とかは、外部プロセスとしてbzrを起動してるけど、
将来はJythonのbzrで動くかもね。
いい加減VSSとかやめて欲しいんだがうちの会社
VSS6cだかは死滅して欲しいな。 てかソースコードはUTF-8に統一して欲しい。 プラットフォームコード使って誰が幸せになるんだ。
UTF-8はダサイじゃん。 BOMの有無だの、それこそ「プラットフォーム特有」のエンディアンの違いを サポートするだの、もうちょっと漢らしいスペックだったら、よかったのにね。 ちょいとばかり、女々し過ぎるスペックだよね>UTF-8
ぼくのかんがえたさいきょうの国際化エンコーディング形式
TRONコードなんてなかった
UTF-8はもともとBOMいらないでしょ。 誰かが勝手に付け加えただけ。
BOMがないとシフトJISやEUCとの判別がつかないので、混在している今は必要悪でしょ。 たまに判別失敗して文字化けしてもいいなどという、いい加減なシステムはともかく。 FTPクライアントでBOMの有無を自動変換してくれると助かるんだが、俺が使っているのには そういう機能がないな。
>>226 > BOMがないとシフトJISやEUCとの判別がつかないので、混在している今は必要悪でしょ。
Shift_JIS と EUC-JP と2つの時点で同じ問題があるのに BOM のようなものが必要に
ならなかったのはなぜでしょうか?
統計的判定や手動設定で妥協していただけで判別コードが必要なかったわけではない
でも実際にUTF-8のテキストファイルでBOMのせいで誤動作起こすケースがあるし 邪魔なことは邪魔。もともとミスで入れちゃったんじゃないの? バイトオーダー関係ないのにBOMなんて・・・
美乳とか、な。
Winのメモ帳は強制的に入れてくるな
あるあるw 他の人がメモ帳で編集したjavaのソースがコンパイルで引っかかったっけな。 コンパイルの仕方もわからないのに編集してコミットすんなと。
UTF-8のBOMで酷い目にあったことは何度もあるが、BOMがあったおかげで救われたことはただの一度もないな。 必要悪ですらない。
VisualStudioは一応聞いてきたと思う。 BOMいれちゃってもいいのかい?と
BOM入れたときは、幸せになると思ったんだよ・・・ CPUにUnicodeネイティブで扱う機能がついたら幸せになるかもな。 って・・・もしかしてあったりするの?
JavaだとUTF-?の場合には8を除いてBOMを付ける。 BEだのLEだの付けるとBOMは付かない。合理的でいい。
40代2児の父親です。 上の娘がもうすぐ思春期を迎えるのですが、 結婚するまで傷物にしたくありません。 どのように管理すればよいでしょうか?
>>239 こういうのって当人は面白いと思ってやってるのか?
242 :
デフォルトの名無しさん :2009/11/11(水) 12:23:51
場の空気を読めないやつって必ずいるよね
200レス分くらいスレをリロードしてなかっただけだから許してやれ
もっとファイルシステムに深くバインドされるべきだな。 ZFSだかはこの手のロールバックは得意らしいじゃん。 Windowsにシェル統合されるくらいならMSが統合しろよと。
>>129 >>132 うちの大学は、工学科だが(情報科もある)8年ほど前にクライアントマシンは全台
UnixのワークステーションからPCのWindowsに変わっちゃったぜw
行儀悪い学生のマシンにtelnetしてCD開閉できなくなって悲しす(どっちにしろ今はtelnetなんてふさぐだろうが)
>>194 しかしなんで、bzrをほめる時は、〜〜になれば一番、的な口調になるんだw
未来のことばっかw
実験室でWineつかってエロゲやってすみませんでした
>>245 現時点ではbzrの利点はUnicode対応とshared repositoryくらいのもんだな。
gitの運用上の質問があります。
例えば、下記のようなRailsアプリの雛形のようなリポジトリがあります。(リポジトリhogeとします)
psousa's baseapp-orange at master - GitHub
http://github.com/psousa/baseapp-orange このリポジトリをforkして改変したい(例えば日本語リソースの追加など)(リポジトリmy_hogeとします)、
かつ、このmy_hogeリポジトリを雛形として新しいアプリを作りたいという場合(リポジトリmy_appとします)
もし、雛形を弄った変更をmy_appにも反映させたい場合は、
my_appをmy_hogeからcloneして、my_hogeを弄り、my_appでmy_hogeからpullすればOKですよね。
また、my_hogeの改変をぜひhogeに取り込んでほしいという場合には、
githubで言えば、pull requestして、pullしてもらえばいいわけですよね。
さて疑問があるのですが、my_appを作っているときに「あ、この機能は雛形にしておいたらいいな」と思った場合、
どうしたらいいものなんでしょうか?
つまり、my_appの機能の一部(もしくはあるコミット)をmy_hogeに適用したいという場合です。
単純に、my_appからmy_hogeにpushしてしまうと、全部適用されてしまうのですが、どうしたものでしょうか?
my_appでパッチを作って、my_hogeに適用、という原始的な形になるものでしょうか?
249 :
デフォルトの名無しさん :2009/11/15(日) 20:17:32
>>247 shared repositoryのどこがメリットなんだよwww
>>249 複数のブランチを分離しながら、共通するリビジョンをまとめて格納できるところ。
hgやgitは、複数のブランチがくっついた状態でリポジトリに格納されてしまっているから、
clone時に不要なブランチの分まで転送しないといけなかったり、
逆にある程度履歴が共通の別のブランチをcloneで持ってくるとすでに持っているリビジョンまで
転送したり格納したりしてしまって非効率。
>>248 >もし、雛形を弄った変更をmy_appにも反映させたい場合は、
>my_appをmy_hogeからcloneして、my_hogeを弄り、my_appでmy_hogeからpullすればOKですよね。
my_appをどこにも公開していないのなら、rebaseのほうが良いよ。
>単純に、my_appからmy_hogeにpushしてしまうと、全部適用されてしまうのですが、どうしたものでしょうか?
>my_appでパッチを作って、my_hogeに適用、という原始的な形になるものでしょうか?
どちらのブランチも自分で管理しているのなら、cherry-pickが使えると思う。
相手にpullリクエストするのなら、貰って欲しいコミットだけをまとめ直したブランチを
cherry-pickとかで作って、そこから貰ってもらう。
相手にパッチ送るなら、git format-patchで作れる(gitはパッチでやり取りするのは得意)
252 :
248 :2009/11/17(火) 08:21:21
>>251 ありがとうございます。
my_appは公開しています。
my_appとmy_hogeは両方とも自分で管理しています。
rebaseと、cherry-pickを見てみます。
すみません WindowsUpdate のような仕組みを 自作のプログラムにも入れたいのですが どんなツールがありますか?
スレ違い
windowsとunix環境で使いたいのだけれど、コメントの文字コードは何にしたらいいですか?
使ってるバージョン管理システムによる
いやいやUTF-8の一択でしょ
コメントをバイナリでなく文字列として扱うシステムなら、そもそも文字コードをどうするかという概念すらないわけだが
bzr ってその場で古いバージョン取り出せないのか? なんと不便な。
そんなアホなことあるかよ
>>253 バージョン管理以外にもCDNも必要だしね。
安易にアップデート機能つけるとUACではまる場合もある
263 :
デフォルトの名無しさん :2009/11/17(火) 15:09:29
どうしようもないばかだな
あふぃりえいとサイトでupdate配布して そこにダウンロードしにいくプログラムを 大勢に配布するのが良いよ
>>253 VCS関係のプログラム作ってると解釈してマジレスしとく。
全て自前で揃えるとなると、ミラー鯖増やしたり、クライアント毎に更新に時間差を付けたり、公開鍵暗号使った改竄チェック付けたり、チェックサム検証付けたりと何かと大変。差分アップデートにするならバイナリdiffも必要。
オープンソースならcygwinのリポジトリにでも突っ込んどきゃおk。自前で作るにしてもGPLのソースならごろごろ転がってるし、ミラーの仕組みも整ってるから適当にガンバレ。
クローズドソースなら確実にセキュリティーの更新できるようにしろ、ただ勝手に自動起動するな、方法は知らんガンバレでFA。
なんだこいつ
268 :
デフォルトの名無しさん :2009/11/18(水) 07:04:03
IBMのClearCase使えよ 使いづらくておすすめだよ
執拗にClearCaseを攻撃してる奴は何をしたいんだ。
現在 svnが中心で、hgをちょっと試してみたいと思ってる身ですが そこそこ hgで管理していった後に、やっぱり svnがいいなぁと思った場合は hg → svn の移行をサポートしてくれるツールとかありますか? svn → hg の移行はあるようなんですが...
>>271 svnは分散特有の名無しブランチ・マージを表現できないからhgからの移行は
厳しいんじゃないの
でも、bzrはsvkの形式でbzrのmergeをsvn上にpushできるぞ。
>>272 >svnは分散特有の名無しブランチ・マージを表現できないから
bzrは分散ではないということでいいですか?
えっ?
Activestateがtracベースのバージョン管理サービスを始めましたね
えっ?
>>278 とりあえずプロジェクト作ってみたら、PublicになってPrivateにするやり方がわからない。
SCMはsubversionとMercurialが使える。
日本語使用が問題ないかどうかは試してない。
あと、truc糞重い。
>>279 金払わないとPrivateに出来ないけど払ったの?
>>280 もちろん払ってないよ。
とりあえずどんなものか見るためだけにプロジェクト作っただけだから。
あの重さじゃ、金払おうとは思わんね。
社命で来年度からClearCaseを導入することになってしまったんだけど、
使い勝手はどんなもんでしょうか?
>>1 のテンプレートにものってないということは
かなりマイナーなソフトなんでしょうか?
>>282 ネタでないなら殺伐とするからやめれ
スレを検索しろ
ググレ
マジなら「ご愁傷様」の他にかける言葉がない
人によっちゃ「御愁傷様」って言われかねないレベルのソフト
あ、かぶったわ・・・
リロードしたら俺が無意識に2度書き込んだのかと思ったw
ワラタ
ワロタ 俺が書き込んだのかと思った
ClearCase使わされてる会社って「それ以外を排除しているかどうか」みたいな監査でも入るんか? 毎回思うんだけど。
IBMの営業から金を貰っているんじゃないだろうか
IBMもClearCaseの出来が悪いと分かっていながら(Wikipediaにもはっきり書かれちゃってるし) 取引先に使わせるとは酷だな。 仕事貰ってるとこが営業ってことで進んで買っちゃうのかもしれないけど。
仕事まわす代わりに自社のPCを買わせてるメーカもあるんだ。 それに比べりゃかわいいものさ。
PCは壊れたときだけ差がつくが Clearcaseは日常的にクソ 結構差は大きいと思うが
俺も毎回思うんだけど、ClearCase使わされてる会社って、普段はSVNなりなんなり 別のSCMを使っていて、たまに正式なコミットと称してClearCaseを使うっていうんじゃ だめなのかね?
自分はローカルでrcsを使うことはある ちょっとスナップショットを取りたいと思ったときに気軽に取れるから
>>296 mercurialとかの方がいいぞ。ディレクトリまるごと対象にできるし。/etc配下の管理なんかに使ってる。
分散型だけど完全ローカルでパーソナルユースにしか使ってなくても充分便利だよね
301 :
デフォルトの名無しさん :2009/11/23(月) 03:08:12
ClearCaseってIBMのRationalClearCaseのことで合ってるのかな? それって評価版ってないの? あればちょっと使ってみてレポートでもあげてみようかな。 どこまで屑なソフトなのかちょっと興味がある。
302 :
デフォルトの名無しさん :2009/11/23(月) 15:54:15
>>299 ディレクトリ全体でなく、ファイル一個だけ管理したい場合もある。
設定変更に自信がないときの一時バックアップとして、とか。
>>302 それだけならコピーしてリネームでいいんじゃね? とおもた
いや、バージョン管理するからには履歴が必要なんだろうけどさ
>>302 Mercurial はディレクトリは管理しない。強制的にすべてのサブディレクトリと
ファイルが管理対象になるわけじゃない。追加したファイルだけ。
前のデータサーバー(個人だけど)では/ etc の管理に CVS 使ってたけど、CVS は
ディレクトリ毎に管理ディレクトリができるから、apache の一部の設定など、ディレクトリを
再帰的に読んで、存在するすべてのファイルを設定ファイルとみなして処理しようとするような
ファイルの管理には不便だった。
Mercurial は、一番上に一つ管理ディレクトリができるだけだから便利。
>>301 IBMはもうRational Team Concertを押してる。
RTCのバージョン管理ツールがClearCaseの可能性もあるが知らん。
>>306 そこ見る限りもうClearCaseは過去の遺産のように思える。
308 :
デフォルトの名無しさん :2009/11/24(火) 14:11:21
わざわざPythonで実装済みのものをRuby再実装する意味が判らない。 Pythonで開発すればmercurialやbzrとの100%互換性が手に入るし、 dulwichという高品質なgitライブラリもあるし、生産性は同等で、 起動速度もメモリ消費もPythonの方が有利だろうに。
Rubyで再実装することで、Rubyの他のプロダクトから使いやすくなるメリットが ないわけではないかもね。 # dulwichがPythonで実装されてなかったら、bzr-gitはもっと大変だったはず。
逆逆。dulwichはbzr-gitのために作られたの。
なるほどそうなのか。Bazaar恐るべし。
開発陣のやる気だけは一流なんだよ>Bazaar
>>313 だから将来に期待しとく。
いつになるかわかんないけど。w
現在のBazaarには何が足りないの? 足りないのが人気だけなら、強力な機能を開発して人気Getは正しい戦略だと思うんだけど。
GoでGozaarを作ってみようと思う
319 :
316 :2009/11/25(水) 07:25:34
>>317 使ってるけど癖が強いなんてこと全然無くて、何でこんなに人気無いのか不思議。
>>316 たんに後発だからでしょ。
ライバルはけっこう強力だしね。
オレは、bzrが普及したら使おうと
考えてるチキン。
GUI付きだし、Windowsユーザーには一番向いてるよな Ubuntu開発チームが生み出しただけのことはある
GUIは自分の環境だとダメダメだが、 SJISのダメ文字を扱えるだけで一択だわ 超頑張れ
>>319 update で任意のリビジョンを取り出せないとか十分使いにくいと思うけどな。
それに Tourtoise がプロジェクトに含まれてる割には完成度低いし。
>>324 update と完全に同じ挙動ってわけじゃないけど
任意のリビジョン取り出すだけなら revert -r revno じゃだめかな
まあ取り出せるけど、変更したことになるし。 大抵 update で任意のリビジョンが取り出せるから、 ほかのツールから移ってくると違和感おおありだね。 なんで合わせないのか不思議だ。今後実装されるんだろうか。
そもそも何のために過去のバージョンを取り出すのかによるけど、現行との差分を見たいならdiffだし、 逆に本当にスナップショットがほしいなら"export -r リビジョン番号"が正解。 過去の時点から分岐するなら "branch -r リビジョン番号" が正解。 「up -rリビジョン番号」 というのは、目的に到達するために遠回りする過去の手法だと思ってる。 たいてい作業ツリーをまた最新版にもどすんでしょ?
なるほどねえ。理屈ではそうかも知らんけど、たとえば コンパイルや実行にちょっとした準備が必要だったりする場合とか、 文書だったら、たかだか前のバージョンを取り出すためにテンポラリなディレクトリ 作りたくないとか、まあ好みかもしれないけど、意味はあると思う。
リモートリポジトリのブランチを指定してpullしようとすると $ git pull origin foobar fatal: Couldn't find remote ref foobar というエラーがでて困ってます。 $ git branch -r | grep foobar origin/foobar というように、リモートリポジトリにfoobarブランチがあることは確認しています。 だれか助けて。
>>330 自己レス。
git clone し直してみたら、foobarなんてブランチはすでに消されてた。
つまりgit branch -rでは表示されるけど実際には存在していなかった。ショボーン
お騒がせしました。
>>329 作業ツリーの中で古いファイルを一時的に使いたい場合であれば、
bzr merge . -r-1..<戻りたいリビジョン>
で一旦古いバージョンに巻き戻して、必要な作業をした後、
bzr revert
で最新に戻すことで、一応できる。
もっと直接的な方法があるかどうかは不明。
>>328 よく使うのはちょっと前のリビジョンに戻してmakeして確認してみるという時
かなぁ。cvs→svn→hgと乗り換えてきたのでupdateが自然に感じるん
だが、gitやbzrはちょっと違っていて使い方がよくわからん。
何、bzrて任意のリビジョンとりだせないの??? マジで・・・ 例えば、特定リビジョンで報告されたバグとか再現する時同じ環境用意するのどうすんだよ 片手落ちすぎる
bzr update -r revnoが実装されるまではbzr revert -r revnoとかbzr pull -r revnoとか使っとけ
exportでいいじゃん
>>332 が答え言ってるじゃん。
revert や pull したら、最新リビジョンが古いリビジョンに設定されてしまうから、
また最新に戻すのが面倒。
どこかに各ツールのメリットデメリットの比較表とか機能別一覧表とかって ありませんでしょうか?
>>338 どこかで巨大な比較表を見たことがあるような気がする。
>>341 MercurialのInternational Support (yes)とは何の冗談だろうか
Gitと同じくPartialが妥当だろう
>>342 日本人はみんな英語が使えるし、英語はインターナショナル語だし、Yesでいいんだよ。
>>337 revert は最新リビジョンを古いリビジョンにすることはないよ。
作業ツリーの内容を書き換えるだけだから。
一時的にバージョン戻してビルドしたいという程度なら特に何も困らないと思うけど
>>345 うぉー、だとしたら
>>332 より直接的でいいな。
これあれば update -r イラネー。
でも状態は変更したことになってる。 以前の状態を完全に再現できているのか、ちょっと触っちゃってるのかまぎらわしい。
348 :
デフォルトの名無しさん :2009/11/30(月) 10:25:12
bzr pull -r使ったら-rで指定したリビジョンに戻ったけど指定したリビジョン以降のログが消えた。 どうやったらbzr pull -rを行う以前のリビジョンに戻せるんだ?リポジトリから消えたようにしか見えないが。 これじゃbzr pull -rがupdate -rの変わりになんてならないし、pullしてリポジトリの内容が消えるようなツールは使いたくない。
>>348 この流れでなぜ merge や revert じゃなくて pull を使うっ!?
全裸になって駅前で逆立ちしてから bzr heads --all で目的のリビジョンを見つけて、
その revision-id をメモって bzr pull . -r リビジョンID しろ。
bzrに手を出す奴ってどうしてバカばっかなの? ろくにマニュアルも読まずに操作しといて「こんなツールは使いたくない」とか・・・ 使わないのは勝手だが他人にまで愚痴んなよ
愚痴読みたくなきゃ来るな
352 :
349 :2009/11/30(月) 19:00:17
gitも git checkout rev で戻すとrevの後のログが見えなくなるよね。 bzrも基本的には同じか。 hgは hg update -r rev で戻しても全部ログは残ってて、そこでcommitすると ブランチができる。
ほかのツールがデファクトスタンダード的に統一しているところを わざわざ変えてりゃそりゃ戸惑う。 Bazaar の実装がまともになるのが先か、Mercurial でエクステンション レベルででもファイル名問題が解決するのが先かってところだが、 Mercurial(の日本ユーザー)の方が期待できそうだな。
ある程度のところで統一してくんねぇかな
>>354 Mercurialでファイル名の問題をエクステンションレベルでは解決できないので
Bazaarのコミッタになった。
update -r はマージ待ちの実装はあるから、 2.1 までには trunk に取り込まれると思う。
Bazaarは日本のコミッタが地道に頑張っているイメージw
358 :
デフォルトの名無しさん :2009/12/01(火) 17:20:18
>>354 fix-utf8でファイル名の問題は解決したはず。
359 :
354 :2009/12/01(火) 17:27:56
>>358 fix-utf8 をいろいろ弄って、もう本家からforkするかbzrに移るしかないと決断した。
bzr はコマンドライン引数を GetCommandLineW() を使って取得するからUnicodeの
ファイル名を引数に受け取れるけど、hg は プラグインをロードする前に引数を利用しちゃうから
プラグインから sys.argv を utf-8 に置き換えても手遅れとか、plugin から wrap できる
範囲が足りなかった。
360 :
359 :2009/12/01(火) 17:29:50
俺 354 じゃなくて 356 でした。
こればっかりはセンスの問題だからなあ. 主開発者が関心示さないとどうにもならん
362 :
デフォルトの名無しさん :2009/12/01(火) 23:59:28
>>361 ファイル名の問題とかセンスは関係ないと思うが…
日本語ファイル名を使わないという運用による対処もあるけど、ドキュメントとか資料の類は
日本語ファイル名使いたいときあるんだよなぁ。
gitのバグ報告にShift-JISのダメ文字問題がPOSTされてたが 「制御文字使う方が悪いよAhaha」みたいな返答されてたもんなあ 語学の定冠詞と同じで、ほぼ一生埋まらない認識のずれなのかもしれん
TOMOYO Linuxの開発者みたいにあきらめずにがんばればきっと・・・
既存のテストを全部パスするパッチを作るしかない、ぐらいの絶望感。
リリースする時にテストはやってるでしょうから、その中にマルチバイトのテストも書いてコミットしてやれば 人外どももテストできる。 問題はそれを通すコードも俺たちがかかないといけないかw
TortoiseHg 0.9.1来てるけど、インストーラがInternal error吐く……。 (インストール自体は中断せず終了) なんか怖くなったからアンインストールしてしばらく様子見よう……。
>>368 と同じ症状になった。
Internal error: Expression error 'Runtime Error (at 1:229):
Internal error: Unknown constant "1"'
とりあえずインストールはできて使えてるようには見える。
371 :
368 :2009/12/02(水) 20:53:33
様子見と思ったんだけど、やっぱりバグ報告しときました。 でたらめ英語通じるかなぁ。
372 :
369 :2009/12/02(水) 21:18:06
乙です
373 :
368 :2009/12/02(水) 23:07:24
バグ報告にレスがありました。
>>368 で書いたバグは、known problemでリリースノートにも書いてあるそうです。
(今見たらたしかに書いてある(汗)
インストールは問題なく完了しているそうです。
374 :
368 :2009/12/02(水) 23:14:05
と思ったけど、よく読んだら、kdiff3が動かなくなっている原因がこれかもしれないらしい。 みたいな。(英語の読解自信なし) ワークアラウンドとして、mercurial.iniを修正すればいいようなことが書かれてます。
TortoiseGit と EGit ってどこまで共存できるのかな。 EGit でコミットしても TortoiseGit からみるとまだ「変更あり」になってるし、 でもちゃんとコミットはできてるみたいだしで、よくわかんないことに。 加えて EGit だけではできないことあるから、TortoiseGit なり Git 本体なりを併用したいんだけど TortoiseSVN と Subversive が大喧嘩して痛い目にあった経験があって、どうにも不安で併用に踏み切れない。 だれか併用したことのある人っている?
TortoiseGitの日本語マルチバイト周りはどこまで進展しておりますか? 個人的にgit使う分にはコマンドラインでcygwinのUTF8仕様を使えばいいのですが、 cygwin、UTF8DLLの導入、cygwin git、TortoiseGitと用意するものが多くて他人に勧めにくいです。(cygwinは嫌がるひとも多い) これってどこに文句言えばいいもんですかね。TortoiseGit?git?msysgit? いぜんsourceforge当たりでTortoiseGitを「実用になってきた」みたいな飛ばし記事書いたアフォもいましたが・・・。 Mercurial(TotoiseHg)の方は根本解決ができないようなので、見限りました orz
gitでこういう運用て可能ですか? wikiみたいなアプリ(DB未使用アプリ)を共有レンタルサーバーにおいておいて、 ローカルでアプリテストを行いpushするとサーバー側に反映される、 pullして本番環境でのwikiのデータ編集などをローカルにマージ、といったような運用です。 どのようにすれば可能でしょうか? デプロイとごっちゃになってますが、gitでできれば楽だなと思いまして
378 :
377 :2009/12/03(木) 07:58:15
鯖側はsshのshellは開放されており、自前コンパイルはできる状態のようです。 .gitの隠蔽の問題は、httacessでできるか…。 ssh+gitでできそうな気がしてきた
>>377 その方法で出来ると思う。ネックは鯖側にもgitをインスコしないといけないこと
なんだけど、それはクリアできそうだね。
出来ればbareじゃないとこ(鯖とか)にpushするのは避けたほうが良いと思うけどね。
381 :
377 :2009/12/03(木) 19:53:16
>>379 おお!こんな方法が試してみます!
>>380 bareじゃないとこにpushするのはマズイもんですかね?どこかドキュメントに記述などありますでしょうか?
>>381 pushした先でチェックアウトしてるブランチが伸びてしまう場合、突然差分が発生することになる。
pushされたワーキングツリーで変更してなければresetすればいいけど、変更がある状態だったりすると、
突然コンフリクトしてしまう可能性がある。
http://git.or.cz/gitwiki/GitFaq#non-bare なのでGit1.7からは現在チェックアウトしてるブランチにpushするのはデフォルトで拒否するようになる予定。
まあやってみれば分かると思うんだけど、自分で何をやってるか分かっててやるなら、
問題ないんだけどね。
Gitのコミュニティーに参加して、国際化対応を推進できるような猛者は いないのだろうか やはり日本語ファイル名が扱えないのは不便すぐる
>>383 仕事でsvnと連携して使ってるけど、日本語ファイル名で困ったこと一度も無いよ
OSを跨ぐと化けるんだよ
へ? 相手はWindowsでこっちMacとかLinuxだけど。
svnを使っている時点で、ファイル名のUnicodeへの正規化ができてるんだよ。
>>387 環境って…これ以上何書けばいいの?
svnのバージョンは1.5とかだったような気はするけど。
たぶんWindowsの人はTortoise使ってそうかな。わかんないけど。
MacのFinderで濁点付きのかなを含む日本語の名前のファイルを作ると 裸のかなと濁点に分解された形で正規化される。 LinuxやWindowsは合成した形のまま使われる。
>>387 gitのバージョン、cygwin版か否か(UTF-8版かどうか)、svnのバージョン(は書いたか)、Tortoiseなんたら使っているならそのバージョン
ケチつけたいんじゃなくて参考にしたい。
git日本語どうもうまくいかん
384 = 386 = 389はMac/Linuxのgit-svnで、相手がWindowsのSubversionなんだからそりゃ化けないだろ。 問題なのはWindowsのgitを使ってLinux/Macのgitとやりとりする場合。
>>392 ああそういうことか。svnがリポジトリでクライアントがWindows以外なら大丈夫か。
>>392 cygwin(UTF-8)のGitを使うならLinux/Maxのgitとやりとりしても大丈夫なのですか?
Git使うためだけにcygwin入れるのは抵抗あるけど。
msysgitがSJISのダメ文字を扱える日をずっと待ってる
もともとmsys入れてる俺にとって msysgitを別個で入れさせられるってのが気に食わない
Unicode API使ってUTF-8に変換してくれればだいたいOKなんだろうけどなぁ。 今のところ見込みありそうなのはUTF-8 cygwinしかないか。
運用で回避なんていやすぎる
いやだから日本語ファイル名使いたいならsvnかbzr使えばいいだろ。
お前に言われんでもry いや実際svnはともかく、bzrとgitの違いなんてあんまない だが、「gitはLinuxカーネルのソースコード管理に使われてる」という殺し文句は 非常に説得力があるのよ(主に管理職相手に)
というか、ソースコードのファイル名に日本語なんか使っているの?
>>401 ソースコード以外にもバージョン管理するものはありますよ
まあ、そうくるとおもったが、 2バイトコードのファイル名はなにかとトラブルのもとなので、使わないっていう運用してる。
>>401 そもそもプログラマだけ使うもんじゃないし、ソース以外も管理するから、
プログラマでソースだけ管理なら日本語気にしないでいいと思う、習慣的に
問題はグラフィッカが日本語普通に使ったり、ドキュメントが日本語名つけるのが当たり前になってたりする場合。
バージョン管理なんてただでさえ(面倒くさがりに覚えさせるのは)面倒なんだから、
下手な制限があると導入が難しいんだよね・・・
日本語ファイル名を当たり前に使う場に、日本語ファイル名が使えないんじゃなくて、使うとトラブル、なんてソフト導入不可能だよ、普通
バージョン管理システムを覚えさせることができるぐらいなら、 2バイトコード禁止は簡単そうなんだけどなあ。 これ乗りきっても、またほかのところで問題出て来ると思うよ。
日本語のファイル名付けるのなんて、どうせマージ不能のバイナリファイルだろ? だったらそっちはそっちで別に管理すればいいんじゃね? CVSなりSubversionなり。 プログラマは分散型使いたいだろうから、そっちもそっちで好きにやる。 ついでに言うとバカデカい本番用の動画コンテンツ郡とかも別リポジトリにしてくれれば プログラマは嬉しいんだがなかなかそうならない。
408 :
デフォルトの名無しさん :2009/12/13(日) 00:57:47
皆SVNの使い方とか会社で勉強させられたの?
学生のときから知ってたよ
うちはそもそも使えるエンジニアしか採ってないな。
412 :
デフォルトの名無しさん :2009/12/13(日) 02:24:32
そんなもん教えりゃすぐ使えるようになるだろ
設計書とかのドキュメントや画像ファイルはsvnで管理して ソースだけGitで管理 っていうのが現状だと一番いい選択肢かもしれない 仮にGitで日本語ファイル使えるようになっても、プログラマー以外のやつが Gitを使いこなせるとおもえんし へたするとプログラマーでもGitで挫折するやついるかもしらん
そんなバカ実在するのか
svnすら導入できないシステム開発会社もあるんだぜ 上場企業のシステム系子会社だけど ソースはフォルダ名の変更(日付)で管理してるからしょっちゅうゴチャゴチャになる。 前の版で修正したのが、次の版では修正前に逆戻りとか。そりゃ客に怒られるわ 管理部門の人にsvnぐらい入れればって言ったら、難しくて理解できないだとさ
>>413 確かにそうだなー
TortoiseSVNがこなれているし、その他はsvnでもいいのかも。
バイナリの扱いも枯れてきているせいかそんなに悪くないし、というかトラブった覚えない。
問題はちょっとスタバで仕事したいとか、出張先でドキュメント書きたいと言うときか。
svkて終わってるんだっけ?
それこそ、git-svnとかbzr-svnつかえばいいのかw この辺ってsvnリポジトリにアクセスできなくても使えるんだよな?
417 :
デフォルトの名無しさん :2009/12/13(日) 13:43:16
419 :
418 :2009/12/13(日) 13:52:20
>>417 スマン、真意がわからん
GNUプロジェクトだから、で話が済む管理職ならどんなに楽か
emacsとかMySQLとかはあるけど、Linuxカーネルのgit, JavaやSolarisのhg にブランドで対抗するには gcc くらいほしいな。
>>417 ここ数年、GNUのプログラムの品質は決して高くないとおもうなあ。
20年前は、圧倒していたけど。
なんか、高尚な目標を立てても、中途半端で終わってる気がする。
「Linuxカーネルの開発に使われてます」だと「それはすごそう」ってなって、 「GNUプロジェクトです」だと「ふーん」ってなるのか。 まあ確かにGNUプロジェクトよりLinuxカーネルのほうが活発度は上回ってるだろうけど たぶん「ふーん」ってなる人は単に知名度でそう思うんだろうな。
424 :
デフォルトの名無しさん :2009/12/13(日) 14:27:07
GNUのプロジェクトが何か分かってもらえないんじゃないの
組込み世界だといまだに GPLすら知らない部長・マネージャクラスがいぱい
Linuxカーネルのソースを管理してるっていう実績の問題でしょ。 GNUプロジェクトだぞとか言われても話がかみ合ってない。 比較するなら、こういうプロダクトの管理に使われてるっていう例を持ってこないと。
>>425 それは訴訟リスクが高すぎないか?
現場がわかってれば大丈夫かも知れんけど
若い人はこぴぺでレポート作っちゃう世代だからなぁ
428 :
デフォルトの名無しさん :2009/12/13(日) 15:43:26
Gitなら、日本人がメンテしているという方向からもアピールできるな。
>>427 でも、そういう知識があるやつほど毛嫌いされる
サーバ、ネットワークもまた然り
古い人にとって、得体の知れないものは怖いのはどこでもいっしょ
まぁ表現の仕方次第なのかも知れんが
>>423 前者は使用された実績、後者は単なるブランドって事なんじゃね?
431 :
デフォルトの名無しさん :2009/12/13(日) 17:21:51
ブランドでも、Linux > GNU だよね。 Linus 自身が Linux のために作ったというのは、ブランドとして最強じゃないか?
まあストールマンの憤りの原因も、そういう状況に対してなんだろうな
さっさとHurd 1.0をリリースしろよと
誰得
darcs
>>431 あと、メンテナが日本人。
(もしかしたら、本人そういう持ち上げられ方嫌いかもしらんが)
メンテナが日本人でも成果物の多言語対応がうんこだから何の意味もない
x メンテナが日本人でも成果物の多言語対応がうんこだから何の意味もない o メンテナが日本人でも成果物の多言語対応がうんこだったら何の意味もない
うだうだ言ってるけど結局TortoiseSVN最強というのは動かないみたいだな
お前にはTortoiseSVNがお似合いだ
最強つうか、現時点で一番マシって感じだな マルチバイト文字に対応してて、馬鹿にも安心して使わせられるツールじゃなきゃ 導入なんかできないだろ
443 :
デフォルトの名無しさん :2009/12/14(月) 13:11:44
>>442 え。developerWorks は、いいサイトだと思うけど。
>>442 関西人じゃないので
>何してはるんですか
のニュアンスが良くわからないのだが、いったい何を言いたいの?
>444 「何をしていらっしゃるのですか?」という意味。 語尾のwを考慮すると本人は多少の皮肉を込めているつもりらしい。
Subversion ユーザーのための Rational ClearCase
developerWorksのこと知らなかった奴が、IBMが唐突にGit押ししてると勘違いしてるんだろう。
450 :
442 :2009/12/14(月) 15:16:16
言い訳しに来ました。
>>444-445 ナイナイ矢部風に読んでくれると助かる。
>>442 >>449 IBMが以前からオープンソースに多大な貢献をしてきたことは知ってる。
でも「Clearcaseを押し付けてくる」ってイメージがあったから、Gitについての記事書いていたのが意外だったわけよ。
ますます何を言いたいのかわからん
なんでwなのか理解不能。
なにしてはるんですかって、やってはいけないことをやったときに言うのかと思ってた。 高菜食べたときとか。
この流れキモチワルイ
岡村さん、なにしてはるんですかー!w みたいなツッコミは、めちゃイケとかで よく見るじゃん。 実はあんまり通じないのか?
まだテレビなんか見てるのか
今度はテレビ見てない自慢厨か
>>401 ソースファイル名にマルチバイト文字使ってるとこなんてないよなとか思いながら
手元のディレクトリ内を確認してたら、
「HogehogeServlet_イッチーが直すまで.java」なんてのがあったorz
>>415 ウチも去年までは、まさにそんな感じだった。
俺が独断で SVN(ソースコード) と VSS(ドキュメント類) 入れて全部面倒見るようにしたよ。
SVNは基本的にリソースをロックせず競合が発生しうる点を嫌がったり、
ブランチとマージの概念が馴染みにくいって人が多いような気がするなー。
Visual Studio 2010リリースと同時期に、Team Foundation Serverも 追い銭無しで自由に使えるようになるみたいだぞ。MSDN会員向けの話だが。
461 :
デフォルトの名無しさん :2009/12/15(火) 23:47:31
皆自分のプログラムは趣味でもsvnで管理してるの?
プログラムじゃなくてもバージョン管理してるよ
出退勤のエクセルファイルもバージョン管理してるぞ
>>461 仕事で試して趣味で使う。常識じゃないか?JK
465 :
デフォルトの名無しさん :2009/12/16(水) 03:02:01
やっぱsvnとか使うのは仕事し始めてからだよね
オープンソース系のプロジェクトとかに触れてれば、学生時代からでも使う機会はあるはず
バージョン管理しないと何も書けない 変更点の差分とか取れないと落ち着かない
誰かが共有ディレクトリの.svnを全部消した 何が更新されてるかわからないので ~/foo/*/*/.svn を全部 /pub/foo/*/*/ にコピーしたいのだけど、何かいい方法ないのだろうか
がんがれ! がんがって、全部人間が確認し直すんだ。 そして、Subversion管理してるからって共有ディレクトリに なくなっても構わない物「以外」を置いた自分を呪うがいい。
>>468 別のディレクトリにチェックアウトして.svnがないディレクトリから上書きすれば
exportしてdirectory単位でdiff取れば?
>>468 % cd ~/foo/
% find . -type d -name .svn|xargs tar -cf - -T -|(cd /pub/foo/;tar xvf -)
(スクリプトの中身はちゃんと理解して使ってね)
>>469 パスワードとか入れたファイルもsvnで管理するのが常識なのですね。わかります。
共有には入れないかな
> % find . -type d -name .svn|xargs tar -cf - -T -|(cd /pub/foo/;tar xvf -) > (スクリプトの中身はちゃんと理解して使ってね) ヘタレなんで意味がわかりません 実行するとどうなりますか
いくらバージョン管理してても、アフォがリポジトリのフォルダ壊したら 全部パーだからな 俺は毎日、リポジトリを丸ごとzipに圧縮してバックアップ撮ってる
>>474 「find . -type d -name .svn」 --> .svnってディレクトリを検索
「xargs tar -cf - -T -|(cd /pub/foo/;tar xvf -)」 --> 上の結果をなんかアーカイブにまとめてる
詳しくは知らないがたぶんこんな感じだろう
>>472 xargs 要らないんじゃない?
find . -type d -name .svn|tar -cf - -T -|(cd /pub/foo/;tar xvf -)
>>476 xargs tar -cf - -T -|(cd /pub/foo/;tar xvf -) がさらに2つに分かれて
「xargs tar -cf - -T -」 --> findで発見したディレクトリ以下を圧縮
「(cd /pub/foo/;tar xvf -)」 --> /pub/fooの下に展開
>>477 実験してみた。確かにxargsなしでも動いた。
tar に -C つければ cd も不要かと。 しかしよく考えれば、 rsync だけで事足りるような気がする...。
rsync は . から始まるファイルをなぜか無視する しかし _darcs はコピーする なんで .dacrs じゃなくて _darcs なんだろ
そもそも
>>468 が作業コピーを共有しているなどという
運用方法には誰も突っ込まないのか。
>>481 テスト環境とかで複数用意するのが困難なのもあるので
(いまだど仮想マシンを使えるかもしれないけど)
共有することもあるかな。あとテストを複数人(チーム)で実施するときとか。
パケットをモニタしながら複数の機器を操作してとか
目玉の数と手の数が重要なテストもあるので。
>>482 そういうとき、うちでは linux で作業コピーを作り、
smb.conf で veto files = /.??*/ してる。
>>480 rsyncにコピーしてもらいたかったからだったりしてw
485 :
デフォルトの名無しさん :2009/12/17(木) 23:02:49
>>475 gitがMercurialを使えば?
自称分散型なbazaarは駄目だぞw
俺も Bazaar にはちょっと期待してたんだが、 未実装なのか考え方がズレてんのか、 とにかくこれは無いなと思った。
487 :
デフォルトの名無しさん :2009/12/17(木) 23:52:27
>>485 どの辺が自称なの?
>>486 仕事で他の人間と一緒に使うなら現状 subversion以外ありえんな。
うちの会社いまだにVSS使ってるんだが その理由がロック方式のほうが安心だから。っていうしょうもない理由 みんな仕事でSubversionとか使ってるの? コンフリクトの解消とか、バイナリファイルの扱いとかが ややこしくなるのでPLがイヤがるんだが実際どうなの?
コンフリクトが発生する原因は、単純にプロジェクトの運営がまずいだけ。 要するにPLがクソ。 バイナリファイルの扱いがややこしくなるのは、単純にプロジェクトの運営がまずいだけ。 要するにPLがクソ。 結論、そんなPLは、どんなバージョン管理システムを使っていようがプロジェクトの 邪魔になるだけなので、クビにすべき。
真理すぎてワラタw
OSSみたいに誰がコミットするかわからないとかならまだしも 会社のプロジェクトでコンフリクトが発生するってどんだけー
Bazaarローカルブランチないのに絶望した! 日本語ファイル名考慮すると頼みの綱はお前だけなのに
>>488 ロック機能も一応あるんで、
必要なら使えば。
495 :
459 :2009/12/18(金) 09:32:07
>>489 >>491 うーん、ウチの会社で SVN 使ってるけど、競合起きたことあるよ……orz
こっちが業務ロジックの追加を行う案件(事前に計画済み)を実施してる途中で、
DBコネクションのリークが原因の本番系ダウンが起きて緊急にコード修正したんだけど、
計画案件ブランチのコードを trunk へマージする際に、先にコミットされた障害対応コードと
競合しちゃったんだよなー。
本来なら、いったん障害対応コードを計画案件ブランチ側へ取り込んで(マージして)から
trunk へ持って行くべきなんだろうけど……
あと、どーでもいーけど、
>>492 の先に置いてある魚拓見たら svn:needs-lock が入ってるね……
それは知らなかった
>>493 ローカルブランチあったら便利だけど、無くても困らないよ。
んでもって、今開発進んでるから、半年後までに公式プラグイン登場、1年後には標準搭載
されてるんじゃないかな。
質問なんですが、こういう時どういう運用すればいいもんでしょうか?
Subversionで特定の新機能をブランチ切ってで開発し一段落したら、
開発し終わったらtrunkに切り替えて、ブランチを指定して(もしくはブランチのリビジョン範囲指定して)マージしてます。
問題は分担作業してて、相方のブランチ作業が長い時に
こちらがtrunkで作業したりマージしたりした成果物を相方のブランチの方へも適用したいときは
どうしたもんでしょうか?
(相方のブランチの方を最新版へ追従したい)
gitとかだとmasterのリポジトリからpullったら自動でmasterでの変更の差分が
branchへ(というか手元のリポジトリの作業しているソースへ)うまいこと適用されますよね?たしか
分散とも双方とも理解が曖昧なので、間違いやこうしたらいいよというのを指摘ください。
>>498 マジカ!サンクスbzrにも期待
よくわかんないな。 相方の branch 側が trunk を適当なタイミングで merge するのじゃダメなのかしら? 変更点が入り組んでたりすると、面倒といえば面倒だけどね。
大規模なプロジェクトなんで、ファイル数が30万くらいでトータルサイズが500Gくらいあるんだけど、gitだとサクサク管理できますか?
>487 git-svn で自分は git 使うってのもありだと思う。 >500 Subversion なら >501 の通り merge するしかないんじゃね? git なら rebase するところのような気がする。 d-e / a-b-c を d'-e' / a-b-c にするのが rebase
>>500 svnだとやっぱり
>>501 が言うように相方がこまめにtrunkをbranchへマージするしかないと思う。
何にせよtrunk追従は相方側の責任になるので自分(trunk保守側)がやれることはあんまりないかと。
新規開発みたいなbranchの作業が絶対にコンフリクト起きないようなものなら、
branchが落ち着いたあと一気にtrunkへmergeするってのも手といえば手かもしれない。
>>503 まさにgit rebaseの面目躍如ってシチュエーションだな。
新機能を開発するbranchにtrunk(master)の変更をmergeするのって Gitなんかだと御法度なんだけどな 新機能を追加するbranchには新機能以外のノイズを入れないのが正しいと思うが。 Subversionではtrunkの変更を新機能branchへマージして その後、新機能branchをtrunkへマージするとどうなるの? trunkの変更分が2重に適用されたりする?
試したことないから知らんが、500GBもあるとハッシュ値とってリポジトリと 比較するだけでも膨大な処理が必要になるし使い物にならないんじゃね? まずはバージョン管理する必要のあるファイルとないファイルに分離するといいと思う。 まさかソースコードが500GBあるわけないし
>>505 そんなルール聞いたことないが。
Junioが言ったのか?
>505
>新機能を開発するbranchにtrunk(master)の変更をmergeするのって
>Gitなんかだと御法度なんだけどな
Git だと branch や merge の手間が小さいし、分散だとなるだけ独立した形で新機能を
作っとくと色々なところで merge も管理もしやすくなって意義があるんだろう。
Subversion とかだと常に feature branch を切るって運用はあまりされなくて、
複数の branch で並行して開発が進められて、時たまクロスで merge されるという運用は
結構ある気がする。Git 本でも Subvesrion を使ってた人は御法度をよくやるが、みたいな
書き方だったような。
Subvesion book の例だと
http://svnbook.red-bean.com/nightly/en/svn.branchmerge.basicmerging.html#svn.branchemerge.basicmerging.stayinsync branch に trunk から複数回 merge して最後に trunk に merge し直してる。
trunk に merge し直す際に --reintegrate オプションを付けると >505 の二重適用を避けようとするみたい。
ただし、--reintegrate 使うとその先 branch が使えないらしいので再度 branch を作れということみたい。
--reintegrate なんてオプション知らなかったよ。
>>500 ブランチの再統合の事かな。?
>>508 と同じ操作だと思うけどtortoiseSVNの場合、その長いブランチにはtrunkから何度でも「リビジョンの範囲をマージ」でマージができるのでtrunkに追従できる。
そして、trunkからマージしてしまったブランチをtrunkにマージしたいときは「ブランチの再統合」でtrunkに1回だけマージできる。
そのブランチの変更はすべてとtrunkに含まれるのでブランチは削除できる。というか、2度とマージができないブランチになるのですぐに消そう。
練習してから試してみよう。
>>507 ほかの方が回答してくれていますがJunio本に、そんなことが書かれてた。
個人的には、きっちり理想的な使い方を常にできるかというと
難しい気もするが。
> trunk に merge し直す際に --reintegrate オプションを付けると >505 の二重適用を避けようとするみたい。
> ただし、--reintegrate 使うとその先 branch が使えないらしいので再度 branch を作れということみたい。
> --reintegrate なんてオプション知らなかったよ。
Subversionのmergeは制約が多くて面倒ですね・・
まあ、mergeが終わった時点でそのbranchが不要になる使い方なら
全然問題なさそうですけど。
511 :
500 :2009/12/20(日) 09:27:03
>>501-510 うおお、皆さんありがとうございます!
参考になりました。聞いてみるものですね。
ぜひ試してみます。
Subversion bookのも読んでみます。
--reintegrate てTortoiseSVNでもできるかな・・・。て調べたら確かにブランチの再統合ていうやつなんですね。
512 :
500 :2009/12/20(日) 09:29:41
>>512 マージをよく使うなら1.5のほうがいいと思うよ。merge trackingだけならリポジトリのアップグレードはsvnadminで一瞬で終わる。
いまからアップグレードするなら 1.6 だろ。
そだねw
bzr-svnが1.6だと使えない罠
518 :
デフォルトの名無しさん :2009/12/20(日) 20:31:24
Subversion の 1.6.5 はマージが微妙に怪しいような気がする。 1.6.6 は試してない。 git だと、オレブランチを持って、基本的にそこで開発。 みたいなのは御法度なのかしら?
>>519 gitだとそれが基本というかそれしか出来ない。
Subversionのマージトラッキングは調子どうなんだろう?
それ以前のマージは貧弱すぎてかなり疲労したが。。。
>>520 Subversionのマージトラッキングは自動でマージするリビジョンを判断してくれるからかなり快適。
Subversionの1.4から1.5にリポジトリにアップグレードしたいのですが、 svnadmin upgrade でも問題ないでしょうか? どれもリビジョンは200くらいの小さなプロジェクトばかりです。
>>523 アップグレードの目的による。
ほんとうにバージョンを上げたいだけなら svnadmin upgrade が早くていいかもしれない。
>>523 upgradeだとリビジョンを1000ごとにフォルダーにまとめる変換がされない。
マージトラッキングが欲しいだけで気にしないならupgradeでOK。
質問。git add でバイナリファイルを追加するときって、何かオプションいる?
それタイプして質問する間にググれ馬鹿
528 :
523 :2009/12/23(水) 21:47:39
サンクソ 新機能使いたいだけなのでupgradeでいってみます。 ふと聞くのですが、後から1000ごとにフォルダーわけして欲しかったら、 変換後にあとでdump/loadしても間に合う(というか分けてくれる)もんでしょうか?
>>527 ググってもよくわかんなかったんだよね。いるならいるって書くだろうけど、いらなきゃ書かないかもと思ってオプションなしで試してみたら、うまくいったみたい。
531 :
523 :2009/12/24(木) 10:46:36
>>530 ありがとう。これでこころおきなくupgradeできる。
532 :
デフォルトの名無しさん :2009/12/24(木) 20:09:18
皆さん仕事で使ってる人なんですか? 個人で使うぶんには、バックアップ代りみたいなもんですよね。
>>532 改良したつもりがおかしくなった、みたいなときに原因を探るとか。
最初の「ひとまず完成バージョン」を作るまではたしかにバックアップみたいな 感じだけど、そこから使いながら機能追加やらコードのクリーンアップとかする 場合には手放せないな。 自分だけかもしれないけど、自分しか使わないコードだとクリーンアップとか 言いながら安易に変更してよく壊すしwww
>>532 プログラムを改造したりするときに、いつでも昔のバージョンに戻せるのは心強いぞ。
コミットを小さな作業単位として考えると、ダラダラと変更を続けてしまって 「さっきは動いてたのに・・・」みたいな状況に陥らなくなったよ。 仕事でも趣味でも重宝してる。
gitはインデックスがあるからさらに良いぞ。 たぶん人によっていろんな使い方が出来ると思うけど、 例えば、ソース編集→コンパイル→動かす→修正→コミットって感じなら、 まずコンパイルが通った時点で全部インデックスに突っ込んでおく。 そうするとその後、コンパイル通過後にやった差分、前回コミットから今の差分、 両方個別に確認しながら作業ができる。 コンパイル成功後にいじりすぎてぶっ壊し状態になってしまい、 「俺はいったいなにをやってこうなってしまったんだ、ついさっきまでは いい感じでいけそうだったのに。。。」ってなった時に助かる。 あとけっこう沢山のファイルを触らないといけない場合、コミットの時にまとめて 分散した差分を確認するのは骨が折れるので、ちょっとずつ差分を追い出してく 感覚で使えるのもいい感じだ。
俺は年賀状ソフトの宛名データすらバージョン管理してる。
データベース使ってないの?
540 :
538 :2009/12/25(金) 14:31:09
>>539 具体的には「筆まめ」を使っているけれど、
宛名データのファイル(*.fwa)をそのままバージョン管理に突っ込んでる。
いつでも過去に戻れる安心感から、宛名を心置きなく修正したり削除したりできるようになった。
*fwaが何者なのかわからないけど、斬新すぎて衝撃を受けた
>>541 何が斬新なんだ?
管理するファイル形式に縛りはないんだから、別に何を監理してもいいんだぜ?
Accessの .mdb ファイルをそのまま VSS へ突っ込むような感じか。
544 :
541 :2009/12/25(金) 18:18:19
まぁ普通にバイナリファイルだろうとなんだろうとHgで使ってるけどね。 ただ、マージとか発生するとおかしな状況が生み出されて困る
たまに設定ふっとぶとか、設定いじったら動かなくなったことがあるフリーソフトはexeとか関係なくバージョン管理に突っ込んでるw
>>532 github使ってるよ。
他人のオープンソースなライブラリとか、バグ直して本家に反映してもらったりとかが
gitの仕組みとwebサービスのサポートがあって簡単にできる。
もうバージョン管理はそれ単体(ソフトだけでってこと)で語れないと思う。
> もうバージョン管理はそれ単体(ソフトだけでってこと)で語れないと思う ちょっと嫌味な言い方で書いてしまったんだけど、 ようするにバージョン管理=ソフトだけってことはないよってことです。 githubみたいにオープンソースのインフラになりうるサポートするwebサービスもあるのでってことです。
一方 Vim は Mercurial へ
このスレの総意はMercurialってことでよろしく。
やかましい
>>551 誰が総意をまとめろと言った。
このスレのいいところは様々なSCMについて横断的な情報が集まるところだぞ。
ところで Software Configuration Management System なのに SCMS じゃなくて SCM なのはなぜなん?
DOSの拡張子が3文字だから
>>554 お前にとって最後のSystemはそんなに重要なのか?
>>555 納得した!
考えてみれば当然の事やんな。
558 :
デフォルトの名無しさん :2010/01/09(土) 20:13:10
VSS以外で、VSSで言うところの「ファイル共有」機能が実装されているバージョン管理システムはありますか?
>>558 昔は俺もVSS使いでした。
Subversion/TortoiseSVNではexternalsが良く似た機能になる。VSSは完全に共有になるが、externalsは参照になる。
違いは、VSSは単純に共有になるので参照元のような概念が無くて平等なので、変更箇所が他の共有先に意図せず反映されてはまることがある。
externalsはtagバージョンで参照させれば、参照元のバージョンを管理できたり、参照しているライブラリを間違えてコミット使用としたときに警告を出させたりできる。
>>559 なるほど、似たようなのがあるんだね。
5年ほど前にCVS使った時はvファイルのシンボリックリンク張って
無理矢理対応したりしてたけど。
やっぱ不満が出てたんだね。時代は廻るものですな。
>>532 やね氏はsvnとか使わずにwinrarで圧縮してftpでどっかにうpするだけらしい。
エロいPGでも個人じゃ不可欠ってわけでもないのか。
自分は二か所にチェックアウトして日常の細かい修正用と冒険用に分けるのが便利で一応使ってるけど。
trunk, tags, branchなんて面倒だからやってない。
仮にtagsにバージョン切ってもライブラリ側との整合性が取れないから
雑な運用じゃ古いバージョンのビルドなんてほとんど不可能だな…
svnはtagとbranchがふざけてんの?って言いたくなる形式だから、 既存のプロジェクトがsvn使ってるから以外の理由で使う気にならない
別にsvnでも全然困ってないぜ
チェックアウトして修正したまま1週間以上放置してあるファイルがあったら 幼女が怒ってくれる転覆MODが欲しい今日この頃
subversionは .svn フォルダがあちこちに出来るから嫌い
>>561 VCSは個人がバラバラに持ってた管理ノウハウをシステム化したって色が濃いツール。
そもそも昔はVCSなしでなんでも管理してたわけだし、経験のある人ほど冗長性だとか
スナップショットだとか、VCSが確保してくれるものを自分のやり方でやれていて
必要性が感じられないんだと思う。
そういうこと言うと、スーパーハカー気取りの素人が 「バージョン管理なんて素人のやることさ!」とか思い込むからやめてくれ。 ノウハウがソフトウェアとして定型化・自動化されたことのメリットはやはり大きいわけだし。
個人的に使うなら何でもいいけど 共同作業するためにはシステム化する必要があると思う
>>567 ハカー気取りなら、Linusが1週間プロトタイプ作ったうんぬんsvnはクソだ!とか言い出してgit使うだろJK
Linusを信奉しちゃうあたりがハカー「気取り」にすぎないって話ですね
そうだねー、真のハカーはBSDだよねー
夏真っ盛り
南半球在住ですか。
まあ、linuxのコードでlinusの書いた部分を少しでも読んでりゃ、あれっと思うわな
どう思うの? あまり良くない設計だったり?
linuxはどうかしらんが、GitのCUIはクソ
で、クソじゃないのはTortoiseSVN
なんでもGUIにしてもらわないと使えないとは...
GitのCUIはLinusじゃないんだが。。。
linusのオリジナルだとハッシュ値を直接登録とかだからもっとひどい
このスレの総意はMercurialってことでよろしく。
gitはnativeな操作だけ用意して、インターフェイスはそれらを組み合わせて作られてきたもの。 だから直接登録でも問題ない。
Linusは自分のことが分かってて、ユーザインタフェースは俺にはムリだからって他の人に頼んだ。 Gitの内部設計は斬新でカッコイイよ。
かっこいいが斬新ではないだろう
586 :
デフォルトの名無しさん :2010/01/19(火) 04:41:48
斬新さなどあって無かろうなのだァーッ!
>>585 差分取らずにコミットまるごと保存でファイルシステムみたいなリンク構造って
斬新だなーと思ったんだけど、そんなことないのか。
>>587 じゃあ、ファイルシステムをそのまま使えばいいじゃん。
リンクに循環がないわけだし。
圧縮ファイルシステムもあることだし。
>>587 つ CVS -k
だっけか。バイナリのやつ。
最近は使わないから忘れた。
>>587 それって履歴の一覧を見るのが大変じゃないの?てか、どんな金持ち
592 :
デフォルトの名無しさん :2010/01/20(水) 18:50:26
pdumpfs だって同じだし、構想的には目新しい物ではないな。
>>549 GNU って言ったら arch ってのがあったような気がするんだが、
どうなったのだろう...
Linusはファイルシステムを書き始めたけど 使い物になりそうにないのでバージョン管理システムにしたてた、ってのが真相。 もし完成してたらbtrfsみたいなのが出来上がっていたかもね。
>>596 >Linusはファイルシステムを書き始めたけど
>使い物になりそうにないのでバージョン管理システムにしたてた、ってのが真相。
ソースきぼん
windowsのCドライブをUSB HDDにドラックドロップで単純にコピーしたものが 4つぐらいあります。どれも微妙に食い違っててて単純に日付の新しいものに 上書きしただけじゃ、全部最新にはなりません。 多分、目視で1つ1つ違うファイルを確認することになると思うのですが 大部分は同じファイルです 全部のファイルを見るのは嫌なのですが、何かいいツールはないのでしょうか
git で、あるコミットだけをパッチの形で取り出すにはどうしたらいいでしょうか。 git format-patchだと、一連のパッチができてしまいます。 そうじゃなくて、指定したコミットだけを取り出すことがしたいです。
>>600 git show コミット > hoge.patch
>>600 git diff commit^..commit
>>598 ファイルごとにMD5でハッシュ値を計算し、比較してみたらいいんじゃないかな。
Rubyだったらこんなかんじのコードで。
## ファイル名: C:¥hoge.rb
require 'digest/md5'
filenames = Dir.glob("**/*") ## ファイル名をすべて列挙
for filename in filenames ## それぞれのファィル名について
if File.file?(filename) ## それがファイルのときだけ
s = File.open(finename, 'rb') {|f| f.read() } ## 中身を読み込んで
digest = Digest::MD5.hexdigest(s) ## MD5でハッシュ値を計算し
puts("#{filename}¥t#{digest}") ## ファイル名と共に出力する
end
end
## コマンドプロンプトで
C:¥> cd dir1
C:¥dir1> ruby C:¥hoge.rb > ..¥list1.txt
C:¥dir1> cd ..¥dir2
C:¥dir2> ruby C:¥hoge.rb > ..¥list2.txt
C:¥dir2> cd ..
C:¥> diff list1.txt list2.txt
いや、diffコマンドが使えるなら、diff -r dir1 dir2 でいいのか。
gitで複数行のログを一覧表示する方法ってないの? git log --pretty=format:"%s" ^^HEAD...HEAD みたいのだと1行目しか表示されません・・・
>>604 よくわかんないけどこういうこと?
git log --oneline
>>605 fatal: unrecognized argument: --oneline
とか言われる。
>>606 うちだとこんな感じになる。
$ git version
git version 1.6.5.6
$ git log --oneline
27b34ed IEマター
133ffa8 起動オプションのGUI
29ccecd bodyのスタイル
62a778b 見た目調整
(略
>>607 git古いせいかもバージョンアップしてくるわ
うちのgit 1.5.4.3だとgit log --pretty=onelineだな。
はい、Mercurialきましたー
米MicrosoftのCodePlex、分散型バージョン管理システム「Mercurial」のサポートを発表
2010年01月25日 11:37AM
米Microsoftは1月23日、オープンソースのプロジェクトホスティングサービスCodePlexで
分散バージョン管理システム(DVCS)「Mercurial」をサポートすることを発表した。既存
プロジェクトもMercurialに移行できる。
ttp://sourceforge.jp/magazine/10/01/25/0241213
TortoiseGit 1.3.2.0出た。日本語言語ファイルもSF.jpに上がってる。 1.2.1.0からアップグレードしようとしたらいろいろ変なことになったので、 アンインストール→ログアウト→ログイン→1.3.2.0インストール ってやった方がいいと思われ。 個人的には「ログメッセージ表示の際に一番最初のリビジョンが表示されない」というバグが直って嬉しい。 それはそれとして、GitCheetahって何?
GitCheetahはmsysGit同梱だった気がする。 たしかGitCheetahの方が先に始まったんだけど、Tortoiseというネームバリューの せいなのか後発のTortoiseGITが有名になっちゃったという・・・。 TortoiseGITはTortoiseSVNをベースに作ってるけどGitCheetahは違うんかな。
>>612 なるほど。GitChiitahの方が先だったのかぁ。
微妙に異なる3ファイルの差分を表示してくれるツールってないですか。 TortoiseSVNのDiff, WinMergerでは出来ないっぽいです。
diff3
KDiff3というGUI版がよさそうな感じです。 ありがとうございます。
vimも3ペインできるよ
WinMergeもできるよ
GoogleもMicrosoftもMercurial採用するみたいだけど、 多言語全然考えないっていう表明なんかね?これは それとも今後解決するという希望の元になんだろうか?
>>614 Windowsならp4mergeはどうかな?p4merge自体はフリーで入手できたはず
だからといってBazaar採用するわけにゃいかんだろう
Ubuntuの開発元で作ってるから?
Mercurialって多言語うんぬんの問題はあるけど、 政治的な立場がわりと中立だから採用しやすいのかなぁ。 そういえばSunが運営してたProject Kenaiが公開停止らしい。
このスレの総意はBazaarってことでよろしく
ClearCaseがクソらしいというのだけは総意と言える
gitで手元でgit init したunkoserviceリポジトリを、 サーバー(ファイル共有でもなんでもいいけど)側に置いておきたいのですが、 どうしたらいいんでしょ。 単純コピーとか、手元からサーバーへcloneとか? 例えば、ファイルサーバー上にうpしときたい場合はこんなんでよろし? cd remote-unkoservice git init cd unkoservice git remote add origin /remote/remote-unkoservice/.git git push origin master すごい基本的なことなんだけど、こういうちょっとした当たり前の運用tipsはどっかにまとまってないのかな?
ウンコサービスっておまえ・・・w
630 :
デフォルトの名無しさん :2010/01/31(日) 02:09:54
unkoをpushしないでください!
初心者でVisualSourceSafe2005を使っています。 拡張キーワードの$Histor:$で日本語コメントが10文字程度しか反映されません。 たとえばチェックイン時にコメントで「コメント反映テスト」と入力しても、 Comment:コメント反映 までしか置換されません。 ググってもそれらしい話題にいきつかなかったのですが、どなたかご存知ないでしょうか。
>>631 スペースを入れてみたらどう?
>>632 はスペースが消されてしまった。
$Histor $
趣味グラマなんですけど、今はバージョン番号や日付でフォルダ作って、 丸々バックアップって感じで、バージョン管理しています。 個人用途でもバージョン管理システムを使えばハッピーになれる?
なれる。 なんで今まで使ってなかったんだろう、と思うことうけあい。
darcs冷遇されすぎ
エミュのステートセーブみたいなもんだよ
一人で使うならリポジトリって実ファイルと同じディレクトリに.svnrepositoryとか作って格納したほうが幸せに慣れそうな気がしてきた。 もちろんバックアップは別系統できっちりとって。
そして HDD あぼーん
あ、バックアップはするのか。すまそw
ファイルを以前の版に戻したいけどどの版が目当ての内容なのか判らないって時どうする?
>>644 もちろんコミットメッセージなんかあてにできないんだろうが、
「この処理はいつ消えた?」とかなら Diff していけばわかるだろ。
どこの変更が原因でおかしくなったか分からない場合は 確実に動く版と現在の版の間で二分探索。 そのための機能がついてるシステムもあるな。
順番にdiffとってそれを1ファイルで表示するって機能でもあればいいのかも
TracとかRedmineとかと連携させればできるね
>>648 hg log -p filename
のこと?
>>646 「この処理はいつ消えた?」とかなら Diff していけばわかるだろ。
むかしCVS annotateに行ごとにどのリビジョンで消えるかを出すパッチを書いたことがある。
テストスクリプトを書かないと受け付けてくれなくて、面倒になって捨てた覚えが。
>>647 git bisect こないだ初めて使ってみたんだが、
ひどく便利だった。
これはひでー
Mercurialはゴミ 日本人に紹介すんな
>>655 日本人でなければいいのか?
そういう外国人には何してもいいという考えは、
歴史上数々の国際紛争を引き起こしてきた一因ではないのか?
そういうことは学校で議論しようね
658 :
627 :2010/02/04(木) 07:51:07
ベアリポジトリを作る方向性にしました。
(source_path) 手元のリポジトリとソース
(dest_path) リポジトリをおいておく先
git clone --bair (source_path) (dest_path)
mv (source_path) (source_path).old
git clone (dest_path)
みたいな感じで無事に手元のをサーバーへおいておけました。
サーバー側へのpushも無事いけました。
このへんとかも参考になりました。
分散型の Web 開発の様相を変える Git
http://www.ibm.com/developerworks/jp/web/library/wa-git/index.html あまりにも基本的なことを聞いてしまったようで失礼いたしました。
レスくださった方々ありがとうございました。
>>656 Mercurialの日本語サポートに難があるから日本語には他のを勧めろという話だよ
外国人を差別していいという話じゃない
直してから薦めればいいじゃない
662 :
634 :2010/02/04(木) 15:27:07
>>635 ありがとう。使ってみます。
Mercurial使ってみようかと思ったんですが、
ゴミとか言ってる人がいるんで、gitかbazaar使ってみます。
>>660 パッチがMercurialのMLに送られていたので wktk しながら見守っていたら、
「ファイル名はバイト列なんじゃい」と突き返されていたのを見て、
Bazaar に乗り換えました。
まぁ仕事では使えんわな
日本人の水銀に対するアレルギーは異常 いつまで引きずってるんだよ
日本語に難がないのってBazaarだけじゃないの? でもBzrってうんこじゃね
bzrは何でもできるようにしたいって姿勢はわかるけど、なんか現時点で揃ってる機能のバランスが悪い
>>667 すっごい基本的な部分が変更されるから、いろんなプラグインや
外部ツールが動かなくなるのに?
>>666 どこがうんこ?
名前が挙がるたびに即否定されるBazaar…… 真っ当な理由のついてるレスを見たことがないんだが
672 :
デフォルトの名無しさん :2010/02/04(木) 23:19:29
SVNから移行するには一番受け入れ易いんじゃないかな?Bazaar ただgitやhgからならシンプルさ故に物足りない感じもするBazaar 現在絶賛拡張中でもあるし、特にgitやhg由来の機能についてはUIが まだまだこれからという感じ。 ただgitやhgを使っている人でBazaarに期待を寄せている人も少なからず いるということの裏返しとも言える。
とはいえ日本語まともに使いたいとbazaarなんだよなぁ
>>670 そうなの? Linuxでは問題なく使えているから、Windowsでもファイル名扱うと
ころだけ直せばいいんじゃないの。Pythonなおしたほうが早いのかもしれんが
Windowsって本当に国毎に違うからな unicode使ってるアプリでも他言語じゃ動かなくなることもあるし
>>675 Pythonの問題じゃなくて完全にMercurialの設計思想の問題。
Python は Unicode でのファイルアクセスを許可しているし、
現にBazaarはファイル名をUnicodeで扱っている。
Linux で問題なく使えているのは、そのリポジトリにアクセスしているのが
全員 locale=utf-8 だからだよね?
一人でも euc の人が混じると、誰かのファイル名が文字化けする。
>>677 そう、全員utf-8だからだね。
つまりhg専用のpython-jpを用意して、バイナリファイル名でのアクセスを勝
手にUnicodeでのファイルアクセスに置き換えるようにすればいいんだな。
結局、あーだこーだといろいろ考えるよりも、ポッとインストールして 気軽に日本語が使える Bazaar が好きです。
TortoiseBzrもだいぶ機能が入ってきたしね。 コミットメッセージの改行問題は地味に痛いが
svnで何も困ってない けど こんなにsvnが話題にならないってことは きっと他のは凄いんだろうな svnとCVSとRCSしか使ったこと無いからよく分からんけど RCSはローカルのWindowsマシンでちょっとファイルを編集するときに未だに使ってる
svnは機能的にも実装的にも安定し過ぎててあまり話す事がない。 専用スレもあるし。
svnはテメエで trunk/ tags/ branches/ を作れっていう考えなのが嫌い 内部の実装はそれでもいいけど、ユーザにそれを見せるなって思う
>>669 今のbzrにはもうgit branchとかhg branch相当の機能って入ってる?
>>681-682 仕事で少人数でTortoiseSVN開発してるけど、
ちょっとしたことでうちで開発したくなった時以外、あまり困ったことない。
gitとかも憶えようと使っているけどsvnで困ってないのはgitをまだ全然理解できてないせいだと思うけどw
>>684 マジか、bzrってbranchないのかよ!どうやって枝分かれして開発寸の?毎回リポジトリcloneすんのかな?
x うちで開発したくなった時 o 家で開発したくなった時 紛らわしかったすまそ
>>685 いや、普通にbranchあるよ。
git や hg に比べると、操作の主体がリポジトリじゃなくてブランチになってるから
移行組には判りにくいだけ。
むしろ、初心者にとってはディレクトリパスやURLが直接ブランチを指すのは
判りやすいんじゃないかな。
>>684 今はまだプラグイン。
人数が多くなってくると分散型でもないと気軽にbranchとか作れないからな
フレームワーク型のプロジェクトで、 プロジェクトのルートディレクトリ以下は公式からもらってくるupdateオンリーで、 そのサブディレクトリ以下に手元で更新するファイルを独自に管理したいんだけど、 こういうのができるバージョン管理システムってあるのかな。 Subversionではうまくいかないみたい。
>>689 Bazaar の scmproj プラグインでできると思う。
scmproj プラグインは、Bazaar以外のVCSとも連携できる。
>>689 boostとか最新版のzipのダウンロードを展開してSubversionにぶち込んでるけど、うまくいかないってどんな風になの?
>>690 ども。試してみる。
>>691 大雑把に言えばこんな感じ。
framework/
/bin
/usr
/projects(*)
/shared
/plugin
こんな構成でprojects以下を独自に管理したいとき、
別のリポジトリからチェックアウトしたものでサブディレクトリを上書きすると、
ルートディレクトリ(framework)からupdateがかけられない。
>>692 チェックアウトしたものを上書きするってことは.svnを上書きしたな。それならupdateできないな。
マージで上書きするか、エクスポートして上書きするほうが良いんじゃないか。
ところで(*)ってファイル名?
svn的に言えば、svn:externalsを使うのかな。 /projects を特別扱いするんじゃなくて、逆に /bin, /usr, /shared, /plugin を他リポジトリから持ってくる。
>>687 URLでブランチということはsvnみたいってこと?
>>689 じゃないけど、Redmineみたいにフレームワークやアプリの基本ソースが常にアップデートしていく場合、
そのシステムに対する変更をする場合、gitだとうまく管理するにはどうしたらいいのかな?
redmineの公式リリースをredmine_releaseリポジトリで管理して、
そこからcloneしてmy_redmineリポジトリで管理、
my_redmineを自分の好みに弄る。
redmineがバージョンアップしたのでredmine_releaseリポジトリを更新、
my_redmineはredmine_releaseからpull、
という感じですればパッチを適用しつつ、公式に追従できるのかな?
もっとやりやすい方法有る?
branchでもできるのかもしれないのだけどよくわからない・・・。branch間のpullてできるの?
この辺に関連するドキュメントってどこら辺に有りますか?
>>696 branch間はmergeじゃないかな。cloneでやってもいいけど。
>>696 git remote add origin redmine.gitしてpull
git checkout -b myredmine origin/masterとかして以後はmyredmineブランチで作業しつつ
公式の変更を取り込みたいときはpullなりfetchなりしてorigin/masterをmyredmineにmergeかなあ
699 :
デフォルトの名無しさん :2010/02/06(土) 15:45:15
>>699 だからbranchあるって。むしろ今はcloneが無い。
今はcloneコマンドはbranchコマンドのエイリアスになっているけど、
次のバージョンではエイリアスを解除して、さらに次のバージョンでcloneが作られる。
>>699 がレポジトリだと思っている物は実際はブランチだから。
hgとgitとはブランチをどう扱うかに違いがあるだけで、ちゃんとブランチはある。
hgやgitと同じ扱い方をする為のプラグインもあるし、将来メインに統合される予定。
>>695 svnと比較すると、 tags/ が各ブランチの中で管理されて、各URLが指すのが
ブランチのみになる。
>>697-698 おおそれでいいのか。branchで十分て感じなのね。
やってみるっす!ありがとう。git便利ね!
個人開発でよさげなのって何かないすか?
rcs svn file://
>>703 WindowsユーザーならTortoiseSVN
Subversionを使っててMercurialに乗り換えてしばらくした後、 どうしてもSubversionじゃないといけないプロジェクトで再び使ってみたら あまりの遅さにビックリした。何をするにも中央リポジトリと通信するから もうアホみたいに遅い。特にTortoiseSVNと使うと余計遅い。
winユーザにはSVNが一番薦めやすいのが現実
比喩的な比較。 Bittorrent: Subversion Winny, Share: Mercurial WinMX: git
どういう要素をどう比較した喩えなのか全然分からん
MS-IME: Subversion 一太郎: Mercurial Google日本語入力: git
そういうのいいから
TortoiseSVNがあったからここまでバージョン管理が一般化したってのはある。 でももうSubversionはレガシーな気がしてならない。
RabbitGitが出たら乗り換える
>>713 GitCheetahには期待しないということですね。わかります。
>>710 そんな感じだなw
x 一太郎
o ATOK
VSSがダメなのってなんで? VSと連携できるバージョン管理システムって他になんかある?
>>717 ダメってことはないよ。ダメだといっている人は
文字コードをうまく扱えない人が多いんだと思う。
>>717 プラットフォームが限定されるとかクソ高いとかそんなところだろ。
プロジェクト間でファイルを共有できる機能はいいよねえ。
ほかのツールでも実装されると嬉しいんだがな。
チェックアウトしないと編集できない 他の人がチェックアウトしてるとチェックアウトできない というのは相変わらずなの?
>>720 変えることは無いと思う。
一元管理を徹底することが主眼になってるから
その前提を覆す実装は今後もないんじゃないかな。
>>717 svnやhg等でもVSに組み込めるよ。
>>717 Visual Studioと連携できるのっていうと、
MS謹製なら Visual Studio Team Foundation Server かな。
あれはソース管理だけじゃなくてITS/BTSとか
ビルドサーバとか色々抱き合わせになってるけど。
VS2010が出るタイミングで、MSDN契約者ならタダで使える下位版が
出るって話をどこかで聞いたような覚えがあるような無いような。
ビルド作業をサーバー側にやらせないといけないような規模の案件には あいにくお目にかかったことがないのでどうでもいいっちゃいいな。
725 :
717 :2010/02/11(木) 18:44:41
>>718 逆に言うと文字コード周りで不具合があるんでしょうか?
試しに使っている分ではUTF-8で問題なさそうです。
>>719 VSで開発って時点でサブスクリプションに入っているので、その辺はクリアです。
>>720 VSS2005ですが、DB(リポジトリと言うべき?)の設定で変えられます。
>>727 調べてみます。
>>723 だがしかし、サブスクリプションの最上位ではなかったorz
>>712 でもまぁ、巷では枯れてから始めて本格的に使い始めるようなところも多いしね。
VSからbazaar使う方法ありますか?あれば教えてください。
>>725 > >> 720
> VSS2005ですが、DB(リポジトリと言うべき?)の設定で変えられます。
多重チェックアウトのことをいってるなら、VSS の 5 あたりからできてたはず。
それより前のバージョンは知らない。
これ設定できるの知らないやつ結構多いね。
(VSS の)admin 権限で操作すれば、他人のチェックアウトを強引に取り消すこともできるから、
チェックアウトしたまま蒸発したり氏んでしまったりしても大丈夫。
管理者が蒸発したり氏んだりしなければ。
チェックアウトしないと編集できないというのが致命的。
クリアケースつかえねぇわ
>>730 分岐してマージはできるから問題ないけどな。
>>683 tool側で何とでもしろ、っていうことじゃないのかな?
例えばSubversiveだったら意識させないような作りになってるけど。
>>376 hg は根本解決ができないっていうなら、gitもだよ。
utf-8 cygwin 入れたら使えるのは hg も git も同じ。
hg はcygwin無しでもがんばれば utf-8 化できるけど、そこをがんばれる人材
(PythonでUnicode使いたい人)はbzrを選んじゃう
>>683 内部の実装には、trunk/tag/branchesは関係ない。
ただの運用上の指針じゃないか。だたそれに従っておけば、totoisSVNだとtagに変更をコミットしようとしたときに警告が出たりリビジョングラフが分りやすくなったりするメリットはあるね。
>>734 根本的、っていうのは
>>663 みたいなプロジェクトの方針みたいなのも含まれるのかなあ、と。
737 :
デフォルトの名無しさん :2010/02/14(日) 00:18:38
>>683 svnにtag branchなんていらないと言ってるんだからあきらめろ
>>734 branchなくても困らないならbzrでいいんじゃないの?
branchがないと言ったらまたbzr厨が暴れるかwww
bzrにbranchが無いとかほざいてる方が頭おかしいと思うが。
知ってるつもりって番組あったよな
試してガッテンというのもあったな
>>738 Bazaar の実装は少し変わってるけど、そこをきちんと説明しないからいけない。
>>741 なんでいきなり説明責任を押し付けられるんだよ
ブランチが明示的なディレクトリになっているのなんて、svnも一緒じゃん。変でもなんでもない。
hgやgitと違うからってだけで、ブランチが無いとか決め付けてる
>>699 がいるから
ブランチあるよと言っただけなのに、なんでbzr厨呼ばわりされなきゃならんのだ。
「ブランチ」という名前の何かを作れるということと、 gitみたいな機能や使い勝手を実現していることとは別問題じゃね。
>>742 すまんな、お前に押し付けたつもりはない。Bazaar の説明全般に言えることだ。
だが
>>738 の書き方もほめられたもんじゃないがな。
どうでもいい事で引っ張りすぎ
頭のおかしなキチガイをのさばらせることの、 どこがどうでもいい事なんだ
cvsしか使ったことのない人間に薦めるならgitとbzr、どっちがいい? どうせ性能は拮抗しているだろうから操作感覚がコンパチな方を教えろ。
git
cvs からならどっちでもいいんじゃね? svn からなら bzr だろうけど
>>750-751 ありがとう
svnは個人的に思想が嫌いなので、bzrはやめてgitにします。
>>752 思想的にはsvnよりかはgitの方が嫌らしいと思うが。
754 :
デフォルトの名無しさん :2010/02/15(月) 07:13:21
いやらしいのが好きです
gitなんて使ったらボク妊娠しちゃう;;
>>753 どんな風に?
svnはやたらとCVSをディスってて気分が悪くなったものだが
CVS はディスられてもしょうがないじゃん。 (歴史的事情とかはあるけどね git つか Linus の svn へのディスりようも相当だったけれど これも言われて当然じゃね?
そうか・・・gitも悪い子だったか・・・ cvsを使い続けようかな
それはないわ
困ってなさそうだから それはそれでいいのでは?
>>757 svnはBitKeeperの代替にはなれないのでは
しかし現状では安牌と言わざるを得ないのが現実。
冷凍庫の中もバージョン管理したいよな・・・ このコロッケはいつのだろうか・・・
764 :
デフォルトの名無しさん :2010/02/15(月) 22:57:18
Linus の批判はもっともな点があると思うけど、 実際問題、ブランチとかマージとかって、みんなそんなに頻繁にやる事なの? たとえば、非プログラマのユーザに、文書ファイルの管理を TortoiseSVNでやらせる、みたいなファイル共有+差分バックアップ+α の機能しか 使わないような分野もけっこうあるのでは? というか、最終的には全体としてはそういうプログラム開発以外での使用が 大多数を占めて、プログラム開発というのは、特殊な一用途に過ぎなくなる かもしれない(まあ、こんなことまで考えるのは板違いかもしれんけど。)。
>>764 ブランチは結構するかな。
すぐ本家に反映して、ブランチはぶらぶらさせたまま放置するけど。
ハッ! だからブランチっていうのか!
766 :
デフォルトの名無しさん :2010/02/15(月) 23:28:40
>>764 svnだとめんどくさいんであんまりやらないけど、gitだとまずブランチ切って作業って手順が体に染みついてるなあ。
リモートにpushしないローカルだけのブランチは、なんというか俺の部屋って感じで好き勝手できて気が楽だw
>>761 今更「なれないのでは」って…
SVNの中の人もとっくの昔に「無理です」って言ってたのに
Linusの場合はLinuxの開発フローに対して使えるか使えないかに 最も興味があって、その場合頻繁なマージが容易にできるという のがキーになる。それだけのことだろう。 一般的にそのようなケースがレアであろうと、彼にとってはどう でもいいはず。
769 :
デフォルトの名無しさん :2010/02/16(火) 03:00:18
>>746 わかった
bzrにはbranchがあります。
ただしリポジトリに対してlogを見たりtagを打ったりはできませんでいいか?
それでもあえてdarcsを使いつづける
>>767 Linusの選択基準の想定をしたまでで、指摘されなくても知ってます。
>>764 プログラム開発でも、おいらのまわりでは残念だけど一部だけかなぁ、
ブランチとか使ってるのって。
ネット界隈を見てると、みんな使いこなしているように思えるけれどね。
>>769 そうですね。bzrではブランチが一連の変更履歴、リポジトリはリビジョンを格納する場所と
明確に分かれているので、 log の対象はブランチになります。
git や hg では、リポジトリに対するログは、リポジトリのデフォルトのブランチに対するログ
ではなくて、リポジトリ内の全ブランチに対するログになるのでしょうか?
bzr では複数ブランチに対するログは qlog などの GUI やプラグインで可能ですが、
標準コマンドでは一つのブランチに対してしかログができませんね。
ブランチって切るものだったのか
ブランチって食べるものじゃね?
uncommit
Hgではコミットごとにブランチができる感じ。 マージすればブランチが網の目のようにつながる。 どのリビジョンからも新しいブランチを作れる。
どのリビジョンでもいじってコミットすれば新しいブランチができてる です。
>>768 そういう点では、Linux の偉大さを除外して考えると、
自分の業務には使えない・合わない、
みたいな理由で、特定の製品を屑だとかゴミだとか
叩いてる、2ch でよく見かけるアンチ君たちと、
メンタリティ的には変わらないんだよね。
>>779 ゴミばかりだから自分で作る
という所までいかないと
>>781 ああそうか、Linus の根本的に違うところはそこか。
どんなにわがままな事いう奴でも、
それを自分で実現しちゃう奴は、けなしようがないもんな。
msysGitで早く1.7.0出ないかなー。
msys使うのは糞
Bazaar 2.1.0リリース
ttp://sourceforge.jp/magazine/10/02/17/0426233 >Bazaar 2.1.0は機能のブラッシュアップとバグフィックスを中心としたリリースで、
>Bazaar 2.0系から機能面での大きな変更は加えられていない。
>主な改善点としては「bzr+ssh://host/?/」といったスタイルでの
>リポジトリ指定に対応したほか、メモリ消費量の削減やWindows環境における
>ワイルドカードを利用したファイル名指定サポートの改善などが挙げられている。
>Bazaar 2.1系では今後バグフィックスのみが行われ、新機能の追加等は
>次期版となるBazaar 2.2系に対してのみ行われる予定だ。
おお、ついに Mercurial を捨てるときが来たか。
>>764 仕事がsvnだが一個機能実装するときはまずブランチ切ってるよ。
>>786 指定のリビジョンに更新ができるようになったってことか。ようやくまともに使えるようになるなw
>>788 実装が終わったらブランチは消してる?そのまま?
790 :
788 :2010/02/18(木) 12:18:23
ブランチそのままだわ。普通はtrunkにマージしたら消すもんなのかな?
791 :
788 :2010/02/18(木) 12:19:54
当たり前だけどブランチのディレクトリ消しても、リビジョンやコミットの情報は残るんだよね? 過去のを参照できなくなる訳ないよな。見た目上ブランチのディレクトリがないから消したら参照しにくいだけで・・・
>>788 > 指定のリビジョンに更新ができるようになったってことか。ようやくまともに使えるようになるなw
戻すだけなら revert とかでもできたけどね。
外部公開用ファイルと自分の秘密ファイルの混合運用できるのってないの? 公開リポジトリに秘密ソースの痕跡は絶対残したくない
>>791 残る。削除したディレクトリと同じ扱い。
削除してないということは、ブランチはみんな別の名前がついてるんだね。
あちゃー、bzr-2.1 で WinMerge とかで日本語ファイル名のdiffを見ようとすると止まる。 qdiff しか使えない。
>>793 gitならstgit
あるいはそういうの使わなくても、分散型ならリポジトリ分ければ出来るような。
800 :
788 :2010/02/19(金) 09:24:36
>>795 そっかサンクス。消したディレクトリと同じ扱いか、わかりやすいな。
確かにブランチは全部別の名前つけてるねw
よく考えたら消したブランチとかの名前もリビジョングラフとか見たらわかるからまあいいのか
なぜdarcs使いがあまりいないんだ
布教してみてよ
Haskellerだからdarcs使ってるが、そうじゃなかったら多分使ってないな
ver A-> ver B->ver C と改良していって ver Bの変更が気に入らないのでそれを抜かして ver A -> ver C にできるのがdarcs
>>804 リバースマージ機能?
それだけだと他のVCSに対する優位性が分からないかと…
17日(米国時間)にSubversionプロジェクトがApacheプロジェクトのもとでトッププロジェクトとして認定されたと発表されている。
名称が『Subversion』から『Apache Subversion』となるほか、ホームページも
http://subversion.apache.org/へ変更となる 。
Subversionは2009年11月にApacheプロジェクトへ提案されている。4
ヶ月ほどでトップレベルプロジェクトへと昇格したことになる。
SubversionはOSSで開発されているバージョン管理システム。
CVSの問題を解決するべく開発されたシステムで、CVSにおける問題のいくつかが解決している。
操作方法がCVSを踏襲していることからCVSから乗り換えるプロジェクトも多く、発表当時は次期バージョン管理システムとして人気があった。
現在、バージョン管理システムはSubversionではなく、Subversionが抱える問題を解決した新しい分散型のバージョン管理システムGitや
Mercurialなどに人気があり、Subversionから乗り換えるプロジェクトも多い。
http://journal.mycom.co.jp/news/2010/02/22/004/index.html
>805 良く分からんけど、最初っから verB が存在しなかったかのように扱えるってことじゃないの? git なら rebase -i でできると思うけど。
svn roadmapの Long-term Goals * hybrid distributed/centralized VC model ってどゆこと?
>>804 たとえば、verBではクリスマスになったらウィンドウを真っ赤にするコードが
入っていて、それを取り除くことが出来るってこと?
ver A-> ver B の変更箇所をさらに ver B->ver C でも変更してた場合はどうなるの? パッチベースでもさすがに ver B をなかったことにはできないと思うんだけど。
その場合は競合になるけど? 何が問題?
しかし、どうやってver Bを取り除いてるんだ? 行番号の整合性とかどうしてるんだろう まさかそれ以降のコミットの行番号をすべてずらしてるとか?
>>813 行番号の整合性くらいはどうとでもなるでしょw
とりあえず同じことはgitでもできるってことでいいのかな?
殆どのバージョン管理システムではできるはずだよ。
>>816 DAGで合流のところはマージを表しているけど、
unmargeってどう表現するの?
できるっていっても、逆差分だったり履歴の改変だったりしない?
TFSも2010のは気になるんだけどね。 アレと同じ事をOSS組み合わせてやるのも大変かなーと思って。
でもお高いんでしょ?
>>819 Bazaarの評判は時々聞くが、gitやMercurialほどの頻度でもないから省いた、とある
VSSは昔は文字コードおかしいだけでリポジトリ飛んだりとかかなり糞だったけど 今は普通に使えると思う 得にCJK環境においては、ファイル名化けないってだけでもアドバンテージでかい
826 :
デフォルトの名無しさん :2010/02/28(日) 17:32:07
gitみたいな分散型って、 一人svnで使ってるリポジトリ間でマージやコミットもできる みたいなノリなの?
出張前に、ノートパソコンに出張用svnリポジトリ作って会社svnリポジトリからコピーさせて、帰ってきたら会社のsvnリポジトリにマージさせてるけど、そんな感じなのかな?
今の時代は、VSSからSVNに移行してるんじゃないの? 悲観的ロックって時代遅れ?
>>830 今時svnはないな。CVSのままか、gitに移行してるかの二択だろ。
え?
gitでgitignoreの書き方がイマイチわからんです。 例えば、cacheディレクトリのdotfile以外(.htaccessとか)を無視するにはどう書けばいいんでしょ .gitignoreにて、 cache/ などと指定しておいて、 git add cache/.htaccess -f でもまあいいんですが、みなさんこんなことしているのかな、と思いまして。
834 :
833 :2010/03/04(木) 06:13:04
cache/*.* !.htaccess のように.gitignoreを記述したら上手く行きました。 cache/ !.htaccess ではダメでした。この辺の違いがイマイチわからんですが、できたのでよしとします。 しかし思うのですがgitでgitignoreを記述した時やファイル含むディレクトリを追加するときに、ただgit statusした場合、 # Untracked files: # (use "git add <file>..." to include in what will be committed) # # cache/ などと表示されcache/以下が結局どうなるか?というのがイマイチわからず、 git add . してgit statusして初めて詳細がわかる、というのはこんなものなのでしょうか?
>>834 cache/以下はUntrackedだから、その下がどうなってようと表示する意味もないし、それで合ってるんじゃない?
>>831 オプソと非オプソで状況は違う。
プロプライエタリなソフト開発の現場では
リポジトリは開発者個々人のものではなく、会社の資産になるので、
分散型の場合は管理し辛い。
そもそも会社組織つーのはバザールモデルの対極にあるわけだから、
最初から分散型がうまく適合するなんていうところはむしろ稀だと思うよ。
rsって何?
839 :
デフォルトの名無しさん :2010/03/04(木) 15:13:05
6 つ目以降のキーワードは除外されています
CVSって同音異義語が多くね?
Mercurialはhgの別名もあるから、キーワードが分散してるかもね。 Subversionよりもsvnの方が多いし、別名がないgitはやや有利か?
SVNったらスロベニアが出てくるぞたくさん スポーツなんかはみんなSVN表記だしな
同じ条件で検索しないと +developerとか+"source code"とか
svkだとスロバキアになるのか
>>840 CVSってCVS/pharmacyのことだろ?
アメリカじゃあんまりCVSとは言わんよ
じゃ何と言ってるんだろう?
ちょっとした質問。 現在、Subversionからローカルにチェックアウトしたソースがある状態で、 svnリポジトリが閉じた社内LANにあるなどアクセスできない状態で、 ちょっとだけ外で開発したくなった場合、一時的にローカルで分散バージョン管理など使って管理しつつ、 開発した後、パッチ出力して後でsvn側にマージするようなことってできますか? ちょっとわかりにくいですが。 本当はbzr+svnなりgit+svnなりで最初にsvnリポジトリから分散バージョン管理ソフトで 持ってこれたらよかったんですが、現地で環境整えられなかったので。
>>852 > 現在、Subversionからローカルにチェックアウトしたソースがある状態で、
> svnリポジトリが閉じた社内LANにあるなどアクセスできない状態で、
リポジトリにアクセスできない所へは、どうやって持って行ったの?
逆にアクセスできる所へ(更新したディレクトリツリーを)持って行けば
いいんじゃないの?
>>853 ありがとう。
ええっと、現在アクセスできないsvnリポジトリから事前にチェックアウトしたソースがあって、
後でアクセスできる場所へ行ってsvnコミットしたいという話です。
ただ、それだとその場所でしか開発しにくいのでどうしたものかと。
都合により内部には鯖たてるのはいいんですが、外部にsshとか公開できないのです。(将来はわかんないけど)
現在ローカルにあるテスト的なソース郡でgit試してたんですが、
(1)ソース変更→gitでコミット→1から繰り返す→(svnコミットできるLAN内に移動)→(2)過去のバージョンにgit checkout→svnコミット→(2)を繰り返す
というのでいけるかな、と。ちょっと不毛な気がしますが。
gitのコミットごとにパッチ作って、svnでコミットできるようになったら、順にパッチを当てる方法も考えました。
ただgit diffでパッチを出力してみて、古いリビジョンにcheckoutで戻してpatchコマンドでパッチあてたり試してたんですが、
テキストの変更はいいのですが、git mvで変更した場合にうまくパッチあてられないですね・・・うーん。
それはそれとして
>>852 の様な根本的な問題解決には将来的には多分以下になるかと思います。
その他にも何かよい方法あったら教えて欲しいです。
・外部にVPSとか立てておいてリポジトリそこにおいてsvn
・git-svnとかbzr-svnでsvnリポジトリのまま分散管理で扱う
・分散管理バージョン管理系に移行(git、bzr等)
・VPNでLANないsvn(とかって外部に鯖公開でない状態でできるのか調べてない・・・)
>>854 のgit checkoutで編集中に戻れる状況なら、
途中のパッチ作ってパッチあてる方法って意味ないか・・・。
面倒だからさっさと、分散系の環境整えた方がいいな。
日記見たくなってスマソ。
>>854 > gitのコミットごとにパッチ作って、svnでコミットできるようになったら、順にパッチを当てる方法も考えました。
> ただgit diffでパッチを出力してみて、古いリビジョンにcheckoutで戻してpatchコマンドでパッチあてたり試してたんですが、
> テキストの変更はいいのですが、git mvで変更した場合にうまくパッチあてられないですね・・・うーん。
hg でもだめだったのでしょうか?
# 作業ブランチでの作業を記録
bzr-svn プラグインをオフにしておく
bzr init
bzr ignore .svn
bzr add .
bzr commit -m "initial import"
あとはbzrで作業。
# bzr の cherrypick merge を使って svn に書き戻し
bzr-svn を有効にしておく
bzr branch
http://svnブランチのパス/ work
cd work
bzr merge ../作業ブランチ -r1..-1
bzr dpush
http://svnブランチのパス/
ローカルのリポジトリにはメモ的に細かくコミットして、 共有リポジトリには大きな粒度でまともなコミットログを付けてコミット。 共有リポジトリ見てる同僚には、ローカルリポジトリでやった間抜けな試行錯誤や ゴミコメントは見られないようにする。 これをMercurialでやろうとすると案外めんどくさいみたいだね。ややこしい。 こういう作業をやりやすいのは、どのバージョン管理システム?
>>858 git で rebase -i とか使ってコミットをまとめたり分割したり。
>>854 たまにLANにノート持ち込んでそこからならsvn接続出来る、的な感じ
なんでしょ?
なら次に繋げる時にgit-svnすればオールオッケーだと思う。
それまでの分のコミットはこっちに溜めておいても、git-svn init後にrebaseすれば良い。
>>857 >>860 bzr-svn、git-svnて後からリポジトリ作っても既存のsvnに突っ込めるんですね。なにそれすごい・・・
やってみます!
>>856 ごめんhgはちょっと・・・
>>852 ローカルにSVNリポジトリ作ってそこで作業して、帰社したらマージすればいいし
つかbzr,git,hgどれも集中型連携はググれば出てこないか?
>>862 一回しかコミットしないとか、何回のコミットを最終的に一回のマージですます、ならいいんだけどね。
複数のコミットを全部順番にマージしたいとかだと面倒だよね
>>863 最初に分散型から集中型リポジトリにアクセスしてとってこないとできないと思ってました・・・。
>>861 git svn dcommit を後からやるんならちょっと細工というか工夫が必要だけどね。
いろいろなやり方が考えられるけど、ようはsvnから切り離した時点でのコミットの後に
ローカルなコミットが続くような状態になれば、git-svn-idを見て処理してくれるようになるから、
rebase --ontoとかcherry-pickとか使ってそういうブランチを作って、その状態で
git svn rebase、そしてdcommitする。
てか初回はそういう意味で面倒だから、ローカルなのは1つのコミットにまとめてしまって
やったほうが楽だと思うな。
>>865 cherrypick merge は本当のマージじゃなくてパッチを順番に当てていく
イメージだから、
>>857 みたいなことができる。
もちろん、最初から bzr-svn, git-svn, hgsubversion でチェックアウトしておいた
方が良いのは変わらないけど。
cygwin gitのgitkってUTF-8のテキストファイルも化け化けなんだがなんでだぜ? gitのせいなのか、gitkのせいなのか、cygwinのせいなのかどこで聞けばいいかわからん。 git version 1.6.6.1 cygwin 1.7
869 :
868 :2010/03/06(土) 11:57:25
git config --global gui.encoding utf-8 したら、gitkのdiffは化けなくなった。マルチバイトのファイル名は化け化けだが。これはなんとかならんもんなのかな
870 :
デフォルトの名無しさん :2010/03/06(土) 13:21:01
事務のおねーちゃんが読むExcel本みないなバージョン管理システム本書いてくれよ 「TortoiseSVNでひとりsvn」ぐらいのレベルでさ いろんなExcelファイルを使ってるから履歴管理させてあげたいんだけど 「リポジトリ」とか、「コミット」とか、説明するのがメンドーなんだよ
>>870 そういうレベルなら、ファイルサーバの共有フォルダに
シャドウコピーの設定をしてるだけで十分な場合が多い。
gitの質問いいでしょうか? git chekcout HEAD^ した後に、うっかりそこで作業して何度かコミットしまくってしまい、 名無しのブランチ(?)のようなものを作ってしまいました。 変更しているのにgit pushでEverything up-to-dateといわれてようやくこの状態に気づいたのですが、 その後、あわてて、git pullしてgit checkout masterしてしまいました。 名無しのブランチでの作業が、gitkなどで履歴を見てもどこにも見当たらないのですが、 とりだしてmasterにmergeすることってできますでしょうか? git branchで見てもmasterしか見当たりません。
>>870 「できる!Subversion」
全頁フルカラー!豊富な図解で分かりやすい!
みたいな感じ?
>>875 フルカラーなはずなんだけど、「TortoiseSVN」ではなくあくまで「Subversion」なので、
ほぼすべてがコンソールのスクリーンショットになってフルカラー涙目な状況。
877 :
874 :2010/03/06(土) 17:44:25
解決しますた $ git fsck --lost-found して表示できないコミットを表示して、表示されたIDを $ git log (ID) で新しいか確認して、 $ git merge (ID) したらmasterにマージいけました。
>>876 viの設定がカラーになってるから見栄えはいい
>>878 いや、viの時点でもう初心者向けではないだろう・・・
git log -gで、以前にHEADだったコミットが見られるから、必要なコミットを探してチェックアウト。 あらためて名前をつけてブランチにするのがいいと思う。
解決してましたね。失礼
じゃあvimで 入力モードでもカーソルキー使えるぞ
nanoじゃだめなの?
表紙は萌えキャラsvnちゃん
LinuxじゃなくてWindows向けの解説だからviはないだろ EDLINじゃね?
gitって名無しブランチを作れるの?
むしろgitは名無しブランチの先に旗立ってる特別な奴が名前付きブランチ
>>889 1つの名前つきブランチが枝分かれしているという状況はないってことであってる?
hgだと普通に起こり得るけど。
>>890 hgはよくわからないんだが、gitは特定のコミットに名前を付けるとブランチだし、
同じ親を持つコミットが複数あれば枝分かれしてるってことになる。シンプルだと思うが。
>>890 gitも基本は同じだが、ブランチの名前をつけずにコミットしたら、そのコミッ
トは別のブランチをcheckoutすると見えなくなるから、名無しのブランチに戻
るにはその時のコミットIDを覚えておいて直接checkoutに指定するしかないら
しい。不便なので普通は名前を付けるんだと思う。
893 :
874 :2010/03/10(水) 14:01:43
894 :
874 :2010/03/11(木) 13:42:32
895 :
デフォルトの名無しさん :2010/03/11(木) 14:35:42
>>895 「滅茶苦茶」じゃなくて「ごちゃごちゃ」なだけだろ
ちゃんと読めば役に立つ
>>897 >>895 じゃないけど、 TortoiseBZR のメンテナをやってます。
去年の1月頃から停滞していたのを、去年の7月頃から私が引き継いだので、現在は
そこらへんの説明無しにTortoiseBZRへのリンクだけ張ってもらえば良い状況ですね。
あと、olieve という GTK系のGUIが紹介されていますが、どちらかといえば推奨されて
いるのはQt系のGUIの方で、WindowsにおいてGTKよりも良いルックアンドフィールを
提供しています。
Mercurialも、リポジトリフォーマットがNTFS向きじゃないと解説されているけれど、 その後リポジトリフォーマットが変更されたんじゃなかったかな。 良い記事だけど情報が古いので、最新の情報に同じような記事が出ると良いですね。
そもそも原文が微妙に古いし(2009/08/19)、評価したバージョンが古すぎ。 > 2008年3月24日にリリースされたMercurial 1.0(Edgy用のIssue 1050パッチを適用) > 2008年4月8日にリリースされたGit 1.5.5 > 2008年4月10日にリリースされたBazaar 1.3.1
tortoiseGitも未リリースだったのか
902 :
874 :2010/03/11(木) 23:01:12
>>894 TortoiseHgもUI古いバージョンだな
古い比較記事はるな。氏ねよ
903 :
874 :2010/03/11(木) 23:01:59
あ、あ、、、、、
904 :
874 :2010/03/11(木) 23:11:27
オッス!オラ874!!
>>894 svnについても古くないか?
>ブランチ間でマージされたリビジョンの追跡を行う必要があります(Subversionにはこのような機能がありません)。
1.5以降でマージ追跡ができるようになってマージが簡単になりました。
>ファイルやディレクトリの名前が変更されていたら、マージが失敗してしまいます。
普通にできるし
あとの、externals,trunk,branch,tagsとかは好みの問題だろうし。
SCCSって分散バージョン管理システムだったのか。
>>907 該当段落は、分散なしのものから話を始めている。
翻訳が駄目だってだけだよ
>>905 >ファイルやディレクトリの名前が変更されていたら、マージが失敗してしまいます。
マジ?
手元のでできないんだがリポジトリ古いせいかな…upgradeするか
>>911 リネームしたほうをAとして、リネーム前に編集したほうをBとしてBをAにマージしたいのか。
もし、うまくいかないのなら、AをBにマージしてBからAにブランチの統合すればよくね?
バイナリーファイルも差分で記録してくんないかな ディスクたりなくなるかもしんないし
subversionはバイナリー差分を圧縮してリポジトリに格納する。
分散バージョン管理の中でバイナリーの差分とってくれるのは monotone だけってことで合ってる? svnはwordの差分表示するアドオンなんてあるのね
winmergeのプラグインにそんなのがあったようななかったような
>>915 それは差分表示ソフトの問題であって、
Subversion以降の世代のバージョン管理システムは
バイナリの差分保存はどれもできるはずだ。
>>917 そういうことじゃなくて
svnみたいに差分でリポジトリに保存しているって意味では?
hgもgitもbzrも差分では保存してないはずだし
他は知らんけどbzrは一応差分。というかリポジトリ内部ではテキストファイルとバイナリファイルを分けてない。
bzrは差分だったか、それは失礼した。聞いた情報だけで適当に言ってしまった
hgも保存は差分と聞いたけど、バイナリかどうかは知らない。
複数の svn リポジトリ間で同期を取る方法って、何か良いの無い? なんで今の開発環境、svn リポジトリが3本もあるんだろう。 ブランチが3本じゃなくてリポジトリが3本……一体何があったんだろう。
>>922 それはSubversionリポジトリの運用概念を理解できてないだけ。
Subversionの世代のリポジトリは、全世界で1個でいい。
git以降の分散系ではまた話が変わってくるだろうが。
質問に答えてやれよ
リポジトリ自体はSubversionのままで、クライアントをhgに切り替えればいいんじゃね。 ローカルのリポジトリがhgで中央がSubversionなら、適時マージかけて同期していくことは可能。
>>922 どういう状況で分かれたのか知らないけど、別のリポジトリのリビジョンの範囲を指定してもマージはできるから、がんばってマージするんだ。
そして運用方法を見直したほうがいいぞ。
>>922 一台をマスターにして、それにだけコミットするようにして、残りをスレーブにしてsvnsyncするしかないだろ…。
複数のリポジトリに好き勝手にコミットして同期したいなんて要望はsubversionでは狂気すぎる。
>>922 それぞれのレポジトリを別のバージョン管理システムで管理すればおk
レポジトリ
そんなの表記法の違いじゃ
realのことレアルって言わないだろ
でもmachineをミシンって言ったりするじゃん
なに君は江戸時代の感覚を大事にしたいの?
reportがレポートだったりリポートだったりするからどうでもいいよ。
レーベルのラベルにレッテル貼り
フォルダだったのがいつの間にかフォルダーになっちまったしな
駅でホームをHomeと書いてあるのを見たときは頭を抱えた。 20年くらい前だが。
ぷらっとHome という店は実在する
アイロンのこともたまには思い出してあげてください
HDDのことをハードと略す一般人は心中許せじ
雑談する奴も許せないな
USBメモリーがUSBだけで通じる電気店
そもそも初期の携帯の略称は携電だった
レム文
レットしようぜ
ちゃー
$ svn update -r 929 1255241922.dat $ svn commit -m "dokkaike" 1255241922.dat
950 :
デフォルトの名無しさん :2010/03/25(木) 08:17:29
ヴァーチャー
マイコン→パーコン→パソコン→マイコン
ガラパゴスケータイをガラケーと略(ry
コンフリクトの自動解消を一番賢くしてくれるのはどれ?
コンフリクトを自動で解決してくれるのなんてあったか?
そもそもマージ(自動)を捌ききれなかったのがコンフリクトでしょ。 で、コンフリクト解決ツールがいちばん充実してるのは…Tortoiseだったりしてw
じゃあ自動マージが一番賢いのはどれ?
バカなマージってあるか? うまくいかないのは、大抵が利用者の理解不足によるミスだが。
patchコマンドの不出来によるんじゃないの?
リポジトリって1個でよかったのか トータスSVNの右クリックに「ここにリポジトリ作成」みたいなのがあるから、きがるにプロジェクトごとに作るのかと思ってしまった 複数あると何か問題でもあるの? 個人でローカルで使ってるとそれをzipで固めて保存とかできるから便利かなと思ったけど。
>>959 言っておくが、一プロジェクトに一つでいい、ってことだぞ
わかってるな
わかってるよな
>>959 それであってると思うよ
>>922 は、ひとつのプロジェクトで中央リポジトリがいくつもある、って状態
これはどうしようもない状態
>>960 >>961 あ、1プロジェクトに1リポジトリで合ってたのね。良かった
1リポジトリに全プロジェクトに入れるのかと読み間違えた。レスありがとう
ついでに質問だけど、svnってtddな開発スタイルと相性悪いのかな?(頻繁にコミット) tddにもっとも適したバージョン管理ってどれだとおもう?
TDD = 頻繁なコミットってのもどうかと思うが、そう使いたいなら ローカルコミット(+あとでその部分を無視)できるシステムが必須だろうね。 分散型ならどれもそう変わらんのでは?
>>962 1リポジトリに全プロジェクトを入れるのもアリ。
この場合、各プロジェクトはリポジトリの単なるサブディレクトリ。
/reporoot/project1/trunk, branches, tags
/reporoot/project2/trunk, branches, tags
のようになる。
管理は楽なんだろうけど、リビジョン番号がプロジェクトごとに独立せず、
同一リポジトリ内での通し番号になるのが好かん。
965 :
デフォルトの名無しさん :2010/04/03(土) 13:02:57
>>964 >
>>962 > 1リポジトリに全プロジェクトを入れるのもアリ。
>
> この場合、各プロジェクトはリポジトリの単なるサブディレクトリ。
> /reporoot/project1/trunk, branches, tags
> /reporoot/project2/trunk, branches, tags
> のようになる。
ああ、そうか、1リポジトリでまとめる場合各project(サブディレクトリ)毎にtrunk, branches, tagsを持たせればいいのか。
/reporoot/trunk/project1
/reporoot/trunk/project2
ってtrunk(branches, tags)の下にproject**を置いてた
>
> 管理は楽なんだろうけど、リビジョン番号がプロジェクトごとに独立せず、
> 同一リポジトリ内での通し番号になるのが好かん。
>
そうね、TortoiseSVNでリビジョングラフが変になるのが嫌いだ
>>961 >
>>922 は、ひとつのプロジェクトで中央リポジトリがいくつもある、って状態
> これはどうしようもない状態
これをどうにかできるようにしたものが分散型って理解でいいのかな
中央リポジトリでの一元管理って、なんだかんだ言ってかなり有用だよな
富士通のとある大規模システムやってたときがそんな感じだった。 しかもメディアはMOで、数台〜十数台のPCに一個しかないので、MOに落とすの待ちやったあとに ライブラリアンの前で行列みたいな感じだった。テスト中は地獄。
それって何のメリットがあるの?
いつのまにか動かないリポジトリにならない
レポジトリを破壊する奴を全員放り出した方が生産性が上がる気がする
そのあたり、subversionは使用経験が浅くてよくわからんのだけど、 CVS なら、 1.各人が勝手にコミット 2.ある時点でテスト担当がチェックアウトしてテスト実施 2-1.テストが失敗したら、当該ユニットの担当者に連絡 2-2.当該ユニットの担当者が修正してコミット 2-3. 2に戻る 3.テスト成功した時点で所定のタグを打つ 4. 1に戻って全体が完成するまで繰り返し。 みたいなことやってれば、「動かないリポジトリ」にはならないじゃん。 最悪、直前のバージョンタグ(ベースライン)まで戻ればいい。 そういう管理って subversion ではできないの?
subversionは、branchesに分岐、修正、テスト、trunkにマージで問題なく安全なtrunkをリポジトリに作れるし。
いつの間にか壊すような奴は何も考えずにtrunkにコミットコミットコミット!
>>971 は運用が適当なだけなので本気にしてはいけない。
本当のメリットは、上司用の仕事を作れること。
>>975 そのあたりはアクセス管理でなんとかならないの?
>>974 そのやり方だと、trunk の内容がテスト済みに保たれるだけだよね?
「ある時点のテスト済みプロジェクト全体」を取り出すにはどうすればいいの?
例えば、リリースファイルをビルド番号で管理していた場合に、
何世代か前のビルドに対応するプロジェクトのファイルのセットを取り出すみたいな。
>>977 > そのやり方だと、trunk の内容がテスト済みに保たれるだけだよね?
trunkにテスト済みが保たれてればいつでもテスト済みプロジェクト全体が取り出せるやん。
>>978 いや、だから、それは「最新の」テスト済みプロジェクト全体だけじゃないの?
以前のビルドに使ったプロジェクトのセットはどうやって識別するの?
tags使えやタコ
>>979 > リリースファイルをビルド番号で管理していた場合
だろ?
そこまで細かいことやってるんなら、その直近のtrunk出しておk、じゃないのか?
もしかして頭固い?
そのあたりが subversuon はよくわからないんだな。 CVS なら、「そういときはタグを打て」と言われたとき、 コマンドのリファレンスを調べれば、 大体該当する機能があってどうすればいいかはわかるんだけど、 subversion の場合、マニュアルを見てもそういう機能は見当たらないのに、 みんなあたりまえのように trunk とか branches とか、tags とかを 使う話をしてる。 例えば、tags を使えと言われて svn コマンドのリファレンスを調べるんだけど、 それに対応するコマンドなりオプションなりは、 まったく見当たらない。
>>979 もしかして
>>979 はバージョン管理システムの基本がわかってないんじゃなかろうか
過去の履歴は「全て」残ってるのが大前提のシステムだぜ?
「最新の」ものしか出てこないバージョン管理システムってあると思う?
# ひょっとしてCVSがそうなのか?
「ビルドの識別」には、それこそtags利用なりリビジョン番号のメモを取るなりすればいい
それは運用だけど、それが「できない」ものはVCSの名に値しないよ
大規模システムってプログラマが数百人いて、各人が勝手にコミットとかしたら大変なことになる。
>>981 「直近」という言葉の意味がよくわからない。
なぜ、「そのビルドをビルドした時点」ではダメなの?
例えば、CVS の場合、 ビルド100 を作るときに、
「B100」とタグを打って、「B100」でチェックアウトしてビルドしてテストしてリリースすれば、
そのあと、ビルドが200になろうが、300 になろうが、「B100」でチェックアウトすれば、
ビルド100をビルドした時点のファイルのセットが得られるよね?
これと同じことは subversion ではできないの?
「直近」というのは、どういうファイルを取り出すことを言っているの?
>>985 直近は曖昧だったか。ダメじゃないよ。
その「ファイル」をコミットした時点でのビルド、っていう基点がわかってるなら、
それこそそのファイルをコミットしたリビジョン番号が、すなわちあんたのいうB100だ。
(ex. rev.9893、とかな)
リビジョン番号はファイルについているのではなく、リポジトリ(≒プロジェクト)全体での通し番号。
んで、それではわかりにくいので、慣習的にtagsっていうディレクトリをtrunkと同階層に掘って、
そこに「コピー」を作る。
このコピーは結局trunkのディレクトリのコピーなので、好きな名前を付けられる。B100でも何でも。
また、いくつでも好きなときに作れる。これがSubversionで言うところの tags
>>986 なるほど、trunk とか tags ってのは慣習的に「そうやってる」って話なんだ。
リファレンス調べてもわからないはずだ。
それでわかりました、ありがとう。
そのあたり、わかりやすく書いた半公式サイトがあったような気がしたが、今探したら見つからないな。 やっぱり流行ると、なんつったっけ、ゴミサイト率が上がるな
>>987 まあ逆に考えるんだ
SVNなら、リビジョン番号さえわかれば、タグがついてなくてもいつでも
全ファイルセットを取り出せると考えるんだ
タグがコピーって言ったって、別に全てのファイルをコピーしてるわけじゃないし
コミットさえ無ければ(恐ろしいことにこれは可能だが)、純粋にリビジョン番号を
保持しているだけみたいなもんだし。
>>987 そうそう。
trunk、branches、tagsっていう名前を作るといいかもね
っていう感じ
え?trunk、branches、tagsってSubversionのマニュアルに載ってないの? 「慣習として使っている」みたいな記述もなし?
993 :
デフォルトの名無しさん :2010/04/07(水) 15:43:22
>>988 上平哲が訳して公開してたやつだと思うけど見つからない。
今は別の人が公開してるみたい。
www.caldron.jp/~nabetaro/hiki.cgi?SubversionWork
まあ未訳が多いからTortoiseSVNのほう見たほうがいいかもね
995 :
デフォルトの名無しさん :2010/04/07(水) 18:26:13
「お約束」位のノリ
projectname/trunkのタグをprojectname/tagsに入れるのは違和感ないんだが、 projectname/branchesのタグをprojectname/tagsに入れるのは違和感が有る。 かといって、projectname/branches/tagsを作るのもなぁという感じ。 どうやってる?
↓次スレ
つーか埋め立てるぞゴルァ VSSで決まりだろアフォンダラー
1000ならVSS滅亡
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。