バージョン管理システムについて語るスレ2at TECH
バージョン管理システムについて語るスレ2 - 暇つぶし2ch200:デフォルトの名無しさん
08/08/29 11:25:27
>>199
VSSの強制ロック使う会社もあるからなぁ

201:デフォルトの名無しさん
08/08/29 11:29:55
そういう会社は終わるでしょ。

202:デフォルトの名無しさん
08/08/29 11:35:05
VSSはVSに統合されていたのが唯一の強みだったな。
各種アドインが出来てからそのメリットも消えたが。
プロジェクトをまたがるファイルの共有機能は便利だったな。

203:デフォルトの名無しさん
08/08/29 12:31:04
>>202
> VSSはVSに統合されていたのが唯一の強みだったな。

逆にそれがウザいと感じるのは俺だけではないはず。

204:デフォルトの名無しさん
08/08/29 12:41:07
MSも今はVSS使用は推奨すらしてないでしょ。
もう終わった物。
未だに使ってる企業はMSべったりとかじゃなく技術無い企業。

205:デフォルトの名無しさん
08/08/29 17:04:26
マイクロソフト自身がcvs使ってるらしいからね…

206:デフォルトの名無しさん
08/08/29 22:02:30
TortoiseHg 0.4.1に上がってたので試してみたが、
依然としてCommit Toolで日本語ファイル名が化けるね。
化けるの無視すれば使えるし、
それ以外では何も問題ないんだが、早く改善されないかな。

207:デフォルトの名無しさん
08/08/30 05:34:30
文字コードがそれぞれバラバラのファイルでも大丈夫なものなんですかこういうのって?
一応統一しておいた方がいいみたいな書かれ方してて、大丈夫なのかどうか分かるらなくって
CVSなんですけど

208:デフォルトの名無しさん
08/08/30 06:34:05
文字コードを統一した方がいいのはどのSCMも同じ

209:デフォルトの名無しさん
08/08/30 10:19:34
cvs(RCSも)はコメントが実際のファイルに埋め込まれるようなものだから、
ファイルと環境のエンコードが違うと泣きを見ることになりかねない。
Subversionはそのあたりは何とかなるけれど、同時に扱うファイルのエンコードが違うとやっぱり厄介。

210:デフォルトの名無しさん
08/08/30 10:55:38
VSSはSCCSベースでしょ。
"SCCS"って文字列自体が、このスレで初出なくらいだ。

211:デフォルトの名無しさん
08/08/30 13:44:58
UNIXでしか使えないし。

212:デフォルトの名無しさん
08/08/30 21:38:30
このスレいつも思うが略語多すぎでうけるw

213:デフォルトの名無しさん
08/08/30 21:39:17
キモイですね、申し訳ない

214:デフォルトの名無しさん
08/08/31 04:13:28
>>212
でもしょーがねーだろw

215:デフォルトの名無しさん
08/08/31 10:38:27
世の中がそうだからね

216:デフォルトの名無しさん
08/08/31 12:21:50
サブバとか言おうぜ、スタバみたいじゃん

217:デフォルトの名無しさん
08/08/31 12:56:34
コマンド名って認識であんまり略語って思ってない

218:デフォルトの名無しさん
08/08/31 14:47:59
日本男児たるもの全部漢字に直して語ろうぜ

219:デフォルトの名無しさん
08/08/31 15:39:42
副版

220:デフォルトの名無しさん
08/08/31 15:59:47
水野亜美

221:デフォルトの名無しさん
08/08/31 16:21:20
>>219
×副版
○転覆

222:デフォルトの名無しさん
08/08/31 16:28:04
bazaar 1.6 release

223:デフォルトの名無しさん
08/09/01 04:02:32
221の解説たのむ

224:デフォルトの名無しさん
08/09/01 04:08:15
御事割縞酢

225:デフォルトの名無しさん
08/09/01 04:52:04
>>223
つ[辞書]

226:デフォルトの名無しさん
08/09/01 05:16:31
majika!!arigato

227:デフォルトの名無しさん
08/09/01 15:39:45
>>165
> GitはGzipじゃないか

Git 1.5.2.5 を使ってるが
gzipが見当たらないんだが

228:デフォルトの名無しさん
08/09/02 19:00:41
svnからgitへのリポジトリの移行って可能なんでしょうか?
どのようにしたらよいものか・・・

操作性の移行的な解説はよく見かけるのですが

229:デフォルトの名無しさん
08/09/02 19:03:26
URLリンク(www.google.co.jp)

230:228
08/09/02 19:19:10
>>229
ありがとうございます。

wadsのblog ≫ Blog Archive ≫ [git] Subversionからgitへ移行する
URLリンク(wadslab.net)

ここが参考になりました。
trunkとかtagsとかの扱いがどうなるかちょっとやってみないとわかりませんが、試行錯誤してみます。
また、わかりましたら報告します。

231:デフォルトの名無しさん
08/09/03 04:37:17
住民の基本はほうれんそう

232:デフォルトの名無しさん
08/09/03 20:07:58
いつまでもSubversion使わないで。

233:名無し募集中。。。
08/09/03 20:09:37
なんで? SVN最高じゃん
サーバーとネットワークで繋がっているのならば

234:デフォルトの名無しさん
08/09/03 20:15:00
じゃぁなにを使えばいいのさ!CVS?

235:デフォルトの名無しさん
08/09/03 22:56:46
つ(ここでLinusのCVS罵倒コピペ)

236:デフォルトの名無しさん
08/09/03 23:28:20
>>235
罵倒したのはSubversionに対してじゃなかったか?


237:デフォルトの名無しさん
08/09/04 00:06:08
>>236
まあ「better CVSっていう出発点から間違っている」というのは
同時にCVSに対する罵倒でもあるね。

238:デフォルトの名無しさん
08/09/04 09:16:35
>>236
あ、そういやそうだったw

239:デフォルトの名無しさん
08/09/04 10:23:22
何十年も(過大表現)運用された後でほざいても説得力ないねえ。
出てすぐに「(具体的にここが)これではダメだ。」とか言ってたならすごいけど。

240:デフォルトの名無しさん
08/09/04 10:30:26
明らかに用途に合ってないのに信者が使え使えうるさかったんじゃねーの。
で、ぃぬsがぶちきれたと。

241:デフォルトの名無しさん
08/09/05 11:06:25
>>240
ありそうw
svn公式も「Linuxの次期VCSにsvn勧めんな用途が違う」って書いてたくらいだから、勧めちゃう人多かったんだろうな

242:デフォルトの名無しさん
08/09/05 12:23:30
整備が進むネット接続環境と裏腹に需要が高まる分散管理システム。
なんかジレンマのようなものを感じる。

243:デフォルトの名無しさん
08/09/05 13:24:31
offlineで使えるというのは、分散型SCMの副作用だろ。
本質的には、ネットワーク上のC/SモデルとP2Pモデルの違い。

244:デフォルトの名無しさん
08/09/05 13:26:33
いいや、ほとんどの分散型SCMはオフラインでも使えることを想定して設計されている。
だから本質の一部だ。

245:デフォルトの名無しさん
08/09/05 21:56:15
>>244
オフラインでも使えることを想定して設計されているのはSVKぐらいだろwww

246:名無し募集中。。。
08/09/06 01:48:06
SVKには3回挫折したので次はMercurialにしようと思います

247:デフォルトの名無しさん
08/09/06 23:27:47
で、gitとhg、どっち使えばいいのよ?

248:デフォルトの名無しさん
08/09/06 23:31:41
bzr

249:デフォルトの名無しさん
08/09/07 14:57:31
使わない

250:デフォルトの名無しさん
08/09/07 18:55:01
あるファイルを一から書き直したい場合、どのようにしていますか?
プログラム言語をそもそも変えて書き直すという場合もあると思うのですが、
どのようにコミットすると、他人にも分かりやすいバージョン管理になるのでしょうか?
例えば、
・そのファイルを空にしてからそのまま上書きする(空のファイルをコミットする or しない?)
・そのファイルを remove してから、新しく add し直す

251:デフォルトの名無しさん
08/09/07 19:04:39
>プログラム言語をそもそも変えて書き直すという場合もあると思うのですが、
もはや別プロジェクト(別リポジトリ)だろ・・・

252:デフォルトの名無しさん
08/09/07 19:12:05
>>250
履歴がつながりにくくなるから一旦空にするとか新しく add するとか余計なことはやめてほしい。

253:デフォルトの名無しさん
08/09/07 19:55:32
>>251
PerlからPython,Rubyとかあるだろ

一旦,空にしたのをコミットして,ログにスクラッチから書き直すことを宣言するかな。

254:デフォルトの名無しさん
08/09/07 20:02:20
gitが使えるリポジトリホスティングサービス

・GitHub
URLリンク(github.com)
プロジェクト数無制限。100MB。無料版は公開リポジトリのみ。

・Assembla
URLリンク(www.assembla.com)
プロジェクト数無制限。200MB。svn,Mercurialにも対応。Trac,wikiつき。

・Unfuddle
URLリンク(unfuddle.com)
プロジェクト数1つ。200MB。svnにも対応。

・Rubyforge
URLリンク(rubyforge.org)
Ruby用

255:デフォルトの名無しさん
08/09/08 05:20:29
Mercural用のグラフビューアーってhgkしかないの?
tcl/tkをインストールしたくないんだが

256:デフォルトの名無しさん
08/09/08 07:34:05
つい最近svnを使い始めたのですが
バージョン管理システムにおいて文字コードが混在したり途中で換わったりした場合に起こることって
文字化けぐらいだと思ってて大丈夫ですか?
windowsとlinuxで使ってるのでうっかりすると混ざることもありそうなんで、気になっています
それ以上のなにかものすごいやばい状態を引き起こしたりするのでしょうか

257:デフォルトの名無しさん
08/09/08 09:26:55
darcsとTrac使えるところはないかね?

258:デフォルトの名無しさん
08/09/08 11:05:36
>>256
svnスレへどうぞ。文字コードはクライアントの使い方を間違わなければ大抵大丈夫。
寧ろ、改行コードがぐだぐだにならないように注意。

259:デフォルトの名無しさん
08/09/08 11:44:41
>>256
バージョン管理システム関係ないな。

260:デフォルトの名無しさん
08/09/08 12:10:03
>>257
common lisp のプロジェクト専用だけど。
URLリンク(common-lisp.net)

261:デフォルトの名無しさん
08/09/08 19:45:08
ちょっと暇だったので
URLリンク(hgbook.red-bean.com)
の日本語訳を下手ですが作ってみました
どなたか見て手直ししてください

URLリンク(www.zshare.net)


262:デフォルトの名無しさん
08/09/08 22:06:52
>>261
GJ!

263:デフォルトの名無しさん
08/09/09 02:02:03
>>261
BJ!

264:デフォルトの名無しさん
08/09/09 11:09:09
>>261
DJ!


265:デフォルトの名無しさん
08/09/09 12:25:20
>>261
JK!

266:デフォルトの名無しさん
08/09/09 12:25:55
>>260
さんくす。じゃあ、それのためにCL勉強すっか。
しかし、darcsの日本語Wikiひでー事になってるな。

267:261
08/09/09 18:56:01
すいません
古いのあげてしまいました
こちらを取ってください

URLリンク(www.zshare.net)

268:デフォルトの名無しさん
08/09/10 17:50:17
すみません、質問です
↓をダウンロードしようとしたのですが、ssl証明書の有効期限が切れているようで
ウイルスが仕込まれていないか心配で怖いです。
リンク先は本物で安全でしょうか??
URLリンク(zooko.com)

269:デフォルトの名無しさん
08/09/10 18:10:57
>>268
httpsでもないのになんで証明書の期限切れとかいう話に?

270:デフォルトの名無しさん
08/09/11 00:13:30
>>268
外野が真贋答えてもそれ自体しんじられないと思うが?


