立てました。 関連スレに関してはサーバ移行に伴い、落ちてしまったスレが多いようなのですが 一応過去スレとして残しておきました。 新サーバに移行しているものに関しては、一応URLを新サーバに変更しました。
乙
>>5 チェックミスった所があったかもしれません。
落ちてないのってどのスレですか?
>>6 一応全部確認したつもりなんですが・・・
なるほど、確かに私間違ますね。 私の2chブラウザだと旧アドレスでの他板へのジャンプで過去ログへと 繋がってしまったため落ちたと判断してしまっていました。 失礼しました
即死なんて俺がさせない
LaTeX憶えられなくて劣等感抱いてるのが約一名いることが判明した
そもそも文章なんていくら書いても金になんねーつの 挙句らてっくす笑なんかじゃ何所にも納品できねーし あんな生産性の無いもん厨煮から抜け出せない学生ちゃんしか使わん ビジネスユースでてっくす笑が使われてるケースがあるなら提示してみろよ
こいつの脳内にはアスキーという会社は存在しないらしい。 まぁ確かにメディアワークスと合併しちゃって存在しないけどさw
馬鹿な事やってる会社は潰れると言う事例をありがとう はい次の方どうぞ
おや、ビジネスコースのエリート様はTex2Pdfをご存じないらしい。 きっとDoxygenもご存じなくて、下々のものに手書きさせているに違いない。 プログラムでできることを態々仕事として下々に与えてくださるとはなんと有り難い。
何言ってんだこいつと思ったらビジネスコースってお前・・・・ 言ってる内容も全部が相当の自爆もんだし それで真面目に煽ってるつもりなら、マジもんの馬鹿だよお前
あらら、自分の知らない単語は全部「自爆もん」ですかw
マジもんの馬鹿確定 お気の毒様
ビジネスコースwwwwwwww 朝から笑わせんなwwwww
おまいらその調子で即死回避よろw
>>12 > そもそも文章なんていくら書いても金になんねーつの
> 挙句らてっくす笑なんかじゃ何所にも納品できねーし
現場ってものすごい狭いんですね
だって、そいつの想像力ってゼロなんだもん。 自分の体験だけが全てwwwwwww
> 馬鹿な事やってる会社は潰れると言う事例をありがとう 合併した会社のことを「潰れた」とは言いません。 バカの事例をありがとうwwwwwww
24 :
デフォルトの名無しさん :2010/09/07(火) 14:46:58
てっくす(笑)
確かにてっくすじゃあ納品できないな
TeX って文章構造じゃなく出力を記述する言語だぞあれ。 ドキュメントだったら Wiki の方がなんぼかマシ
いい加減スレ違いだボケ。
実際、テキスト形式のソースコード(プログラミング言語とかマークアップとか) ならいくらでも差分取れるから、分散型でもマージすりゃいいじゃん、 って考えられるけど、差分取れないとか、人が差分見ても意味不明とか、 そういうファイルフォーマットメインでやらなきゃいけない場合、 どうすりゃいいんだろうね。 つかまあ、そういうフォーマット使う限りはどうにもならないかね…
そういう時は目で差分取るしかないんじゃないかなぁ。 diff とってマージと意味はかわらないよね。 Word Excel は差分取るプログラムとか探すと見つかるし そう悲観したもんじゃないと思うけど。 というわけで文章はいいんだけどさ、画像とかどうしょもないよね。
TortoiseSVN の TortoiseIDiff が出たばっかりの頃は面白がって使っていたけど 最近はさっぱり使わなくなったな。 画像を重ねて透かして見るのが楽しかったw
33 :
デフォルトの名無しさん :2010/09/09(木) 02:14:02
TFSとMercurialじゃ方向性が全然違うだろう。 それはともかく、せっかく支援するならWindowsの日本語ファイル名をなんとかして…くれないよなぁ。
200万つったらTFSの1ライセンス分くらいか?
>>36 おい、UTF-16対応フラグだろ、それはw Python3の内部はUTF-16だっけ?
UTF-8そっちのけになってマルチプラットフォームでやりとり不可の可能性すらあるだろがwww
MSにとってapache傘下になったsvnよりhgの方が都合が良いってことか?
消去法だったり… open source と、いうか、 不特定な人々でソースコードを突いた方が、 解決する類の問題がある事に気付く。 ↓ `不特定な人' って事で、 分散型&無料&オープンの中で、VCSを物色する。 ↓ git -> linux のイメージ bzr -> gnu のイメージ hg -> これかな みたいな
hgはOpenJDK,OpenOfficeでSUNってイメージがあったのだが、そのSUNが・・・
使ってる人達じゃなくて、作った人の話でしょ。
>>42 コミットのログにアットマークsun.comならいるけど
>>42 作った人ならmercurialはLinuxのイメージじゃないか?
tortoisesvnにまったく不満ないんだけどなにかある?
>>45 CPU 負荷 HDD アクセス負荷が高すぎる気がする。
mercurial で、git ci --amend 相当のことってできますか。 直前のコミットコメントを修正するのに、git ci --amend がすごく便利なので、 同じような機能がmercurialにあれば教えてください。
>>45 エクスプローラにフック入れてくるからSVN使う作業時以外でもモッサリにされた。
>>45 Subversionに対する不満ならたくさんあるが、そういうことではなく?
>>45 vistaからexplorerでリビジョン番号とか表示できなくなって使う意味が減った。
>>45 バージョンアップ時にアンインストールが必要だったりして
複数回の再起動が必要だったりすること
業務中にはちょっと切ない。特に、他人にバージョンアップさせるときに
TortoiseSVN、TortoiseGitが再起動要求する場面は ログアウト→ログインで事足りるはずだよ
再起動後にファイルの削除やリネームがスケジューリングされてることがあるから それだけじゃ済まないだろ。
強制的にexplorer落とすDropboxよりはナンボかマシw
58 :
デフォルトの名無しさん :2010/09/14(火) 17:03:58
Subversion r12スレより誘導されてまいりました。 1人でphpの開発をしております。 本番サーバー、開発サーバー、バックアップサーバー、3台のサーバーがあります。 今はFTPで開発サーバーに接続、動作確認、開発サーバーから本番サーバーにrsyncで同期 という方法をとっております。 本番サーバー、開発サーバーとも、日毎にバックアップサーバーに保存しております。 開発にはsubversionがあたりまえ、というようなことを耳にしましたが、このような開発環境でsubversionを導入するメリットというのはどんなものがあるのでしょうか?
それはバージョン管理システムのメリットとは何かと問うているに等しいよ。 その言語と環境に特化していうべきことはない。 どっかの入門記事読んで試験的に導入してみた方が早い。 バックアップとは別にバージョン管理をするメリットは十分にあるとだけ言っておこう。 # 屋根裏尾はあえて使ってないみたいだけど
>日毎にバックアップサーバーに保存 履歴がはっきりしてるならこれでいいよ
>>58 何も困ってないのならそのままでもいいかも知れないけど、
導入すれば一般的なバージョン管理システムの恩恵が得られる
・変更内容を追うことができる(ログメッセージが役立つ)
・複数人体制になった時に行き違いを防止することができる(ファイル上書きなど)
・リリースバージョンと開発バージョンをフォークしたり(これは分散型のほうが得意)
・テスト&バグ報告などを行う場合に、対象バージョンを特定しやすい
62 :
58 :2010/09/14(火) 17:34:56
>>59 やはり差分が管理できるというのが一番の利点でしょうか?
環境は準備し、少し触ってみたのですが、いじったらコミットして、サーバーにもFTPで上げないといけないので面倒だなぁと感じております。
>>60 日毎でとってるので2週間程度はさかのぼれますが、1日に複数回、大幅な変更などをしたとき戻りにくい。
1年前とかのファイルは残ってない、というのが問題でしょうか?
>サーバーにもFTPで いやサーバにリポジトリ作る、、というかサーバにシステム入れて使うのが普通
>>63 そのサーバーって開発サーバーのことですよね
>>62 大幅な変更があるならそのときだけ日ごとじゃなくて作業ごととかにすりゃいいんじゃね?
>>58 FTPで接続とあるから、おそらくPHPコードのマスタはクライアントPC上に
あるのだと思うけど、Subversionによるバージョン管理というのは、
(テスト環境や運用環境ではなく)マスタとなる(PC上にある)PHPコードの変更履歴を
管理することを目的に導入するもの。バックアップの世代管理とは区別して考えなさい。
Subversionの遠い祖先にあたるSCCSというバージョン管理システムのSCCSという単語は、
Source Code Control System(ソースコード制御システム)の略語。
ソース(PHPコード)の管理が基本的な導入の目的だよ。
作業コピーごとサーバに置いてソースコード流出
>>67 > 作業コピーごとサーバに置いてソースコード流出
svnが各ディレクトリにできるから分散型の方が良いと思うけどどうなんだろう?
>>68 >
>>67 > > 作業コピーごとサーバに置いてソースコード流出
> svnが各ディレクトリにできるから分散型の方が良いと思うけどどうなんだろう?
ドット入れたつもりが抜けちゃった。
".svn"が各ディレクトリにできるから分散型の方が良いと思うけどどうなんだろう?
>>69 できればリリース作業はVCSとは別にスクリプト作っておいたほうが良いと思う
>>62 1ヶ月かかる新機能追加(既存ファイル変更しまくり)やってる後半に、現行版の緊急の修正が3個くらい舞い込んできたらどうしてんの?
72 :
58 :2010/09/14(火) 18:35:22
後だしですみませんが、開発環境に追加で、Windowsのテキストエディタでコードを記述、FTPでファイルをアップロードしてます。
tortoisesvnの使用です。
>>61 後のことを考えるなら、今のうちから導入しておいたほうがよさげなのですね。
>>63 >>64 リポジトリは開発サーバーに作成してますが、
・手元でファイル修正→コミット
・修正したファイルをアップロード
これは別物ですよね?
手元でファイルを修正→コミット=アップロード
というのは不可能ですよね。
>>66 マスターのファイルは開発サーバー上にあります。
開発サーバーにFTP接続→ダウンロード&修正→開発サーバーにアップロード
上でも書いたのですが、バージョン管理と、開発サーバーにアップロードは別物ということですよね?
バージョン管理するために、ひと手間かけるという認識でよいのでしょうか?
>>67 開発サーバーの公開ディレクトリにチェックアウト、編集しアップロードしたらコミットというのを考えましたが、それだと複数人で作業したときの競合がおき、全く利点がないですよね…
コンパイルが不要のphpなので、考えかたがjava等とは違うのでしょうか?
>>71 本番サーバーから直接ファイルをダウンロードして、修正し本番サーバーにアップロード、修正した部分を変更中のものにも適用、というようなことをしています。
直接本番サーバーで作業するため、稀にエラーやらバグが発生しますが、事後修正で対応でいるようなサイトなので…
こんな考えだからsubversionの利点を見出せないのでしょうか…
>>72 > 直接本番サーバーで作業するため
> こんな考えだからsubversionの利点を見出せないのでしょうか…
うんそう
そこで仕事が貰えてるなら、もうそのままで良いんじゃない?
君が不可能と考えてる事は簡単に可能だし、懸念してる手間など初めからないし
開発者のあり方として、素人の遊びレベルのクオリティだけど、まぁ、そのままで良いんじゃない?
74 :
66 :2010/09/14(火) 18:59:28
>>72 >マスターのファイルは開発サーバー上にあります。
それなら、単純だ。開発サーバにSubversionを導入してコード管理すればいい。
>開発サーバーにFTP接続→ダウンロード&修正→開発サーバーにアップロード
FTPではなくSamba(for Win)またはNFS(for UNIX)で接続(マウント)し、
開発サーバ上のPHPコードを直にエディタで編集するほうが楽だと思う。
あるいはレンタルサーバのようにサーバマシンがリモートサイトにあるのなら、
sshfsという方法がある。"sshfs" あるいは "FUSE" でググレば情報を見つけられる。
個人的には、vim(エディタ)を習得することがUNIXマスターへの第一歩だと思うけど...。
>バージョン管理するために、ひと手間かけるという認識でよいのでしょうか?
開発サーバ上のSubversionリポジトリに最新コードをチェックインしたら、
その後のテスト環境へのチェックアウトは、手作業ではなくスクリプトで自動化させる。
make/Makefileあるいは類似の自動化ツールを勉強すること。慣れれば手間はかからない。
>>72 > 後だしですみませんが、開発環境に追加で、Windowsのテキストエディタでコードを記述、FTPでファイルをアップロードしてます。
> tortoisesvnの使用です。
>
これはWindowsのローカルにリポジトリを置いているってこと?
BDB、FSFSどっち?
> 開発にはsubversionがあたりまえ、というようなことを耳にしましたが、このような開発環境でsubversionを導入するメリットというのはどんなものがあるのでしょうか? > 後だしですみませんが、開発環境に追加で、Windowsのテキストエディタでコードを記述、FTPでファイルをアップロードしてます。 > tortoisesvnの使用です。 svnは使っているの?それとも、これから導入を考えているの?試し程度に少し触った程度なの? 「導入を考えて試しに少し触ったけど、メリットが見出せなかった。」だと思っていたんだけど、 どうも「TortoiseSVN使っているけど、メリットが見出せない」なのかな。 branchもtrunkも作らずにやっているのかしら?
> 手元でファイルを修正→コミット=アップロード > というのは不可能ですよね。 subversionのpost-commit-hookでアップロードすればいい。
こんなことなら元スレでやればよかったなw
バグがあっても事後修正で対応してゴメンナサイすれば済むサイト(
>>72 )で、
そのくらいのソフトウェア品質管理水準を許容できる開発体制なのだから、
バージョン管理(SCM: ソフトウェア構成管理)導入の意味(目的/価値)が分からない。
>>73 が言ってるように、それで仕事が貰えてるなら、そのままでいいんじゃないかと思う。
ftp・rsyncってファイル上書きする可能性のあるので良くやっているなと感心する
>>72 >
>>71 > 本番サーバーから直接ファイルをダウンロードして、修正し本番サーバーにアップロード、修正した部分を変更中のものにも適用、というようなことをしています。
> 直接本番サーバーで作業するため、稀にエラーやらバグが発生しますが、事後修正で対応でいるようなサイトなので…
> こんな考えだからsubversionの利点を見出せないのでしょうか…
すげえw
いやでも、これで仕事ができてて、食えてるならいいと思うけどな俺は
うちでこの体制の時代によくあったのは、本番サーバーにアップしてあるのを弄ってアップしたら
先方もいじっていて先方の変更が消えて、とかその逆があったりとか
げんなりくることが多かったな。あれはひどかったなw
今のままで廻っているなら別にいいと思うけどね。
将来的に困ると思うなら、自分の趣味ででもしばらく使ってみた方がいいよ
なれるまでちょっとした手間が増えるので面倒なのと、自分なりに便利さや効率的なやり方を実感していないと
他人に勧めにくい。
他人に「素人の遊び」と言われようが、馬鹿だと言われようが 飯食えてるんだったら気にする必要ないと思うけどな 効率的な開発手法ばかり追っててまともに飯食えてない俺だからそう感じるんだろうけど
> 本番サーバーから直接ファイルをダウンロードして、修正し本番サーバーにアップロード、修正した部分を変更中のものにも適用、というようなことをしています。 > 直接本番サーバーで作業するため、稀にエラーやらバグが発生しますが、事後修正で対応でいるようなサイトなので… > こんな考えだからsubversionの利点を見出せないのでしょうか… 何のために開発サーバー用意してんだ?
まずはsambaを使って開発サーバ上のファイルを直接変更する環境にしてからだろう そもそもこの程度の使い方ならsubversionはオーバースペック cvsでも充分
サーバがLinuxとは書いてないし、sambaのポートが開いていないリモートかもしれない
cvsはないわーw どう考えたら、svnはやめてcvsということになるんだ Windowsを除けば、分散バージョン管理でいいんじゃんという時代になってきてるのに
CVSはファイル名の変更や移動、それにディレクトリを管理できないという欠点があるからね。 SVN等の後継システムが登場したのだから、すみやかに引退してもらうのが正解。 RCSは単体テキストファイルの管理に限定すれば便利なツールだから、この先生き残るだろうけど。
>>90 > RCSは単体テキストファイルの管理に限定すれば便利なツールだから、この先生き残るだろうけど。
これも、gitやbzrが入っていればそれでいいって話で。
最後に残るのはsvnだけどね 他のお遊びscmとは意識レベルが全然違う
93 :
デフォルトの名無しさん :2010/09/15(水) 07:18:54
最後に残るのはlatexだけどね 他のお遊び(ry
>>91 確かに、ソースコード管理については(svnやgitがあるから)rcsの出る幕は無いだろね。
ただ、rcsはちょっとしたテキストファイルの来歴管理(たとえばhttpd,confや.bashrc)には
十分だし、ほぼすべてのUNIXマシンでインストールされているし、Windowsにも移植されてる。
だからrcsというプログラムそのものが消え去ることは無いだろう、ってことを言いたかった。
ただ残ってるだけで誰も使ってないコマンドってあるよね そんな生き残りに価値はあるんだろうか
cvsの*,vってrcsとの互換ってまだあるんだっけ?
>>94 * python とかがない状態でも動く
* リポジトリフォーマットがテキストなので、復旧だけなら他のコマンドを使ってもできる
ってあたりが、システムファイルいじる時には安心できるよね。
>>99-91 ちょっとスレ違いかもしれないけど、 homeにあるdotfile管理するときってどうしてる?
.bashrcとかあのへんのUnix系の設定ファイル郡のこと。
別ディレクトリに置いてそっちをバージョン管理して、homeにsymlink貼るって形がいいのかな。
homeに直で.gitとか.bzr作ったら、home以下を見に行ってしまってヤバクない?
しかしWindowsだとsymlink貼るのに管理者権限必要なの面倒なのなんとかしろ
おいらはホストごとに別ディレクトリでバージョン管理して symlink だなあ。 home に直はちょっと考えられないかな。 home の使い方によるだろうけれど。 Windows では管理してないやw
>>98 >>94 だけど、遠慮無しに履歴管理したいファイルがあれば、そこに mkdir RCS している。
だから $HOME/RCS, $HOME/bin, $HOME/lib/RCS, /etc/RCS とかRCSだらけに。でも気にしない。
RCSディレクトリがあることで、そこに履歴管理されているファイルが存在していることが分かるから。
探すのも find . -name RCS を実行すれば、一発で分かる。誰にでも勧められる方法じゃないと思うが参考まで。
もちろんこれは個人の開発マシンに限定すべき事柄。もし本番サーバ等でやるなら、事前に承認を受ける。
Mercurial使いたいのだが、日本語でコミットログ書くならBazaar一択? Mercurialならdeps extensionでsvn:externalsっぽいことできるし、資料も豊富で楽なんだけど…
>>102 ログは問題ありません。
HGENCODINGでぐぐって下さい。
>>103 即レスサンクス!
これでMercurial安心して使えます
>>101 素朴なギモンなんだけど、
RCSディレクトリを作るならRCS使い意味は何があるの?
ディレクトリ作るなら、git/とか作ってgit initしてそこにファイル於けばいいわけだし
>>105 目的は、単体の設定ファイルやスクリプトを来歴管理したいという、ごく単純なもの。
gitがインストールされたマシン上でgitに慣れた人が同じ事をするのなら、(rcsではなく)gitを
使えばいいのではないかと。ただ、rcsは大半の環境で使える基本ツールだよ、って事を言いたかった。
git(あるいはsvn等の新しいツール)とrcsとは機能差が歴然としているから、単純な優劣での比較は無意味。
csh/tclsh/zshなど高機能なシェルが考案されてきたけど、未だにshが生き残っているのはナゼか考えてみよう。
それは、あれだ もう枯れきってバージョンアップもないだろうから、 10年経っても大丈夫、みたいなもんじゃなかろうか 違うか。ごめん。
いや、まったくそのとおりだよ。 sh/awk/make/cc/yaccと同様に、UNIXが消え去らない限りrcsの知識は無駄にはならない、という意味で。 gitやsvnは(cvsがそうであったように)、さらに新しいツールが登場することで引退の道を歩むかもしれないけど。
vssは?
>>98 ぶっぱなす。w
最近は、/etc/httpdとかも直にsvn管理
しちゃってる。
別に問題ないだろ。
bashやzshの次がでたらそのうちとってかわられるかもしれないけど、shはそういう気がしないな 変わらないことが利点か LinuxはシステムでPythonの利用が増えてきたけどそういう意味では不安だなw
shはシェルスクリプトインタプリタとして必要だからね。 PythonはPerlのカウンターパートとして出てきているから、そういう意味では不安が増えているわけ ではないんだけどね。 それにPythonは複数の別バージョンをインストールしておくのも楽だから。 …とはいっても、Python3の利用が進んできたらいろいろ面倒はありそうだなw
ああ、そっか。PythonはPerlの代わりか納得。 別バージョンの同居が考慮されてるのはいいね! PerlやRubyはどうだっけか Rubyは1.8と1.9の切り替えにRVMとか別途必要だった気もする
perl早く無くなってくれないかな
インデントきもいとか言って python 勉強してなかったつけがまわってきたぜ。 etc は .svn とかあると気持ちわるいんだよなぁ・・・ 別の場所で編集して export でいいんだろうけど。
PythonとPerlはLinux Standard Baseに入って殆どのLinuxでデフォルトでインストールされてるからな。
annacondaがpythonだからpythonが無いとインストールができない
トータル40GBのバイナリデータをストレスなく扱えるものはありますか? PERFORCEなら問題ないんだけど、結構高いので。
>>118 トータルサイズより、個別のファイルがどのくらいのサイズなのかのほうが重要に思う。
勝手な推論だけど、gitは向かないと思う。なぜならgitはファイルが更新(コミット)されるたびに、内部的に別ファイルとして保存するので、
たとえば1GBのデータをちょこっとだけ変更して保存すると、新しく1GBのファイルを作成して保存するから。
(packすればいいかもしれないけど、どのくらい効果があるか知らない)
>>119 え?
git はパッチ、つーか、diffを保存するんじゃないの?
バイナリでそれをやるのはsvnだけじゃね? gitはとりあえず富豪的ってイメージ
あ、そか。 バイナリの話か…。 って、svnってそれやるの?w …だから、あんなクソ重いのかw
>>122 遅いのはリポジトリ圧縮するからじゃないのかな?
>>119 動画みたいなファイルでも、repackすればかなり小さくなるよ
(もちろん、差分的な更新履歴であることが条件だけど)
ヘタすると元のファイルより小さくなる場合もあるけど、あんまり大きなファイルだと
repackの時にメモリが足りなくなってしまう場合があった。
ただ、毎回repackするのはかったるいし、オブジェクト化する時の圧縮や
repackする時の差分抽出にかなりのCPUパワーとメモリを必要とするので、
動画とかの巨大なバイナリファイルが沢山だったりすると、やっぱ厳しいと思う、、、
超富豪スペックなマシンだとけっこういけたりするんだろうか?
まあ1ファイル数ギガもあったりしたらそんなもんでしょ、という気もするんだけど
PERFORCEがそういうのでもサクサク分散できるんだとしたら、すごいなと思う。
つか、gitになれたら、cvsとかsvnは使えない…
gitは使いこなせてるとは言えんが、ファイル名をリネームしまくっても 何事もなく追随してくれるのが便利すぎる
gitはリネームできてもコピーが出来なかった気が
gitはかゆいところに手が届く感じの機能がいいな。 git add -p とか、 git rebase -i とか
gitはファイル名の変更を追跡しない。検出してるだけ。 だから遅いし、変更とファイル名の変更を同時に実行すると検出に失敗する。 hgはファイル名の変更をメタデータとして残すので、やはりannotateとかするのが遅いけど、 コピーにも同じ方式で対応できる。 bzrはファイルにIDを振っているので、annotateとかは速いし、ファイル名変更後に行った修正だけを cherrypickとかできるけど、copyはまだ実装されていない。
gitはリネーム用のコマンドは実質、削除と追加をしてるだけだけど、 ログ見るときに追跡ができるというところがミソだな。 コピーも追跡してくれればいいのにね
>>131 > だから遅いし、変更とファイル名の変更を同時に実行すると検出に失敗する。
メタデータがないとこの問題あるのか
ファイル名とディレクトリ構成の変更をしょっちゅうやるからsvnから離れられない
ファイル名を変えたらファイルの中身も1行ぐらいは書き換えないといけないことがほとんどと思うんだが、 実用上大丈夫なのかな……
>>136 そういう場合は、2回に分けてコミットすると良い。
例えば、javaでパッケージ構成を変更したときなんかは、先にディレクトリ構成を変更してコミットし、次にpackage宣言を
修正してコミットする。
ディレクトリ構成を変更したタイミングで チェックアウトしたらビルドできないのかあ
>>137 その場合、変更要因は1つだけどコミットは2度発生するよね。
変更要因とコミット操作の関係を管理したかったら、タグとか使うしか無いのかな。
>>137 ディリクトリ、ファイル名の変更と#includeの変更はまとめて一回のコミットでやってるけど、分けてやる理由ってなんだろう。
分けてやると、ビルド通らないリビジョンができるじゃん?それはいいの?
git固有の話みたいだけど、分散型の場合、まとめてpull/pushするからコミットの粒度も絡んだ運用の話なんじゃない?
>>131 ここまでリネーム・コピーの扱いが違うと
git/hg/bzrをsvnクライアントとして使った時に何かと厄介になりそう
話についていけない漏れは、svnを使い続けることに決めたw
>>131 変更とファイル名の変更を同時に実行すると検出に失敗するって言っても
そりゃ原形を留めてないほど変更したときの話じゃね?
かなり書き換えてかつリネームしたとき、create になるかと思ったら
rename foo/{bar.js => baz.js} (70%)
みたいに表示されてるし
なんかここ最近になって一気に有用な話になってる気がするのは俺だけ?
>>145 食わず嫌いしないで、試してみなよ。
gitはベターsvnでもあるんだぜ?
βsvnなんぞイラン
わかった、言い方が悪かったよw gitはベターなSubversionクライアントでもある。 で、いいか?w
>>146 原形を留めてないほど変更した場合のことを考えると、ファイルの移動って何?
みたいになるよね。Gitのやり方は利にかなってると思う。
>>152 TortoiseGitがTortoiseSVNと同じくらいにならないと説得力が無いと思うがな
>154 Subversion 使いがみんな TortoiseSVN 使ってるわけでもなし、コマンドラインなら git-svn は普通に便利だよ。
じゃあこうだな 少なくともCUIでの利用に限定すれば、gitはベターなSubversionクライアントでもある。
だが、いまだ濁点付き日本語ファイル名に対応してないという (Macだけ?)
158 :
デフォルトの名無しさん :2010/09/23(木) 10:00:16
MacはNFDだから濁点の扱いがWinやLinuxと異なるってだけじゃなくて?
gitはLinuxのことしか考えてないから仕方ないよ。 ファイル名=バイト列なんてのは、ファイルシステムによっては成立しないダメダメな前提なんだけど そもそも環境変数LANGでファイル名の解釈が変わったりするLinuxでは必要な前提だしね。 だがMercurial、てめーは駄目だ。
161 :
デフォルトの名無しさん :2010/09/23(木) 14:58:44
>>160 > そもそも環境変数LANGでファイル名の解釈が変わったりするLinuxでは必要な前提だしね。
kwsk
>>161 いや、NTFSやHFS+ならファイル名が格納されるときの文字コードは決まってるけどさ、
extとかのファイル名はメタデータも何も無い単なるバイト列じゃん。
それを文字コードとして解釈するかはLANG次第で、ja_JP.UTF-8からja_JP.EUCに変えたりすると化けるじゃん。
>>163 読んだが、いくつかの流派が不毛な言い合いをしてるだけだろ。
どの流儀でも統一さえ取れていればある意味問題ないとも言えるんだし
163が何派なのかも書いてくれんと、そもそも何を言いたいのかもわからんよ。
WindowsのBazaar入れてみたら、Bazaarエクスプローラーは結構いいな。 ウィザード風に次何やるのってのを教えてくれる。 すでにわかっている人にはいらないんだろうけど、ドキュメント読んで使い始めようという時に敷居下がる どうでもいいが、gitはログ見るのがgitkが一番便利なのはなんとかならんのかw 履歴と一緒にdiffも見られるのはいいね git commit -vやTortoiseHgのコミットするときにdiffが見られるのもかなり便利だわ ほぼ作り直してるんだろうけど、TortoiseSVN以降使いにくい部分もあれば 使いやすくなっている部分もあるよ。
>>159 Macユーザーの書き込みは濁点が離れてるからすぐわかるってやつか
が → か゛
になるようなやつ
>>166 それはデマだ。Unicode上でNFDだろうがNFCだろうが、2chはSHIFT-JISだから区別のしようがない。
あと合成文字と「単独の文字として存在している濁点」には何の関係もない。
Macユーザーの書き込みは、 「ば~か」 などを見るとすぐに分かる。
>>169 のば〜か
バックスラッシュがyenマークになるってのならよくあるが
>>169 %E3%81%B0%EF%BD%9E%E3%81%8B
なんだこの大人気
暴釣りだね。でも、漏れはそこまで自虐的になれないw
ぼうつり
180 :
デフォルトの名無しさん :2010/09/23(木) 22:17:06
181 :
デフォルトの名無しさん :2010/09/24(金) 00:13:53
Macから書き込み。 がぎぐげご。 そうならんぞ。
>>169 のせいでスレの空気が一気に低レベルに....
186 :
166 :2010/09/24(金) 02:18:32
むしろ俺のせいな気がしてならない・・・
何子のスレ
>>167 クライアントによっては「が→か゛」になるよ。
Shift_JIS に変換するのはクライアントなわけだから、NFD への対応が甘ければ化ける。
数%にも満たない糞マカーのお陰で、確実に無駄な工数が増えてIT産業の粗利が減ってるわけだ
>>189 クライアントソフトの性ならmacに限った話にならないだろ
>>190 それは、最初に世界中の文字が2バイトに収まると思った馬鹿に言えよ……
194 :
デフォルトの名無しさん :2010/09/24(金) 08:00:35
Unicodeの、誰もが無視すべき最悪の馬鹿仕様部分を愚直に実装した愚mac
いやほんとにば〜かだと思うよ。 ただ現在進行形でNFDにしかない文字にNFCが追加されている部分もあるので、無視すべきとは思わんな。 UTF-16のためにサロゲートペア領域もぽっかり穴が開いてしまってるわけだし、 最初から4バイト使うつもりでいれば合成文字もサロゲートも無かったはずなのに……
突っ込んだ文字コードの話はよそでやってください
>>199 このスレの管理人を気取るのはいいが、それなら
>>196 ではなく、
文字コードの話にかこつけて「煽り」をカキコした
>>169 と
それに釣られた
>>170 以降のカキコを責めるべきだろ。
今さらノコノコ出勤して、どれだけ無駄な時間が過ぎたと思ってんだ。
管理人なら管理人らしく、仕事をサボってんじゃねえよ。
○○くんもやってるからぼくはわるくないもん!
UTF-16信者が
>>160 のような無知・誤解を広めるのはいい迷惑
ユニコードって完璧だもんね☆
TortoiseSVNを半年ぶりに最新版にしたら、インストールしてもTortoiseのメニューが出てこねー。 でも、スタートメニューからは起動する。 古いの探す旅に出るか。
Windows再起動しろ
修復インストールしろ
ちゃんと64bit版svn入れろや
うまく入った。 最終的に、アンインストール→ccleanでレジストリ掃除。 再起動後にインストール→失敗。 あれっ? 取りあえずMicrosoftSecurityEssencialを止めてインストール→成功。 という流れで入った。 お騒がせしました。
コンパイルしてできたバイナリってバージョン管理するものなの?
前スレでやってLaTeXはその延長
>>212 ソースがあればバイナリできるんだからバージョン管理の必要は無い。
だけど、リリースとかの区切りでコミットしておくとビルドしなくてもバイナリを取り出したり比較できたりして便利。
>>214 毎回コミットしてたぜ。TortoiseSVN使ってるとオーバーレイアイコンが気になって気になって…
タイムスタンプだけ違う内容の同じファイルが大量にできるのが嫌だなぁ。
>>215 svnignore 設定するんじゃ駄目?
オーバーレイアイコンが気になるだけの話ならば、無視ファイルに突っ込めばいいと思うよ
タイムスタンプだけ違う内容の同じファイルはできないだろ?
できる
>>215 tortoiseSVNなら、変更リストがある。
コミットダイアログで変更されたファイル右クリック→変更リストへ移動→ignore-on-commitとすると、変更リストができる。
変更リストのファイルは変更されていてもコミットのチェックが自動ではつかなくなる。これでコミットを抑制できる。
変更リストはリポジトリには影響しないからローカルで指定できる。
>>220 タイムスタンプが違っただけでコミットされたら困るだろう。
実行モジュールは納品とかバージョンの単位でコミットする運用だった。 今は Redmine 上に乗せる運用にかわったけど。
うちもお客さんの所に納めるものはコミットしてる。 ソースがあればバイナリできると言うけど、バイナリにコンパイルした 日時を埋め込んだりされるのでソースは同じでもバイナリは完全に一致 しないことがあるから。
そこらへんはHudsonにまかせる運用にしたな。
あぁ、ハチのマークの
何でバージョン管理システムってユニコードに憎悪を持ってるの?
>>227 このスレに話を理解できない・ついていけない人が大勢いるのは事実
>>230 全く1byte文字圏の連中はセクシーがなんたるかを分かってないな。
2byte文字に対応した画像を貼ってください
232 :
デフォルトの名無しさん :2010/10/09(土) 01:14:47
>>231 2bytes圏に美人が多いのは認める。
しかし3bytesを無視するのは許さん。
SubversionからGitへ乗り換えを検討してみたけど 導入の手間(特に利用者への負担)と管理の煩雑さを考えると 現状維持がいいのかなと思ってしまった
管理ウゼェ勝手にしろがgitだから、管理したいならgitなんて考慮に値しない選択肢だよ
利用者がrebaseとかresetとか覚え始めて ログが破綻するのがsvn->gitの本当の最初の試練
237 :
デフォルトの名無しさん :2010/10/20(水) 08:55:50
>>234 バックアップ取っていたつもりが取れていなくて全てパーになるのですね。わかります。
某るbyみたくsvn鯖まるごとクラックされたりとか
>>233 導入の手間はサーバが無いと何もできないSubversionの方がはるかに手間がかかる
Subversion って sshd だけ動いてれば大丈夫っしょ
導入の手間(特に利用者への負担)ってのが読めないのかこの馬鹿は 一体どれだけ狭い世界に生きてんだよ
乗り換えつってんだから、現状Subversionはインストール済みだろうし 手間はゼロだなw
243 :
デフォルトの名無しさん :2010/10/20(水) 15:38:11
>導入の手間(特に利用者への負担) ・git svn clone のミラーを立てる ・svnしか使えないお馬鹿さんはsvnを使い続ける ・gitが使える普通の人はgitを使う
・かしこいgitユーザーはsvnユーザーに不都合が出ないように注意する ・svnユーザーに不都合が出た時にはかしこいgitユーザーが何とかする こうなることが予見される訳だが
・かしこいgitユーザーを見よう見まねのかしこくないgitユーザーが出現 こうなることが予見される訳だが
・かしこくないgitユーザにはpush権をやらない ・練習用のリポジトリを使わせる ・かしこいgitユーザがログを綺麗にしてからpushする
247 :
デフォルトの名無しさん :2010/10/20(水) 18:52:59
Bazaar導入でスッキリ解決
VSS導入でスッキリ解決
ClearCase導入でスッキリ解決 そして誰もいなくなった
>>246 ログを綺麗にする方法について
具体的に教えて頂けませんか?
251 :
デフォルトの名無しさん :2010/10/20(水) 22:32:19
>>251 それがあんまり洒落になってないところがgitの扱いづらさ
おまいら svn しか使えない馬鹿ものっていうけどな svn も使えない馬鹿ものも多いんだぞ
>>233 >>239 以前、散々開発してた途中でバージョン管理してないプログラマ一人のプロジェクトが見つかって、
何でリポジトリ作ってないんだよって問いただしたら、
管理者じゃないからリポジトリ作れなかったって話を思い出した
Subvrsionだとサーバーないとしかも管理者(リポジトリのね)じゃないとリポジトリ作れないと思ってたらしい
TortoiseSVNですら、ローカルにリポジトリ作れるから一人プロジェクトでもリポジトリ作れるのにな
後からサーバーにうつせばいいし
ま、これは、コミュニケーション不足が主な原因だったわけだが
そもそも、自由に履歴をいじれるバージョン管理ソフトって、 やり過ぎ感が否めない 便利なのはわかるけど、結局何がしたいんだろうって
・過去の履歴にパスワードなど個人情報が入ってしまっている ・コミットログを間違えたが、管理者かサーバー側でログ修正を許可しないと修正できないので、 ソースに改行を挿入してもう一度コミットした こういうのを経験していると、リモートにアップする前に、 ローカルで簡単に修正できるのは便利だよ ただ、逆に言うと運用でなんとかしてたのを機能として持つことで覚えることが増えたように感じる もちろん、必要になってから憶えればよいんだけどね gitだって基本のコマンドが多く見えるけれど、便利な機能(過去のコミットの修正や履歴のツリーの付け替えなど) を最初はスルーすることで最小限必要な学習でスタートできる。
リポジトリにパスワードなんて突っ込むような大馬鹿野郎がgitをありがたがるという事ね なるほど
脳に蛆が湧いた奴がいるな
>>253 cvsを使っていてsvnを選ばなかったのなら勝ち組
バージョン管理をしていないのなら分散型で始めれば良い
>>254 コミュ不足というよりは、マニュアルくらい
読めよ、て思った。
そいつ自身の自業自得じゃね?
とにかく分散すればありがたい、とハードワイアで結合されたニューロンたち。
さぁ、早くsvnでcherry-pickとrebaseをする仕事に戻るんだ
>>259 じゃあ俺は勝ち組だな。
cvs → hg & bzr
svn は、cvs を徹底的にこき下ろすコミュニティの態度が気に入らなかった。
別に cvs の悪口言うなってんじゃないけど、ほかを叩くことで自分を持ち上げるような
性根は嫌いだ。
ruby は、perl/C++ を徹底的にこき下ろすコミュニティの態度が気に入らなかった。 別に perl/C++ の悪口言うなってんじゃないけど、ほかを叩くことで自分を持ち上げるような 性根は嫌いだ。
git は、svn を徹底的にこき下ろすコミュニティの態度が気に入らなかった。 別に svn の悪口言うなってんじゃないけど、ほかを叩くことで自分を持ち上げるような 性根は嫌いだ。
敗者の被害妄想
たしかに勝者は被害妄想しないな。
つうか cvs はねえよ 慣れの問題はあるけどさ
>>256 svnにしがみつくことに必死な馬鹿にまともにレスしても無駄だから
ここ数年で急に分散型が台頭してきたよな。 どれが淘汰されて、どれが生き残るのか、 まだ分からんので必要に迫られない限り様子見してる。 あと数年は分散型が乱立した状況が続くんでないかと思う。 新しいものに飛びついたからって、勝った事にはならん。 むしろ、飛びついた先の船が沈没しないことを祈りなされ。
gitは沈没しなさそう
cvs -> svn -> svk -> git ときた俺だけど、理想過ぎてもうGit無しでは生きていけない
沈没してもfast-exportで別のVCSに移行できる svnにしがみついているのは、ブランチが複雑だったり、copyでブランチを作っていなかったりして、 移行もままならないプロジェクト
git → linuxが捨てなければ大丈夫 bzr → GNUが捨てなければ大丈夫 hg → microsoftが捨てなければ大丈夫
一番怪しいのはhgか
Oracleもいるよ? いる…よ?
Microsoftはhgラブだったのか
>>151 の記事って表題が
>米Microsoft、バージョン管理システムMercurial開発プロジェクトに25,000ドル寄贈
Mercurialが一番、どこの陣営の色も付いてないから?
たった250万円かよ・・・。
その頃1ドル85円ぐらいじゃなかったっけ
一番必死で一番性格が悪いのがGit陣営だと良く分かった
>>280 mercurialはsun色じゃなかったんだ?
gitでもhgでもbzrでもいいけど分散型に慣れたあとsvnを触るとコミットするのがすごく怖く感じる
brancheにCommitする習慣が必要あるね
ハゲハゲうるせー
散々、gitの開発者は日本人だ日本人だと煽っておいて、gitの日本人コミッタって在米かよ。 米国でノーベル賞とった日本人研究者を喜んでる日本人みたいじゃねーか。 それにしても、せっかくGoogle社員なのにもったいないね。 GoogleはWindowsの親和性からhg押してるという状況が。 むろんコミッタには罪はないんだが。
bzr は、hg や git の日本語対応を徹底的にこき下ろす2chコミュニティの態度が気に入らなかった。 別に hg や git の悪口言うなってんじゃないけど、ほかを叩くことでbzrを持ち上げるような 性根は嫌いだ。
>>294 その二つは同じことを言ってるだけだよな
gitでgcをoffにしたら解決する話のような
>>292-293 そんなことでバージョン管理システム決めるなよww
個人で、日本語ファイル名を複数の環境で扱わないならどれ使っても良い。
チームで、しかも日本語ファイル名を複数の環境で扱うならbzrが安心。
チームで、みんなにcygwinやmsysをインストールさせるのがいやだったらgitが
選択肢から外れる。
今から個人のバージョン管理するなら、プライベートリポジトリの制限なくなった
BitBucketが使えるhgが良いんじゃないかな。CodePlexもGoogle Codeでも使えるし。
gitはコミッタが日本人だから安心とか言ってるBlogあったけど 彼って多言語対応に一切興味を示さないよね
自分が必要してないのに泥沼確定してる多言語対応に手を出したくない 気持ちはわからなくもない
元々Gitにかかわろうと思った動機も コード1200行しかなくて簡単そうだったから だもんな 面倒な問題の解決については一切期待できない人物
301 :
デフォルトの名無しさん :2010/10/22(金) 13:18:30
>>296 >チームで、みんなにcygwinやmsysをインストールさせるのがいやだったらgitが
>選択肢から外れる。
それは誤解
ファイル名にUTF-8が使えるのが多言語対応じゃないのですか?
ファイル名にUTF-8が使えるのは多言語化の現実的な実装法の一つだがイコールではない
ファイル名をUCSにするのは多言語化の現実的な実装法の一つだがイコールではない
svnかhgのどちらでもいいのですが(あれば両方とも) 指定した2つのリビジョン間の差分ファイルのみを ローカルにコピーする機能ってありませんか?
差分ファイルってのは断片ではなく、ソースファイル丸ごとという意味です。
>>301 msysやcygwinに依存しないWindows用gitってあるの?
っていうか、依存しちゃうとマズイことあるの? push/pollなどのプロトコルさえ通じれば、実装はなんでもいいのでは? (おれはどのくらいmsys/cygwinがソレに依存しているか詳しくないのだけど)
微妙に名前の違う同じ名前のexeがいくつもあると容易に嫌なことが起きやすいのは 想像できるな
>>308 ファイル沢山入って重い
既存のコマンドと同名で別のコマンドがインストールされる恐れがある。
(Windowsのfindとか)
もともとCygwin/mingw使っている人に新しくmingwかなにかをインストールさせた
場合、環境の切り替えが大変。
>>310 おぉ、gitが入ったmingw環境をインストールさせるのかと思ってた。
gitそのものがシェルスクリプトとか使ってるのにどうやってるの?
portableGIT使えばいいじゃない
314 :
デフォルトの名無しさん :2010/10/22(金) 16:43:04
>>311 pathが違うから大丈夫
っていうか Git のみインストールすれば
Git 専用の Bash が出来てその中だけで完結出来て
他に悪影響出ないよ
>>314 元々msysやcygwin使ってた人からすると、msysやcygwinのbashからgitを呼べないと使い物にならねえ
って言う人がほとんどじゃね?
PATH通せばいいだろ
msysにしろcygwinにしろ、POSIX APIを.dllで提供してるから 共通のものを使ってくれないとだめだろ WindowsのPATHだけ通しても、/usr/みたいなPOSIX PATHが別のところになっちゃうぞ
gitってまだ外部コマンドに依存しているのが残っているの?
WindowsのPATHは通さない
GITってlinux(POSIX)依存が抜けないんだよね。 そういう部分で苦労させられると、ハードゲイの方がよく思えてくる。
cygwinしかなかった時に比べると進化している。 でも、TortoiseGitは進化するのだろうか?
フォーー!
>>311 msysGitだとmsys環境だけにパス通したコマンドプロンプト立ち上げる機能ついてきたはず。
VisualStudioでも複数の環境を切り替えて使えるように、一時的にパス通したコマンドプロンプト使えるbatみたいなのついてくるよね
ああいうの
>>312 他のバージョン管理みたいに、libなんたらやらdllで基本的な機能が組み込めると楽なんだけどねー。
TortoiseGitもコマンンドライン版を要求してコマンンドライン版の実装に激しく依存する
文字コードの問題もそう。
>>321 TortoiseGitはgitは日本語ファイル名の問題ある、TortoiseGit側にも文字コードの問題ある
二重苦
そうなんだ。 GITはファイル名じゃなくて、inodeみたいなidで持ってるんだから、 ファイル名の問題は解決済みなのかと思ってたよ。 そもそも、日本語ファイル名なんか使わないけど。
>>300 なにその「濱野は楽したいだけのクソ野郎」みたいな言い草
なにもクソも本人談そのままだし お前がそう感じたならそう言う事なんだろう
329 :
デフォルトの名無しさん :2010/10/23(土) 12:28:33
「面倒な問題」って何ですか?
中身見たことないけど1200行とかCのソースとしてはものすごい短いものだから 本気で取り組んだらわからない部分なんてないんじゃないの
>>330 ほどの馬鹿発言する奴が何故バージョン管理スレに居るのだろう
と、1200行のCのソースも理解できない馬鹿が言っています
何言ってんの。 短い行数でこれだけの機能を実現しているということは 作者にしかわからないトリッキーなコードに決まってるじゃん。
1200行で動いてるんなら、マルチバイト対応も、むしろ逆に簡単なんだろうけどな そういうことではなく、面倒くさいものには触りたくないっていう思想だと思う 非常に正しい思想だとは思う
数メガのバイナリファイルが二万くらいあるんだけど、どのバージョン管理システムがお勧めですか?
JASRACに管理してもらえ
>>334 お前馬鹿すぎ
1200行だかはLinusが一晩ででっち上げたプロト
>1200行とかCのソースとしてはものすごい短いものだから >本気で取り組んだらわからない部分なんてないんじゃないの >と、1200行のCのソースも理解できない馬鹿が言っています >短い行数でこれだけの機能を実現しているということは >作者にしかわからないトリッキーなコードに決まってるじゃん。 恥ずかしい部分抜き出したらほぼ全行だった。 ド素人とかいうレベルの話ではなく、頭の根っこの部分がものすごいお気の毒様な事になっているんだと思う。
>>337 ネタじゃなく、真面目な話なんだが…
やっぱりPerforceしかないのか
>>335 > 1200行で動いてるんなら、マルチバイト対応も、むしろ逆に簡単なんだろうけどな
マルチバイトって何ですか?
>>342 酷い奴だな……w
バイナリも差分で保存してくれるのは、svnとbzrだけ、だったっけ?
344 :
デフォルトの名無しさん :2010/10/24(日) 05:58:21
数メガのバイナリを差分で取るの?
gitもpackすれば差分になるよ
それじゃpackしなければ良いんじゃない?
packしなければ速いけどストレージは食うね バイナリでも差分取れないような更新ばっかりならpackしないようにしたほうが良いかも
Mercurialしかない。
>>345 ほんとだw リポジトリ数GB縮んでびっくりしたわww
350 :
340 :2010/10/24(日) 17:00:30
色々情報ありがとうございます! bzrやgitもバイナリの差分に対応してるんですね。 その為だけにsvn使ってたみたいなもんなんで、ありがたい情報です。
353 :
デフォルトの名無しさん :2010/10/24(日) 23:26:55
イントラ内に建てたfreebsd8.1サーバーにsubversionインストールして
ブラウザで
http://サーバーアドレス/dav/ってするとdav - Revision 0: / って表示される。
クライアントのWin7上にTortoiseSVNもインストールしてあります。
visual studio 2010 proのVC#プロジェクトを管理したいのですが
サーバーに同期(アップロード?コミット?チェックアウト?)させる方法がわかりません。
>>353 プロジェクトのディレクトリをエクスプローラーで開いてコンテキストメニューからコミットやアップデートできる。
Visual Studio Professionalならankhsvnとかのプラグイン使った方が楽。
個別スレに行け 用語も分からないということは、trunk/branches/tagsも作らずに始めるつもりか?
357 :
353 :2010/10/25(月) 07:29:02
359 :
デフォルトの名無しさん :2010/10/25(月) 13:59:49
バージン管理システムに見えた
>>359 最近は過去の改竄しまくりで、けしからんな
>>361 前彼女の履歴から俺のコミットがロールバックされていた件
revertならまだ望みはある
別の誰かの記憶にマージされていた
お前ら二人とも愛してやる! fast-forwardだ!
VS2010で扱いやすいバー管おしえてください
367 :
デフォルトの名無しさん :2010/10/28(木) 15:47:27
>>366 VS2010で扱いやすいのはVSSじゃないかな
使ってる人間が扱いやすいかは別にして
>>366 Git Extensions
http://code.google.com/p/gitextensions/ > Git Extensions is a toolkit to make working with Git on Windows more intuitive.
> The shell extension will intergrate in Windows Explorer and presents a context menu
> on files and directories. There is also a Visual Studio plugin to use git from Visual Studio.
TortoiseHgにそっくりのスクリーンがあって、
TortoiseGitよりもこっちの方が良いかも
なんで何でもかんでも合体せにゃならんのか。
>>367 俺はVisualHGよりは、hgsccの方が好きだな。
でも、両者をチェックしたのは1年以上前だから、今は状況が変わってるかもしれないが。
当時はVisualHGは低機能すぎてイマイチだった。
お手軽で普通に使えるので俺はVisualHGのほうがオススメ。
>>370 >>366 じゃないがIDEやエディタに統合すると便利よ
リアルタイムに変更箇所表示してくれたり、TortoiseXXXみたいにアイコンファイルビューで状態を表示してくれたり
>>370 が言ってるのは、コマンドをパイプで繋げてお手軽にオレスゲーが出来なくなるのが問題だって事じゃないの
>>368 MSはTFSに乗り換えて欲しいようだが
>>374 Emacsはデスクトップ環境だそうだが、
GNU EmacsがBazaar、XEmacsがMercurialなんだね。
377 :
デフォルトの名無しさん :2010/11/04(木) 20:10:45
Subversionスレから誘導されて来ました。 Subversion+Hudsonで管理されたプロジェクトに対して、後述のよう な多段構成の運用をするベストプラクティスは無いでしょうか? Subversion+Hudsonで管理されたとあるMavenプロジェクトの中の 子プロジェクト(学術分野です)の一つを担当することになりました。 (元締めがSubversion+Hudsonという条件は動かせません) 我々のグループ内でも複数メンバーが共同作業で開発を行います。 そのためメンバー個々人が親プロジェクトのSubversionレポジトリを 直接読み書きするのではなく、グループ内部で内部用のレポジトリを 立てて親レポジトリ上のコードと同期をとり、普段の開発時は内部 レポジトリに対して作業を行い、内部で各テストが終わった段階で 内部レポジトリの更新内容を親レポジトリへと反映する運用を考えて います。このような場合、 親プロジェクトのSVNレポジトリ <-> 内部レポジトリ+Hudson <-> 各メンバーのマシン というような運用になるわけですが、このような運用を行う上で良い 構成法などの例は無いでしょうか。
>>377 ・Subversionのフォルダ単位の分散型のミラーを立てる
・Subversionにpush時に一本道になるように履歴を整える
相談なんですが、 現在プログラマーはコードをSubversionで管理してます。 プログラマ以外の共同作業員との間ではバージョン管理ソフトを使っておらず、 最近、 ・ファイルの更新したかがわかりづらい、 ・コンフリクトというよりどちらかが更新されたファイルを上書きしてしまうことがある ・できれば中央のサーバーがないときも使いたい といったことがあります。 問題と感じた件のプログラマーはバージョン管理つかおうか、と提案していたようなのですが、 共同作業員側は手元ではファイル名に番号づけて保存していて問題ない、面倒くさい、という理由により、 結局はその作業員との間では、上記問題はだいたい解決できるということでDropboxを使うことになっていました。 実際、機能的に制限され使い方をシンプルにされたDropboxとは簡単さは比較になりません。 もちろんDropboxが許される状況で、それで解決できるくらいのようでしたので(今後はわかりませんが) 無理強いすると反発を招きますし、それ以上は深入りせずにいたのですが、 こういったことが解決できるようなバージョン管理ソフトはないものでしょうか?
追記
規模はほんの数人の小規模です。コード書く以外の作業員も最低1人という状況です。
開発者は全員Windowsです。
ローカルネットワークからアクセス出来るファイル共有サーバーはすでにある状態で、
Subversionリポジトリもそうですが別の分散バージョン管理サーバーも設置できる権限はあります。
>>380 の要点ですが、バージョン管理ソフトを導入する利点はわかるが、
導入や利用時の手間がかかるデメリットが上回っている状況です。
> 導入や利用時の手間がかかるデメリットが上回っている状況です。 ・ならば入れる必要は無いでしょう。 ・Trac/Redmineなどでのタスク管理を検討しましょう。
Dropbox を入れるデメリットは無視ですかそうですか
>>380-381 そのような状況なら、自分のブランチと共同作業員のブランチを用意して
共同作業員のブランチも貴方(もしくはプログラマ)が管理すればいい
>>380-381 Trac、Redmineを立てなくても、
5人まで無料で無制限でプライベートリポジトリが持てて、wikiとBTSが付いているbitbucketが良いんじゃね
コンフリクトする度にぶち切れて暴れてみせれば、デザイナの方から バージョン管理システム導入しようって言ってくると思うよ。
>>386 それいいなw って思ったけど、デザイナの人ってそういうの気にしなーいんだよね…
そんなの人の問題 ブチ切れ方が足りない 「俺のファイルを上書きするんじゃねぇ」とキーボードぶん投げてやれば バージョン管理の導入に同意してくれるだろ
389 :
デフォルトの名無しさん :2010/11/06(土) 05:44:58
>>386-387 ぶちきれても無駄
そんなことするより
こっちからコンフリクト上書きして
デザイン壊してやればいい
社内リポジトリを公開せずに、社外のコントリビューター(ヘルプ、ドキュメント、アイコン、その他、主に非プログラム関連)の ファイルをバージョン管理するのなら、一番簡単なのは社内の人間を一人貼り付ける。代行チェックイン/アウト。 対象範囲が他とは独立していてファイルが一つくらい古くても大勢には影響でないのであれば、きらくにやってみたら?
バージョン管理面倒くさいとか言ったら、次の仕事は頼まないからってなことを匂わす
あー同僚のデザイナーにもおるわ、意地でもsvn使わん奴。もう死ねよ
そんな屑クビにしろよw
バージョン管理のノウハウ的な所についての入門とか手引きは見当たらないけど、 皆どうやって覚えてるんだ? 誰もが習うより慣れろで問題ないというわけでなし。
いろいろ書籍出てるけど?
397 :
デフォルトの名無しさん :2010/11/06(土) 14:56:08
書籍「Dropboxで楽々バージョン管理」 ・コミットなどの専門用語とは、おさらば ・ブランチ、マージは必要無し
近所にいくら勧めてもバージョン管理使わないチームがいてな いつも、上書きしたとか機能を変更したとか勝手に変えるなとかチーム内でけんかばっかりしている連中がいる。
>>397 ブランチはともかく、マージ必要無しって・・・
上書き上等ってことか?
>>387 ぶっちゃけ、デザイナは、ぱっと見て見えてる世界が全てなので、
多少の上書きには動じないってのはあるな
見えなそうなちっちゃいところ(コピーライト表記とか、すこーしだけ色味を変えるとか)で、
すごく微妙だけど許されなさそうな上書きしちゃってみればいいんではないか?
ぶっちゃけオンラインストレージよりはグローバルアドレスがひとつ欲しいんだよなあ
うちのプロバイダだと固定IPとるのに月5000円かかるからなぁ…
月500円ぐらいのVPS契約すれば、グローバルのIP1個貰えるじゃん。
固定IPなんか必要ないだろ
電気代とか、サーバーの構築費用考えたら、 クラウドでも借りた方が安いんじゃね?
このスレ的には、bitbucketかgithubで決まりだろ?
406 :
380 :2010/11/06(土) 22:42:00
レスサンクス。参考になりました。俺デザイナ?っていいましたっけ・・・なんでバレてるんでしょ
BTSはすでに使っています。Redmineです。
まだ詳しく見ていないのですが、デザイナさんはチケットの切り方がちょっと大きいかなと感じました。
もうちょっと細かく切ってもらうようにしてみます。
# 意外なことにRedmineはすぐに使ってもらえたんですよね。タスクの共有はかなり困ってたので。
相手が目の前にいるので、こえかけたほうが早いというような状況もあります。
ただそれでも上書きが起こってて、件のプログラマがシステムで解決したがったみたいです。
>>383 Dropboxはメリットがデメリットを上回っている状態で、許可されてます。Gmail使っているような職場ですので・・・。
>>386 この件を提案したプログラマが切れ気味だったのかもしれないです。
プログラマは運用でなんとかするタイプだったので、むしろ相談されてちょっと驚きました。
(早いと判断すると運用でなんとかしてしまう。実際早い)
ただ工数、というか相手の作業員の面倒さや導入時間が増えるのは極力避ける方法でやっているのと、
けっこうデザイナ含め、作業以外の(ちょっと面倒くさい)効率化の話を嫌うので、気を使います。
今は話題は収まっているのですが、盛り返さない程度にもうちょっと話聞いてみます。
>>390 人員変えられたら苦労しないし、むしろ俺が変わって欲しいw
407 :
380 :2010/11/06(土) 22:47:05
>>397 ワロタww
実際そんな感じでいい、という流れになってるw
プログラマがリソース受け取って手動マージw
Dropboxもテキストぐらいマージするモードがほしいくらいです
>>399 > 多少の上書きには動じないってのはあるな
いや、実際そうですよ。
プログラマならテキストにしておけば、
バージョン管理に入れて差分とってマージすればいいくらいが当たり前に染み付いている人も多いと思います。
ですが、扱うデータがグラフィックデータやバイナリほとんどだと
最初から差分やマージの恩恵がうけにくいので、諦めている感じがします。
システムで解決しようとする人たちが少ないのわからないですが、
この辺もう少しプログラマ界隈のようにツールが整っていてもいいのにとは思います。
408 :
380 :2010/11/06(土) 23:05:12
ちょっと閃いたのですが、サーバー側にもDropboxクライアントを入れておいて、 作業員がDropboxの共有にファイルを入れたら、サーバー側で取得、 リポジトリの(デザイナは知らない)デザイナ用ブランチに自動コミットというのはありかも。 実際、そこまで手間かけてやる必要あるのか?という問題はありますが、 (こちらに支障でない程度に)なんとかカバーしてあげたいですよね。
今のご時勢バージョン管理使えるデザイナっつーのはどこに行っても重宝されるよ。現にここでもニーズがあったろう?って言えば ぜひ使い方を教えてくれってなるんじゃねーの
>>380 の人に助言できるとしたら、VCSは、何も差分だけを管理してる訳じゃないよと
履歴すなわち、誰がいつ何をしたか、ってのも残ってるんだよってことかな
DropBoxでも、それはわかるんだろうか
最終的に一つの成果物を作るわけだから、作業中の差分どうこうは結果さえよければ
どうでもいいんだが、いざ問題が出たときに「自分が」それをやって(いない|いた)ことが
保証されるっていうのは、実はものすごく大きい(主に精神安定上)
あと、コミットログがあるので、「なぜ」その変更をしたのか、が一応残っている。
これもDropBoxで再現できているっていうならまあもう言うことはないけれど。
Redmineを入れているそうだから、「誰がいつ何をしたか」の記録は残るでしょ。 VCSの機能として欠かせないのにblameがあるけど、バイナリじゃ意味ないし。 Redmineのwikiはblameもできるし。 となると、VCSを使うメリットが見出せないというのも分からないでもない。
Redmine の Wiki は微妙に使い辛いんだよなぁ。 Google Docs あたりと上手く連携出来たらいいのにってよく思う。
昔の職場、CVS使えってどんだけ言っても面倒くさがって使わない奴らばっかだったんだけど その理由として「価値を見出せない」というのもあるけど「何もかもオープンになる」のが嫌 ってのもあったような気がするな。 特にデザイナの人ってプログラマと違ってキチキチやらないから単純な間違いも凄く多くて、 それが全部見え見え(メール飛ぶ設定になってたり)になるのが嫌なのかも。 どっかで読んだブログで、新しく来た中国人ブログラマとのコミュニケーションに ちょっと不安があったんだけど、コミットログを見てると最近の調子が手に取るように分かる、 ってのがあって、なるほどなぁ、と思った。
業務でやってるんだから、作業内容にプライバシーなんか無いだろ。 個人の作業用ブランチに毎日コミットさせると良いぞ。
いちいち他人のログを見るってどんな暇人だよとおもう。 自分のログだって、デグレートの問題が起きなきゃ見ないよ。
416 :
デフォルトの名無しさん :2010/11/07(日) 13:07:03
え?ログ見ないの? 一行目に目的を書くの常識でしょ?
締め切り間際になって出来ていませんでしたと言われたくなかったら、進捗具合とかチェックするだろ。
普段は最低でも1日1回、多い時は4〜5回コミットしているのに、 あるとき一週間コミットせずにいたら、部長に喫茶店に連れ出されて 面談になったw お客さんの依頼で他の作業をしていただけで、リーダーの指示なんだから 上にも伝わっているものだと思っていたのに。 俺から部長に事情を説明したんだが、その後リーダーの機嫌は悪かった。 まあ知ったことじゃないけどね。
うちのところはフックして自動的にコミット内容メールで流してるから、 全員の進捗具合や、何をどう修正・実装したかまでだいたいわかる つーか、普通こうやっとくもんでしょ
コミット内容がメールで流れると、コミットの粒度が無駄に大きくなりそうだ。
そういう隠蔽体質を作らないのが管理の本当の仕事だと最近思う
上司が隠蔽してのし上がった組織は隠したがるから理解されない
徹夜すればなんとかなる気質の人とかはコミットトレースされたがらないんだろうなって気はするなぁ。
そんなあなたにgit、Mercurialの--dateオプション
>>423 別にトレースされたからってその人の作業結果の価値が下がるわけじゃないと思うんだけどな
評価するやつ次第なところっていう
水面下のバタバタを隠せるって点で git は痛し痒し
>>420 チーム内の仲のいい奴や意識の高い奴と示し合わせて、
「頻繁にコミットするのが当たり前、コミットを渋る奴はバカ」みたいな空気を
作っちゃうんだよ。
意識の低い奴は周りの雰囲気に合わせて何となく動くから、雰囲気に合わせるだけで
正しい行動が取れるような環境を作ってあげるのがリーダーの仕事だよね。
まあ、俺にはとても無理だけどね。
BTS も SCM も俺ひとりしか真面目につかってない 辞めたい
>428 俺も昔はその状態だった。半年後ぐらいに改善されたが。
>430 >リポジトリデータはSQLiteで管理する。 キモの部分が他人任せかよ。
キモかどうかは判断が分かれるな バックエンドの処理については実装部分の話で速度に影響する もしmonotoneが速かったらGITもMercurialも産まれてなかったかもしれない
http://po3a.blogspot.com/2007/12/subversion.html > もし C++ で書かれた VCS が欲しいのなら、Monotone を見てみるといい。
> ほんとに。連中は「本物のデータベース」を使っているよ。
> 「素敵なオブジェクト指向ライブラリ」も使ってる。「ナイスな C++ の抽象化」も
> 使ってる。そして率直なことろ、一部の情報系の人間が喜びそうな
> これらすべての設計上の決定のために、できてきた結果はゲロゲロで
> 保守不可能なカオスだ。
ケチョンケチョンだなw Cが至高なのは同意だが
Linus は最初 BitKeeper に変る SCM でMonotone を最有力に挙げていたが、 動作速度が遅いから Linus版 Monotone としてGitを作ったんだよな。
そこは別にいいんじゃね?
しょっちゅう使うツールは速いが正義なんだよなぁ。
で、Monotoneは、user-visibleなとこでは、どの辺に新規性があるわけ? 公開鍵がどうこうのあたり?
Monotone はファイル名をUTF-8に変換して管理してる。 これは Git に持ち込まなかった概念で、速度を犠牲にしたバカげた設計だと Linus は思ったのだろう。
>>428 同じく。一回提案したら便利そうだから使ってみようって流れになったんだけど、いざ導入したらよくわからんとか難しいとか言って使ってくれなくなった…。ちなみに相手はみんなプログラマ。
Mercuの利点ってなに?
>>439 Linux上のファイル名をLANGで変換するのであるならば、それはバカげた設計
義務教育でバージョン管理のし方は教えておけよ、と思う
日記=コミットログ
20年前のcommitにrevertするにはどうすれば
種付け=フォーク
結婚=マージ
浮気=ブランチ
子供っていう派生プロジェクトを亡き者には出来ないだろ。。。
子供は分散システム
性格の不一致=コンフリクト
commit = sex
再婚=リベース
一つのリポジトリで複数(というか全て)のプロジェクトを管理できないかと考えています(無料のプライベートリポジトリサービスの多くは作れるリポジトリ数に制限があるようなので)。 個人でバージョン管理システムを使う場合、このような運用をする上で何か問題はありますか? また、問題は無くともプロジェクト毎にリポジトリを分けた方がいい積極的な理由はありますか?
プロジェクトで共有しているライブラリとかたくさん作ってるなら一つにしたほうがいいんじゃないの 完全に別物ならバージョンアップのとき別々の方がいいだろうし
>>455 ありがとうございます。
やっぱりそんなに問題ないのかな。
共有ライブラリ的なものも色々作るつもりなので、単一リポジトリの方向で検討してみます。
>>458 Gitのサブモジュールは正直あまり使い勝手が良いとは言えないな…
Subversionでやるならディレクトリ単位で好きにチェックアウト出来るから
手軽さではこっちのほうが良いと思う。中央集権型になっちゃうけどね。
>>456 > 彼女をGNU Screenで
これ分からんw で、どうするんだ?
Gitのsubmoduleが使い安いとはいえんがSubversionの方が良いとは思えないな。
プライベートリポジトリ作り放題のbitbucketでのMercurialのsubrepo
質問があります。 TortoiseSVNやTortoiseGitやTortoiseBzrでエクスプローラーへの組み込みをなすことはできないでしょうか? アンインストールするしかないでしょうか? Tortoise系のツールをシェル拡張で組み込んでおくと、 Windowsでいうシェルを利用したその他ソフトの動作が遅くなるような気がしていて検証したいためです。
検証するまでもなく遅くなるよ 右クリックするたびにフォルダー内検索するわけだから
TortoiseBZRでは、シェル拡張そのものを一時的に無くすことはできないものの、 バックグラウンドプロセスがディレクトリ内をチェックすること無しに応答するスリープ 機能を実装しています。 タスクトレイアイコンを右クリックでスリープをチェックするとスリープします。
Gitのsubmoduleって初めて知った submoduleはそこのディレクトリ以下が親repo内で「何処そこのrepoのハッシュ某」とされるだけで 親repo内では内部に一切関知しない仕組みってことかな
TortoiseXXXはキャッシュあるだろ
TortoiseHgはGNOMEのシェル拡張もあります。 TortoiseHgはWindows・GNOMEともキャッシュはありません。 リポジトリ単位でアイコンを表示するしないの選択ができます。 Windowsでは、シェル拡張を入れる入れないの選択も出来た気がします。 シェル拡張を経由せず、コマンドラインから起動できます。 次期バージョンではデスクトップアイコンかスタートメニューで起動できるようになるかもしれません。
>>463 特定のディレクトリ以下だけに反応させる設定があったような。
結局Tortoiseで使い物になるのってSVNだけ?
TortoiseHgはGNOMEのシェル拡張はMercurialのPythonのライブラリを直接呼んでいます。 つまり、hg statusと同様のことをしています。 ですので、キャッシュも必要無く、高速です。 TortoiseHgのWindowsのシェル拡張も以前は同様の処理を行っていました。 しかし、Pythonでやるのは無理があったのか、C++に置き換えられました。 hg statusを叩くと、.hg/dirstateが更新されます。 これのタイムスタンプを確認しています。 これで高速化しています。
TortoiseHgをWindowsに入れるとタスクバーのシステムトレイにMercurialのアイコンがあるのが分かると思います。 これはPythonで書かれています。 ファイルを更新すると、システムトレイのアイコンが光ると思います。 この時に.hg/dirstateが更新されます。
TortoiseHgって、インスコ済のマシンからバイナリをコピーしてきて、 コマンドラインから個々のツールを起動できるの? 何か、出来そうな雰囲気にも見えるけど。
PATHを通せばいけそうな気もしないでもない
>>473 > TortoiseHgって、インスコ済のマシンからバイナリをコピーしてきて、
これはやったことが無いので分かりません。
> コマンドラインから個々のツールを起動できるの?
TortoiseHgのインストールしたところにhgtk.exe(現安定バージョン)があると思います。
Linuxのパッケージ配布ですと、/usr/bin/hgtk になっていると思います。
hgtk help と叩いて見てください。
usageが出てきます。
これらのサブコマンドをシェル拡張が起動しています。
そうだねぇ、TortoiseでマトモなのはSVNだけな気がする。 他はまだ「急いで作った」感が激しい。 TortoiseSVNがもっと特定のバージョン管理システムに依存してない作りならよかったのにね。 それこそ、TortoiseALLみたいな、設定次第で複数のバージョン管理システムようにできればよかった。
>>476 > それこそ、TortoiseALLみたいな、設定次第で複数のバージョン管理システムようにできればよかった。
TortoiseHgは、hgsubversionを使うことでSubversionを、hg-gitを使うことでGitを直接操作することが可能です。
478 :
463 :2010/11/10(水) 09:07:03
右クリックのメニューが5〜10秒)くらいかかっていたのがTortoise系全部外したら2秒くらいになった。 すごく快適。 最新版では違うかも知れないけど、TortoiseGit、TortoiseBzr、TortoiseSVNともどれもアンインストーラーでシェル拡張だけ外すことができなかったので、 TortoiseHgは重いから前にすでに外してた。 TortoiseHgが重いのじゃなくてGUIだと以前のバージョンでは重いリポジトリで固まってただけなので誤解しないで シェル拡張外していざというときに使えたらいいと思う。 コマンドラインで使えるけど、履歴やブランチをグラフィカルに見たいことあるからね。 gitはコマンドライン版でもgitkみたいなのあるからいらないかもしれない。 アイコン表示はとても便利なんだけど重いのは仕方がない・・・ IDEに拡張入れてつかうとか回避策はあるし
479 :
463 :2010/11/10(水) 09:09:28
TortoiseGitアンインスコしてもまだメニューに残っているんだけどこれはmsysgitのかな
>>475 訂正
> 最新版では違うかも知れないけど、TortoiseGit、TortoiseBzr、TortoiseSVNともどれもアンインストーラーでシェル拡張だけ外すことができなかったので、
最新版では違うかも知れないけど、TortoiseGit、TortoiseBzr、TortoiseSVNともどれもアンインストーラーでシェル拡張だけ外すことができなかったので、
シェル拡張外していざというときに使えたらいいと思う。
>>471-473 TortoiseHgは単体で使えますか。
そもそも外部ツールを呼び出しているだけだろうし、切り離して使えるとすごく助かります。
TortoiseBZRはスリープ機能持ってるけど、そもそもシェル拡張外したいっていう話ですね。 アンインストーラーの拡張は面倒だけど、スタートメニューにメニューを追加するのはできそう。 中では regsvr32 呼んでるだけだし。 ただ、per user install と全員のインストールの切り替えとか考え出すと面倒だ。 ちなみに、bzrはインストーラーでTortoiseBZRを外して Bazaar Explorer だけインストールすると、 統合型GUIだけで使えます。
トータス(陸亀)なのかタートス(海亀)なのか、そこが問題だ。
>>481 オフラインが陸、オンラインが海
シェル拡張はオフラインなのでTortoise
Web上ののリポジトリブラウザはオンラインなので海亀のLoggerhead
>>482 アカウミガメって種族の海亀なのか。ちょっと感動。
tortoiseBZR使ってるけど、 管理対象フォルダを見に行くと マシン起動後初回は必ず時間かかって、間違ったアイコンが表示される。 なんか、あわてふためいたあげく間違えるとかかわいくて萌える///
>>479 >
>>471-473 > TortoiseHgは単体で使えますか。
>
Fedora(Linux)ではパッケージがtortoisehgとtortoisehg-nautilusが分けて配布されています。
tortoisehgに/usr/bin/hgtkが含まれていて、これが画面(PyGTK)の実態です。
コマンドラインから hgtk log や hgtk add をすることで画面が表示されます。
WindowsでもC:\Program Files\TortoiseHg\hgtk.exe があると思います。
Linux同様 hgtk.exe をコマンドラインから実行することで画面があがります。
hgtk とサブコマンドを入れないとusageが流れるだけです。
% ./hgtk
Hgtk - TortoiseHg's GUI tools for Mercurial SCM (Hg)
basic commands:
clone clone tool
commit commit tool
.
.
.
次期バージョン(PyQt)のthgではサブコマンドを指定しない場合、ワークベンチ画面が立ち上がります。
thg --noforkと書かれたバッチファイルをデスクトップなどに用意すると、ワークベンチ画面が立ち上がります。
>>478 > TortoiseHgが重いのじゃなくてGUIだと以前のバージョンでは重いリポジトリで固まってただけなので誤解しないで
ログ画面でかなりの数のリビジョンを読み込むので、重いかと思います。
初期設定では500のようです。
mercurial.iniか.hg/hgrcに以下のものを書くと速くなると思います。
[tortoisehg]
graphlimit = 50
またTortoiseHgの画面の「リポジトリ設定」→「ログの表示」→「ログ読み込み件数」で設定できます。
>>484 間違ったというか、ステータス取得中は ? を表示して、ステータス取得後に正しいアイコンに
アップデートする仕様になっています。アイコンオーバーレイの仕様上、すぐにステータス返さないと
エクスプローラー自体を待たせてしまうので。
WinCvs みたいな独立したツールが好きだったんだがなあ。 なんで Tortoise が普及してしまったのか。
WinCvs みたいな独立したツールが好きじゃないから。
bzr explorer とか git extentions とかは単体ツールとして良くできてると思うけどなぁ
491 :
463 :2010/11/11(木) 06:39:47
シェル拡張外しまくったらエクスプローラーさくさくうごいてワロタw
コンテキストメニューの表示が早くなっただけでも大分違いますね
ただ重いところは重いままだったので、問題が切り分けできて助かりました。
>>479 > TortoiseGitアンインスコしてもまだメニューに残っているんだけどこれはmsysgitのかな
msysgitでエクスプローラーのメニュー拡張されていたので一旦アンインストールしました。
>>488 やっぱりシェル統合は便利だよ。
エディタやランチャからコンテキストメニュー表示するだけでバージョン管理できるから。
各ツールから個々のsvnのコマンドを呼び出せるようにしようとすると結構手間かかるし。
バージョン管理は主ではなくあくまで従なんだと思う。
シェル拡張といってもいろいろあるけどな。ちょっと右クリックメニューを拡張するだけならまだしも、 SVNクライアントの機能をまるごとエクスプローラのプロセス内にロードすりゃ重くもなるか。
どんなのが便利と感じるかも人それぞれか バージョン管理しないときまでバージョン管理に関するものが見えるのは俺は不便だと思うが
バージョン管理なんか、シェルに組み込むほど、たいそうなもんじゃないよな。 シェルはOSの基盤だよ。
自作のしょうもないシェル拡張入れちゃってるな
ファイルシステムにバージョンの概念があったVMSに喧嘩売ってる?
あれってシェルがやってくれてるのかと思ってた
499 :
デフォルトの名無しさん :2010/11/11(木) 18:51:58
えくすぷろらライクのファイラーにコンテキストメニュー付くだけでいいんだがな
>>499 プログラマはそれでも良いが、デザイナなどの一般のユーザ対象だと、その画面の開き方の説明から始めないといけない。
エクスプローラという共通インターフェースを使っているTortoiseSVNの功績は大きい。
>>495 >シェルはOSの基盤だよ。
ぷ。w
「シェル」をそう呼ぶ所以をご存知?
shell と core という言葉の意味においても語源においても 破格の位置付けだと思うけど
>>501 出たよ、揚げ足取り薀蓄たれのドアホウが。
「OS の基盤はカーネルだろwwwww」
とか言いたいのか?
お前、人とまともにコミュニケーション取れないだろ。
いや、お前は取れてると思ってても相手は実に不快な思いをしているはずだ。
お前が友達と思ってるやつの大半はお前のことを友達とは思ってないな。
そう言うのをさらっと流せないのがお前の駄目なところだな
505 :
デフォルトの名無しさん :2010/11/12(金) 09:20:22
>>503 間違いを認めずに全力で言い訳を続けるような、お前こそまわりとコミュ
ニケーションとれてないだろ。
お前うざいと思われている事確実。空気読めない発達障害なんだろうな。w
Windows NT 3.51 まではウィンドウシステムはコアとは分離していたけど、 NT 4.0 からはコアに含まれたんじゃなかったっけ?
それはGDIの事だ。
userもカーネルモードだぞ
kernel32もuser32もgdi32も一部ユーザー一部特権
インスコ済のTortoiseHgをコピーしてきて使う件だけど、試してみたら、 パスを通しておけば、 hgtk log とか hgtk status とかでGUI呼び出して使えるね。 Explorerは汚染されないし、これで十分な気がする。
そういう裏技的に使えるようにしても嬉しくない・・・ よく「このツールは便利!」とか聞くけど、「残念なのは・・・」とかで回避法が一緒にくっついてる そういうのって便利でない上に冷める・・・結局使わない
裏技ってか、元々独立して作られたものじゃないの? hgtkって
>>512 むしろそうじゃない便利なツールというものが世の中にあれば教えて欲しいが
それはそれとして、今の話の流れはエクスプローラーが重くなるのでシェル拡張から外した状態で
エクスプローラーに組み込むためのTortoiseツールを使いたいという話なのね。
つまり今の
>>463 の言うところの「残念なのは・・・」というのはそもそもがエクスプローラーが多少なりとも重くなる、
しかもTortoiseSVN一個ならよいが、TortoiseBzr、TortoiseGitも入れるとさらに重いという点だ。
TortoiseHgは
>>463 はいれていなかったか。
>>512 が「裏技的に使えるようにしても嬉しくない」と思うならエクスプローラーに組み込んで使えばいいだけだし、
>>463 には単体で起動出来れば嬉しいわけだし、意味がわからん。
まあまあ
>>512 こういう馬鹿がいるから、TotoiseSVNは普及してシェアを獲得したわけだし、
BazaarExplorerのように単体で使えるツールを持っているバージョン管理ソフトならば、
スタートメニューなりにショートカットなり作れば解決する話じゃねーの
できれば、後からインストーラーでシェル拡張のON/OFFを切り替えられればなおよし
オープンソースだし分散型なんだから自分用にフォークして改造するか本家にパッチを送れば良いだけ
TotoiseSVN程度で重いとかほざいてる馬鹿はとっととSSDにしとけ よほどの無能でもない限りは投資分回収できるだろ 問題解決能力の低さから見て、そのよほどの無能なのかも知れんけどさ
今気付いたがスペルミスってんじゃねぇか使えねぇw
>>519 >>519 が見るにディスクアクセスが原因ってことか?
わかった試してみるわ
ソースがあるローカルのストレージは容量の都合で変えられんが
OSのHDDは変えられると思うので
>>521 ソースのドライブを変えなければ
ほとんど意味がないと思うが。
TSVNCacheプロセスの優先度を
上げれば。
あんまり勧めないけどな。w
以前、TortoiseSVNが見る対象パスを設定できるとか書いたけど間違ってた。すまそ。 実際は、対象から外すパスの設定だった。 Settings→General→ContextMenu→Do not show..のテキストエリアな。 とりあえずエロ画像ドライブとかは設定しといた方がいいよ
これは良い情報 dd
アイコンオーバレイの方の対象/除外パスの方が効果があると思うが
このスレ、何でTeam Foundation Serverの話題が皆無なの?
527 :
デフォルトの名無しさん :2010/11/17(水) 16:36:14
貧乏だから。
MSDNに入ってれば、Team Foundation Serverタダで使えるようになったのに。 この話題にならなさは異常。
MSDNがタダでないから
Express版でも出してくれればいいんだけどな。 全く話題に上ったことがない。
誰が欲しがるんだよ
確かにいまどきMSのEnterpriseな製品を有り難がる人間は少ないだろうな。 ほんの数年前までは、嬉しそうにして購入してる人とかも居たかもしれん。
で、Team Foundation Serverとやらは、VSSよりはぶっ壊れなくなったの?
誰も使ったことのない、幻のシステムなので知らん。
このスレは 無料バージョン管理システムについて語るスレ7 なんで間違えないように
microsoft内の開発チームがTeam Foundation Serverを使うようになったら 考えてもいい
539 :
デフォルトの名無しさん :2010/11/18(木) 03:03:17
バリバリ使ってるだろ
microsoftが自分で使ってなかったのはVSSの話であって、 TFSは使ってるはず。
microsoft内ではパッチベースだと聞いたよ
それは逆にかっこいいな!
自分が使わないものを人に使わせるのか
>>537 そんなことないだろ
たまたま今は無料のものが普及していてコミュニティのひとつとしてここが使われているにすぎんでしょ
有料のものを使うのは公式のサポートが必要なこともあり、
それで済むならここで聞く必要ないからな
>>538 自分たちは何使ってんだよ、ということだよな
今はmercurialなんだっけ?
mercurialを脱共有するつもりだなM$FTめ
547 :
デフォルトの名無しさん :2010/11/18(木) 16:58:59
いまはHG一択だろ ふぉー
Linuxのコンソールで、diffを行単位だけでなく、変更行の中の変更ワード単位で (カラフルに)表示させたいんだけど、なんかいいツール有る? Windowsで言えば、ExamDiffみたいな感じで。
vimのdiff mode(vimdiff)とかは?
>>548 $ vimdiff foo.txt bar.txt
うちの色設定の問題なんだろうが、色が付いたところが塗りつぶされて、 結局差分が分からないという > vimdiff あれ、syntax切ればいいだけかな?
>>548 gitだと--word-diffとか--color-wordsとかで出来るよ
>>55 1.6には--word-diffなかったから--color-words試した
いいねこれ
分かち書きがいい加減なのか、変更していない箇所も変更してる箇所と連続していると
差分として認識されてしまうみたいだけど、色が表示できる環境だと見やすい
555 :
554 :2010/11/23(火) 12:53:26
git使ってると、2chのアンカミスも直す方法があるような錯覚がして仕方ない
git reset --hard HEAD^
git commit --amend が素直 しかしすでにpushされてる状況と考えると、gitでもやっぱり手遅れ
なんというか、頭をガツンとリセットみたいな
2ch用のproxy用意して書き込んだらローカルでは反映されていて、 pushしたら実際に投稿されるのでいいんじゃね? 掲示板も分散の時代だな
レスアンカーがひどく長いハッシュ文字列になりそうだな
削除人がammendした後にローカルでマージした古い履歴をあげてカオスに
git commit --date='2011-01-01 00:00:00' -m 'あけおめ'
>>560 network news の再来ですか。手元に過去のゴミログが全部あると。
2ch みたいのは、分散させなくても、Google App Engine 向きなんじゃないかなぁ、と思ったり。
あんまり流行らなかったが、nyのBBSなんかがある種の方向なんじゃないかと
コピペ連投もブランチ切ってrebaseで簡単に!
素人かよw >>三菱電機インフォメーションシステムズ
素人でももっとまし
学生バイトの習作程度
573 :
デフォルトの名無しさん :2010/12/07(火) 09:30:12
結局日本語ファイル名を扱うならBazaar一択ですか? gitとか日本でも流行ってきてるから解決されてると思ったのに。
>>573 あなたが解決すれば?何を解決するか知らないけど
575 :
デフォルトの名無しさん :2010/12/07(火) 09:39:46
みんなドキュメントとか管理してないのかな?
>>575 あなたはどうやって管理しているのですか?
577 :
デフォルトの名無しさん :2010/12/07(火) 09:44:04
>>576 あなたはどうやって管理しているのですか?
LaTexって分散バージョン管理できるんですか?
581 :
デフォルトの名無しさん :2010/12/07(火) 23:00:26
CVSのフロントエンド(GUI)をQtで作った。 まあ、フリーソフトが結構あるみたいだから、それでも良かったんだけど。 自分で作った方が自分好みに変更できていいよね。
まだCVS使ってるとこって多いのかな? 何のメリットもないと思うんだけど。
何使おうが勝手だろ 流行に飛びつくのはみっともない事だという美意識が近年なくなってむなしい 別に飛びつくなとは言ってないつもりだが
流行だから飛びつくって考えの人は皆無だろ(*人柱は除く 不満のあったところが改良されているから乗り換えるんだろ
いや、ここでCVSの美点を語ってくれてもいいんだぞ?
Subversionのブランチ・タグが特殊過ぎるからCVSを使いつづけている所は多いと思う
CVS使っててイライラさせられる点しかなかったけどw 当時、周囲でバージョン管理してないプロジェクトやプログラマーはアホみたいな風潮が流れて、 CVS使ってみてこんな糞みたいなものをよくつかってたと当時ですら思ったわ そして近年、昔のプロジェクトを弄ろうと久しぶりにWinCVS立ち上げたら気狂いそうになったぞ。 短気でない人間をも短気にさせるツールそれがCVS もう全部Subversionのリポジトリ変換したからいいが しかし、数年前から俺にとってのイライラツールがSubversionになろうとしてる、、、
いやひょっとしたら、WinCVSが使いにくいだけだったのかもしれんな それだったらスマソ 今はコマンドラインやシェル使うが当時はあまり使っていなかったからな
お前らこの「svnが遭遇してきた問題点とその解決策」を共有したいのでどこに記述あるか教えてください
【bzr】Bazaarでバージョン管理 Rev 2
http://hibari.2ch.net/test/read.cgi/tech/1265951333/491-495 491 :デフォルトの名無しさん:2010/12/10(金) 18:02:33
bzr初心者です。2.2.2をMac上で使おうとしてますが、扱うファイル名に濁点が含まれていると
うまく動いてくれません。NFCとNFDの問題が絡んでいるということはわかったのですが、
何か回避方法はあるんでしょうか?(何かパッチを当てるとか。)
492 :デフォルトの名無しさん:2010/12/10(金) 22:45:46
# だれかutf-8-macなcodec作ってくれ
493 :デフォルトの名無しさん:2010/12/11(土) 08:29:26
なんだBazaarでも日本語使えないのか
494 :デフォルトの名無しさん:2010/12/11(土) 14:48:30
Subversionでも解決しているに
>>1 の「多言語に完全対応」というのは嘘だったのですね
495 :デフォルトの名無しさん:2010/12/11(土) 21:48:19
svnが遭遇してきた問題点とその解決策が
ハッカーの間で共有知になってないことが問題なのかもしれぬ
誤爆・・・
いまどき昔のCVS(WinCVS含む)使ったらファイル破壊されそうで怖い
>>594 Subversionのbdbの方がもっと怖い
bdbはとっくの昔にデフォルトでは使われなくなってるぞ
>>594 , 595 破壊方法教えてくれ
過去のプロジェクトメンテの必要性から、いまだに CVS と bdb 使った SVN が動いているが
一度も壊れたことがない。
壊れる危険性があるのなら、こいつらを新しい VC に移行させる立派な理由になる
うろ覚えだけどbdbはLANでリポジトリ共有して同時アクセスするとやばいんだっけ。
排他制御がおかしいとかだったような気がする。
ちゃんとsvnserve通してれば問題は出ないだろうね。 割と最近までbdbで数十Gあるリポジトリ扱ってたけど、中身が壊れたことは無いな(今はFSFSに移行)。 ロックはよくおかしくなってたが。 svn bdb でググるとBerkeley DBが壊れたって話はいっぱい引っかかるけど、 読んでみるとロックがおかしくなったとかログファイルが壊れたとかで、リカバリできたって話ばっかりだな。 もちろん新規リポジトリで使う理由は全く無い。
CVS派の人達は、Subversion初期の頃のイメージで停まってるって感じ? 未だにBDBの話なんかしてるし。 ま、今じゃSubversion自体が老害の域に入ってるんだけどね。
> CVS派の人達は、Subversion初期の頃のイメージで停まってるって感じ?
ことの発端は
>>597 が言ってる過去のリポジトリが現役で動いてるって話だろ?
複数のVCを一本化したいってのがそもそもの主旨だと思うけどな…
>>591-593 誤爆したのにありがと
Subversionスレの方は追い出されてワロタww
bdbはバージョンアップの度に使えなくなってリポジトリのアップグレードが必要になったから捨てたわ 今はリポジトリ頻繁に変わらないのかも知れないが
>>601 CVSだかSubversionだかいっているうちは大丈夫。
デザイナー界隈はまだバージョン管理の必要性の議論が度々起こる。
思い切ってSubversion導入したとか言ってる。数年遅れてる。
>>592 なんだよこれ
散々、言っておいて結局variantsで別途配布じゃねーか
MacユーザーがただSubversion入れただけだと誰しもが使える状況じゃないじゃん
全世界のMacユーザーがSubversion入れるときにvariantsもいれろっていって回るのかよ
svnはMacOSXでaddできるけどbzrはそれすらできないってことでは
>>594 cvsつかったらファイル破壊されそうとか言ってるガキはなんなんだ?
何年前&何プロジェクトで使われて実績積んできたか分かってるのか
エキサイトするのは具体的な破壊の手順が提示されてからで十分だ
エレクチオンはしているがエキサイトはしていない
リポジトリを直接いじって破壊できないVCSなんてないだろうに。 CVSはリポジトリを直接いじらないとならないケースがあるのがダメだって話なら否定はしないけど。
find .. | xargs sed -iみたいなことして.svnや.hgや.gitの中身まで変更しちゃうことはたまーにある
cvsのリポジトリの中身はテキストファイルで、チェックサムが入っているように見えないから、 ファイルシステムが壊れかけの時、どうなるのか不安
>>615 中身はRCSと全く同じなので、一応セパレータはあるから途中までしか読み出せないときはエラーになったはず。
その点、最新リビジョンが先頭に来る仕様だから,vファイルが壊れたときにも手動復元は比較的容易。
さあ、今月で2010年も終了だ。 そこで現時点でどのバージョン管理システムを使うのがベターなのか考えてみよう! 条件は以下で、 ・複数のプラットフォームで同程度の操作性が得られる。 ・UIは色々選びたい。 ・使用者のスキルによって破壊的な結果を招く事がない。 ※誤操作では破壊されない、但し、破壊しようという試みを防げうる必要はない。 ・バイナリ、テキストなどを使用者が気にする必要がない。 ・リソースの使用量を殊更気にする必要はないが、コストパフォーマンスは気になる。 ・蛇足ながら、日本語で悩むのはなしで。
>>618 な い
この流れでわざとやってるだろw
>>614 のような悲惨な事故にはリポジトリが別に存在するsvnやcvsが強いな
>>605 バイナリをメインで扱う仕事だと実際SVNとかかなり使いにくいから反発起こるのも判る。
ロックが必要な関係上、選択肢は事実上SVN・AlienBrain・Perforceしかないし。
git がsubmoduleでディレクトリ分けしたリポジトリをgit svn dcommit できない hgはできる? perforceは?
gtk却下ならtortoise*使わないってことか
>>628 TortoiseHgはgtkからQtに移行中ですよ
TortoiseBZR も Qt TortoiseSVN は独自?
プロジェクト名に普通名詞一語を付けるすべての開発者にイボ痔になる呪いをかけた
何のことかわからない俺には効果がない アッー!
そして pwgen で付けたような よくわからない名前のプロジェクトしか無くなった
>>631 gitとかmercurialとかbazaarとかか?
水銀製剤という名詞用法もあるのだよ
オープンソースプロジェクト冬の時代の到来である
イボ痔によってもたらされる初めての大規模な開発の危機
でもPenとかRとか本当にググるのめんどいよな
そもそもC++とかがすでに
Clojureみたいにちょっとヒネった名前が 検索しやすくかつ覚え易くて好きだな
gnomeやKDE関連ツールみたいに、頭にgを付けるとかKに変えるとかすると 検索には便利だな
そこで例に gnome を出すのはどうかと。
racketで検索してもひっかからないけど pltなら引っかかる
何だこの流れ
ゲイツはすでにイボ痔だし
>>640 C#がでたときもググりにくいと言われていた気がする。
ググるはすぐに対応した気がするが、他の検索エンジンが対応されていないことがある
649 :
デフォルトの名無しさん :2010/12/27(月) 15:28:37
個人でアプリを作るためにバージョン管理システムを使おうかと思うのだけど,お勧めのフリーソフトある? ググってみてはいるが,個人向けのバージョン管理システムってどれがいいのかよくわからんorz OSはWindowsで,Eclipseを使って開発する予定.
文字コード絡みの面倒を抱えたくなければSubversionでいいんでね?
652 :
デフォルトの名無しさん :2010/12/27(月) 15:57:36
>>653 Subversionが2011年に分散型としても使えるようになるという事ですね。
Subversionに対するGit/Merculial/Bazaarの利点は分散型である事だと思うのですが、
Subversionが分散型として使えるなら今後もSubversionが主流なのでしょうか?
SVNの今のmergeinfoが使い物にならないということか。 git/hgはハッシュとDAGでシンプルに実現しているのに、 SVNのリビジョン番号で直線的なモデルを変えない限り、複雑になるだけで使い物にならないでしょう。
確かに。svnが進化して便利になったとしたら、それは最早svnという名前の別のvcsだな。
>>654 分散型だけでなく完全なチェンジセット指向であることも利点。
.svnが各ディレクトリにあるのに対して、トップディレクトリに.git/.hgがある。
svnはディレクトリ・ファイル単位でチェックアウト・コミットできることは一見利点に見えるが、
今展開しているディレクトリ全体が整合性取れているかどうか保証ができない。
updateしないで、ブランチを作るためのcpコマンドをローカルでやると悲惨な結果になる。
だね。 各ディレクトリに.svnがあることの利点を捨てれば、それはもうSVNではないし、 各ディレクトリに.svnがあることのデメリットはかなり大きい。 単純なディレクトリのコピーにまで要注意な点は、かなり足を引っ張る・・・はず
Subversionの利点は個人的にはファイル名がUnicodeで扱われるということ。 GitかMercurialに移行したいと思ってもその点で躊躇してしまう。
ファイル名をASCIIだけでつければノープロブレム。
663 :
デフォルトの名無しさん :2010/12/28(火) 14:11:06
分散にしなかったらSubversionをどう改良するんだ?
Subversionの最大の利点は、Tortoise何とかが枯れてる事だと思う。 他人に使わせるなら、これ超重要。
>>664 枯れているか?古いWindows切り捨てらしいが。
>>661 Bazaarはファイル名をUnicode文字列として扱う
まあUnicodeにもUnicode特有の問題があるが……正規化とか
>>666 知ってるよ。だから抜いてるっしょ。でもBazaarは、シェアがちょっと不安。
よくMercurial/Gitと並んで書かれるけど、どうも今一つ垢抜けないというか・・・
Mercurialは色んなオープンソースで採用されてるし
GitはEclipseで入りやすいから、どっちかがファイル名とコミットコメントを
Unicodeにしてくれたら・・・と思う。
開発元が同じUbuntuを除けば、EmacsやMySQLがBazaarを採用してる大手かな
>>667 同感。gitかhgでのファイル名の扱いが改善されれば…
でもそうはならないでしょうね
そのあたりの重要性が理解されてたら
ここまで普及する前に、初期の段階で改善されてたはずだし…
開発のコアメンバーが、「DVCSはソースコードを管理するもんだ。どこの国の人間だろうが ソースコードのファイル名に英語以外を使う奴はアホ」、 とか発言しちゃうぐらいだし。
バイト列で扱うのも利点がないわけじゃない 内部コードをUnicode系に固定すれば、Unicodeとロケール毎の文字集合の間で変換が起こる その分計算量が増えるのは無視するにしても、一対一対応してない文字の扱いが難しい しかも正規化や合成文字についても考える必要がある 要するにUnicodeも銀の弾丸にはならない 俺は基本的にBazaarを使って、既にGitを使ってる所ではGitを使って MercurialやSubversionもどうしても使わなければ使うけど
Bazaar+Eclipseならどのプラグインがいいかな? Unicodeが問題解決にならないのは、Macの正規化を見ても分かるんだが それでも問題を減らせると思うんだ・・・・ SubversionやBazaarが実現している訳で。。。。
675 :
デフォルトの名無しさん :2010/12/28(火) 19:56:50
Javaのクラス名を日本語にするわけ?
文書や画像のファイル名をローマ字綴りにする人は
漢字や仮名を使った方がいいんじゃね
あとindexesとかwritedとか書く人とか
>>674 bzr-eclipseって公式プラグインがあるがEclipseを使わないからいいかどうかわからん
利用者少ないからチケット送る羽目になるかもしれん
>あとindexesとかwritedとか書く人とか わざとやってる人(または自動生成器)ならいくらでもいるぞ
じゃあ今度からそれでいいや ついでに形容詞も全部more/most xxxにしとこう
オーウェルのやつ、実際に似たような人工言語なかったっけ?
datasも気になるw
だからってdatumとは・・・
データを扱う場合に一件に限定することってまずないから dataで問題ないと思う
んじゃmediaは?
複数系・単数形単体の問題よりもそれに応じた動詞の変化を忘れることが多いから困る
>>672 酷い話ですね…
ソースコードしかバージョン管理しない
と思い込むヤツのほうがアホだよな…
と思ったが、
このツールはソースコード以外は管理するつもりがない
と明言してるのは、それはそれで意味があることかもしれない
ドキュメント等は別のツール、つまりgitやhg以外で管理しろ、
使い分けろ、なんでもコレでやろうとするな、
ということなんでしょうかね
>>687 ソースと資料を同じレポジトリに突っ込んでたら
ドキュメントのサイズが膨れ上がってドキュメント専用のレポジトリが
欲しくなることは多々あるんだけど、
それでもソースや設定ファイル周りとかで日本語ファイル名を使いたいトコもある。
全部英語だとファイル名の見た目にメリハリがなくて見にくいんだな。
何にせよ、エンコードが沢山あるってのが問題で
Unicodeはその問題を解決しようとしたのに正規化とかワケワカラン問題を産んでしまった。
こういうのって、英語圏の連中にとっては問題の理解が難しいわけで
それだけで手を上げたくなる気持ちもわからんでもない。
でも、それでも・・・ちょっと使いにくいんだよな・・・CVS時代に逆行したようで・・・
正規化はまあいいんだがUnicodeとJISが並立しているのが面倒くさい 統合漢字/互換漢字/異体字セレクタはJISでも包含基準や改定に伴う追加があるから どっちにせよ似たようなことを考える必要があるが
690 :
デフォルトの名無しさん :2010/12/28(火) 23:41:20
「\」問題を日本人でさえ理解していない人間が多いのに欧米人にどうやって理解させる? 欧米人にとっては大文字小文字の方がはるかに重要。
>>690 そ、それは日本人自体が招いた問題だから自ら問題解決すべきでは?>「¥」「\」問題
nkfのオプションの多さを考えたら、ファイル名を「文字」として扱うことが如何にナンセンスか分かると思うが。
なぜ日本も韓国もバックスラッシュの位置に通貨記号を割り当てたんだろうな……
韓国は日本の真似しただけだろニダ
むしろ何で\がパスデリミタ…
>>695 だから、割り当てなさい!と言われたんじゃなくて、割り当てていいよ┐(゚〜゚)┌
と言われて割り当てたのは日本人自身なんだってば。
ファイル名の命名規則を話しだすと 7bit文字に収めろだの 記号を使うなだの 全部小文字にしろだの 全部大文字にしろだの ドット区切りサフィックス(つーか拡張子)は3文字以内に汁だの 8+3に収まってないと怒り狂われるだの プリフィクス+連番(PRG0000)以外は認めないだの 未だにファイル名に日本語が必要な場面が思い浮かばないぜ。
>>687-688 例えソースコードしかバージョン管理しなくてもいくらでもバカが
Windowsのエクスプローラーで「〜〜 - コピー」「〜〜 - コピー (2)」「〜〜 - コピー - コピー 」みたいなファイルをリポジトリに入れてくるわけだが…
プログラマー向けだしというのもわかるし、
そういうのではない一般向けのDropboxは考慮されてるしな(Macとのやりとりは知らん)
Windowsならcygwin 1.7のようにWindowsのUNICODEをUTF-8に変換してその手のアプリに渡すのがまだ楽そうだわ
そうやっているとUnixのファイルシステムで作れないファイルを入れたりもできてしまうが、それは文字コードの問題じゃないしな
>>703 > 例えソースコードしかバージョン管理しなくてもいくらでもバカが
> Windowsのエクスプローラーで「〜〜 - コピー」「〜〜 - コピー (2)」「〜〜 - コピー - コピー 」みたいなファイルをリポジトリに入れてくるわけだが…
githubのpull リクエストみたいにpullしないで放置プレイにする
> Windowsならcygwin 1.7のようにWindowsのUNICODEをUTF-8に変換してその手のアプリに渡すのがまだ楽そうだわ
> そうやっているとUnixのファイルシステムで作れないファイルを入れたりもできてしまうが、それは文字コードの問題じゃないしな
???
>>704 > > Windowsならcygwin 1.7のようにWindowsのUNICODEをUTF-8に変換してその手のアプリに渡すのがまだ楽そうだわ
> > そうやっているとUnixのファイルシステムで作れないファイルを入れたりもできてしまうが、それは文字コードの問題じゃないしな
> ???
>>699 のようなことかと思う。下手するとupdateやpullできなくなる。
ext2/ext3は'/'と'\0'以外に制約無いし、'/'=0x2FでCP932の2バイト目には出てこないよ
やっぱbzrだな。
ArchやDarcsのことも時々でいいから思い出してください
Bazaarは日本語ファイル名も問題なさそうだし、付属のBazaar Explorerも悪くないが、ブランチが切りづらい。
711 :
デフォルトの名無しさん :2010/12/30(木) 06:55:45
TortoiseHG単体でバージョン管理が出来るようになったら本気出すけど
>>497 ってそうなったってこと?
http://hibari.2ch.net/test/read.cgi/tech/1251208950/507-509 MercurialスレでSVNのロック機能不用論がでてますが、
総合スレであるここで突っ込ませてください。
ロック機能は複数の人による同時編集ができない代わりに
マージが不要になる利点があります。
ソフトウェア開発では同時編集禁止は不便なので
ロックせずにマージで頑張るバージョン管理システムが広まりました。
しかしアイコンのようなバイナリファイルはマージするのが困難なので
同時に一人しか修正しない事を保証するロックに頼らざるを得ません。
ロック機能でもある程度は共同作業が楽になります。
ですからバイナリファイルも扱わせるならロック機能は必須でしょう。
ロック不要論者は馬鹿すぎて扱いに困る 論拠を聞いても結局「俺が使わないから要らない」以上のことは何も言わないし
>713 ロック不要論じゃなくて、有った方がいいけど、無くてもまぁ運用で或る程度は何とか なるじゃないのって話でしょ。人数や求める厳密さによるけど。 Subversionでもロックの不徹底は多そうだし。共有ディレクトリやDropboxだけで やってるとこも、そのへん、なあなあでしょ?
VCSはコミュニケーションツールではない バイナリでなくてもコンフリクトはおきる 機械的なマージは時として信用できない
VCSは最低限のインフラと捉えた方がいいのは確か チャットやMLやWikiなどを併用していない開発体制ではどうにもならんところはあるさ
VCSとは独立して、ネットワーク経由でファイルのアノテーションを共有出来るツールがあると 便利かもなぁ。ロックとかコメントとか。
>>719 あーそれ良いね。VCSにロックは要らないと思うけど、
アドバイザリなロック情報を1アクションで共有出来るような
ツールがあったら、何かと便利な気がする。
それは興味深いな
>>718 上で出た共有ディレクトリやDropboxの運用だって、コミュニケーションなしじゃやってらんないしな
>>719 それこそ、チケット管理のシステム使ったり、コミットログやBTSのログをIRCに流すとかでいいんじゃないのか
あーでも、今メールで流してるけど数多すぎて全然みないなw
プログラマー向けにはちゃちだと思っていたDropboxをデザイナが便利に使っているのを見て前にヒアリングしてたんだけど、 そのなかでいいと思ったのは「更新されたり、衝突したらポップアップで通知してくれること」だったわ Windowsのクライアントの話なので他もそうかはわからんが
725 :
デフォルトの名無しさん :2010/12/30(木) 17:35:18
Bazaarの利用テストをしてみた。 ・日本語コミット文、日本語ファイル名がOK。 → GitやMercurialは日本語ファイル名を入れると、Windows - Linuxでリポジトリの共有が不可能になる。 ・通しのリビジョン番号で操作できる → Mercurialと同じで、ハッシュ値のGitよりは操作が楽。 ・commitは自由に取り消せる(uncommit)。 → Gitのreset --hardと同じで、1回より取り消せないMercurialよりは手軽。ただし、管理上はマイナスかも。 ・ブランチの作成時に、ディレクトリ(フォルダ)の指定がいる。 ・ブランチを変更するときは、作業ディレクトリの変更がいる。 → ブランチ名だけでいいGit、自動的に無名ブランチができるMercurialの方が楽。 あまり使い込んでいないので誤解があるかも知れないが、分岐やマージの頻度が低い所だと便利かも知れない。
>>725 の補足だが、uncommitでコミット取り消しした後に、revertでワーキング・ディレクトリも戻そうとしたときに、以下のエラーが出た。
Unable to obtain lock file:///C:/path/to/directory/ held
by おれさま様 <
[email protected] >
at Bill.G.World [process #4812], acquired 81 seconds ago.
.bzr/checkoutを削除したらrevertできるようになったが、Windows版のBazaarは、まだバグが多いのかも知れない。
>>725 > ・日本語コミット文、日本語ファイル名がOK。
> → GitやMercurialは日本語ファイル名を入れると、Windows - Linuxでリポジトリの共有が不可能になる。
いつまでも、こんな無知を晒すのやめてくれない?
> ・通しのリビジョン番号で操作できる > → Mercurialと同じで、ハッシュ値のGitよりは操作が楽。 bzrのリビジョン番号あとから変わるらしいじゃん。 あと、commit id、何あれ?本当に分散型なの?
>>727 GitとMercurialで、日本語ファイル名を取り扱う方法を教えてくれ。もちろんcygwin無しでね。
>>725 > ・commitは自由に取り消せる(uncommit)。
> → Gitのreset --hardと同じで、1回より取り消せないMercurialよりは手軽。ただし、管理上はマイナスかも。
hg backout/hg strip
>>729 「リポジトリの共有」なら日本語関係無いよね?
>>730 MQのhg-stripで消せばいいのね。hg-backoutは、履歴に残るよね?
>>731 GitとMercurialは、文字コードが違う処理系でも共有はできるが、日本語ファイル名は化けると言いたいわけですね。
>>733 人間の目から見て特定のロケールで「化ける」だけ。Windowsだとチェックアウトできないかもしれないが。
「リポジトリの共有」はgitならbare、hgでもbareもどき。作業ファイルの展開とは関係ない。
736 :
デフォルトの名無しさん :2010/12/30(木) 18:24:09
>>734-735 なるほど。ところで、CP932のMS-WindowsとUTF-8のLinuxの混在環境で、日本語ファイル名をつけたときにGitは実用的に問題はないの?
人の目で見て化けていて、チェックアウトできないかも知れないだけだから問題ない?
>>736 CP932/CP950以外では問題なく使われている
738 :
デフォルトの名無しさん :2010/12/30(木) 18:29:50
>>728 >bzrのリビジョン番号あとから変わるらしいじゃん。
>あと、commit id、何あれ?本当に分散型なの?
詳しくよろしく。
>>740 メールアドレス-時刻-ごくみじかいハッシュ
でしょ、メールアドレス、時刻は偽造可能。
ハッシュとして長さが短すぎ。
git/hgはハッシュの最初の数文字入れればリビジョン特定できるが、それもできない
>>728 bzrは分散型だと思わないほうがいい。
ローカルコミットできる中央型
>742 どのような点で?
bzrのリビジョン番号は、 branch.conf で append_revisions_only を有効にすると単調増加になって、 メインラインを変更するようなpushを許さなくなる。 append_revisions_only は今後デフォルトになっていく方向に話が進んでる。 bzrのrevision_idがハッシュ値じゃない事には利点もあって、URLの様にいろいろなスキームで revision_idを作成できる。例えば、 git から pull したリビジョンには、 git:<gitのリビジョンID> というスキームでリビジョンIDを付けている。
>>741 狙ってリビジョンIDを衝突させることができることを問題にしているの?
なら、リビジョンIDは好きに作れるから、別に偽装とかしなくていいよ。
で、狙ってリビジョンIDを衝突させられることのどこが問題なの?
>>741 昨日、嫁に三行半を突きつけられた隣の席の鈴木が、Bazaarだと自棄になってCommit IDを衝突させてくるってこと?
それは課長や部長が解決する問題であって、VCSが解決する問題ではない ・・・と思う
>744 単調増加の意味するところがいまいちよく分からんが、とにかく、 今までDVCS比較話で聞いた事のない興味深い話であった。
append_revisions_only
“True”に設定されていればリビジョンはログにのみ追加され、削除されません。
この設定が有効なブランチは、他のブランチのログがそれ自身のリビジョンより長い場合、別のブランチからのみpullできます。
通常これは bzr init --append-revisions-only によって設定されます。
http://twitter.com/#!/methane/status/11806331434442752 append_revisions_only = True に設定したブランチでは、連番のリビジョン番号が固定され、ID替わりに使えること。
中央リポジトリ上のブランチはこの設定がおすすめ。
>749 なるほど、全然分からん。
もうちょっと詳しく言うと、bzrはgitやhgと違って、「メインライン」という概念があって、 履歴のウチ並列して存在するラインの片方がメイン、残りがマージされたブランチという扱いになる。 通常はメインラインのウチのリビジョンだけを表示することで、別ブランチで開発中にコミットされた 細かいリビジョンを無視して、それをメインラインにマージしたコミット1つにまとめて表示できる。 なので、ローカルで作業中に作ったゴミみたいなコミットをまとめて綺麗な1つのコミットにするみたいな 作業が要らない。 (もちろん、メインラインを無視して、全ブランチが同等という運用をしても良い) なんだけど、だれかがローカルのブランチから中央のブランチをマージすると、そのローカルでは メインラインはローカルブランチに、中央ブランチはサブラインになって、それを push すると 中央ブランチのメインラインが置き換わってしまう。 中央 1:A - 2:B - 3:C - 4:D ローカル 1:A - 2:B - 3:X - 4:Y -(中央からマージ)- 5:Z (この状況でローカルから中央に push) 中央 1:A - 2:B - 3:X - 4:Y - 5:Z (中央のサブライン 2:B - 2.1.1:C - 2.1.2:D - 5:Z) (リビジョン番号3と4に割り当てられているリビジョンが変わってる) これを許さないのが append_revisions_only
bzrはrebase文化でないわけ?
>>752 rebase は拡張としては用意されているけど、bzr-svnとかbzr-gitとかでよく使われているだけで、
bzrで管理されているプロジェクトでは普通にマージを使ってると思う。
>>752 単純に言うとBzrにはブランチがない。必ず1列に並ぶ。
>>751 のおかげで、Mercurialを使いつづける勇気が沸いた。
757 :
デフォルトの名無しさん :2010/12/30(木) 23:18:26
>>757 ぜひbzrとhgの比較もしてもらいたいものですね!
>751 おかげで、bzrは候補から外す事にしたよ。 つーか、この件、マジで初耳なんだが。 今までほんとに使ってるbzrユーザは居なかったのか?
>>760 bzrユーザーは日本語使えれば何でもいい奴らしかいないwww
>>760 日本語ファイル名が使えるのと、Bazaar Explorerは悪く無いと思う。
>>751 のリビジョン番号の変化は再現できていないけど、
>>751 に解決方法は書いてあるし問題ない。
しかし、ディレクトリがブランチなので、他の分散バージョン管理システムに比べると、かなりSVNに近いのがどうも気になる。
なるほど、pushされるとリビジョン番号が変化する。
bzr init --append-revisions-only して以下のエラーが出たときは、どうすればいいんだろうか? bzr: ERROR: Operation denied because it would change the main history, which is not permitted by the append_revisions_only setting on branch "bazaar/trunc/".
>>761 そういう奴はSubversionを使う
766 :
デフォルトの名無しさん :2010/12/31(金) 10:32:24
>>760 > 今までほんとに使ってるbzrユーザは居なかったのか?
svnユーザでbzrを検討したユーザはあまりの使えなさに幻滅してsvnに戻る
git・hgユーザはbzrは眼中にない・少し触って重くて止める
cvsからbzrに移ったEmacsは特異な存在
767 :
デフォルトの名無しさん :2010/12/31(金) 16:33:42
Bazaarで--append-revisions-onlyを使ってみた。 1. 共有リポジトリからpull 2. ローカルリポジトリで修正 3. 共有リポジトリが誰かに更新される 4. 共有リポジトリにpushに失敗(bzr: ERROR: Operation denied because it would change the main history, ...) 5. ローカルリポジトリをuncommitする 6. ローカルリポジトリの変更差分をとる 7. 共有リポジトリからpull 8. ローカルリポジトリで変更差分を適用 9. 共有リポジトリが誰かに更新される 10. (4)へ戻る --append-revisions-onlyは友達の輪に入れないオレには無理なようだ。
つまり、こういう事か。 bzr リア充向け git nerd向け hg それ以外のhuman beings向け
ああ、俺は半端者だからBazaarとGitは使うけどMercurialは使わないのか リア充はOS XのTime Machineを使うような気もするが
Time Machineはバックアップ以外の用途に使えるのだろうか。 Mercurialはpush時に衝突が発生しないから楽だよ。
いや、バックアップ用 Windowsのシステムの復元がデータ領域を対象にした感じ
>>764 trunkのチェックアウトを別に作って、trunkに対して自分のブランチをマージする。
Launchpad系では通常、開発者はtrunkへpushせず、自分のブランチを公開してtrunkに
マージする準備ができたらマージリクエストする。
コミッターがそのブランチをレビューし、OKならtrunkへマージする。
社内ユースなどで、みんながどんどんtrunkへコミットするスタイルの場合は、
1) (svn風) trunkをチェックアウトして直接その上でコミットする。trunk以外のブランチは欲しい時だけ作る。
2) (git風) append_revisions_only = False にし、みんな適当に push する。
Launchpad風、svn風、git風、どのワークフローにも対応できるのが利点と言えるけど、
逆にそれで混乱してしまう人もいる。
773 :
デフォルトの名無しさん :2010/12/31(金) 21:47:28
>>772 > 2) (git風) append_revisions_only = False にし、みんな適当に push する。
gitでみんな適当になんかpushしてねーよ
>>772 さんくす。共有リポジトリにpushする運用だと、Bazaarはちょっと使いづらいね。
>>773 言い方が悪かったな。すまん。
ちゃんとしたプロジェクトではgitでもLaunchpadと同じマージリクエスト&コードレビュースタイル
なのは判ってる。
身内の少人数内でレビュー必須みたいなしっかりしたフローが無い状況における、
ワークフローとして、svnとgitの典型的なスタイルを挙げたつもり。
そういう状況でgitだとみんなでtrunkにpushしちゃうんだけど、俺の周辺だけ?
>>774 どう使いにくそう?
append_revisions_onlyは今のところデフォルトでFalseなのでpush自由だし、
デフォルトTrueになってもちゃんとFalseにするオプションは用意される。
ログを見るときもデフォルトではメインラインだけを表示するけど、サブラインも
表示するオプションが用意されている。
みんなで適当にpushできて、連番のリビジョン番号は恒久的なIDがわりには使えない、
Mercurialと特に違いは無いと思うけど。
>>776 > みんなで適当にpushできて、
・push先に新たなheadを作らない
・svn的ブランチは別リポジトリに分ける
・bzrの独自の概念だと言っている「メインライン」は、
hgではリポジトリの分離と「名前付きブランチ」
> 連番のリビジョン番号は恒久的なIDがわりには使えない、
hgの場合、リビジョン番号はリポジトリで固有というコンセンサスが出来ているけど、
bzrの場合出来ているの?
罵倒は2chの風物詩として違いは参考になる。それぞれがみな異色に見えるなw
>>729 おーっとここで将軍様「トラを捕まえろ一休、屏風から出さずにな」と
>>733 どうしてもcygwinが嫌なら仮想マシンでファイル共有してLinuxからWindowsのファイルをバージョン管理すればいいよ
gitはそれでやってるわ。面倒なときはcygwinのgit使う
>>736 UTF-8のファイル名をコミットするのはともかく、CP932は他の環境だとかなり大変だから
CP932でコミットするのは本当におすすめできないな。
今の時代、将来的に他の環境で使うことはないなんていいきれん。
別にファイルの中身の文字コードやコミットログはなんとでもなるんだがな
>>776 > みんなで適当にpushできて、連番のリビジョン番号は恒久的なIDがわりには使えない、
> Mercurialと特に違いは無いと思うけど。
「公開リポジトリ」上で"hg strip"、"hg rebase"などの履歴の編集はまずしない。
この場合、公開リポジトリのリビジョン番号は0からの連番で変更されることはない。
だから、hgweb、bitbucketでのリビジョン番号は恒久的なIDとして捉えても良い。
でも、hg logなどでの出力の"123:abcdefg"のようなスタイルの方が望ましい。
>>765 うちは面倒なので中央svnにして使うやつはgit-svnなりだなw
こちらの使う範囲内では、UTF-8環境ならgit-svnで日本語ファイル名を扱えることは確認済み
しかしCygwinのgitkはtkのバージョンのせいか設定が悪いのか何故か化けるし不安定
git-svnはcygwinは1.7だし大丈夫だと思うが、Linuxのディストリによってはパッケージのものは古くて不便なので注意
bzrは、設計のセンスが悪いなぁ。
782 :
デフォルトの名無しさん :2010/12/31(金) 23:37:35
>>781 Subversionの真似をしているから当たり前
>>776 > どう使いにくそう?
1. append_revisions_only = Falseだと、pushしやすいがリビジョン番号が変化する。
2. append_revisions_only = Trueだと、pull requestを送る運用になる。
3. checkoutをすると、SVNと運用が変わらない(?)
共有リポジトリをファイル共有の目的でも使いたい現場だと、(2)は使いづらそうな感じはする。
イメージしている運用スタイルだと、リビジョン番号の変化に慣れるべきなのは分かった。
>>778 のGitの運用を見ていると、日本語ファイル名は重要な問題な気がしてくる。
>>776 Mercurialは、コミットの統合や削除を意識して行わない限り、あるリポジトリの中のリビジョン番号は変化しない。
Bazaarだとオペレーターが気づかない間に、同じリビジョン番号が、他のチェンジセットに入れ替わる気がするんだが。
uncommitとかの狙いが外れて気づかなかったら大惨事。
gitとmercurialとbazaarはbranchの概念が3者共全く違うという所から 考え直した方がいいと思う
>>786 gitとmercurialはそんなに違わない。bazaarがsubversionを意識し過ぎ
788 :
デフォルトの名無しさん :2011/01/01(土) 01:07:50
>>786 ブランチの概念、かなり違うね。
>>787 Mercurialは全てのチェンジセットが独立したブランチみたいなもんだから、
・gitと異なり、ブランチを作成しなくても、自動で名前無しブランチができる。
・gitと異なり、同一(名前付)ブランチ内で、さらに分岐ができる。
・gitと異なり、pushでconflictは起きない。同じチェンジセットに編集を加えても、独立に分岐したチェンジセットになる。
・gitと異なり、ある(名前付)ブランチのチェンジセットを消すと、子孫にあたる別のブランチも消える(hg-strip)。
790 :
776 :2011/01/01(土) 02:22:17
>>777 > ・push先に新たなheadを作らない
> ・svn的ブランチは別リポジトリに分ける
> ・bzrの独自の概念だと言っている「メインライン」は、hgではリポジトリの分離と「名前付きブランチ」
ちょっと言っていることがよく分からないんだけど、3つともbzrに対するhgの違いを挙げているという認識で合ってる?
1つ目は、URLを間違えたときに間違えた場所に新しいブランチが作られること?
2つ目は、bzrの場合はリポジトリとブランチが区別されているものの、ブランチにURLが付けられるから
結局はhgの別リポジトリと同じようなものだよ。
3つ目で言ってるのは、hgでも "trunk" とか "main" という名前の履歴だけを表示すれば、bzrみたいに
マージされたブランチ内の細かな履歴を省略して全体の大まかな履歴を見れるってこと?
今度しらべて使ってみるよ。
> hgの場合、リビジョン番号はリポジトリで固有というコンセンサスが出来ているけど、
> bzrの場合出来ているの?
bzr もブランチで固有っていうコンセンサスが取れてるよ。
>>779 > 「公開リポジトリ」上で"hg strip"、"hg rebase"などの履歴の編集はまずしない。
> この場合、公開リポジトリのリビジョン番号は0からの連番で変更されることはない。
> だから、hgweb、bitbucketでのリビジョン番号は恒久的なIDとして捉えても良い。
つまり、append_revisions_onlyという機能はないけど、そういう運用をしているから不変って事ね。
ただし、bzrのメインラインみたいな概念がないから、マージ&pushは append_revisions_only
に違反しないと。
>>790 >> ・push先に新たなheadを作らない
> 1つ目は、URLを間違えたときに間違えた場所に新しいブランチが作られること?
共有サーバーから二人が同時にpullして変更後、pushしたとする。
GitやBazaarは、衝突の解決等は別として、同じブランチにpushできる。
Mercurialは、自動的に『名前無しブランチ』が分かれる(=headが増える)。
同じブランチで、最新のチェンジセットが複数と言うこともある。hg-headsで最新版のリストを見て、随時マージは必要。
> 3つ目で言ってるのは、hgでも "trunk" とか "main" という名前の履歴だけを表示すれば、
> bzrみたいにマージされたブランチ内の細かな履歴を省略して全体の大まかな履歴を見れるってこと?
ブランチ名で絞り込みは簡単にできるよ(hg log -b ブランチ名)。
ただし、Mercurialの『名前付ブランチ』は、あくまであるチェンジセットの子孫への『目印』なので、Bazaarのブランチとは異なる。
大雑把に特性をまとめてみた。 Mercurial: ・一つのリポジトリで複数のブランチが扱える。 ・無名ブランチが自動で切られるため、分岐がしやすい。 ・名前付ブランチもつける事ができる。目印なので、つけなくても操作に支障は無い。 ・ブランチはツリー構造。あるブランチ内のチェンジセットを消すと、他のブランチに含まれる子孫チェンジセットも消える。 Git: ・一つのリポジトリで複数のブランチが扱える。 ・ブランチ名を考える必要がある。 ・ブランチは、他のブランチのコピー。あるブランチを削除しても、そのブランチから分岐したブランチは影響を受けない。 Bazaar: ・一つのリポジトリで一つのブランチ(メインライン)。 ・マージするときは、他のリポジトリのコミットを傍流として記録。 ・ディレクトリ配置を考える必要がある。 ・ブランチは、他のブランチのコピー。あるブランチを削除しても、そのブランチから分岐したブランチは影響を受けない。
>>790 >> ・push先に新たなheadを作らない
> ちょっと言っていることがよく分からないんだけど、3つともbzrに対するhgの違いを挙げているという認識で合ってる?
> 1つ目は、URLを間違えたときに間違えた場所に新しいブランチが作られること?
Mercurialのリポジトリはお互いに完全に対等。
gitのリモートブランチ・ローカルブランチという概念が無い。(ついでに言うとbareもない)
pull/pushも方向の違いでしかなく、名前付きブランチもあるけど、全リビジョンの同期が大原則。
無関係なリポジトリに対してpull/pushしようとすると、
「無関係なリビジョンだよ」と怒られて失敗する。
でも、-f オプションを付けるとpull/pushできる。
これを利用することで、gitスレのこの質問
http://hibari.2ch.net/test/read.cgi/tech/1284467898/345 「根本が異なるリポジトリ」をMerucrialでは「合体」することができる。
あと、hg incoming/hg outgoingというコマンドがあって、pull/push前にどのリビジョンが同期されるのか
確認するのが、お約束。
gitもpushに --dry-run というオプションがある。
>>793 の続きと訂正
> 無関係なリポジトリに対してpull/pushしようとすると、
> 「無関係なリビジョンだよ」と怒られて失敗する。
『「無関係なリポジトリだよ」と怒られて失敗する。』に訂正。
>> ・push先に新たなheadを作らない
head=無名ブランチという紹介されているようだけど、
オプション無しでpushすることによって新たなheadが出来る場合、
「新たなheadができるよ」と怒られて失敗する。
これも-fオプションを付けることで強制的にpushできるけど、
あまりやってはいけないこと。
この場合、まず、リモートからpullする。
これでローカルに無名ブランチができる。
この状態をmulti heads状態とも呼ぶ。
これをローカルでマージしてheadを1つにしてからpushする。
>>792 Bazaarのリポジトリとブランチは一対一じゃないような気がするんだが
Bazaarはブランチ格納用リポジトリ作ったり そこは本来は分かれている必要がある、という思想で作られているんだろうと思う。 svnのように見える一旦かも知れないが
>>796 bzr init-repo foo; cd foo; bzr init bar
とするとリポジトリfooのブランチbarが作られる
少し前に話されてたリビジョン番号については「Bazaarの哲学」を読めば
Bazaarの奇妙さとその意図が分かるかも
bitbucketはなんで無料なの
>>791 > ブランチ名で絞り込みは簡単にできるよ(hg log -b ブランチ名)。
TortoiseHg現安定版1.1.xの場合、別の名前付きブランチの親も表示させるのが仕様。
Revision Set の所にbranch("名前付きブランチ名")とすることで、その名前付きブランチだけ表示可。
次期TortoiseHg1.9では今のところリストボックスでどっちも可能。
>>795 SCMのリポジトリとBzrのリポジトリでは意味がかなり違う。
Bzr厨はなぜかその事を認めない。
どうやらbzrは、無邪気にgit、hgと並べるようなもんじゃ ないらしいな。
>>804 は作業ツリーを無視して、リポジトリとブランチとリビジョンだけを考えた場合の話ね。
bzrは作業ツリーとブランチも切り離されていて色々な運用が可能で、gitとbzrを併用している
ユーザーには、bzrのブランチをgitの用に扱えるようになるbzr-coloってプラグインがお勧め。
svnからbzrに移行した人はリポジトリとブランチと作業ツリーの区別が付いているから bzrの概念が判りやすいんだけど、gitやhgから入った人はブランチとリポジトリの区別が svnよりも曖昧になりがちだから、bzrを使い始めるときに混乱するよね。 bzrは分散型でマージが協力なsvnと思ったほうが良さそう。
808 :
デフォルトの名無しさん :2011/01/01(土) 17:23:55
gitはsvnの全否定から入っているからブランチと言えばcvsのブランチ 少しでもsvnの匂いがするものは、拒否
810 :
デフォルトの名無しさん :2011/01/01(土) 17:39:30
>>809 > svnにブランチはない
あ、そうか、bzrが意味不明なことを言いつづけているのはそのせいか
皆様のレスを読んだ上で、再度、大雑把に特性をまとめてみた。 Mercurial: ・一つのリポジトリで複数のブランチが扱える。 ・分岐時は、無名ブランチが自動で切られる。名前付ブランチもつくる事ができるが、目印なので必須では無い。 ・ブランチ内のチェンジセットは木構造に並ぶ。 ・分岐したブランチは、元のブランチに依存する。あるブランチ内のチェンジセットを消すと、別のブランチにある子孫チェンジセットも消える。 ・複数のリポジトリで変更を行いpushしても、分岐しているので衝突はしない。ただし、解消が要求されるmulti-head状態になるので、先にpullが望ましい。 Git: ・一つのリポジトリで複数のブランチが扱える。 ・分岐時に、ブランチ名を考える必要がある。 ・ブランチ内のチェンジセットは直線上に並ぶ。 ・ブランチは、他のブランチのコピー。あるブランチを削除しても、そのブランチから分岐したブランチは影響を受けない。 ・複数のリポジトリで変更を行いpushすると、衝突が発生する。先にpullが必要。 Bazaar: ・ブランチだけで運用を行える。リポジトリを作ると、複数ブランチでデータを共有して省スペース、ブランチ作成などの高速化ができる。 ・分岐時に、ブランチのディレクトリ配置を考える必要がある。 ・ブランチ内のチェンジセットは直線上に並ぶ。 ・マージするときは、自分のリポジトリのコミットをメインライン、他のリポジトリのを傍流として記録。 ・ブランチは、他のブランチのコピー。あるブランチを削除しても、そのブランチから分岐したブランチは影響を受けない。 ・複数のブランチで変更を行いpush/pullすると、衝突が発生する。先にpullが必要。
Better Subversionを求めてるだけならgitらしい運用は大袈裟過ぎるし、gitらしい運用が不要なら、 gitじゃない方がその目的には適してるんじゃないかな git-svnを使うのはgitらしい運用だ!と主張するなら話は別だけど、それはナイト新字体
>>809-810 組み込みの機能か否かの差だけで、svnの運用上一般的な概念としてブランチはあるだろうが。
バージョン管理システムの選び方 1. 同時に一人しか編集できないロック機構が必要ですか? │ ├(YES)→ Subversionをおすすめします。ただし、オンラインでしか開発できなくなります。 (NO) ↓ 2. 日本語のファイル名が存在し、リポジトリをMS-Windows(CP932)とLinuxやMacintosh OS X(UTF-8)で同期を取りますか? │ ├(YES)→ Bazzarをおすすめします。ただし、特殊記号の取扱いが重要な場合は、Subversionを選択してください。 (NO) ↓ 3. 実験的なソースコードを頻繁に作成しますか? │ ├(NO)→ Bazzarをおすすめします。Bazzarは他のDVCSに比べると分岐が手間ですが、それ以外は遜色ありません。 (YES) ↓ 4. MS-Windowsでの利用をしますか? │ ├(YES)→ Mercurialをおすすめします。日本語コミット文やCP932のファイル名も取り扱えます。 (NO) ↓
815 :
デフォルトの名無しさん :2011/01/01(土) 19:44:38
5. GUIやEclipseでの利用を重視しますか? │ ├(YES)→ Mercurialをおすすめします。TortoiseHgとMercurialEclipseの開発が進んでいます。 (NO) ↓ 6. シンプルな操作がお好みですか? │ ├(YES)→ Mercurialをおすすめします。チェンジセットの指定方法や管理方法が簡単です。 (NO) ↓ Gitをおすすめします。高速で高度な管理機能が充実しています。Linux環境下のCLIでは安定した挙動になっています。
816 :
デフォルトの名無しさん :2011/01/01(土) 19:46:45
>>814 > ├(YES)→ Bazzarをおすすめします。ただし、特殊記号の取扱いが重要な場合は、Subversionを選択してください。
「が」が特殊記号?
818 :
デフォルトの名無しさん :2011/01/01(土) 19:54:10
>>817 同じUTF-8でも、NFC形式とNFD形式があって「が」のような平仮名キャラクタでも、異機種互換性が無いケースがある。
バージョン管理システムの選び方 1. 同時に一人しか編集できないロック機構が必要ですか? │ ├(YES)→ Subversionをおすすめします。ただし、オンラインでしか開発できなくなります。 (NO) ↓ 2. 日本語のファイル名が存在し、リポジトリをMS-Windows(CP932)とLinuxやMacintosh OS X(UTF-8)で同期を取りますか? │ ├(YES)→ Subversionを選択してください。WindowsとLinuxでなら、Bazzarで日本語ファイル名の同期も可能かも知れません。 (NO) ↓ 3. 実験的なソースコードを頻繁に作成しますか? │ ├(NO)→ Bazzarをおすすめします。Bazzarは他のDVCSに比べると分岐が手間ですが、それ以外は遜色ありません。 (YES) ↓ 4. MS-Windowsでの利用をしますか? │ ├(YES)→ Mercurialをおすすめします。設定で、日本語コミット文やCP932のファイル名も取り扱えます。 (NO) ↓
821 :
デフォルトの名無しさん :2011/01/01(土) 21:15:48
5. GUIやEclipseでの利用を重視しますか? │ ├(YES)→ Mercurialをおすすめします。TortoiseHgとMercurialEclipseの開発が進んでいます。 (NO) ↓ 6. シンプルな操作がお好みですか? │ ├(YES)→ Mercurialをおすすめします。チェンジセットの指定方法や管理方法が簡単です。 (NO) ↓ Gitをおすすめします。高速で高度な管理機能が充実しています。Linux環境下のCLIでは安定した挙動になっています。 (チェンジセット: 4:ae4c01d241ab)
Bazzarの日本語ファイル名対応にがっかりきたし 今後期待できるMercurialでいいやw
何を期待するんだ
M$のお金で専業開発が可能になったMatt Mackallが、M$圧力でファイル名の国際化を実現することに期待。
そういや、最近、svkの話題が全くないな。
RCSよりは話題あるよ>>SVK
ls -al -rw-r--r-- 1 user group 0 1 1 20:47 テスト.txt これをOS XのGitでコミットすると、エスケープされる。 "\343\203\206\343\202\271\343\203\210.txt"
>>827 git config --global core.quotepath false
svkは間違った設計のいい例だったな。
UTF-8-MAC問題はちゃんと認識されているんだから、あとはMacユーザーが ちゃんとしたテストつきの修正をLaunchpadに登録してマージリクエストをだしたら すぐにでも治る。 正規化以前にUnicodeファイル名に対応する気がそもそも無いhgよりはずっと 期待できそうだけど?
世の中には方向性が予測できる故に生まれる期待と予測できない故に生まれる期待がある
python 3系に移行する時に修正されないのかな? そもそもは、pythonの文字列の扱いが糞なのが問題の出発点なんでしょ?
>>832 過去にM$がまともな仕事をしてればunicodeに関する問題は
ここまで混乱は広がっていなかったと思われる
>>799 githubぶっつぶしたいから
>>805 ひと括りに出来ない気がするな
Unicode対応という(目標)のはいいんだが
>>811 gitのブランチはチェンジセットへのポインタで、場所を指しているだけと思っていたのだけど
違うのかな
何かブランチのメタ情報みたいなものをチェンジセットに含んでたりする?
>>816-819 BazzarはUNICODE正規化してどのプラットフォームで共有させられるようにという
前人未到の領域に挑もうとしているんだぞ
おいそこ笑うな!
>>832 対応する気がないというより、ファイル名はバイト列で扱う物という指針なら
Python3でも直されない気がするんだ
>>833 同時にMacもdsiってんじゃねーぞ
>>836 >Bazzarは
>おいそこ笑うな!
zが多すぎる・゜。・(ノД`)・゜・。
>>835 ブランチ間に依存関係が無いと言いたいのでは?
チェンジセットにブランチの情報が含まれていないから、あるブランチを消しても、他のブランチに影響が無い。
>>837 Python3でも変えないって中の人が既に宣言してたと思う。
MSからの圧力でどうにかして欲しいな。
BazzarとMercurialってどっちがいいの? Mercurialで出来てBazzarで出来ない事ってある?
>>841 Mercurialの方が、スペルを誤解されることが少ないようだ。
Bazaarって濁音または半濁音を付けなければ日本語パスやファイルの扱いは完璧 よってBazaarが一番だな
MACでバをハ゛にする変態はそうはいないだろw
hgとgit ファイル名以外のコメントとかで非ASCIIを使うのは 問題ないんだっけ?
>>846 MercurialもGitも、UTF-8(NFC形式)なら問題ない。
Mercurialなら、WindowsのCP932も%USERPROFILE%\Mercurial.iniに以下を書いておけば、問題ない。
[defaults]
commit = --encoding cp932
Windowsでgit-guiなどのツールは、UTF-8でコミットメッセージを書いてくれるそうだ。
Windows版のhg.exe, hgtk.exeは、UTF-8でコミットメッセージを書くよ。
Bazzarって綴る人は発声する際もバッザーって呼んでるんだろうか
>>837 指針を持つのはいいんだけど、Python自体のJoinメソッドの処遇なんか見比べると
なんか筋が通ってないように感じるなぁ・・・
なるようにしかならんのだろうけど
mercurialのbranchは、ちょっと気持ち悪い。 bzrのように複数のcloneによって自然に生じるblanch。 gitの機能を取り込む為の、pointer型のblanch。 それにnamed/anonymous blanchが混在してしまうから。
>>832 ,837
Python2もPython3も、ファイルシステムはUnicodeでもバイト列でも利用可能。
複数のエンコーディングが混じってる等がありえるUnix系で全てのファイル名に対応できる
バイト列のファイル名を使うか、WindowsでネイティブでUnix系でもエンコーディングが正しければ
大丈夫なUnicodeファイル名を使うかは、アプリケーションが選択する問題。
bzrはUnicodeを、Mercurialはバイト列を選んだだけ。
ちなみにPython3.1からは、Unicodeにデコードできないバイト列も扱えるような
サロゲートエスケープという方法が提供されていて、デコードできないファイル名を扱える。
>>851 用語の定義の問題で、普通ブランチと言った場合、名前付きブランチのことを言う。
あとはリポジトリ・ヘッドと言えば大抵通じる。
他のVCSから来る人のために名無しブランチとか紹介されているだけ。
> のbranchは > 生じるblanch。 > のblanch。 > blanchが なんで最初だけ正しいスペル? 何か意図があるのか
>>852 ぶっちゃけ、英語の事しか考えてなかったのを
後から問いただされて「い、いや、混在してる場合もあるから」
って正当化しただけでしょ。
ML見れば分かる。
混在なんか滅多にないのに。
全か無かで考えるのは典型的な思考ロジックミス
基本バイト列で、オプションorプラグインで他文字コード対応というのがきれ
いに実現できれば受け入れられない訳ないと思うが、なぜかここではそれをあ
きらめてしまってる
>>837 みたいな書き込み多いよな
bitbucketやdocutilsあたりも多言語関係はボロボロで泥縄に直してるから、 Pythonが元凶なんじゃねえの?
もう面倒だから文字コードはIPv6アドレス互換に一本化しようぜ
今昔文字鏡使おうぜ
>>855 Pythonの話?Mercurialの話?
Pythonの話であれば、Python1の頃は確かに英語やlatin1の事しか考えられてなかったろうな。
今のPythonは、いわゆるLLの中ではUnicodeの扱いがマシな方だよ。
混在が滅多にないとは言い切れない。Unixはマルチユーザーシステムで、ロケールはユーザー毎に切り替わる。
あるユーザーは LANG=ja_JP.EUC-JP を使ってて、別のユーザーは LANG=ja_JP.UTF-8 を
使っていると当然各ユーザーのホームディレクトリ内はそれぞれ別のエンコーディングに
なっていて、しかもそれを管理している root は LANG=C で運用している、なんてのはよくある話。
rootが各ユーザーのファイル一覧を舐めるようなスクリプトを、ファイル名をUnicodeで扱うように
書いたら、LANG=Cだと非ASCIIファイル名全部がデコードできなくてUnicodeDecodeErrorが
発生しているのがPython3.0以前のPython。
>>861 たぶん論点がちゃってる。
つか、VCS側はbyte列で十分、プラットフォーム側で会わせる問題じゃねぇのか?
同じ言語で複数のコード体系があるのが、理解できないんじゃないだろうか。 しかも、コードが異なるとマッピングできない文字もあるし。
>>862 どっちかが正解でどっちかが間違いって事はないだろ。
CVSで利用者のミスでSJISとEUCが混じったりして管理に苦労して、svnのUnicode対応を喜んでる
人だって確実にいる。
>>863 そのレベルの話はもう時代遅れで、今はUnicodeに統一しても正規化や結合・分解文字の扱いで苦労している。
で、gitやhgって、NFCのUTF-8ファイル名をLinuxでコミットして、Macでチェックアウトしたら、
UTF-8-MAC問題で勝手に分解文字にリネームされたりしないの?
Macの問題はファイル名をバイト列で扱ったら解決できるような簡単な問題じゃないと思うんだけど。
>>865 GitやMercurialのファイル名の文字コードは、このレベルの話だから困っているのでは?
>>864 > CVSで利用者のミスでSJISとEUCが混じったりして管理に苦労して
ファイルの中身は?
VCSは改行の変換はするけど、文字コードの変換しないよね?
ファイルの中身がUTF-16というものもあるし
868 :
デフォルトの名無しさん :2011/01/02(日) 23:04:20
Linuxをデスクトップとして使っていて、メールで送られてくるSJISファイル名のzipの扱いに苦労していた経験があれば、 git、hgのファイル名はたいした問題じゃない
>>868 zipは展開したあとにconvmvするとか、どうにでもなる。
バージョン管理ソフトで継続的に管理するファイルのファイル名だから困るんだろ。
というか比較対象にすらなってなくね?w
871 :
デフォルトの名無しさん :2011/01/03(月) 08:09:23
>>869 何が困るの?ファイル名を変換するなら、Makefileなどファイル名が書かれているもの全て変換しないと
辻褄合わないよね?
>871 Makefileに書くような種類のファイルには、日本語ファイル名は使われない。 日本語ファイル名多用する現場であっても。 知ってるくせに。何でとぼけるの?
873 :
デフォルトの名無しさん :2011/01/03(月) 08:30:00
>>872 日本語.dat、日本語.yamlを使っているところはあるぞ
>>874 JavaならantとかMavenとかだろ。Makefileと違って設定ファイルがxmlで、設定ファイルの
エンコーディングとファイルシステムのファイル名のエンコーディングが違ってても大丈夫。
>>873 そういう事をするのは、実行環境が限られている、非ポータブルなMakefileだけだろ。
それならUnicodeでもバイト列でも問題ない。
実際、svnはUnicodeでファイル名を扱っているけど、長年デファクトスタンダードとして
利用されてきた。
今分散型に押されているのはコミット権が無いとブランチが作れなかったり
オンラインじゃないと作業できなかったりマージが弱かったりするからであって、
ファイル名をUnicodeで扱うからじゃない。(ちなみにマージは改善されたし
ローカルコミット・ブランチも開発中らしい)
>>875 >
>>874 > JavaならantとかMavenとかだろ。Makefileと違って設定ファイルがxmlで、設定ファイルの
> エンコーディングとファイルシステムのファイル名のエンコーディングが違ってても大丈夫。
本当か?
xmlはutf-8と定義してあるのに、ファイル名がEUC-JPで書かれていても問題ないのか?
パセーントエンコードしないと不整合だぞ
>>876 >xmlはutf-8と定義してあるのに、ファイル名がEUC-JPで書かれていても問題ないのか?
「ファイル名がEUC-JPで書かれていても」というのは、xmlの中に?それともファイルシステムに?
xmlはもちろんUTF-8で書くよ。
<?xml version="1.0" charset="UTF-8" ?>
<project><target name="test">
<copy file="foo.txt" tofile="あほ.txt" />
</target></project>
と書いて、 touch foo.txt したあと、 LANG=ja_JP.utf8 ant test すると、ファイル名が
UTF-8でエンコードされたあほ.txtができて、 LANG=ja_JP.euc_JP ant test すると、
ファイル名が EUC-JP でエンコードされた あほ.txt ができる。
xml内の情報はJava内で一端全部Unicode文字列に変換されて、さらにそれを実行するときに
環境のエンコーディングが利用されるので、xmlファイル内のエンコーディングと環境のエンコーディングは
独立している。
antの用にUnicode対応したツールの場合は Makefile と逆で、 svn や bzr だとLANGが違う環境でも動いて、
git や hg だと LANG が違う環境で動かなくなる恐れがある。
そろそろツールを1つにまとめようか
今どき ja-JP.euc_JPなんてゴミ環境無視していいよ。 それよりUnix/LinuxのUTF-8とWindowsでまともに動かすにはどうすればいいか考えようぜ。 NFCなりNFDなりはその次のステップだ。
>>879 それはbzrとsvnはデフォで対応しているし、gitやhgはutf-8 cygwin使ってutf-8に統一すればおkだろ
881 :
デフォルトの名無しさん :2011/01/03(月) 12:16:19
>>879 > 今どき ja-JP.euc_JPなんてゴミ環境無視していいよ。
君はLatin-Nの人に同じことを言えるか?
> 君はLatin-Nの人に同じことを言えるか? えー今でもLatin-1なのw UTF-8で全部包含してるからen_US.UTF-8にしなよw なに?「俺の読めない漢字が入ってるJIS2004ケシカラン」とかいう人?
>>882 ということをLatin-1の人と英語で議論できるか?
議論はできるが論破できる自信はないなw
できるというレスなら頑張ってって応援しようと思ったのに。 英米人だけでなく、ヨーロッパ大陸の人でもLatin-1で十分と思っているからね。 そもそも、Latin-1とUTF-8の区別が付いているかどうかも疑問。 日本人は化け方でJISかEUCかSJISか分かっちゃうけど、 Latin-1の人は文字化けの経験があるのだろうか、と思ってしまう。
とりあえず日本語が化けなければいいよ
Subversionはソースコードに特化した一般ファイルの管理には向かないバージョン管理システム だったからファイル名がUnicodeに限定されていても問題がなかっただけでしょ 今時のバージョン管理システムは一般ファイルのバージョンを管理するバックエンドとしての用途 も視野に入っているから今更Subversionの時代にまで退化しろと言われてもちと困る
・・・は?
SVNは個々のディレクトリ・ファイルをチェックアウトできることからも分かる通り、 個々のファイルのリビジョンしか管理しないCVSにちょびっと毛が生えた程度。
>>887 > Subversionはソースコードに特化
・・・
何を見てそう思ったの?
>>887 gitもhgもファイルのタイムスタンプその物は保存しない。
(svnは論外にしても)一般ファイルのバージョン管理に向いてるとはとても思えない。
>>891 ファイルじゃなくてチェンジセットなの
だから個々のファイルのタイムスタンプは意味ないの
タイムスタンプもgitとhgはrebase、hgはMQを使えば時間順には並ばない
>>892 個々のファイルのタイムスタンプを保存しないのは、チェンジセットとは関係ない。
VCSに個々のファイルのタイムスタンプを以前の状態に戻されると、makeが混乱するので却って
邪魔になるというのが元々の理由。
世代管理可能なバックアップツールであれば、個々のファイルのタイムスタンプも保存して元に
戻すのが当然だが、VCSであるsvn/git/hgは個々のファイルのタイムスタンプを保存しない。
よって、gitやhgが一般ファイルの管理にも向いているという
>>887 の意見には同意できないと
主張しているだけ。
>>887 > Subversionはソースコードに特化した一般ファイルの管理には向かないバージョン管理システム
ちょっとわかりづらいな。
一般ファイル以外だとシンボリックリンクとかのイメージなんだが。
>>887 分かってて言ってるとは思うけど
Subversionはバイナリを扱うのが得意なのが特徴の1つなのだけど
>>891 VCS でファイルのタイムスタンプを保存されてうれしいことでもあるのか?
VCS まともに運用できないおっさんの屑管理者か?
897 :
891 :2011/01/03(月) 17:57:39
>>887 Subversionって、WebDAVで一般ファイルのバージョンを管理するバックエンドとして開発が始まったんじゃなかったっけ。
>>887 >Subversionはソースコードに特化した一般ファイルの管理には向かないバージョン管理システム
なにを根拠にいってるのかな?
>>893 >個々のファイルのタイムスタンプを保存しないのは、チェンジセットとは関係ない。
ですよねー
エクスポートしてアーカイブするときだけだな、タイムスタンプを再現して欲しいと思うのは。
このスレにはタイムスタンプに執着してる奴はいないみたいで楽だけど、 ファイルのタイムスタンプを絶対視するヴァカは世の中に一杯いる。 特に窓ユーザには多いようだ。 タイムスタンプ信者に限ってTortoiseSVN使ってたりするし。 Subversionはこういうヴァカも大勢相手にしなきゃいけないから大変だよ。
VCSの知識なしにファイルの履歴管理したいと思ったら タイムスタンプに頼らざるを得ないからな
履歴管理なんて簡単。 src_20110104_copy3b_ver12_yamada_c.zip
>>901 なんで?
TAG辺りをversion.hだかなんだかに放りこんどけばええんちゃう?
あとはdiffって下さいですまへんか?
>>905 配布パッケージをつくるときは、各ソースモジュールのタイムスタンプが
last committed time になってる方がかっこよくないか? という私見。
つか git はどーだったか忘れたが、cvs, svn はそうなってた IIRC
>>906 なるほどね
ずっと昔から、個人的に、タイムスタンプなんて信用しないからなぁ
# touch されたらその場でアウト
makeやantは時間管理。
make clean
未来からのメールよこす奴はいっぱいいるぞ
>>908 だからこそ VCS から取り出したファイルは、たとえ昔のリビジョンでも
常に最新のタイムスタンプである必要がある。
>>902 > タイムスタンプ信者に限ってTortoiseSVN使ってたりするし。
どういうこと?コマンドラインとtortoiseでタイムスタンプの扱いが違うの?
変更してコンパイルした。やっぱ思い直してrevertした。 タイムスタンプ戻ったらmakeが困るぞ。
そういう時のためにtouchがあるんじゃないか
タイムスタンプ変わっていいのかよ。w
>>912 そうじゃなくて、タイムスタンプ信者に一定の偏りがあるんじゃないかってこと。
なんつうか...まぁ、誤解を恐れずに言うと
「Windows/GUIマンセー」「CUIクソ!」な奴に多い...みたいな。
タイムスタンプを保存して欲しいという要望自体は真っ当だな Sconsユーザでもないお前はまともな説明能力が無いからタイムスタンプ信者とレッテル貼って逃げてるだけだろ makeの挙動でも勉強してから出直してこい
タイムスタンプ勝手にいじられても気持ち悪いだけだと思うんだが。
それはタイムスタンプを保存しない理由じゃなくてタイムスタンプを勝手に戻さない理由 実際には勝手に戻さなくても保存しようとするだけでいくつかの問題が発生する 自分の頭でほんの少し想像力を働かせれば何が問題になるかはすぐ分かるはずなんだがな
パフォーマンスと容量以外の問題があるならぜひ教えて欲しいです
このスレでも既出だぞ? それだけが問題ではないけどな
>>920 は自分の想像力が不足しているので、他の人に説明して欲しいらしい。
ひょっとして未成年だったのかな? だとしたら申し訳ない このスレで既出の問題は200番台に書いてあるから見てみるといい このスレで既出じゃない問題の例としては例えば時刻分解能に起因した問題があるが他にもあるよ 若いうちからバージョン管理システムの使い方を勉強してるなんて偉いなあ 後からきっと役にたつから頑張れ
若いうちからバージョン管理システムなんか使うと駄目になる。
927 :
デフォルトの名無しさん :2011/01/06(木) 21:49:34
若いうちから日本語ファイル名なんか使うと駄目になる。
若いうちから2chなんか見ると駄目になる。
更新時刻も重要なファイルのメタデータのひとつだろうに。バージョン管理といえばmakeしか思い浮かばないヤツはどんだけ視野が狭いんだ。 PC内の全ファイルの更新時刻がOS起動時刻に変わっても文句言わないのかね。 Perforceはmtimeも保存するらしいけど、本当かな
>>929 時間が全く合っていないマシンのネットワークドライブはどうする?
確かにコミット時刻は重要な情報だ。
git commit --date='2000-01-01'
これだからgitってやつは
>>929 はどのバージョン管理システムを使っているの?
バージョン管理といえばmakeを思い出す人なんていたっけか
いつから make がバージョン管理ツールになったか教えてほしいもんだ
>>932 のコマンドはMercurialでも使えるね。知らなかったがこりゃ便利。
939 :
デフォルトの名無しさん :2011/01/09(日) 13:08:38
>>937 そもそも dist って make の組み込みターゲットだったけか?
通常、配布パッケージつくるのが dist のお仕事ではなかったかと?
で、中で SCCS とか RCS とか…
hoge-x-y-z.tar.gzのx-y-zはバージョンだからバージョン管理
日本で最も普及してるバージョン管理ツールは、LHA
Makefileのdistターゲットが一般化したのってautotools以降だよ。 autotools使わない人もdistターゲットを作るべきなんてルールもない。 まあ便利だけど。
>>944 Git採用ということは、Windowsで開発するな、ってことですかね…
947 :
デフォルトの名無しさん :2011/01/18(火) 04:06:24
あーそうか ファイル名に日本語使わなければ問題は起きないのか どうせソースを管理するだけだからこの場合問題は無いのですね この手の開発する人が日本語ファイル名を使うわけもないし 失敬失敬
あーそうか ファイル名に「が」を使わなければ問題は起きないのか どうせソースは管理しないからBazaarでも問題は無いのですね ファイルに日本語ファイル名を使う人は英語を読めないし 失敬失敬
大事なことなので(ry
MercurialとEclipseが楽。
952 :
デフォルトの名無しさん :2011/01/18(火) 07:28:06
あーそうか ファイル名に「か゛」を使わなければ問題は起きないのか と゛うせソースは管理しないからBazaarて゛も問題は無いのて゛すね ファイルに日本語ファイル名を使う人は英語を読めないし 失敬失敬
残念すぎる出来
>>944 githubの個人主体のパクリなんだろうけど、容量制限があるのかが分からない。
BTS・wikiのあるgithubからわざわざ移ってくる人はまずいないだろう
>>944 同じ終わコン同士Bazaarやれば良かったのに
>>957 BazaarはMacOSX以外ではNFDを扱えるのか?
>>958 LinuxとWindowsだけ使っておけよ。
>>952 はNFDを勘違いしてるな。
独立した濁点と合成用の濁点は別のコードポイントが割り振られてるぞ。
問題になるのは合成用の濁点で、独立した濁点については何の問題もない。
961 :
デフォルトの名無しさん :2011/01/18(火) 16:39:31
あーそうか ファイル名に「かU+3099」を使わなけれはU+3099問題は起きないのか とU+3099うせソースは管理しないからBazaarてU+3099も問題は無いのてU+3099すね ファイルに日本語ファイル名を使う人は英語を読めないし 失敬失敬
>>960 は
>>952 を勘違いしてるな。
問題を起こさない為に日本語はこう書きましょうと言ってるんだろ。
>>857 諦めてはないよ。自分からパッチ書く気がないだけで。
> 基本バイト列で、オプションorプラグインで他文字コード対応というのがきれ
> いに実現できれば受け入れられない訳ないと思うが、
現状で問題になっているWindowsでもcygwinを使えば、かなり綺麗に文字コード対応が実現できているんだが
ここでは受け入れられているようには見えないんだよな
cygwinを入れるのは簡単なのにな
Macにもcygmacがあれば解決できるなw
正確には書く気がないじゃなくて、書けないだった。思わせぶりな書き方はよくない、反省
お前らマルチプラットフォームのそれこそiPhoneだろうがAndroidだろうがMac OS Xだろうが ちゃんと日本語対応できているDropboxも参考にしろや 素人向けのバージョン管理もできるツールが対応度が高いのもどんだけ
素人向けの方がクオリティが高いのは当たり前じゃん
Dropboxにその日の成果を"日付.zip"で上げてバージョン管理
去年くらいにDropboxで一部のデータが消えたという事件があったばかりだろ
>>963 パッチ書けなくても英語で議論すればいいだろ
Cygwinで困ってないなら別にいいけど
>>963 > 現状で問題になっているWindowsでもcygwinを使えば、かなり綺麗に文字コード対応が実現できているんだが
> ここでは受け入れられているようには見えないんだよな
> cygwinを入れるのは簡単なのにな
cygwinでutf-8が使えることを受け入れるとBazaarの存在意義が無くなるから
夜分遅く失礼します
MercurialのMQについて調べているのですが、この拡張の意義というのはどこにあるのでしょうか?
Mercurial MQ について - daily dayflower
http://d.hatena.ne.jp/dayflower/20090520/1242794877 上記のページを見てブランチを切ったり、コミットするまでもないような小規模な変更をするため、
というようにも受け取れたのですが、hgはsvnなどとも違って、
ブランチを切ったり切り替えたりするコストは格段に低いですよね?
何故ちょっとしたブランチを切って、そのパッチを当てたり、マージしたりといった既存の操作をすててまで、
わざわざ新しい概念や操作を持ち出してMQを使うのでしょうか?
pbranchもMQと似たような用途のようなのに、長期開発向けだったりますます意味がわかりません。
いま眠いので朝返事する
>>973 昔はrebaseとtransplant(gitのcherry-pickに相当)拡張が無かったけど、MQがあれば何でもできた。
逆に今でも、MQを使えばrebase・transplantを使わなくても同様のことはできる。
>>973 > ブランチを切ったり切り替えたりするコストは格段に低いですよね?
> 何故ちょっとしたブランチを切って、そのパッチを当てたり、マージしたりといった既存の操作をすててまで、
> わざわざ新しい概念や操作を持ち出してMQを使うのでしょうか?
gitがrebase主義の所とそうで無い所があるように、hgでもなるべく履歴をきれいにしたい、という所は多いと思う。
名前付きブランチが昔はclose出来なかったので、コストが高かった。
bookmark拡張のpull/push出来る機能も今ひとつ使い勝手が悪い。
>>973 Mercurial本体やTortoiseHgのログを眺めていると時間順に並んでいないのがあるのに気付くと思う。
これは大抵MQを使っている。
>>973 gitとの比較で、hgはローカルブランチが無いというのがある。
リビジョン・名前付きブランチ名を指定してpushすればgitのローカルブランチみたいなこともできる。
この目的にもbookmark拡張が使えるけど、普通のチェンジセットにしちゃうと、
どれが実験的・デバッグ的なチェンジセットなのか見分けがつきづらくなる。
でもMQを使っておけば、pushして良いものと、まだダメなものの見分けがつきやすい。
>>973 選択肢の問題で、
・不要なブランチを消したい
・チェンジセットをまとめたい
・別ブランチの一部のチェンジセットだけマージしたい
・ローカルではパッチをあてて作業したい(共有リポジトリ版と設定部分を変えたい)
と言うような要望が無い人には、拡張機能MQは要らない。
>>973 職場で毎日コミットするルールがあるとして、ある機能の実装に5日間かかるとする。
5回コミットされるが、5つのチェンジセットを同時にマージしないと原子性が満たされない。
また4日間分のコミット・メッセージは「#12345機能の実装途中」であり、情報としては意味が無い。
こういう時に、チェンジセットをまとめたいという要望があるのは自然だ。
>>973 \ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんな餌で俺様が釣られクマ――
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
982 :
973 :2011/01/19(水) 15:06:07
ありがとうございます。
歴史的な経緯があるみたいですね
まとめました
・gitでいうrebaseのような扱い
>>976 ・Mercurialには以前までrebaseとtransplant(gitのcherry-pickに相当)拡張が無く、MQで同様のことができた(今でもできる)
>>975 ・その昔、名前付きブランチはcloseできなかったのです
>>976 ・チェンジセットへのポインタであるgitのブランチを実現するbookmark拡張はいまいち
>>976 ・そもそもローカルブランチがないので、MQを使うと使い分けられる
>>978 ・チェンジセットをまとめるためにも使う
>>980 ・クマ
>>981 > ブランチを切ったり切り替えたりするコストは格段に低いですよね?
というのをgitを使っていたときの感覚で言ってしまったのですが、
hgとは状況が全く違っていたようですね・・・
>> ブランチを切ったり切り替えたりするコストは格段に低いですよね? >というのをgitを使っていたときの感覚で言ってしまったのですが、 ブランチを切る手間が問題なのではない。 Gitにもgit-resetや、git-cherry-pick、git-merge --squash、guiltがある。
>>980 職場で毎日コミットするルールがあるとして、ある機能の実装に5日間かかるとする。
これって、未完成でもコミットしなきゃいけないってことなの?
時間切れでビルドできない状態でも「毎日コミットする」ルールなんて、有害だよ?
ある機能の実装が完了してからコミットすれば良いんでは?
>>984 Subversionについて言っている?
デスクトップPCが5日目で壊れたらどうする?
いざコミットしようとしたらコンフリクトしたらどうする?
gitならmerge --squash、hgでもMQのqfoldやらいろんな手段の方が安全では無いか?
>>984 > 時間切れでビルドできない状態でも「毎日コミットする」ルールなんて、有害だよ?
Mercurialだと、ビルド不可能なチェンジセットの存在は開発の阻害にならない。つまり、
・他の人はビルドできるバージョンに戻って、コミットするだけで無名ブランチが切れる。
・SVNの2-waysマージとは違い、3-waysマージが賢いので無名ブランチのマージは怖くない。
また、編集者がローカル・リポジトリに無闇にコミットをしても、共有リポジトリへpush前に拡張機能MQでコミットの統合ができる。
つまり、コミット必須は有害なルールとも言えなくなる。
SVNでは、管理者がブランチを切りマージ性能も低いため、ビルド可能や、テスト完了済みバージョンのコミットが必須になっているだけ。
>>984 ビルドに1日かかるとしてコミットするのに1日待たないといけないの?
make clean しないでmakeだけでビルドが通るって言っているの?
Subversionの作業フォルダでmakeが通っても、他の所でmakeが通らなかったら、
コミッタが血祭りにあげられるの?
すらっと流しているけど >他の人はビルドできるバージョンに戻って、 どうやってビルド可能なバージョンを「知る」の? まさかいろんなバージョンをとっかえひっかえ? 管理システムの外に、もう一つ管理システムがないと実質対応できないじゃないか?
>>984 Team Foundation Serverだと、そういう場合はシェルブ機能が使えるね。
コミットはしたくないけどサーバーには上げておきたい時にシェルブを使う。
Subversionでも1.8あたりで実装予定じゃなかったっけ?
ついに、Team Foundation Serverを使った事のある奴が現れた!
>>988 フックでビルド叩くツールかませばいい
それが成功したら、Bazaarでいうメインなんたらってのにpushすればいい
機能が未完成≠コンパイルできない
なんか見えない前提がいろいろ設定されているようだ
毎日コミットするルールがある職場って人間関係が崩壊してそうだな
作業の記録として重要。進捗の確認。担当に事故があった場合にも引継ぎが楽。
それ以前に必要な会話すらできてないから毎日コミットするなんていうルールを 作っちゃうって気がする
ま、会話しても話が通じないんだけどね。
998 :
デフォルトの名無しさん :2011/01/20(木) 11:43:46
CVS/Subversionでコミット前にレビューするというルールの所は そんな不完全な状態でレビューして何の価値があるのか聞きたい
コミットしたからって完成度が上がるわけじゃないだろう
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。