##今のciseが持っている「言語定義/レンダラAPI」って将来的に独立させる予定がありますか?
#C like な構文を持つ言語だと結構汎用的に使えそうなのですが、cise.scm に builtin macro も含まれちゃっているので、分けてもらえると再利用しやすいです。(今は必要な部分だけコピペして使っています)
#汎用的な部分を切り出すのは賛成です。私自身は他に使う予定が無いので優先度は低いですが、パッチの形で頂ければ取り込みます。
#今Javascript版をつくろうとしているので、上手く切り出せたらパッチを送ります。
#さてsf.net上のsvnレポジトリをgitに移行してみようかと思うのだが、 git-svn で素直にcloneすると /branches /tags /trunk っていう階層がそのままgitのソースツリーに移行しちゃうな。trunkをmasterに、branches以下のsvnブランチをgitのブランチに、そしてtags以下の情報をgitのtagに、賢くマップすることはできんものかのう。
#git svn clone --stdlayout するとsvnのbranchとtagをgitのリモートトラッキングブランチにしてくれるのか。けど全部一気にローカルに持って来れないかな。
#公式には無いっぽい? ぐぐると自作スクリプトでやってる人多いな。一般にはリモートブランチからローカルブランチへの命名規則が自動的に定められないからかな。でもsvnからのインポートであることがわかってればできそうなものだが。
#全部一気に の定義によりけりですが、ローカルブランチにしたくなければ、手で.git/configを編集すればOK
#[svn-remote "svn"]
url = https://gauche.svn.sourceforge.net/svnroot/gauche
fetch = Gauche/trunk:refs/heads/svn/trunk
branches = Gauche/branches/*:refs/heads/svn/*
branches = Gauche-gl/{trunk}:refs/heads/svn/gl/*
branches = Gauche-gl/branches/*:refs/heads/svn/gl/*
tags = Gauche-gl/tags/*:refs/tags/gl/*
tags = Gauche/tags/*:refs/tags/*
#うちではこうしてます。(svn由来のブランチやタグはsvn/をprefixする)
#「ローカルブランチにしたくなければ」ではなくて、subversionリポジトリはobsoleteにするので、あるものを全部一旦ローカルに持ってきたいのです。それをもう一回cloneしてsubversionリポジトリへの参照を消して、改めてサーバにpushしようかと。
#いやまて、cloneの時点で情報は全部来てるわけだから、単にブランチの名前づけだけの問題なのかな?
#svnsyncでローカルにミラーを作っておくのが一番安心。。
#そっからgit svn cloneしてたとしても、ローカルのsvnブランチへのリモートトラッキングが入りませんか?
#↑のconfigでやれば全部普通のgit branchやtagに見えます。svnをやめたければconfigから消してsvnのことは忘れるだけ。
#fu-mu.
#ああ gitには"部分チェックアウト"みたいなsvnのハイカラな機能は無いので、git branch -avして見えるようなものは全部手元に来てます(ネットワークに繋っていなくてもcheckoutできる)。
#configのbranches云々を消すと、単に「トラックしてるよ」って情報が消えるってわけですかね。
#トラックしてるよ 情報はconfigの別の場所に書かれるので、それを消す必要があります。(コマンドでも消せるけど)
#どこですか? 試しに[svn-branches "svn"]セクションのbranches消してみたんだけれど、remotes/* は依然としてリモートブランチになってるなあ。これはどっかにその情報があるのか、それとも単に'remotes'という名前のせい?
#remotes/*以下にあるとリモートブランチあつかい。
#えーと、refs/remotes/*がリモートブランチ、refs/heads/以下が手元のブランチ、refs/tags以下がタグ。
#↑のconfigではrefs/heads/以下にsvnのブランチを配置してるので手元ブランチに見えるという寸法。
#なるほど。.git/refs 以下ってのは直接いじったりしていいもんですかね? それとも既にrefs/remotes/* に来ちゃってるやつを refs/heads に移すようなコマンドがありますか?
#普通にsvn clone --stdlayoutするとrefs/remotes/以下に配置されるはず。
#スクリプトを書くしか。。ファイルになってれば直接コピーしても動くけど、packされてることもあります。
#(.git/packed-refs に入ってることもある。)
#今WiLiKiで試しにやってみてるんですが、packはされてない模様。でもちゃんとやるなら、git svn init --stdlayout → edit .git/config → git svn fetch 、ってな手順ですか?
#ちゃんとやるならっていうか、確実に移行したいなら、かな。
#initだと自動的にcloneしちゃうので、git init→手で.git/configを書いて→git svn fetchが安全。
#ああ了解。ありがとうございます。
#お、手元では綺麗に出来てる感じ。
#無事移行できたっぽいです。ありがとうございました > okuokuさん
#(display '#0=(:a #0#))を評価するとGaucheが死んでしまうんですが、バグでしょうか。
#あれ、displayって循環リスト表示できない?
#ほんとだ
#displayは循環リスト対応してなかったような。表示したければwrite/ssで。
#了解です。
#displayってそもそもread/write invarianceを期待するものじゃないですし。
#なるほど。
#秋葉原の有隣堂,Ruby関連書籍平積みの並びに,なぜかSchemeの手習いが平積みされてました
#Rubyistカッコの道に誘惑せんとする陰謀?
#Rubyistをカッコの道に〜 なんか抜けた
#Schemeの手習いって、まだ手に入るんですね。
#私は持っていますけど。一時期絶版になったんでしたっけ?
#NendoでSchemeの手習いの例が全て動いたら、Rubyistをカッコの世界に勧誘しやすいかもと思った。
#原著に加筆された新版が出て、訳本も新しい訳で先日出版されたんですよ。
#へー
#へー(パート2)
#そうだったのか。