271:デフォルトの名無しさん
08/09/11 00:51:28
ssl証明書でウイルスチェックもできるのか
勉強になった

272:デフォルトの名無しさん
08/09/11 02:55:08
>>271
サイトを成りすまして、ウィルス入りのファイルとして配布している可能性もある。
SSL証明書の有効期限切れということは実質的にサイトの安全性を保障するものが何もないということなんですよ。
おまけにダウンロード先はdarcsのwikiに載っていたものなので、誰でも書き換えられる可能性があるわけです。

273:デフォルトの名無しさん
08/09/11 10:19:00
>>270の言う通りだと思うぜ。

274:デフォルトの名無しさん
08/09/11 19:59:55
MercurialのリポジトリをGitに変換するのってできますか。あるいはその逆。

275:デフォルトの名無しさん
08/09/12 16:08:19
小ネタをひとつ。
Mercurial なんかで、細かく分かれたたくさんのリポジトリを一括操作するための苦肉のスクリプト。
bash 用。俺は「hgall」という名前で使ってる

#!/bin/bash

HGREPOS=".hgrepos"

if [ -z $1 ]; then
    echo "usage:"
    echo "  hgall [status|push|pull]"
    echo ""
    echo "  And set repository list to \"\$HOME/$HGREPOS\" file."
    exit 0
fi

if [ $1 != "status" ] && [ $1 != "push" ] && [ $1 != "pull" ]; then
    echo "Command is \"status\" or \"push\" or \"pull\"."
    exit 0
fi

if [ ! -e "$HOME/$HGREPOS" ]; then
    echo "$HOME/$HGREPOS not exist."
    exit 0
fi

COMMAND=$1
(つづく)

276:デフォルトの名無しさん
08/09/12 16:10:02
(つづき)
function checkall
{
    while read reppath; do
        if [ -z "$(echo $reppath | grep "^\s*#")" ] && [ -e $reppath ]; then
            case $COMMAND in
                "status")
                    cd $reppath
                    echo "[$reppath]"
                    hg status | grep -e ^[^\?]
                    ;;
                "push")
                    cd $reppath
                    echo "[$reppath]"
                    hg push
                    ;;
(まだつづく)


277:デフォルトの名無しさん
08/09/12 16:17:11
(つづき)
                "pull")
                    cd $reppath
                    echo "[$reppath]"
                    hg pull
                    ;;
            esac
        fi
    done
}

checkall < "$HOME/$HGREPOS"

(おわり)

やたら分かれて書き込んだのは、スペースを &nbsp; にしたため。
見てもらったらわかると思うが、ホームディレクトリに「.hgrepos」というファイルを作ってその中に
リポジトリのパスをつらつらとフルパスで書いておく。~(ティルダ)が展開されないのはよくわからない。
コマンドは status、push、pull だけだが、なんか変な表示が出たらそのリポジトリに行って細かい操作をする。
意外と重宝している。ほかにいい方法あったら教えてちょうだい。

278:デフォルトの名無しさん
08/09/12 17:50:58
グーグルが女子高に侵入して撮影した事例
URLリンク(takagi-hiromitsu.jp)


Service Temporarily Unavailable
若干のアクセス集中により一時的に利用できません

お使いのブラウザで「リロード(再読み込み)」操作をすれば正常に表示できる場合もあります。


お前ら・・・・

279:デフォルトの名無しさん
08/09/12 18:37:03
ひろみちゅタンの日記の更新直後にはよくある

280:デフォルトの名無しさん
08/09/13 08:56:27
278は普段ひろみちゅの日記なんてアクセスしたことないんだろうな。


281:デフォルトの名無しさん
08/09/13 10:46:43
あんな大してスキルもないセキュリチィ馬鹿の日記なんて、読むに値しない。
女子高侵入なんてキャッチーなキーワードであざとい宣伝、プロパガンダ。こざかしいんだよ。

282:デフォルトの名無しさん
08/09/13 11:46:49
>>275
なんでそれをPythonで書かないかなー

283:デフォルトの名無しさん
08/09/13 12:09:32
自分で書けや

284:デフォルトの名無しさん
08/09/13 13:03:10
monotoneで、一度つけたタグを消す方法が分かりません
(mtn tagを繰り返しても新しいタグが追加されるだけ)
どなたか教えていただけないでしょうか?

285:デフォルトの名無しさん
08/09/13 13:43:13
>>283
Pythonがわからないだけと正直に言えばいいのに

286:275-277
08/09/13 20:38:35
>>283 は俺じゃないけど、確かに Python は知らない。
ていうか、あんまりスクリプト使わないし。
手元に Perl と bash スクリプトの本があったんで、シェルである bash スクリプトにした。
Perl がよかったかな。

そもそもこんな簡単なラッパースクリプトなんか何で書いても大差あるまい。
Python で書くとなんかいいことあるのかな?


287:デフォルトの名無しさん
08/09/13 20:59:14
単に「MercurialがPythonで書かれているから」じゃないのか


288:デフォルトの名無しさん
08/09/13 21:03:47
hg extensionにして欲しかったとか。


289:デフォルトの名無しさん
08/09/13 21:10:51
単にレスが欲しかったんだろう

290:デフォルトの名無しさん
08/09/14 14:45:13
gitでリポジトリを移したいというか、サーバーを乗り換えたいときって、
git remoteのgit@hogehoge を新しいサーバーに変えて
git pushするだけでよいの?

291:デフォルトの名無しさん
08/09/14 15:17:49
Google Open Source Blog: Develop with Git on a Google Code Project
URLリンク(google-opensource.blogspot.com)


292:デフォルトの名無しさん
08/09/15 01:56:16
規制されてたんで亀でごめん。
>>254
何も調べないで悪いが、以前見っけた。まあgithubで特に困ってないんだよなぁ。
URLリンク(gitorious.org)

>>242
今のように回線がリッチになり、マシンがパワフルになったからこそ、
分散型が可能なんじゃないの?
そういう意味ではsvnをあんまりいじめるのは可哀想な気がする。
ダイヤルアップ接続の時代に、リポジトリ丸ごと持ってこようとは思わないよな。

293:デフォルトの名無しさん
08/09/15 03:30:41
github使ったら1日でFreeアカウントの2%使い切ってしまったw
この分だと容量すぐなくなるな
gitって圧縮してあるみたいだけど、さすがにバイナリ突っ込むと膨らむね

>>254 追加
git.coderepos
URLリンク(git.coderepos.org)
CodeRepos::Share ? Trac
URLリンク(coderepos.org)


294:デフォルトの名無しさん
08/09/15 06:19:49
>>292
それだったらbazaarでいいじゃない。

295:デフォルトの名無しさん
08/09/16 13:01:22
>>294
bazaarの特徴がいまいちわからん
よければ解説してください

296:デフォルトの名無しさん
08/09/16 13:34:16
google bazaar Wikipedia

297:デフォルトの名無しさん
08/09/16 14:10:57
>>295
スレリンク(tech板)

298:デフォルトの名無しさん
08/09/16 14:18:13
>>295
プロジェクト数無限、容量無限、プロジェクト登録しなくても自由にブランチが作れるlaunchpadが使えること。

299:デフォルトの名無しさん
08/09/16 16:28:03
gitで外部のdiffツール使う時はどうすればいいんでしょうか?
簡単なdiffは大概はgitkで事足りるのですが。

しかし、何故かgit diffは改行が2倍になるので使えなくて困る・・・

300:デフォルトの名無しさん
08/09/17 01:31:03
>>284
亀レスだがmtn db kill_tag_locally タグ名
気をつけて使えって書いてあるのでマニュアル一回は確認してから使ってな

301:284
08/09/17 15:20:08
ありがとう! dbのサブコマンドだったのか・・・
これからマニュアル読み直してみます

302:デフォルトの名無しさん
08/09/17 15:43:36
URLリンク(www.bitbucket.org)

Github みたいな hg ホスティングサービスらしい

blog.bitbucket.org :: Big in Japan
URLリンク(blog.bitbucket.org)

>According to Alexa, we’re Big in Japan. Cool!

ブログみたら日本からのトラフィックが一番って記事があってワロス

303:デフォルトの名無しさん
08/09/19 11:56:06
TortoiseHg のコミット時間などを日本時間に設定したいのですが
どこでしたらいいのですか?

304:デフォルトの名無しさん
08/09/19 19:15:37
>>303
リポジトリ内は必ずGMTになるのは仕方ないから
取り出すときにローカルタイムに変換するしかない。
TortoiseHgにそういうオプションがなければ、できないと思う。


305:デフォルトの名無しさん
08/09/19 19:47:29
windowsでユニコードファイル名に対応してるのは svn と bzr とあとなんかある?

306:デフォルトの名無しさん
08/09/19 22:54:31
Mercurial

307:デフォルトの名無しさん
08/09/20 02:07:12
Mercurialってハングルのパス扱えなかったんだけど・・・

308:デフォルトの名無しさん
08/09/20 03:44:30
>>307
別に問題ないでしょ。

309:デフォルトの名無しさん
08/09/20 03:47:31
Unicodeファイル名に対応してれば扱えるはずでしょ?
Subversionでは問題なく扱えたし。

310:デフォルトの名無しさん
08/09/20 08:28:56
mercurial は python3000 が出たらどうすんだろ
わざわざロケール依存にするのかな

311:デフォルトの名無しさん
08/09/20 09:04:51
>>307
LANGをutf8にしてないとか、設定が足りてないんでしょ。

312:デフォルトの名無しさん
08/09/20 09:30:05
gitはcygwin版で一応、日本語ファイル名でもコミットできたし、
バージョンもどしたり最新にしたり、クローンしたりしても日本語ファイルは生成されるようで、
大丈夫だったのですが、
コミットログの表示時とか、gitkだとどうも日本語ファイル名は化けます。
(コミットログ自体にUTF-8含めるのはOK)

こういうのってどこに文句言ったもんでしょうか?



313:デフォルトの名無しさん
08/09/20 09:31:39
>>312
gitの開発者もcygwinの開発者も日本語対応なんて気にしてないよ。
文句を言うんじゃなくて、自分で対応して発表したら良いよ。

314:デフォルトの名無しさん
08/09/20 13:09:30
gitやcygwinの問題というよりWindowsの問題だろう
Windowsを捨てるのが最善

315:デフォルトの名無しさん
08/09/20 13:15:11
できもしないことを

316:デフォルトの名無しさん
08/09/20 13:53:56
>>314
うちの周りは10割りがwindowsなので厳しいです・・・

317:312
08/09/20 13:55:59
>>316 名前つけわすれました。312です。

>>314
逆に聞きたいのですが、unix環境だとgitは日本語は大丈夫なのでしょうか?
linuxだとUTF-8だと思いますが・・・。

つまり、Windowsはファイル名周りはUTF-16だったと思いますが、
UTF-8へのコンバートルーチン書いてやればよいのかな・・・

318:デフォルトの名無しさん
08/09/20 14:07:51
cygwinのAPIはWindowsのUnicode処理関連まともにサポートしてないでしょ。
>>314は誤りで、cygwinの問題だよ。

319:デフォルトの名無しさん
08/09/20 14:48:11
うちの近所ではPC台数ベースでのLinux率が50%越えてるな

320:デフォルトの名無しさん
08/09/20 15:02:30
>>318
WindowsのUnicode処理自体に問題が
特にローカライズ関係が酷い

321:デフォルトの名無しさん
08/09/20 15:46:49
どのへんが?

322:デフォルトの名無しさん
08/09/20 17:22:08
Cygwinのロケールサポートが非常に限定的なだけ

323:デフォルトの名無しさん
08/09/20 18:21:02
Linuxで日本語はgitもhgも問題ない。

324:312
08/09/20 18:30:20
忘れてた。うちサーバーはLinuxだったw

