トップページ⇒tech
986コメント302KB

【分散型バージョン管理】 Mercurial 【hg】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/08/25(火) 23:02:30
分散型バージョン管理システムMercurialについてのあれこれ

公式
http://mercurial.selenic.com/wiki/

日本語チュートリアル
http://mercurial.selenic.com/wiki/JapaneseTutorial

Mercurial - Wikipedia
http://ja.wikipedia.org/wiki/Mercurial

Mercurialではじめる分散構成管理
http://gihyo.jp/dev/feature/01/mercurial/0001

TortoiseHG
http://tortoisehg.sourceforge.net/
0232デフォルトの名無しさん2010/04/14(水) 12:50:45
     |┃三        / ̄\
     |┃         |     |  
     |┃          \_/
  ガラッ |┃            |
     |┃  ノ//    /  ̄  ̄ \    
     |┃三    /  ::\:::/::  \ 
     |┃     /  <●>::::::<●>   \.   
     |┃     |    (__人__)     | 
     |┃三   \    ` ⌒´    /  
     |┃三   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ \
0233デフォルトの名無しさん2010/04/14(水) 13:24:54
>>231
だめ、fixutf8が読み込まれる前に、まだUTF-8になっていないコマンドライン引数を
使ってしまっている部分がある。
0234デフォルトの名無しさん2010/04/14(水) 13:26:11
bzr-hg を使うと、日本語Windows上でもUTF-8のファイル名が入ったhgのブランチを持ってこれる。
0235デフォルトの名無しさん2010/04/14(水) 18:32:50
>>233
それでなにか問題なのか?
0236デフォルトの名無しさん2010/04/28(水) 14:29:41
TortoiseHgはQtに移行するのか。
0237デフォルトの名無しさん2010/05/04(火) 21:39:26
Mercurial 1.5.2 and TortoiseHg 1.0.2 released
0238デフォルトの名無しさん2010/05/10(月) 01:00:25
cygwin版のhgってPythonスクリプトのhgになっていてhg.exeでないせいで
他のWindowsプログラムから使いにくいんですが、上手く扱う方法ないんでしょうか?
cygwin版hg.exeないのかな?
cygwin bash上からは使えるけど、cmdからは使えなかったり、NetBeansなどから設定できなかったりします。
0239デフォルトの名無しさん2010/05/10(月) 07:42:39
>>238
PATH を通せばいけた気が。
0240デフォルトの名無しさん2010/05/10(月) 11:30:06
cygwin 版使ってないけど、
@python C:\cygwin\bin\hg %*
とか書いた hg.cmd をパスの通ったとこに置いとけばいいんじゃない?
0241デフォルトの名無しさん2010/05/13(木) 13:00:15
>>239
PATHは通してますが、オプション設定でOKするとMercurial見つからないと行ってくる

>>240
いけるかなー、試してみます
0242デフォルトの名無しさん2010/05/13(木) 17:18:08
cygwin 使いたいってファイル名の文字コード対策?
そういえば、Eclipse のアナウンスがあったけど、この件どうなったんだろう?
0243デフォルトの名無しさん2010/05/16(日) 08:50:16
?2010-05-13 Mercurial 1.5.3 and TortoiseHg 1.0.3
0244デフォルトの名無しさん2010/05/19(水) 01:19:33
branchのrenameって無理?探しても見当たらなかった
0245デフォルトの名無しさん2010/05/19(水) 06:41:03
convertじゃないと無理なはず。
nodeidをconvertしないオプションがあるからそれを使えばいけるかもしれない。
0246デフォルトの名無しさん2010/05/20(木) 00:45:19
>>245
ありがと、convertってコマンド自体がないけど、
convertextensionでよいの?
0247デフォルトの名無しさん2010/05/20(木) 02:30:20
>>246
Yes.
hg convert --help でいろいろ出てくるんで、試してちょ。
0248デフォルトの名無しさん2010/05/20(木) 02:49:48
convertは過去のブランチ全部変えちゃう最終手段。
ただ単に hg branches で出したくないだけだったら、新たにブランチ作って、
元のはcloseするのが正しいやり方のような気がする。
0249デフォルトの名無しさん2010/05/22(土) 10:20:04
インストールはエラーなく終了し、コマンドプロンプトからも問題無く
作業できるんだけど、エクスプローラーの右クリックメニューから
どの項目を選択しても、GUIが全く起動せず無反応。
そういう不具合ってうちの環境だけ? 再インストールしてもダメ。
コマンドプロンプトからaddとかするとアイコンオーバーレイは
普通に動作してる。

Win 7 64bitで、ToirtoiseSVNも入ってる環境。
TourtoiseHgをこのマシンに入れたのは初回。
0250デフォルトの名無しさん2010/05/23(日) 02:05:51
二つ違うアプリケーションがあるとして、
普通は2つのリポジトリを作るんだろうけど、
ある数個のプログラムだけ共通処理として同じソースを利用している場合、
Aで共通処理を修正したらBにもマージって
ってことが出来ないから、
1つのリポジトリでA,Bをブランチ作った。

でも、やってみると、その共通ソース以外のも全部マージしなくちゃならないハメになって困ってる。

みんなこういうときどうする?
0251デフォルトの名無しさん2010/05/23(日) 04:19:33
言語にもよると思うけど、共通処理を別リポジトリに分ける。
それで、実用性が良く分からないけどsubrepoを試すか、ツールで頑張る。
1つのリポジトリ2つのブランチの場合、Transplant extension で頑張る。
0252デフォルトの名無しさん2010/05/25(火) 20:58:10
1週間前ぐらいからmercurial使い始めました。
Subversionしか知らなかった自分としてはあまりの手軽さに感激してるのですが
一点どうしても不満な点があります。

例えば、dir01/dir02/dir03という階層があり、
dir01をバージョン管理しているとします。

この状態で、Subversionではdir03のみをチェックアウトして
ごにょごにょ操作したのち元のリポジトリにコミットすることができます。

しかしmercurialではdir01以下を丸ごと扱うしか術が無いようです。
.hgディレクトリもトップディレクトリにしか無いですね。

具体的には、
会社でサイズの大きなファイル群をmercurial管理するようにしたのですが、
自宅でも作業したいのです。
しかし自宅では、プロジェクトのごく一部しか修正することは無いので、
その部分のみを取り出して自宅用の小さいリポジトリを作りたいのです。
こんなことは実現可能でしょうか?
0253デフォルトの名無しさん2010/05/25(火) 21:15:11
dir03 で専用の管理を作ればいいんじゃない?
dir01でdir03の管理部分を .ignore 指定して 

0254デフォルトの名無しさん2010/05/25(火) 22:12:45
>>252
すでにMercurialに全部突っ込んだのなら、簡単にやる方法は無い。
こういう場合、convertでそのディレクトリだけ抜き出すことができる。
これに限らず、合体は簡単、分離は大変なので、なるべく小さな単位で管理した方が楽。
251 にも書いてあるが、subrepoという手段もある。
0255デフォルトの名無しさん2010/05/25(火) 22:35:29
>>252
Mercurialは、チェンジセット指向で、
Subversionの個々のファイル、ディレクトリ単位でコミットできることの方が
おかしいということにそのうち気付くと思う。
重いのは最初のcloneだけで、その後のpull, pushはめちゃくちゃ速いので、
無理に分ける必要は無いのでは?
0256デフォルトの名無しさん2010/05/25(火) 23:35:50
>>255
Subversionもチェンジセット指向だし、
Mercurialも個々のファイルごとにコミットできたりするよ。

>>252
とはいえ、Mercurialなら自分は >>254 と同感だけど。
0257デフォルトの名無しさん2010/05/26(水) 22:23:47
ブランチmergeして--close-branchしたら、
defaultのログにブランチの細かなコミットログ要らないよなーって思うんだけど、
オプションはどれなんだ!
02582522010/05/27(木) 00:48:34
>>253
>>254
>>255
>>256
皆様ありがとうございます。
とても参考になりました。

convertというのを調べてみたら拡張機能のようですね。
やはり基本はリポジトリをまとめて扱うべきなのかな。

なるべく小さい単位で管理するというのは勉強になりました。
ここら辺はsubversionと思想が逆ですね。
0259デフォルトの名無しさん2010/05/27(木) 13:29:29
>>257
hg log --only-branch
0260デフォルトの名無しさん2010/06/16(水) 02:32:03
tortoisehgのshelveって未バージョン管理下は対象外?
ステータス:Aのものがshelveできない。

あと、rollback時。
tipで改造してshelveしてまた改造してロールバックしてshelveに戻すと
ファイルのバージョンがshelve時点と異なる。
0261デフォルトの名無しさん2010/06/16(水) 09:25:19
shelveか。亀hgで使えるのか?
最近の亀hgはMQもびっくりするくらい楽に扱えるからな。
0262デフォルトの名無しさん2010/06/17(木) 02:02:27
MQ対応イイかんじだよね
0263デフォルトの名無しさん2010/06/18(金) 03:21:17
そういえば亀ってなんでQtに切り替えようとしているの?
0264デフォルトの名無しさん2010/06/18(金) 07:19:00
マルチプラットフォーム化できるからだろ
0265デフォルトの名無しさん2010/06/18(金) 08:16:58
gtkもマルチプラットフォームだけど、Macへのインストールが大変だかららしいよ。
あと亀バザーとかいろいろ先輩もいるかららしいよ。
0266デフォルトの名無しさん2010/06/18(金) 20:23:17
>>263
http://groups.google.com/group/thg-dev/browse_thread/thread/f11df410861fbe53#
0267デフォルトの名無しさん2010/06/20(日) 07:31:19
MQ って何がそんなに便利なん?
0268デフォルトの名無しさん2010/06/20(日) 09:48:10
>>267
MQそのものの使い方はさておき、bitbucketにMQだけforkできて容量節約できると思う。
githubで同じことできる?
0269デフォルトの名無しさん2010/06/20(日) 14:44:46
自分のところだけデバッグモードで動かしたいとか
そういうちょっとしたことをやるのには重宝してる。

あと、他の人のパッチとのマージ前に自分のところで作業するときに
パッチが2個あるとどっちがどっちかわからなくなるけど
明示的に2つのコミットに分離されていると変更点がすぐわかる

が細かいところで作りこみが甘い

たとえば最初にコミットした場合には[mq]ってタイトルに自動的について
MQだとわかるのに
一回はずしてまた再適用するとImportedとか違うタイトルになるし
MQをコミット化するとメッセージが変えられないし
そもそもパッチにコメントつけたいけどパッチ名とコメントが一緒なのであれだし

とかゆいところに手が届かないが、最初の2点が便利なので
ほどほどに使ってる。

gitの場合コミットのやり直しができるのでこういう機能はいらないんだろうけど
Mercurialはサクサク動くし自分には直感的に感じるのでMQオフィシャル化はありがたい。


0270デフォルトの名無しさん2010/06/21(月) 10:17:28
>>269
> MQをコミット化するとメッセージが変えられないし
コミット化っていうのがqfinishのことだったら、qimport -r tipで取り込ん
でqrefreshでメッセージ変えてqfinishすればいいと思うけど違うの?
0271デフォルトの名無しさん2010/06/22(火) 03:39:10
MQは難しすぎて、さっぱり理解出来ない。
0272デフォルトの名無しさん2010/06/22(火) 07:30:57
strip, rebaseも内部ではMQつかっているよね?
0273デフォルトの名無しさん2010/06/22(火) 07:50:19
>>272
stripを提供しているのはMQそのもの
0274デフォルトの名無しさん2010/06/22(火) 10:10:16
>>271
gitよりは簡単だよ。
0275デフォルトの名無しさん2010/06/22(火) 10:29:00
gitはチェンジセットを差分で持っていないから
いろんなことが出来るってのは分かるけど、その分怖いよね。
hgはMQが別になっているし、無効にも出来るから安心。
0276デフォルトの名無しさん2010/06/29(火) 04:57:57
XP に TortoiseHG 入れて UTF-8 な日本語ファイル名を使いたくて hg-fixutf8 とか入れてみたんだけど、
右クリックメニューからファイルを追加しようとするとウィンドウが凍りつく。
そのまま強制で閉じてみたら
'utf8' codec can't decode byte 0x8e in position 12: unexprected code byte
とかいう感じのエラーが表示される。

ttp://bitbucket.org/stefanrusek/hg-fixutf8/src/tip/README
なんかには
... Shell integration does not work perfectly, since ...
とか書いてあるけど、そうゆこと?

それとも、なんか俺っちの設定が不完全なの?
Torotise-HG は 1.0.4
hg-fixutf8 は以下のをつかってます。
@  changeset:   16:baf283ab9f92
|  tag:         tip
|  user:        Stefan Rusek <[email protected]>
|  date:        Mon Apr 12 23:11:41 2010 +0200
|  summary:     Disable fixutf8 translations when the console does not have a CP associated with it.
0277デフォルトの名無しさん2010/06/29(火) 07:29:14
右クリックはC++なんで厄介。今のところutf-8で右クリックはやめておいた方が良い。(ASCIIはOKだと思う。)
0278デフォルトの名無しさん2010/07/02(金) 09:48:33
2010-07-01 Mercurial 1.6 and TortoiseHg 1.1 released
0279デフォルトの名無しさん2010/07/02(金) 12:05:15
>>276
fixutf8はもう死んでるので・・・
0280デフォルトの名無しさん2010/07/02(金) 17:53:06
ぼちぼちpy3kが気になるんだけど。
0281デフォルトの名無しさん2010/07/03(土) 01:26:27
Google SoC 2010 で、MercurialのPy3k対応プロジェクトやるよ。
0282デフォルトの名無しさん2010/07/03(土) 07:51:03
>>281
これで日本人は幸せになれる?
0283デフォルトの名無しさん2010/07/04(日) 01:20:12
>>282
いや、ファイルパスはバイト列というのはMercurialの方針であって、
Python3でも変わらない。
BazaarはファイルパスをUnicode文字列として扱ってるから、
Python3になると実装が楽になりそうだけど。
0284デフォルトの名無しさん2010/07/13(火) 15:16:46
2010-07-12: TortoiseHg 1.1.1 (with Mercurial 1.6+23) released
0285デフォルトの名無しさん2010/07/18(日) 16:54:57
お前ら質問があります。

Windowsで作ってた中のファイル名がSJISで格納されているリポジトリのファイル名を
UTF-8のファイル名に修正したいのですがいい方法ないでしょうか?
0286デフォルトの名無しさん2010/07/18(日) 17:13:38
>>285
http://mercurial.selenic.com/wiki/FixUtf8Extension
0287デフォルトの名無しさん2010/07/18(日) 18:31:14
>>286
サンクス
これでいけそうです

.hgrcでの[extensions]の指定で、
パス区切りを\にするとhgコマンドで、
*** failed to import extension fixutf8 from (パス名)\fixutf8.py: No module named win32helper
とエラーがでてしまうので、/で指定したらいけました
0288デフォルトの名無しさん2010/08/02(月) 13:59:16
2010-08-01 Mercurial 1.6.1 released
0289デフォルトの名無しさん2010/08/03(火) 07:45:38
2010-08-02 Mercurial 1.6.2 released
0290デフォルトの名無しさん2010/08/03(火) 16:19:54
2010-08-03 Mercurial 1.6.3 released
0291デフォルトの名無しさん2010/08/03(火) 16:23:50
なにが起きているというの・・・?
0292デフォルトの名無しさん2010/08/03(火) 16:32:16
>>290
stableにタグが付いていないし、mpmは 時差-05だからネタじゃない?
0293デフォルトの名無しさん2010/08/03(火) 16:46:53
Mercurial 1.6.3は見当たらないけど、TortoiseHg 1.1.2なら来てますよ
0294デフォルトの名無しさん2010/08/12(木) 13:14:05
Status of the "port" of Mercurial to Py3k
http://mercurial.selenic.com/wiki/Py3kPort
0295デフォルトの名無しさん2010/08/21(土) 15:36:41
branch削除する方法は無いでしょうか?
ゴミbranchをhg branchesコマンドに表示しないようにしたいのです。
ちょこっと作業にbranch切りたいのですが
削除できないからリポジトリ汚すのが嫌なので
結局cloneすることになるんですよね。。
0296デフォルトの名無しさん2010/08/21(土) 15:57:30
>>295
なんかいろいろとやり方はあるみたいだよ
http://mercurial.selenic.com/wiki/PruningDeadBranches
0297デフォルトの名無しさん2010/08/21(土) 16:15:28
>>295
hg branches で表示させないことが目的なら close が一番。
ってwiki見たら一番になっていた。

ちょこっと作業が目的ならMQ。
0298デフォルトの名無しさん2010/08/21(土) 16:41:01
また MQ かよ。やっぱ MQ 覚えなきゃいかんのか?
02992952010/08/21(土) 19:08:32
>>296
>>297
ありがとうございます。素晴らしいサイトですね。
参考にさせてもらいます。
gitに乗り換えようとも思ってたけどまだ早まらなくてもよさそうだ
0300デフォルトの名無しさん2010/08/21(土) 21:50:41
git,svn感覚だとブランチは消せるんだけど、cvs感覚だと消したら困るんだよね。
gitの場合まずローカルブランチを作ってだから余計に感じるかも。
bookmarkという拡張があるからMQよりもこっちの方がいいかもしれない。
0301デフォルトの名無しさん2010/08/27(金) 08:09:13
2010-08-26 Mercurial 1.6.3 released
0302デフォルトの名無しさん2010/08/27(金) 12:15:22
mercurialはいつになった日本語ファイル名を扱えるようになるの?
0303デフォルトの名無しさん2010/08/27(金) 12:21:40
>>302
日本語Windows(cygwin除く)に限った話では、
Mercurial本体とToritoiseHgのpython部分についてはwin32mbcsとfixutf8の拡張で使えます。
ファイル名はバイト列なので、Unix/Linuxでは問題ありません。
Macはまた別の問題があるようです。
0304デフォルトの名無しさん2010/08/27(金) 12:42:31
Macの問題はNFD/NFCだね。
Unix/Linuxだって、UIMがかな漢字変換の結果NFD/NFCのどっちを端末に送るかなんて
決まってないんじゃないか。たまたま揃ってるから上手く行ってるだけだろ。
0305デフォルトの名無しさん2010/08/27(金) 13:17:43
要は bzr 並にならないと話にならんということだ。
0306デフォルトの名無しさん2010/08/27(金) 13:26:48
bzrとは目指しているものが違います。
0x5c問題についてはshift-jisとbig5が対象ですが、
fixutf8については全世界が対象なので、こちらをどうするかは課題でしょう。
0307デフォルトの名無しさん2010/08/27(金) 14:27:10
http://mercurial.selenic.com/wiki/Py3kPort
のExisting problemsってところで、
> There are some python 3 APIs that only support (unicode) string arguments
略
> All of them must be of the string type.
ってあって、そこまでUnicode嫌いか?って思ってしまう。
0308デフォルトの名無しさん2010/08/27(金) 15:13:24
そりゃあ128文字あれば十分事足りてしまう連中にとって
Unicodeは悪ともいえる存在じゃないか。
0309デフォルトの名無しさん2010/08/27(金) 16:58:47
>>304
> Unix/Linuxだって、UIMがかな漢字変換の結果NFD/NFCのどっちを端末に送るかなんて
> 決まってないんじゃないか。たまたま揃ってるから上手く行ってるだけだろ。
Mercurialはinodeに書かれたバイト列としてのファイル名を
.hg以下の*.iに素直に書いているだけですが。
0310デフォルトの名無しさん2010/08/27(金) 17:13:01
>>309
だから、他のIMと違うがUTF-8としてはValidなエンコーディングを吐くIMがひとつ混じったら
Macと同じ問題がLinuxでも出るだろって話なんだけど
0311デフォルトの名無しさん2010/08/27(金) 18:35:29
>>310
それってIMの問題であってMercurialの問題じゃないんじゃないですか?
0312デフォルトの名無しさん2010/08/27(金) 18:45:08
だめだ、ファイル名=バイト列脳には話が通じねえw
0313デフォルトの名無しさん2010/08/27(金) 18:51:34
Linux上では"か゛.txt"と"が.txt"を別に扱いますよね。
これを同じファイルとして扱えいう主張ですか?
ならば、"AAA.txt","aaa.txt","AAa.txt"を全部同じファイル名として扱わないといけないのですか?
0314デフォルトの名無しさん2010/08/27(金) 18:54:03
>>312 がんばれw
0315デフォルトの名無しさん2010/08/27(金) 19:02:33
>>313
ちょっとまて、独立した濁点は元々「別の文字」扱いだろw
合成用の濁点は独立した濁点とは別だw

……ってか、>>314後は任せた俺はもう知らん。
0316デフォルトの名無しさん2010/08/27(金) 19:50:50

# -*- coding: utf-8 -*-

import unicodedata
nfc = unicodedata.normalize("NFC", u"が")
nfd = unicodedata.normalize("NFD", u"が")
print nfc
print nfd

open(nfc,"w")
open(nfd,"w")

$ python test.py
が
か

$ find .hg/store/data/
.hg/store/data/~e3~81~8c.i
.hg/store/data/~e3~81~8b~e3~82~99.i
0317デフォルトの名無しさん2010/08/27(金) 19:53:19
やっぱり、NFDの「が」SJISの2chじゃだめか?
0318デフォルトの名無しさん2010/08/29(日) 15:13:14
ext3やufsはファイル名をバイト列として扱うから、
e3 81 8c と e3 81 8b e3 82 99 を別々のファイル名として扱える。
もしbzrのようにUTF-8とみなすとそれらを別々のファイル名として扱えない。
ext3などは大文字小文字を区別するけど、FATは大文字小文字を区別しない、
というのも似た問題である。

と>>313は言いたいんだろう。
ファイル名をUTF-8として扱うオプションくらいあってもいいと思うけどな。
0319デフォルトの名無しさん2010/09/01(水) 18:11:22
つってもそれはext3やufsの話で、他のファイルシステムでは当然違うわけで……。
Linuxの開発に使うことが第一義のgitならともかく……。
0320デフォルトの名無しさん2010/09/01(水) 18:18:10
HFS+だとNFDに似たApple独自の正規化をしたりするしね
あとファイル名をUnicodeとして扱うのと正規化するのは別の話
0321デフォルトの名無しさん2010/09/02(木) 08:36:25
大文字小文字の区別するかしないかはファイルシステムの構造云々じゃないなそもそも
0322デフォルトの名無しさん2010/09/02(木) 09:41:27
>>321
FATは8.3形式とそれ以外の違いがある。
FATのロングファイルネームとNTFSは大文字・小文字を区別はする。
でも、AAA.txt がすでにある場合、aaa.txt は作れない。
0323デフォルトの名無しさん2010/09/02(木) 09:45:00
Windowsの場合さらにやっかいなのが、コロンとか'nul'がファイル名に使えない。
確かこの対応で、Mercurialは1.1でリポジトリフォーマットがマイナーチェンジしている。
0324デフォルトの名無しさん2010/09/02(木) 09:47:12
NTFSはファイル名をUTF-16で記録してるから、そもそも変換必須で
ファイル名のバイト列を保つんだ!ってのが無理な話のような
0325デフォルトの名無しさん2010/09/02(木) 10:05:27
さらにさらにやっかいなのが、ファイル名の先頭が半角空白の場合・・・
0326デフォルトの名無しさん2010/09/02(木) 10:56:52
拡張子のみ(.で始まるファイル)の場合も
0327デフォルトの名無しさん2010/09/02(木) 11:05:12
.で始まるファイルって何か問題ある?
Explorerで作成ができないだけで、それ以外は問題ないと思うけど。
0328デフォルトの名無しさん2010/09/02(木) 12:41:42
Linuxの(cygwinもあった気が)のmkisofsはオプション間違うとファイル名が削られたり、化け化けになったりする。
LinuxのFATのマウントオプションもいろいろある。
sambaも細かく大文字・小文字を制御できたはず。
このようなことを、VCSがやるべきかやるべきでないか、だと思う。
0329デフォルトの名無しさん2010/09/02(木) 13:08:08
>>308
> そりゃあ128文字あれば十分事足りてしまう連中にとって
> Unicodeは悪ともいえる存在じゃないか。
欧米人にとって、UTF-16は2倍、UTF-32は4倍になる。
このデメリットを持ち出されると・・・
UTF-8は欧米人にとっては非ASCIIだけが2バイトになるからそこそこ受け入れらていると思う。

0330デフォルトの名無しさん2010/09/02(木) 17:19:03
>>328
何も考えないなら考えないで、単に「何も考えてませーん」でいいとも思うんだよな……。
(その場合bzrに大きく劣っているのを認めることになるが)

なんか無理して>>307みたいにファイル名=バイト列を貫こうとしてる気がする。
0331デフォルトの名無しさん2010/09/03(金) 01:17:06
日本人は欧米人って一括りにするが
独仏ですらアクセント付き記号を使うし、東欧を含めると Latin-1 には収まらないし。
アメリカだけでも、ユーロ記号やコピーライト記号が入ってくるとね。
■ このスレッドは過去ログ倉庫に格納されています