>>318-323
みなさん。thanx!
cygwinの問題かあ・・・
パッチ書くとかでなんとかなるもんかなあ



325:デフォルトの名無しさん
08/09/20 18:36:08
cygwinで日本語www
しかもファイル名www
アリエナサス

326:デフォルトの名無しさん
08/09/20 20:16:02
>>324
日本人が作ってるCygwinへのパッチにUTF8サポートパッチと
マルチバイトサポートパッチがある。試してみては?
#ロケール自体の実装もあるけどかなり古い

327:デフォルトの名無しさん
08/09/20 22:11:41
>>326
後者はcp932エンコーディングのバイト列扱いになるから、ローカルで使うだけならともかく、push/popは多分無理。
> ls .hg/store/data/
> ~8d~80~96~da~95~5c.txt.i
ファイル名/ディレクトリ名末尾に'\'が含まれる文字がきたときの動作もあやしい。


328:デフォルトの名無しさん
08/09/20 22:36:30
自分では日本語ファイル名諦めて使ってないから知らなかった。
無理なんだな残念。

329:デフォルトの名無しさん
08/09/21 00:18:16
日本人が作るツールで日本語ファイル名の問題なんか出たことないのに、
何で外人はその程度もできないんだ

330:デフォルトの名無しさん
08/09/21 00:23:04
日本人が作るツールで日本語通っても他言語通るとは限らない。

331:デフォルトの名無しさん
08/09/21 01:07:48
>>329
こちらにどうぞ
スレリンク(tech板)

332:デフォルトの名無しさん
08/09/21 04:11:34
>>329
ruby

333:デフォルトの名無しさん
08/09/21 19:01:33
svn export -r <revision> <url>
と同じことを git でやりたくて色々調べたら
git archive <revision> | tar xf -
で代用できるよという情報を得たんですが、URLはどうやって指定するんでしょうか?
--remote=<repo> というオプションがヘルプに出るので、clone などと同じかと思って
git archive --remote git://~/~.git
とかやっても無反応で、どうも上手くいっていないっぽいんですが…
cloneできるだけじゃだめで、archive用のアクセス権みたいのが必要なんでしょうか。。

334:デフォルトの名無しさん
08/09/21 22:32:05
言語の論理構造ベースでチェックアウトできるバージョン管理システムってありませんか?

例えば物理的に同一ファイルに定義されている
メソッドの中身だけ編集する場合はクラスをチェックアウトする必要が無い、みたいな。

335:デフォルトの名無しさん
08/09/21 22:38:12
>329
日本語(特にShift-JIS)が特殊過ぎるんだよ。

336:デフォルトの名無しさん
08/09/21 23:22:00
必要だと思えば作ればいいと思うけど、俺にはその便利さがいまいちわからんし、

> メソッドの中身だけ編集する場合はクラスをチェックアウトする必要が無い、みたいな。

>>334 がバージョン管理システムをあまり理解してないように思えるんだが。

337:デフォルトの名無しさん
08/09/21 23:48:39
>>336
人と編集するファイルが重なっただけでマージが必要になるのは
メンドクサイと思ったもので。
言語の文法までバージョン管理システムが把握して、必要に応じて
コミットする範囲を設定してくれたらな、と。

確かに、今存在していないということは不要ってことかもしれませんね。
参考までに、>>336さんの理解しているところのバージョン管理システムについて
教えていただけませんか?簡単にで結構です。

338:デフォルトの名無しさん
08/09/21 23:52:41
>>337
行が分かれてりゃ自動でマージしてくれるだろ?何が面倒なんだ?

339:デフォルトの名無しさん
08/09/22 00:16:55
>>337
そういうソース管理ツールもあるらしい。名前は忘れたけど。
たとえば変数名を変更したら、ほかのSCMならたんにその変数名を含む行が変更されたと認識されるだけだけど、
そいつは「変数名を変更した」ということを認識し、リポジトリにもdiffではなくてそういう情報が書き込まれるらしい。

>>337の場合なら、たとえばチェックアウトするのはファイル単位でもいいけど、
チェックインするときに、このメソッドだけ変更されている、ということを認識して
なんかよきに計らってくれるかもしれん。
今はそういうSCMがないかもしれないけど、将来的にはあっても面白いよね。

340:>>336
08/09/22 00:20:08
>>337
> >>336さんの理解しているところのバージョン管理システムについて
> 教えていただけませんか?簡単にで結構です。

これスレで取り上げられてるバージョン管理システムはたいてい >>338
の言うように同一ファイルを編集しても自動マージする。

もちろん同一行を編集されたりすると人手介入が必要だけど、それは
>>337 でもどうしようもないんじゃないか?

とにかく、適当なバージョン管理システムをインストールして使ってみる
ことを勧めるよ。

341:デフォルトの名無しさん
08/09/22 05:45:56
>>337
> 参考までに、>>336さんの理解しているところのバージョン管理システムについて
> 教えていただけませんか?簡単にで結構です。

一般的なものはどういうものか教えてくれというのならわかるが、
お前の理解を述べよとは、何様だテメエ。
人にものをたずねる態度がなってない。小学生からやりなおせ。

342:デフォルトの名無しさん
08/09/22 07:27:17
>>340
Subversionってファイルがぶつかった時点で'C'ってなって終了だった気がするけど、
最近は違うのかな?
初めてsvk使った時、3wayマージしてくれるのに感動したなー。

343:デフォルトの名無しさん
08/09/22 07:41:30
昔から使ってるけど行単位だよ。

344:デフォルトの名無しさん
08/09/22 10:13:55
家でやった作業 push してくるの忘れた…。orz

345:デフォルトの名無しさん
08/09/22 11:52:45
git rm filename
してコミットした後、これを取り消したいんだけど、どうしたらいい?
git reset HEAD^ してみたけど、git status すると deleted filename が表示されたまま。
なおまだローカルへのコミットしかしてなくて、リモートには反映してません。

346:デフォルトの名無しさん
08/09/22 13:37:58
>>345
git reset --hard HEAD か
git checkout filename
でどうだろ

347:デフォルトの名無しさん
08/09/22 16:50:04
>>344
どこでもMyMacとsshトンネルで通路を確保してある俺様


348:デフォルトの名無しさん
08/09/22 17:26:34
Mercurial で merge してコンフリクトが起きたとき、指定のツールを起動する前に
コンフリクトを検出した箇所に印ぐらい付けといてくれないものか…。
どこかに設定ある?

349:デフォルトの名無しさん
08/09/22 18:03:39
このへん?
URLリンク(www.selenic.com)

350:デフォルトの名無しさん
08/09/23 01:50:40
>>346
>git checkout filename

これで行けました。そうか、checkoutすればいいのか。
ありがとうございました。

351:348
08/09/23 03:53:27
あれ、premerge もされてないっぽいや。おかしいな、premerge=True は設定してるんだけど…。
ちなみに、TortoiseHg です。

352:348
08/09/23 05:08:59
うーん、今のところ kdiff3 か internal:merge ぐらいしか選択肢はないかねぇ…。

>>349 のはまだよく読んでないけど、設定ってレベルではないような…。


353:312
08/09/23 07:56:29
>>326
これか!やっと見つけた・・・検索しても当初上手くひっからなかったんだ。

UTF-8 Cygwin - Download
URLリンク(www.okisoft.co.jp)

354:デフォルトの名無しさん
08/09/24 19:02:17
リビジョン管理システムで、日本語ファイル名と日本語コメントを
LinuxからEUC/UTF-8で登録してもWindowsでCP932で取り出すことができ、
WindowsからCP932で登録してもLinuxでEUC/UTF-8で取り出すことができるのは
いまのところSubversionだけでしょうか?

355:デフォルトの名無しさん
08/09/24 19:21:19
>>354
Mercurial

356:デフォルトの名無しさん
08/09/24 21:27:05
そんなにmercurial嫌いなのかよ

357:デフォルトの名無しさん
08/09/24 22:28:51
いまどきCVSもSubversionもVSSも使わないプロジェクトって何なの?



358:デフォルトの名無しさん
08/09/24 22:32:40
なに使ってるの?

359:デフォルトの名無しさん
08/09/24 22:46:54
「project_最新_yyyymmdd」みたいなサフィックスを付けたディレクトリが
たまっている火事場が実在するのは知っている。



360:デフォルトの名無しさん
08/09/24 22:51:35
>>358
マージソフトとソースコード内の修正コメントが頼り。
言うまでもないが、マージしたら毎回デグレード勃発。

361:デフォルトの名無しさん
08/09/24 23:08:36
そんなゴミネタはいらない

362:デフォルトの名無しさん
08/09/24 23:19:50
>>359
> 「project_最新_yyyymmdd」

の、"最新" がすぐ無駄になることに気付かないような奴等だから
火事場になるんじゃないか?

363:デフォルトの名無しさん
08/09/24 23:30:30
backup/backup20080921/backup20080920/backup/backup20080901
みたいなディレクトリ階層を見たことがある。
project_debug_20080921
project_release_20080921
project_release_20080921_debug
project_release_20080921_2
project_release_20080921-3
project_release_20080921_debug_4
project_debug_20080921-2
project_release_20080921(2)
みたいなでぃれくとり群を見たことがある。

364:デフォルトの名無しさん
08/09/24 23:37:38
うちのブランチとタグに酷似してる…… orz

365:デフォルトの名無しさん
08/09/25 00:22:12
もはやvcs使っていると考えたくもないよな、そういうのって。

366:デフォルトの名無しさん
08/09/25 07:46:28
リリース管理がヘボだと>>363の後者みたいになる。
vcsかどうかはあんまし関係がない。

367:デフォルトの名無しさん
08/09/25 07:54:18
>363の前者
要は、バックアップフォルダにバックアップフォルダごとバックアップしているってことか?
それって、バージョン管理を放棄しているな。

>363の後者
リリース版をデバッグするってこと事態あれなのに、
「リリース版のデバッグ版」としたい香具師と「あくまでデバッグ版」としたい香具師が居るわけね。
ついでに言えば、枝番の派生の仕方も三者三様?
挙句に、その枝番も「リリースの2」が二つ発生してしまっている体たらく。

368:デフォルトの名無しさん
08/09/25 08:27:28
つーかコミットする前にレビューぐらい通せば?

369:デフォルトの名無しさん
08/09/25 08:38:32
>>368
>363はVCSを使っていないって話だろ。

まぁ、そろそろスレ違いだし話を戻したいところではあるが。

370:デフォルトの名無しさん
08/09/25 09:30:10
mercurialでリポジトリをWebで公開したい場合、
apacheではなく、pythonのSimpleHTTPServer.pyなどとからめて公開できない?

なにかしらのAPIってないのかなぁ?
わかる方がいましたら教えてください。

371:デフォルトの名無しさん
08/09/25 10:58:43
>>370
よくしらんが、WSGIのようだから、どうとでもなるんじゃないの

標準のwsgiref実装を使えば自動的にBaseHTTPServerが使われることになると思うが、
apacheではなぜ嫌なの?

まあ一人で使う分にはPythonのオモチャHTTPサーバでもいいだろうけど、
本当にオモチャだぞ
デフォではforkもthreadも使わないただの反復サーバだしな
機能だのセキュリティだの性能だのを語る以前の問題

372:デフォルトの名無しさん
08/09/25 11:40:14
>>370
SimpleHTTPServerは無理だろ。あれはスタティックファイルだけ。
wsgirefの方を使え。
てか、なんでhg serveじゃだめなん?

373:デフォルトの名無しさん
08/09/25 12:09:28
>>355
横からですが、Mercurial(hg?)は日本語ファイル名、日本語コメOKなのか
TortoiseHGは日本語ダメってあったけど、コマンドライン版ならOK?



374:デフォルトの名無しさん
08/09/25 13:06:03
>>373
亀 Hg が日本語ダメってどこに書いてあった?
Web の情報も古くなってきてるぞ。

375:デフォルトの名無しさん
08/09/25 13:37:08
>>374
あれ?大丈夫になってきているのか?
確かめてみないといけんな

376:デフォルトの名無しさん
08/09/25 14:49:19
>>375
TortoiseHGのコミット機能以外は対応している。
コミット機能はQctを使っていてQctが対応していない。
TortoiseHG自体にもコミット機能はあるけど更新されてなくて
日本語でログを書くとおかしくなる。

377:デフォルトの名無しさん
08/09/25 15:06:20
>「リリース版のデバッグ版」としたい香具師と「あくまでデバッグ版」としたい香具師が居るわけね。
リリース版を品証の人がチェックするんでタグ付け必須な職場もあるです。


378:デフォルトの名無しさん
08/09/25 15:28:15
Release Candidate版にしとけばいいのではなかろうか

379:デフォルトの名無しさん
08/09/25 16:08:19
>>376
えー?俺コミットメッセージは日本語で書きまくってるけど、ログにちゃんと表示されるよ。
update ダイアログで Browse ボタンを押すと化けてるけど。
ちなみに 0.4.1。

380:デフォルトの名無しさん
08/09/25 20:39:17
>>363
うちの会社ではリリース版とかいう概念すらないよ
project_20080921
すべてこういう感じ。もう手遅れだと思う

381:デフォルトの名無しさん
08/09/25 23:18:23
>>380
手遅れと考えるより、その環境にはそういうやり方の方が合ってる
って考えた方がいいのかもしれんよ。

まあとりあえず、一人で内職してみては?
少しずつファイルサーバ漁って、初期リポジトリに投入できそうなファイルの目星をつけつつ、
自分のところで cvsなり svnなり VSS(最近だとTFSかな?)なりをコッソリ入れておいて、
使い方を試してみたり、日次バックアップとかリストアとかの運用方法を確認したりして、
来るべき日に備えておくと、近いうちに役に立つかもよ。

俺は、本番環境でデグレード障害が出た際に、「バージョン管理システムってのがあるんですが」
って言って切り出して、内職で作ってた VSSリポジトリを使ってデモやったら、いつの間にか
それが開発標準になってたよ。

382:デフォルトの名無しさん
08/09/26 07:22:10
TortoiseHgはコミットツールのQctが完全には日本語に
対応してなくて、コミット対象のファイル名が文字化けする。
しかし、コミット自体は日本語で正常に行われます。

383:デフォルトの名無しさん
08/09/26 07:23:56
TortoiseSVNもTortoiseHgもエクスプローラが重たくなる。
特にネット越しになると酷い。

384:デフォルトの名無しさん
08/09/26 10:35:21
>>383
アイコンオーバーレイを「固定ドライブ」だけにするといいかも。
またはアイコンオーバーレイを使わないとか。

385:デフォルトの名無しさん
08/09/26 10:43:01
SVNのステータスでソートしたりとか良く使うし
エクスプローラと連動してるおかげで検索から
削除したり出来るから便利ともいえるし人それぞれだろう

386:デフォルトの名無しさん
08/09/26 12:17:39
>>384
対象外のフォルダを検索しないとか、検索フォルダのマスクしていとかもあるよ

387:デフォルトの名無しさん
08/09/27 01:24:54
アイコンオーバレイ使わないと、亀使ってる意味がほとんとなくね?

388:デフォルトの名無しさん
08/09/27 02:14:41
シェル拡張だけでもお釣りが来ると思う

389:デフォルトの名無しさん
08/09/27 04:59:17
独立アプリの方がいいなあ。
特に亀 Hg は、シェル拡張の意味がほとんどないぐらい操作が複雑。
でも生き残ったのは亀なんだよねえ…。

390:デフォルトの名無しさん
08/09/27 06:52:09
>>389
RapidSVNは結構好きだったんだけどなぁ。
Hg用の独立アプリ無いかな。

391:デフォルトの名無しさん
08/09/27 06:57:25
Hgを暫く使ってて、ふとしたことから古いチェンジセットに
一時的にアップデートしたら.hg下のファイルがWindowsXPの
ファイル名256文字制限に引っかかってしまい、最新のチェンジ
セットに戻せなくなってしまったよ。
フォルダ階層深い人は注意。
しかしWinXPって256文字制限無くせないのかな。Vistaはこの点
どうなの?

392:デフォルトの名無しさん
08/09/27 08:18:46
NT系のパスの文字数制限はXP以前から32000文字だと思うが。
9x系と互換性もたすとMAX_PATHに制限されるけど。

393:デフォルトの名無しさん
08/09/27 08:39:09
subst.exe で何とかならない?
Hg 使ってないから状況がよくわからんが。

394:デフォルトの名無しさん
08/09/27 10:30:30
subst.exeで解決できる問題なら、そもそもプロジェクトを浅いディレクトリに
配置すればいいだけの話だけど、391はプロジェクトのフォルダ階層が
異常なほど深いんじゃないの?

395:391
08/09/27 10:34:05
>>392-393
NTFSだけど下記のエラーメッセージでググると256文字制限があるってヒットするんだけど。
HgがMAX_PATHに制限しているのかな?
あと元々レポジトリのパスが短いのでsubst.exeでは回避できなさそう。

嵐っぽくなっちゃうけどエラーの状況:
D:\a>hg add *
adding あ\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い
\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\い\う.txt
D:\a>hg ci -m "test"
trouble committing あ/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い
/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い/い
/い/い/い/い/う.txt!
abort: ファイル名または拡張子が長すぎます。: D:\a\.hg\store\data/~82~a0/~82~a2/
~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/
~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/
~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/
~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/~82~a2/
~82~a2/~82~a4.txt.i


396:デフォルトの名無しさん
08/09/27 10:57:37
Hg local store creates paths too long for Windows
URLリンク(www.selenic.com)

397:デフォルトの名無しさん
08/09/27 12:18:04
>>388
hgならともかく、SVNなら開発ツールのSCM連携機能使うだろ。


398:デフォルトの名無しさん
08/09/27 12:38:46
Express 版で開発してるとか、ワードの文書も SVN で管理してる
俺みたいなやつの事を忘れないでくれ。

399:デフォルトの名無しさん
08/09/27 13:02:33
TortoiseHgまだ、rename実装されてない?のかな
D&Dでのこぴぺ移動もまだみたいだし



400:デフォルトの名無しさん
08/09/27 13:45:08
まだバージョンが 0.5 もいってないからね。
俺はコマンドラインと併用。
マージツールの連携をなんとかしてほしい。

401:デフォルトの名無しさん
08/09/27 17:10:04
そういやツールの設定なんかがよくわからないな・・・

402:デフォルトの名無しさん
08/09/27 19:33:29
高速ネットワークに常時接続でブランチが自由に作成できる SVN 環境から、
分散型に乗り換える利点はどのようなものがあるでしょうか?

403:デフォルトの名無しさん
08/09/27 19:43:28
分散に移りたいと思ったきっかけはなに?それによるんじゃないか?

404:名無し募集中。。。
08/09/27 21:00:32
常時接続出来ない場所に行ったときに不便にならない

405:デフォルトの名無しさん
08/09/27 21:11:50
svnになれてるならsvkでも使ってみたら。
でもトロいからあんま便利とは言えないか。
速度、細かい進捗管理がしやすい。

git使い始めて結構立つのに今更、昨日始めてbisect使ってみた。
数千もパッチ管理してるとやっぱこういう手法になるのかなー。

406:デフォルトの名無しさん
08/09/27 21:18:00
>>353
mod_authz_svn じゃだめ?

407:デフォルトの名無しさん
08/09/27 21:21:29
誤爆orz

408:デフォルトの名無しさん
08/09/27 21:33:28
>>403 >>404

SVN に特に不満は感じていないんですけど分散型がいろいろ出ているので
何か自分が気づいていていない利点があるんじゃないかと思ったんですけど。

SVN は家か会社でしか使わないのでネットワークに接続できないことは滅多
にありません。

409:名無し募集中。。。
08/09/27 23:12:59
会社でもノートPCを持って無線LANの届かない現場に行く場合とか心底困るよ

410:デフォルトの名無しさん
08/09/27 23:15:12
Subversionに比べると、分散型はリポジトリの扱いが気楽なのが利点だと思います。

たとえばMercurialだと、
ソース書き始めた

そのディレクトリの下にリポジトリ作成。チェックアウトの必要なくいきなり管理下

ちょっと実験するために別ディレクトリにclone(リポジトリのコピー)

修正&コミット

成功:コミットを元リポジトリにpush
失敗:cloneしたリポジトリを削除してポイ

(゚Д゚)ウマー

411:デフォルトの名無しさん
08/09/27 23:28:50
svnからhgでブランチし放題なのとマージ覚えててくれるのはいいと思った

412:デフォルトの名無しさん
08/09/27 23:29:01
どこがちがうのか?


413:デフォルトの名無しさん
08/09/28 02:46:15
svnも1.5でマージサポート強化されてるっぽいね。
今まではブランチっつってもコピーするだけだから、マージは自分でやらないといけなかったけど、
なんかsvn1.5はプロパティにどこからマージ済みなのか記録してるっぽい。svkのマネ?

Gitの場合はコミットに一意なIDがあるから、テキトーにブランチきってもマージに悩まされずに
追いかけていける。

414:デフォルトの名無しさん
08/09/28 04:21:23
>>410
そうそう、分散型だとすごく気楽だよね。
個人開発でも利点があった

415:デフォルトの名無しさん
08/09/28 10:30:27
>>351 でも書いたけど、 亀 Hg 使ってる人はマージはどうやってる?kdiff3 使ってる?
マージペインで日本語が化けるから、やや無理やりだけど WinMerge 使いたいんだよね。
でも premerge が効いてないっぽいし、バイナリファイルはどちらを採用するか聞いてこなかったり
もう設定がわけわかめ。

416:デフォルトの名無しさん
08/09/28 11:28:46
ブランチに試行錯誤や間違いの歴史を残すのに全然抵抗ないですけど
それでも分散型に利点はありますか?

417:デフォルトの名無しさん
08/09/28 11:33:46
>404

418:デフォルトの名無しさん
08/09/28 16:53:16
ベータ版かリリース版かというのはどのように管理してるの?

419:名無し募集中。。。
08/09/28 21:11:17
revisionのコメントに「>>418さんに渡した版」と書いておく程度の管理
または気持ちの問題、カナ

420:デフォルトの名無しさん
08/09/29 02:37:11
タグ名の最後に"-r"を付けるとか(release)

421:デフォルトの名無しさん
08/09/29 02:56:41
>>418
うちでは例えばバージョン名がB2.4.XからR2.4.0になる。

422:デフォルトの名無しさん
08/09/29 03:00:44
>>418
タグ付けてβ、それを品証がチェックしてリリース
trunk
tag
rel
のディレクトリにタグ化した日付でtagに入れてそのリリースがrelにcopyされる
品証のチェックで出たバグはtagの日付版で修正して、trunkへポートされてる
エンドユーザからのバグレポートはrelに対してになる、

423:デフォルトの名無しさん
08/09/29 03:42:29
>>418
tag つける。でtag名に、beta-ほげほげ とか release-ほげほげ とか


424:デフォルトの名無しさん
08/09/29 12:23:02
リポジトリをbetaフォルダからreleaseフォルダに複製してる

・・・けどタグの方がいいのか

425:デフォルトの名無しさん
08/09/29 12:36:21
いついつリリース版というフォルダをずっと増やしていく方針なら
タグは不要だと思うけど。

426:デフォルトの名無しさん
08/09/30 01:18:54
他所の cvs/svn/git リポジトリから co するときに自動的に hg 方式になって
自分で管理するときは hg でして
ci するときは cvs/svn/git 方式に自動的に変換するフィルタってない?

427:デフォルトの名無しさん
08/09/30 05:37:52
チェックアウト状態ではリードオンリーになっていて
編集しようとするとダイアログが開いて何のための変更か?を記述して
それをコミット時のデフォルトのコメントにしてくれるようなWindowsのツールってないですか?
TortoiseSVNの拡張機能みたいな形であれば一番いいんだけど。

428:デフォルトの名無しさん
08/09/30 09:48:34
それなんて VSS ?

429:デフォルトの名無しさん
08/09/30 10:19:30
>>427
needs-lockじゃ駄目?
lock取得するときに、やる作業をコメントに書く。
コミットするときは、最近のログメッセージから再利用。

430:デフォルトの名無しさん
08/09/30 16:51:34
SubversionリポジトリからMercurialに変換するツールはないんでしょうか?

431:デフォルトの名無しさん
08/09/30 16:51:59
gitだとsvnとの相互運用もできるっぽいのですが・・・

432:デフォルトの名無しさん
08/09/30 17:10:30
hg convert

433:デフォルトの名無しさん
08/09/30 17:35:30
>>432
Mercurial の Subversion convert extension - daily dayflower
URLリンク(d.hatena.ne.jp)

これか・・・かなり未完成っぽいですね
hgsvn?とかいうのがよいらしいですが

434:デフォルトの名無しさん
08/09/30 17:42:15
hgの読み方ってハーゲーでいいの?

435:デフォルトの名無しさん
08/09/30 18:08:50
>>434
銀ちゃんで

436:デフォルトの名無しさん
08/09/30 18:38:11
水銀党で

437:デフォルトの名無しさん
08/09/30 18:56:57
git では
git checkout 古いコミットID
として古い状態に戻すことができます。
このあと最新状態に戻すにはどうしたらいいですか。
git checkout HEAD とか git reset --hard HEAD とかしてもだめみたいです。

438:デフォルトの名無しさん
08/09/30 19:07:14
>>437
HEADは現在居るブランチの先端をあらわすので、その場合のHEADは名無しブランチの先端。
つまり古いコミットIDになる。
最新の状態にしたかったら、そういうブランチをチェックアウトすればいいと思う。
git checkout master とか。

439:デフォルトの名無しさん
08/09/30 20:11:31
>>438
ほんとだ、名無しのブランチになってました。
git checkout master でもとに戻れました。ありがとうございます。
ただ、git checkout COMMIT_ID を実行すると、名無しのブランチができるという挙動がなんか気持ち悪い。
なんで勝手にブランチができるんだろう。。。

440:デフォルトの名無しさん
08/09/30 20:39:40
>>439
どこの先端でもない途中の状態を指定して取り出すんだから、名無しになるんだよ。
今居るブランチをほんとうに古い状態に戻したいなら、そのコミットを指定してresetすればいい。
そうすればそのコミットが今居るブランチの先端になる。そこより先のコミットは無くなっちゃうけどね。

441:デフォルトの名無しさん
08/10/01 00:28:10
俺がHEADだぁぁぁあああ!

442:デフォルトの名無しさん
08/10/01 00:55:10
ヘドが出るぜ!


443:デフォルトの名無しさん
08/10/01 12:04:21
すみませんが、せっかくの機会なので教えていただけますか。

>>440
>どこの先端でもない途中の状態を指定して取り出すんだから、名無しになるんだよ。

新しいブランチを作るのではなく、今のブランチ (main) を使ったまま、古い状態を取り出すことはできないということでしょうか。

>今居るブランチをほんとうに古い状態に戻したいなら、そのコミットを指定してresetすればいい。
>そうすればそのコミットが今居るブランチの先端になる。そこより先のコミットは無くなっちゃうけどね。

reset は、HEAD がどのコミットを表すかを変更するということでしょうか。
HEAD を変更することなく、古い状態に戻すことはできないということですか。

Git は仕組みがよくわからず、困ってます。
Mercurial はすごくわかりやすいんですけど・・・



444:デフォルトの名無しさん
08/10/01 16:43:32
>>443
hgは使ったことないんだが、Gitからフォークしてるので似てるはずだと思ってたんだけど、
そうでもないのか。resetとかrebase無いの?

「古い状態に戻す」が何をしたいのかよくわからないんだけど、例えば、
3つ前の状態をちょっくらワーキングコピーで見たりしたくなったんなら、
3つ前の状態をチェックアウト(git checkout HEAD~3)すればいい。
名無しブランチの先頭に居ることになるが。

今のブランチを3つ前の状態まで戻して、そこからやり直したいならリセット(git reset HEAD~3)
この場合は3つ前以降のコミットは失われる(他のブランチに残ってなければ)

>新しいブランチを作るのではなく、今のブランチ (main) を使ったまま、古い状態を取り出すことはできないということでしょうか。

mainという名のブランチをチェックアウトしたまま古い状態を取り出す?
いま居るブランチはmain~3ですよ、みたいな感じ? それはないな。実質そういうことになるのかも
しれないけど、main~3は他のブランチにも含まれるかもしれないし、履歴の途中を引っ張り出した場合、
そこにコミットを続けることも出来るから、それってブランチ(枝)でしょう?

git checkout HEAD~3とした時点で「名無しブランチですよ。必要なら後からgit checkout -b って
出来るよ」みたいなメッセージが出てると思う。

445:デフォルトの名無しさん
08/10/01 19:01:31
443ではないけど
>>444
hgの場合古い状態をワーキングコピーで見るだけならブランチにはならなくて、
古い状態からコミットしたときに初めてブランチが作られる

446:445
08/10/01 19:05:37
それと、hgはgitのフォークではないよな

447:デフォルトの名無しさん
08/10/01 19:47:23
またリポジトリ、プロジェクトホスティング見つけてきた

Project Kenai -- We're More Than Just a Forge
URLリンク(kenai.com)

SubversionとMercurialのリポジトリと、フォーラム、ML、wiki、バグトラックなど一通りのホスティングサービス

448:デフォルトの名無しさん
08/10/02 07:37:45
枝の古い状態みるだけなら、チェックアウトすればそれでいいじゃん?
新しいブランチは作らず名無しの状態で取り出せる。
それぞれのHEADも変更しないし、何に困ってるのか分からないんだが…

多分何がしたいのかを言った方が手っ取り早い。

449:デフォルトの名無しさん
08/10/02 09:26:39
>>445
> 古い状態からコミットしたときに初めてブランチが作られる

前もって hg branch でブランチを指示しないといけないんでなかった?

450:デフォルトの名無しさん
08/10/02 09:40:05
>>446
SDにはそんなようなこと書いてあったけどな。
でもPythonで新たに書き直してるから、フォークとは言わないかもね。

451:デフォルトの名無しさん
08/10/02 12:51:20
>>444
両方ともBitKeeperのコマンドを参考に作ったんじゃなかったか?

452:デフォルトの名無しさん
08/10/02 15:27:04
tortoiseHGの0.5出てたから入れたけど、コミットの日本語は相変わらず

一緒にbazaarも入れてみたけど
右クリックしてもbazaarのメニューが出てこないのは気のせい?


453:デフォルトの名無しさん
08/10/02 18:36:34
>>448
>枝の古い状態みるだけなら、チェックアウトすればそれでいいじゃん?

それだとファイルパスが違うのになるから、設定ファイルをいちいち変更しないといけない。
または現在のディレクトリを別名に変更しないといけない。

454:デフォルトの名無しさん
08/10/02 21:14:48
???

455:デフォルトの名無しさん
08/10/03 11:22:29
hg convert って最強じゃね?

456:デフォルトの名無しさん
08/10/03 11:38:25
>>453
フルパスが書かれたものをリポジトリに入れてるのか。

そうであってもブランチを作る必要はなくて、
チェックアウトまたはclone+チェックアウトで済むと思うけど。

何をしたいのかがわからないから、あとはエスパーを呼んでもらうしかない。

457:デフォルトの名無しさん
08/10/03 12:01:04
情報を後出しばかりする上に自分の特殊な環境が特殊だと思っていないんだから
誰がどう答えてもどうにもならんでしょ

458:445
08/10/03 13:30:09
>>450
URLリンク(en.wikipedia.org)(software)
>This project started at approximately the same time as another project called Git, started by Linus Torvalds with similar aims.
>>449
名前付きのブランチをつくるならそう。名無しブランチ作るならコミットするだけ。

hgの場合
hg checkout id
で古いワーキングコピーにして、
hg checkout
で最新(tip)にできる。
hg log
はcommitやpullしない限り、何をcheckoutしていても常に同じ内容が出力される。

git少し試したけど、古いのをチェックアウトするとgit logでそれ以降のログが
見えなくなるな。

459:デフォルトの名無しさん
08/10/03 16:21:21
緒マラ教えて下さい。
gitのリポジトリをhgに変換する方法を

460:デフォルトの名無しさん
08/10/03 21:41:25
4レス前は読んだか?

$ hg help convert ~
hg convert [OPTION]... SOURCE [DEST [REVMAP]]

Convert a foreign SCM repository to a Mercurial one.

Accepted source formats:
- Mercurial
- CVS
- Darcs (legacy Darcs 1 format only)
- git
- Subversion
- Monotone
- GNU Arch


461:デフォルトの名無しさん
08/10/03 23:17:10
git checkout ブランチ名
としたときに、
error: You have local changes to 'README'; cannot switch branches.
といわれます。
Gitでは編集中のファイルがあるとブランチを切り替えることはできないのでしょうか。


462:デフォルトの名無しさん
08/10/04 00:51:03
>>460
thanx... hg convertていくつも対応してるのね

463:デフォルトの名無しさん
08/10/04 03:39:36
>>461
たぶんそれチェックアウト先のブランチでREADMEがぶつかってるんじゃないかな。
まっすぐ伸びてれば
M README
Switched to branch
てな感じになるはず。

464:デフォルトの名無しさん
08/10/04 11:15:13
で、git と mercurial のどっち使えばええの?

465:デフォルトの名無しさん
08/10/04 11:31:34
bazaar使えばいい。

466:デフォルトの名無しさん
08/10/04 13:10:06
>>464
git はわかりづらいので、mercurial のほうがいいと思う。
ただ git のほうが機能は豊富。あまり使わないけど。

467:デフォルトの名無しさん
08/10/04 13:35:44
>>464
流行で言えばgitでしょう。

ただ、Windowsと関わることがあるなら git はちとキツイ印象(いろいろ試したが)
そのときは Mercurialでよいかと

468:デフォルトの名無しさん
08/10/04 14:12:39
>>466
mercurial になくて git にある機能って具体的にナニ?

>>466
どこの流行なんでしょうか?

469:デフォルトの名無しさん
08/10/04 15:07:16
>>468
githubでいきなり盛り上がった印象がある。
それまでは、俺はLinux Kernel専用SCMとしか思ってなかった。

470:デフォルトの名無しさん
08/10/04 16:46:55
大型プロジェクトに良く使われている印象>git
linux kernel、X.org、wine、vlcなど。
hgはmozillaだけな予感。

471:デフォルトの名無しさん
08/10/04 17:46:54
hg も netbeans、opensolaris や xen とかで使われてる
…ってちょっとググれば分かるはずなんだがな

472:デフォルトの名無しさん
08/10/04 18:16:14
リポジトリ数
github(git) 30*618=18540ぐらい
launchpad(bazaar) 19002

mercurial専用ホスティング&コラボレーションサービスって無いのな。専用である必要ないって言ったらその通りだが。

473:デフォルトの名無しさん
08/10/04 18:25:41
>>472
bitbucket freehg projectkenai

474:デフォルトの名無しさん
08/10/04 18:30:29
>>473
thx.

bitbucket(mercurial) 15*40=600
他分からず。

475:デフォルトの名無しさん
08/10/04 18:54:37
>>468
git-svnと同等なものがHgに無い。マジで欲しい。


476:デフォルトの名無しさん
08/10/04 19:01:08
>>475
俺もこれほしいな

gitは、gitでGoogle Code Projectのsvnで開発なんて記事もあるくらいだからな

Google Open Source Blog: Develop with Git on a Google Code Project
URLリンク(google-opensource.blogspot.com)

477:デフォルトの名無しさん
08/10/04 19:05:12
>>475-476
hgからsvnにpushする方法
URLリンク(jelmer.vernstok.nl)

478:デフォルトの名無しさん
08/10/04 19:26:00
hgsvnに含まれるhgpushsvnってのもあるらしいがバギーなようだ。hgsvnの開発も芳しくないようだし。

479:デフォルトの名無しさん
08/10/04 19:42:17
windows上ならbzr-svnが標準で含まれているbzrが最強な予感。
cygwin+gitならgit-svn入れるだけだろうけど。
msysgitはgit-svn入れるの難しいはず。

480:デフォルトの名無しさん
08/10/04 20:15:22
TorotoseHGに含まれている hg.exeで
hg mergeしようとすると、gpyfmというウインドウが立ち上がるんだけど、
これは何するものなの?
リストに何も表示されていないから、何をしたらいいかわからんw
acceptoとかrejectとかのボタンは表示されているが

481:デフォルトの名無しさん
08/10/04 21:19:29
github を使っていて、他人のプロジェクトをフォークしたんですが、
それを更新する (pull) 方法が分かりません。
つまり someone/proj1 をフォークして myname/proj1 をつくり、
git clone git://github.com/myname/proj1
をして、自分のリポジトリに commit & push するのはいいんですが、
someone/proj1 の変更を myname/proj1 に pull する方法がわかりません。
だれか教えてください。


482:デフォルトの名無しさん
08/10/05 02:37:27
>>481
git remote add someone git://github.com/someone/proj1
git pull someone
かな。

483:デフォルトの名無しさん
08/10/05 02:38:37
>>475
URLリンク(www.bitbucket.org)
まだまだっぽいけど。

484:デフォルトの名無しさん
08/10/05 04:39:52
欲しければ実装しちゃいなよ

485:デフォルトの名無しさん
08/10/05 08:27:55
bazaarを介するのもhgsubversionを使うのも一抹の不安があるなぁ

486:デフォルトの名無しさん
08/10/05 14:11:41
Bazaarが気になったので、GCCのソースを使って計測してみた。
svn://gcc.gnu.org/svn/gcc/trunk
ソースのサイズ: 510MB

Intel(R) Atom(TM) CPU N270 @ 1.60GHz
DISK: SDHC(ext3) #ツッコミなしでw

使用コマンド
svn = import (svnadmin create済み)
hg = commit -A (hg init済み)
bzr = add + commit (bzr init済み)
git = add + commit (git init済み)

TAT
  git(8m30s) > bzr(10m30s) > hg(12m40s) >> svn(60m38s)
CPUTIME
  git(1m10s) > hg(2m55s) > bzr(5m49s) > svn(6m57s)
REPOS SIZE (ソースのサイズ除く)
  bzr(122MB) > svn(133MB) > hg(311MB) > git(319MB)

考えていたよりbzrがいい結果。

487:デフォルトの名無しさん
08/10/05 17:59:01
総合的にみて hg の圧勝じゃないか

488:デフォルトの名無しさん
08/10/05 18:31:15
総合的にみたらgitだろ?

489:デフォルトの名無しさん
08/10/05 18:36:26
総合的に見るとrcsだわな。

490:デフォルトの名無しさん
08/10/05 18:39:23
あと10年くらいはsvnでいいや

491:デフォルトの名無しさん
08/10/05 18:40:21
cvsはもう勘弁

492:デフォルトの名無しさん
08/10/05 19:21:08
>>486
What does "TAT" mean?
"CPUTIME" is speed of command execution?

493:デフォルトの名無しさん
08/10/05 19:25:26
turn around timeじゃないか

494:デフォルトの名無しさん
08/10/05 20:54:04
>>493
その通り。

495:デフォルトの名無しさん
08/10/06 09:03:25
どうもです。
>>482
>git remote add someone git://github.com/someone/proj1
>git pull someone
これだと自分のローカルリポジトリのみの変更ですよね。
あとはこれをpushすれば、github上にあるリモートリポジトリにも反映されるということでしょうか。

gitは勉強中なのでわからないことがいっぱいです。



496:デフォルトの名無しさん
08/10/06 19:00:20
Git(ギット)勉強会メモ - kinneko@転職先募集中の日記
URLリンク(d.hatena.ne.jp)

> git stash
> 日本からやってきたパッチ。最近追加。
> する直せ、今直せとボスが言う。
> 中断されると違う事やると思考の流れが止まる。続けられない。
> git stash saveとたたくと、今の状態を保管する。
> 巻き戻されて最初からボスの変更だけやって、コミットしてしまう。
> その後で、git stash applyで保管した結果を戻して作業ができる。
> tarで保管するのと違って、重なる変更点は3 way margeされる。
> ボスの変更が反映された上で、途中の作業に戻れる。

今 hg 使ってるんだが、この git stash に相当するコマンド(群)知ってる人イナイ?
コード弄ってるときにバグ発見とか、よくあるもんで…

497:デフォルトの名無しさん
08/10/06 19:43:01
>>496
意味がわからんし使い方もわからん
cloneすればいいんじゃねーの

498:デフォルトの名無しさん
08/10/06 21:03:46
>>496
URLリンク(www.selenic.com)
これかな

499:デフォルトの名無しさん
08/10/06 21:22:28
>>496
> 今 hg 使ってるんだが、この git stash に相当するコマンド(群)知ってる人イナイ?
つhgext.mq

500:デフォルトの名無しさん
08/10/09 17:25:46
少しお聞きしたいのですが、ためしに 動的なwebページをMercurialで管理しようとしています。
MySQLを使用するCMSを使っているのですが、DBのデータも管理したもんなんでしょうか?
webアプリの場合だと、DBがファイルととは別ってことは普通にあると思いますが、
みなさんはどうしてらっしゃいますか?

てか、Railsもそういった類だと思うけどバージョン管理はどうしているんだろう


501:デフォルトの名無しさん
08/10/09 17:29:10
うちはテーブル、ビュー、関数、ストアドプロシージャのようなスクリプトと
マスターデータをテキストとかで管理してる。

502:デフォルトの名無しさん
08/10/09 19:14:08
>>497-499
ありがとう
拡張になるのかー

503:デフォルトの名無しさん
08/10/09 21:49:34
名前ド忘れしたけど
DB専用Subversionみたいなのがあったな

504:デフォルトの名無しさん
08/10/11 21:52:17
[Visual Studio 2005 Team Edition for Database Professionals]
URLリンク(www.microsoft.com)

505:デフォルトの名無しさん
08/10/12 15:13:25
.flaも管理したい

506:デフォルトの名無しさん
08/10/13 10:20:18
Subversionはバイナリの差分をとってくれますが、Mercurialはしてくれないようです。
ほかにバイナリも差分をとってくれるバージョン管理ツールはありますか。

507:デフォルトの名無しさん
08/10/13 14:54:48
CVS

508:デフォルトの名無しさん
08/10/13 15:00:52
CVS って、差分とったっけ?
バイナリは、そのまま保存しかできないと思っていたけど。

509:デフォルトの名無しさん
08/10/13 16:15:45
>>506
Mercurialも差分を取るだろ

510:デフォルトの名無しさん
08/10/13 16:32:24
>>506
軽く試した感じだとちゃんと差分で保持してるよ。

511:デフォルトの名無しさん
08/10/13 18:22:37
git は?

512:デフォルトの名無しさん
08/10/13 18:23:27
ってそもそも差分じゃないか。スマン。

513:デフォルトの名無しさん
08/10/13 18:42:48
Mercurial を使って自分のコードを管理していたのですが、
Mercurial のリポジトリをホストしてくれる Bitbucket に移行しようとしています。
しかし新しく自分用のリポジトリを登録したのはいいんですが、
ローカルにあるリポジトリをサーバに移動する方法がよくわかりません。
もしご存知の方がいましたら教えてください。


514:デフォルトの名無しさん
08/10/13 19:34:24
>>508
一応無理やり差分は取ってる。あんまり効率的ではないだろうけど(昔の実験結果より)。

515:デフォルトの名無しさん
08/10/13 20:19:43
>>513
hg push URLリンク(hoge@bitbucket.org)
めんどくさかったら .hg/hgrc に書いとけ、な。

516:デフォルトの名無しさん
08/10/14 13:15:59
>>35 mercurialもclone直後はハードリンクになっているけど
変更をcommitすると別物になるようだ。


517:デフォルトの名無しさん
08/10/14 15:03:34
gitはテキストとバイナリの区別をしないで
オブジェクトデータベース内のすべてのオブジェクトについて
「似ているもの同士は差分で保持」という実装


518:デフォルトの名無しさん
08/10/14 19:08:06
いいね、バックアップソリューションでもそういうのが流行ってるみたいだし。


519:デフォルトの名無しさん
08/10/14 20:20:24
>>517
へー、そうなんだ。
「似ているもの同士」ってどうやって判断してるの?
その辺について書かれたドキュメントとか知ってたら教えてもらえると嬉しい。

520:デフォルトの名無しさん
08/10/14 21:21:12
ソース嫁よ

521:デフォルトの名無しさん
08/10/14 21:50:51
>>517
これほんと?
Gitって、差分は管理してなくて、すべてのファイルを圧縮保存していると資料に書いてあったけど。

522:デフォルトの名無しさん
08/10/14 21:54:31
Git と Mercurial の連携・・・・ってできますか?
いや意味があるのかといわれるとそれまでなんですけど。

523:デフォルトの名無しさん
08/10/14 22:03:04
cvsってdiffでバイナリ差分とってる訳?

524:デフォルトの名無しさん
08/10/15 03:37:07
>>517 「似ている」ってどうやって判別してんだ?

525:デフォルトの名無しさん
08/10/15 03:40:21
CVS は「バイナリ」じゃなくて「キーワード・行末変換なし」っていう設定で diff はいちおう
通してたような記憶があるお。 0x0a が現れるといちおう区切られるっていう

526:デフォルトの名無しさん
08/10/15 17:41:15
git pull して git push するのに疲れました。
2つを連続してやってくれるコマンドオプションとかありますか。

527:デフォルトの名無しさん
08/10/15 17:44:00
bat

528:デフォルトの名無しさん
08/10/15 17:58:15
sh & alias

529:デフォルトの名無しさん
08/10/15 23:53:17
>>527,528
そんなオプションはないということですね。
これで安心してshellスクリプトを書けます。
ありがとうございました。

530:デフォルトの名無しさん
08/10/16 22:25:14
aliasでいいじゃん

531:デフォルトの名無しさん
08/10/18 23:40:14
>>503
「DBAを救え! DBリファクタリングツール「LiquiBase」を使ってみよう」
URLリンク(journal.mycom.co.jp)

これのことかな?

532:デフォルトの名無しさん
08/10/19 01:42:03
>>531
それそれ!

533:デフォルトの名無しさん
08/10/19 04:00:46
>>500
データってデータそのもの? スキーマだけじゃなく?
SQLite にしてデータベースファイル突っ込んどけば?

Rails だとマイグレーションという仕組みでスキーマを版管理する。
テスト用のデータについてはフィクスチャで流し込むのが一般的。
実運用のデータをバージョン管理するという話はあまり聞かないな。

534:デフォルトの名無しさん
08/10/19 23:30:08
git push origin master
と同じことを Mercurial でするにはどうしたらいいですか。
ローカルのリポジトリを、リモートに移動しようとしています。


535:デフォルトの名無しさん
08/10/19 23:39:58
clone すればいいんじゃね?

536:デフォルトの名無しさん
08/10/20 23:25:07
>>534
gitのことはよくわからんけど、ローカルのチェンジセットをリモートに push するだけなら
hg push <remote-addr>
ローカルとリモートのリポジトリが同一のツリーでないなら
hg push -f <remote-addr>

537:デフォルトの名無しさん
08/10/21 01:25:59
>>534
git -> hg

538:デフォルトの名無しさん
08/10/21 07:22:29
Subversionスレでも出ていた話題ですが、
スレリンク(tech板:489-502番)
Mercurial(hg)て file:// でも排他処理されてますか?
多人数で共有ファイル鯖の上にpushしても大丈夫?

どこかドキュメントに記述はありますでしょうか?


539:デフォルトの名無しさん
08/10/21 08:10:28
>>538
問題ない

Distributed revision control with Mercurialに書いてある。

540:デフォルトの名無しさん
08/10/21 09:11:04
>>539
ありがとう

どの辺の章に書いてありましたか?以下で「排他」「file://」あたりで検索したのですが、
見つけられませんでした

Distributed revision control with Mercurial
URLリンク(ursm.jp)



541:デフォルトの名無しさん
08/10/21 09:58:55
>>540
4.5.3 並行アクセス

542:デフォルトの名無しさん
08/10/21 15:53:31
>>541
Thanks!! 見つけられました。安心したっす

4 Behind the scenes
URLリンク(ursm.jp)


543:デフォルトの名無しさん
08/10/25 14:06:51
hg convert がうごかないんだが、なんでかな?
% hg convert -s svn svn://svn.freebsd.org/base
assuming destination base-hg
initializing destination base-hg repository
Subversion python bindings could not be loaded
abort: svn://svn.freebsd.org/base: unknown repository type

% hg convert -s svn freebsd-head
assuming destination freebsd-head-hg
initializing destination freebsd-head-hg repository
Subversion python bindings could not be loaded
abort: freebsd-head: unknown repository type


544:デフォルトの名無しさん
08/10/25 14:57:01
>>543
Subversion python bindings could not be loaded

545:デフォルトの名無しさん
08/10/25 23:48:26
開発やってる奴でその質問はどうなんだ(´・ω・`)

546:デフォルトの名無しさん
08/10/26 00:27:27
>バージョン管理システムについて語るスレ2


547:デフォルトの名無しさん
08/10/26 01:55:24
>>546
エラーメッセージ完全スルーで2ch丸投げとか、
流石に情けないんじゃないのか、って話だと思うんだが。

548:デフォルトの名無しさん
08/10/26 17:11:14
んなこと全員分かってるわ

549:543
08/10/26 21:23:22
みなさんぼろくそいってくれてありががとう
devel/py-subversionをインストールしたら動き出しました。
エラーメッセージは読み違えていて
convert/subversion.pyが見つからないのかとおもってました。
ktraceしても原因は見つけられず。
どこかにconvert subversionはプロセスを起動するとあったので
てっきりsvnをforkexecするものだと...


550:デフォルトの名無しさん
08/10/26 23:11:53
おまい、おもろい。w

551:デフォルトの名無しさん
08/10/27 06:54:35
TortoiseHgのリポジトリがBitbucketに移動してた

552:デフォルトの名無しさん
08/10/27 10:59:33
Python 2.5 の公式ドキュメント日本語訳完成
URLリンク(www.python.jp)

553:デフォルトの名無しさん
08/10/27 21:53:54
hgでパーミッションが保存されないんですが仕様ですか?
% hg init a
% cd a
% date>file
% date>file2
% chmod a-w file2
% ls -al
total 8
drwxr-xr-x 3 hoge hoge 5 10 27 21:44 ./
drwxr-xr-x 7 hoge hoge 9 10 27 21:43 ../
drwxr-xr-x 3 hoge hoge 5 10 27 21:43 .hg/
-rw-r--r-- 1 hoge hoge 40 10 27 21:43 file
-r--r--r-- 1 hoge hoge 40 10 27 21:44 file2
% hg add file file2
% hg commit -m "init"
% cd ..
% hg clone a b
updating working directory
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
% cd b
% ls -al
total 8
drwxr-xr-x 3 hoge hoge 5 10 27 21:44 ./
drwxr-xr-x 8 hoge hoge 10 10 27 21:44 ../
drwxr-xr-x 3 hoge hoge 9 10 27 21:44 .hg/
-rw-r--r-- 1 hoge hoge 40 10 27 21:44 file
-rw-r--r-- 1 hoge hoge 40 10 27 21:44 file2
%


554:デフォルトの名無しさん
08/10/31 11:56:13
>>553
パーミッションは保存されません。
hgに限らず、SubversionやVSSでもパーミッションは保存されません。
パーミッションはリビジョン管理システムの外側にある概念です。

555:デフォルトの名無しさん
08/10/31 11:58:59
>>554
Subversionはpropertyとして保存してくれるんだが。

556:デフォルトの名無しさん
08/10/31 13:28:25
だからなに?って話

557:デフォルトの名無しさん
08/10/31 14:48:20
>>556
>パーミッションはリビジョン管理システムの外側にある概念です。
というのが大間違いっていう話。


558:デフォルトの名無しさん
08/10/31 16:33:51
Subversionが自動的にパーミッション保存してくれるなんて初めて聞いたんだが

559:デフォルトの名無しさん
08/10/31 22:01:35
sccsは保存してくれたなぁ、と古い話。

560:デフォルトの名無しさん
08/10/31 22:04:06
svnが保存するのは実行ビットだけであってる?


561:553
08/10/31 23:30:12
hgのソースをみてみたら
どうもexec bitとsymlinkしかあつかえないようだ。


562:デフォルトの名無しさん
08/10/31 23:41:03
なんか問題あんの?
hook で chmod すればそれで終わりじゃん

563:デフォルトの名無しさん
08/11/02 09:12:41
hg はパーミッションは保持しないクソツール、と。

564:デフォルトの名無しさん
08/11/02 11:19:53
ここで煽ってみたところでなにも変わりはしないぞ

565:デフォルトの名無しさん
08/11/02 12:07:38
そもそも644になって問題がある開発環境なんて存在するのか?

566:デフォルトの名無しさん
08/11/03 01:06:15
>>565
というより、SCMとしての機能を考えると、実行属性以外のパーミッションとかACLとかを保存される方が困る気がする。

567:デフォルトの名無しさん
08/11/03 02:53:28
OSやfsによってマチマチだからなぁ

568:デフォルトの名無しさん
08/11/03 13:01:37
POSIX標準くらいサポートしてもバチは当たらない

569:デフォルトの名無しさん
08/11/03 14:17:51
属性を用意したからあとは勝手にやってくれって思想だよな

svn:permissionsを追加したってパッチはみつかったけど
設計や互換性の面で却下されてるようだ

570:デフォルトの名無しさん
08/11/04 18:32:59
TortoiseHGでBitbucketでssh経由でpushしたいのですが、上手くいかず困っています。
ToritoiseSVNでは同じようにして上手くいったのですが・・・

やったこと
・Bitbucketのアカウントをとる
・Bitbucketにssh公開鍵を追加
・setting->repogitoryの設定ダイアログにて、Pathのdefaultを
 ssh://(ユーザー名)@bitbucket.org/(ユーザー名)/(project名)/
に設定(= .hg/hgrcの[paths] の default = に上記パスを設定することと等価)
・TortoiseHGのpageantを起動し、対応する秘密鍵を追加
・コマンドラインから hg push → pageantで設定してあるのに何故かパスワードを聞かれる →
 2回ほど入力したら pagelinkが落ちる。
出力:
 *** no suitable response from remote hg[command interrupted]
・GUIの Synchronize... から push 選択
 コマンドラインの時と同様になる

571:デフォルトの名無しさん
08/11/04 18:35:38
>>570
ToritoiseSVNでBitbucketでssh経由でpushする方法kwsk

572:デフォルトの名無しさん
08/11/04 18:49:33
ああ、スマソ。BitbucketではTortoiseSVNは使ってません・・・。
別のローカル鯖でTortoiseSVNのssh+svnで上手くいったという話です。

573:デフォルトの名無しさん
08/11/04 19:11:00
>>570
追記:
・hg push や GUIでsynchroize->push でパスワード聞かれるときは、
ユーザー名@bitbucket.org's password と言われる。
(鍵の場合 passphraseだったはず?)
・puttyで 秘密鍵を指定してBitbucket に接続すると、passwordを聞かれ、
アカウントのパスワードや秘密鍵のパスワードを入れても接続できない。

状況がどうもおかしい気がします・・・

574:570
08/11/04 19:53:47
解決しますた。

>・setting->repogitoryの設定ダイアログにて、Pathのdefaultを
> ssh://(ユーザー名)@bitbucket.org/(ユーザー名)/(project名)/
ここが間違ってました。
正しくは、
 ssh://hg@bitbucket.org/(ユーザー名)/(project名)/

以下に書いてありました。

Using SSH - Help ? bitbucket.org
URLリンク(www.bitbucket.org)

リポジトリページの https://をそのままコピペしてssh://に変えていたせいなのと、
上記ページの例をサンプルだからユーザーがhgになってるのかと思ってた・・・


575:デフォルトの名無しさん
08/11/05 23:58:24
mercurialはtransactionを意識しているのにfsyncしないのはなぜか?


576:デフォルトの名無しさん
08/11/06 18:55:10
SubversionからMercurialに変換したいのですが、
hg convert が動かない?のですが、何か必要なものがありますでしょうか?

> hg help convert
hg: unknown command 'convert'

> hg convert
hg: unknown command 'convert'

TortoiseHgの付属のhgです。

577:576
08/11/06 18:56:00
追記です。

> hg -v
Mercurial Distributed SCM (version 1.0.2+tortoisehg)

578:576
08/11/06 19:12:52
Mercurial.iniに以下を書き込んだら hg convert 自体はうごくようでした。

[extensions]
hgext.convert=


ConvertExtension - Mercurial
URLリンク(www.selenic.com)

ここ読め、オレ・・・

579:デフォルトの名無しさん
08/11/06 20:03:02
hg convertで、Subversionリポジトリからコンバートしているのですが、
もしかして、日本語ログを含んでいると壊れますか?

変換後のリポジトリをTortoiseHgのView Change Logで見ると、
アスキーのみのログのところでは問題なく履歴が見られますが、
日本語ログのリビジョンでは、まったく異なる履歴が表示されます。
(ファイル一覧、差分などがsvnのとは異なります)

これを回避して日本語ログのものもコンバートすることはできないのでしょうか?


580:デフォルトの名無しさん
08/11/06 20:28:33
>>579
TortoiseHgのことは知らないけど、Unix上では日本語ログもきれいに変換され
たよ


581:579
08/11/06 20:48:48
hgsvnも試したけど、hgimportsvnはおk。
hgpullsvnが、以下のエラーで途中死亡します orz

transaction abort!
rollback completed
abort: decoding near '縺阪↑縺・h縺・↓菫': 'utf8' codec can't decode byte 0x82
in position 138: unexpected code byte!

>>580
ええ、まじすかー。

svnの日本語ログが変なのかなあ?TortoiseSVNで入れたログのはずですけど

582:579
08/11/06 21:02:40
2008-09-15 - kokiyaの日記
URLリンク(d.hatena.ne.jp)

こちらのサイトの

> 2.hgsvnの文字コードの変更

を行うと上手くいったような気がしました。
TortoiseSVNでのログはUTFとかで入ってないのかなぁ?
今時間がないので後でまた確かめて見ます。


583:579
08/11/07 07:59:05
日記みたいで、すいません。

hgsvnでsvnからhgへの変換が上手くいったかなーと思ったのですが、
trunk指定すると branchesとかtags 考慮してくれない orz
trunkの親ディレクトリを指定すると、今度はtrunk,branches,tagsと全部できてしまうし・・・

やっぱり、svnと連携するためのものか、これは・・・。

hg convertでなんとか変換する方法を模索したほうがよいようですね。




584:579
08/11/07 08:36:28
>>579の件ですが、
どうやら、壊れると思っていたsvnリポジトリは、hg convert で変換後、
問題のあるリビジョンを hg log -r2 -p などで見ると特に問題ない様子でした。
TortoiseHgのView Changelogのバグ?みたいですね。

585:デフォルトの名無しさん
08/11/07 17:27:47
git rebase origin
を実行すると
README.txt: needs update
とでてくるのですが、これはどういう意味ですか。
README.txtは変更されているのですが、updateが必要というのがよくわかりません。
またこのような状態のときにgit rebase originを問題なく実行するにはどうしたらいいですか。


586:デフォルトの名無しさん
08/11/07 23:37:48
>>583
そもそもsubversionにタグやブランチがないのが原因

587:デフォルトの名無しさん
08/11/08 03:27:23
>>585
README.txtを変更したままなんじゃない?
変更してるファイルがある状態ではrebaseは出来ないよ。
README.txtをコミットするかresetするかstashに追い出すかしてからrebase。

588:デフォルトの名無しさん
08/11/08 04:22:58
>>586
cvs done wrong

589:デフォルトの名無しさん
08/11/08 10:25:48
もっとも使われているらしいsvnはhgやgitよりもそんなに優れているの?


590:デフォルトの名無しさん
08/11/08 11:56:21
優劣ではなくそれぞれに特徴があるんだから、好きなの使えばいい

591:デフォルトの名無しさん
08/11/08 18:40:11
ここ最近のsvnマンセー祭りに吐き気を感じているアルファギークは多いだろうね

592:デフォルトの名無しさん
08/11/08 18:49:39
gitを使うぜみたいな話は最近目に余るようになってきたが、
いまさらsvnマンセーなんて言い出してるトコあるか?


593:デフォルトの名無しさん
08/11/08 18:54:09
アルファギークとかいっちゃってるやつに吐き気を感じる

594:デフォルトの名無しさん
08/11/08 19:29:14
svnマンセーはないだろうw
素晴らしい所は、ToritoiseSVNの完成度の高さぐらいだな。

595:デフォルトの名無しさん
08/11/08 19:37:27
アルファギークとか、スイーツ(笑)と同類だろ

596:デフォルトの名無しさん
08/11/08 20:58:46
嫉妬丸出しのレスばかりで笑った

>>593
底辺で蠢いてる奴発見w

アルファギークはもう何歩先も行ってるからw

597:デフォルトの名無しさん
08/11/08 22:28:22
Pythonがsvnから移行したがってるようだけど
BazaarになるかMercurialになるか……もしかしてGitもあり?

598:デフォルトの名無しさん
08/11/08 22:28:58
集中管理の svn でも、「なんか変なツール」とか言われてるのに
このレベルで分散システムとか絶対無理だな、うちは

599:デフォルトの名無しさん
08/11/08 22:32:22
Windowsを軽視していないPythonなら、gitはまずないだろう。
MercurialがPython製ということを考えると、Mercurialが優勢ではなかろうか

600:デフォルトの名無しさん
08/11/08 22:35:59
>>599
BazaarもPython製ですよ

↓ソース。まだ検討始まったばかりだけど
URLリンク(www.python.org)

601:デフォルトの名無しさん
08/11/08 22:54:22
svnからの移行を検討するなら
 遅くてもレポジトリ効率で選ぶならbazaar
 そこそこ速くて使いやすさで選ぶならhg
 速くて機能で選ぶならgit


602:デフォルトの名無しさん
08/11/08 22:56:17
pythonで書かれているツールってことでbzrが有利だろうな

603:デフォルトの名無しさん
08/11/08 23:07:35
>>602
MercurialもPython製ですよ

604:デフォルトの名無しさん
08/11/08 23:34:12
Mercurialが優勢ということか

605:デフォルトの名無しさん
08/11/09 01:14:45
水銀党なのでhgの一択なのだが・・・

606:デフォルトの名無しさん
08/11/09 02:06:54
UNIX系で使って他(Windowsとか)を、それほど考慮しないとか
LinuxやLinusが個人的に嫌いじゃなかったら git
上記に当てはまるなら、他かな?
あてはまる人が結構いるから分かれるんだが

607:デフォルトの名無しさん
08/11/09 02:11:00
分散型って、ゲーム開発みたいに画像などのバイナリデータが容量のほとんどを
占めてスナップショットでも数ギガに行くようなプロジェクトでも、 Subversion より良いの?

それともプログラムソースがメインなプロジェクトに限って良いの?

608:デフォルトの名無しさん
08/11/09 02:18:36
607じゃないが、分散型に興味がある。
今までcvsとsvnしか使ったことがないが、どんなときにどんなメリットがあるのか。
またどんなデメリットがあるのか。
どんな点に注意して使えばよいのか。
そこら辺を具体的に解説したページはないだろうか?

「慣れろ」と言われるかも知れないが、
誰も知らない状態でいきなり本番プロジェクトに導入は出来ないし、
一人gitとかで試してみてもあんまり意味なさそうで・・・

609:デフォルトの名無しさん
08/11/09 02:27:43
分散型のメリット
すべてを手許に置けるのでオフラインででも開発可能でマージもバックアップも気楽にできる

分散型のデメリット
オリジナルの証明が難しい(事実上無い)

610:デフォルトの名無しさん
08/11/09 02:34:01
結局巨大バイナリを一番上手に扱えるのはどれ?
どうせテキストなんかサイズも小さいしある意味バイナリだし。

611:デフォルトの名無しさん
08/11/09 03:48:00
>>607-608
テキスト向きかバイナリ向きかっていうのは集中型か分散型かの差っていうより
ツールごとの差が大きい。開発形態が伽藍的かバザール的か、開発者が一箇所に
いるのか離れてるのかって観点で選んだほうがいいと思ってる。

会社である程度きっちり設計して2~3人で実装していくって形態ならsvnで十分まわせてるけど、
開発者が数人以上いるOSSのコントリビュータって立場のときはまじ分散型導入してくれって感じ

612:608
08/11/09 07:13:50
>>609
「オリジナルがない」という点は大きなデメリットだと思うのですが使用していてどうでしょうか?
皆が同じソースを見ることが出来ない=AさんとBさんで同じソースについて認識が異なってしまう ということで。
Aさん:rev329で試験したけど、これこれこういう動作がおかしいよ。直しておいて。
Bさん:それrev332で修正済みです
みたいな会話をどうやるのかがわからない。
仕事の現場なら非常に良くある話だと思うのですが。
メリットの方はsvn+svk(使ったことはないですが)でも可能なような。

>>611
仕事のプロジェクトなので伽藍方式オンリーですね。
開発者は大体同じ拠点にいますが、東京3人北海道3人大阪・・・ということもありました(svnで問題なく回っていました)。
2~3人で実装していく現場ってのは経験無いですなぁ。実装チームは5~10人が普通。

613:デフォルトの名無しさん
08/11/09 07:31:10
>>612
あなたのような「分散型使ってないけどどうなの?」っていう人は定期的に見かけるけど
チュートリアル見ながら触ってみるぐらいやってみたらどうだろう。たいした手間じゃないよ。

>メリットの方はsvn+svk(使ったことはないですが)でも可能なような。
私はGitの前にsvkを使ってたけど、svkは遅すぎると思った。

あとオリジナルが無いという点については、Gitの場合はツリーに一意なIDが付くので問題ないと思う。

614:デフォルトの名無しさん
08/11/09 07:35:45
>>612
> 「オリジナルがない」という点は大きなデメリットだと思うのですが使用していてどうでしょうか?

オリジナルは決めとけばいいんじゃないか。集中管理のときと同じように、オリジナル用のサーバーってのを。
議論はそのサーバーにあるものに対してする。
push し忘れとか、pull した後 update し忘れとかが当面の問題になるんじゃないかなあ。

Mercurial 導入を提案しようかと自分で試用中だけど、ほかの人たちが使いこなせるとは思えないので、
今までどおり CVS にしようと思ってる。プロジェクト(リポジトリ)ツリーの好きなところからちぎって
持ってきて組み合わせられるような SCM はほかにはなさそうだし。

615:デフォルトの名無しさん
08/11/09 08:50:25
オリジナルが無いって語弊があるんじゃない?
svnと同じように中央レポジトリを作ればそれがオリジナルになる。

616:デフォルトの名無しさん
08/11/09 09:11:32
>>605
そいやmercurialだけ単独スレないな

617:デフォルトの名無しさん
08/11/09 12:03:16
Linux板にgitスレあったのか。CVSはUNIX板だし…。
スレも分散管理ですか。

618:デフォルトの名無しさん
08/11/09 12:12:36
>>616
何がそいやなんだw

619:デフォルトの名無しさん
08/11/09 12:22:20
どうもありがとうございます。
>>587
>変更してるファイルがある状態ではrebaseは出来ないよ。

この制約はどういう理由からきてるんでしょうか。
変更したファイルがあっても merge はできるんだから、rebase ぐらいできてもよさそうですが。


620:デフォルトの名無しさん
08/11/09 12:26:37
上の話が本当なら Python が hg か bzr になるかってのは試金石だな

621:デフォルトの名無しさん
08/11/09 13:31:09
リトマス?

622:デフォルトの名無しさん
08/11/09 13:40:35
普通に考えて分散型の方が良いとしか思えないなあ

623:デフォルトの名無しさん
08/11/09 13:51:49
>>622
bazaar=分散型とはいえない

624:デフォルトの名無しさん
08/11/09 14:11:09
>>623
くわしく

625:デフォルトの名無しさん
08/11/09 14:18:44
>>608
分散型はローカルでもバージョン管理ができるというメリットがある。

よくプロジェクト全体でSVN使っていてローカルではRCSというような
使い方をしている人がいるが、分散型なら1つのシステムで対応できる。

626:デフォルトの名無しさん
08/11/09 15:00:35
>>625
>よくプロジェクト全体でSVN使っていてローカルではRCSというような
>使い方をしている人がいるが、分散型なら1つのシステムで対応できる。

GitやMercurialは、RCSの代わりに使えるのがいいよね。
プロジェクト全体はSVNで管理して、自分用のブランチはGitやMercurialで管理するのが楽でいいや。

627:デフォルトの名無しさん
08/11/09 15:10:32
>>626
Bazaar も仲間に入れてあげてください(´・ω・`)

628:デフォルトの名無しさん
08/11/09 15:14:54
>>624
URLリンク(doc.bazaar-vcs.org)

629:デフォルトの名無しさん
08/11/09 15:27:23
俺いままでずっとバザールって読んでたよ
ダサイ名前だと思ってた

630:デフォルトの名無しさん
08/11/09 15:46:53
分散型はバージョン管理の入門用にうってつけなんだよね
スタンドアロンで使う場合最も敷居が低い

631:デフォルトの名無しさん
08/11/09 15:54:20
>>629
え、違うの?なんとなくエリックレイモンドの
「伽藍とバザール (The Cathedral and the Bazaar)」
から来てるんじゃないかと思ってたが。

632:デフォルトの名無しさん
08/11/09 16:07:50
>>618
そういえば →(口語化)→ そういやぁ →(短縮)→ そいや
かけ声じゃないよw

633:デフォルトの名無しさん
08/11/09 16:11:27
>>619
rebaseは、reset + cherry-pick×n回 を自動化してるだけだから、マージとは違う。
たしかに、現在の変更をstashしてrebase後にstashから戻す、という作業も、
rebaseで自動でやってくれれば、もっといいかもしれないね。

634:デフォルトの名無しさん
08/11/09 17:26:06
URLリンク(www.thefreedictionary.com)
敢えてカタカナにするなら、「バザール」以外にどうしろというのだろう。

635:デフォルトの名無しさん
08/11/09 17:30:15
ござーる


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