【bzr】Bazaarでバージョン管理 Rev 2
bzr revert
3 :
前スレ1 :2010/02/12(金) 18:52:13
前スレ主だが、祝2スレ目 誰か簡単なbzrイントロをテンプレとして貼ってくれると助かる。
4 :
デフォルトの名無しさん :2010/02/12(金) 22:47:38
>>1 乙でした!
もっとユーザが増えてくれると嬉しいね。
8 :
デフォルトの名無しさん :2010/02/17(水) 17:41:05
apache ftpserverでFTPサーバをたてて、user:admin pass:adminでアクセスできるようにして
(FFFTPで接続確認)
bazaarでpushしようとして
bzr push --create-prefix s
ftp://admin:admin@<hostname >/myproject
と実行したんだけど
bzr: ERROR: Unable to connect to SSH host vermanageserver;
(10061, 'Connection refused')
となります。
どこがいけないんでしょうか?
10 :
デフォルトの名無しさん :2010/02/17(水) 18:00:42
apache http serverがhttp httpsを扱えるから ftpサーバもsftpを扱えると思ってしまったのだろうか。
11 :
8 :2010/02/17(水) 18:07:16
>>9 ftpに変えてみましたが、エラー内容がかわりませんでした。
bazaarのドキュメントでは<ユーザ名>@<ホスト名>のようになってますが、
パスワードはURLに含められないのでしょうか?
>>10 すいません、その通りです
>>11 エラーの内容が認証ではなく接続できませんでしたというものなので、
パスワードの問題ではないと思います。
本当に、
ftp:// にしたのに、 Unable to connect to SSH host と出ました?
ftp なら SSH になるはずが無いのですが。
13 :
8 :2010/02/17(水) 18:30:47
>>12 すいません、コマンド実行用のバッチファイルを作ってたんですが
違うファイルを修正していました。
そして、ftpに直して実行したら、上記のエラーはでなくなりました。
かわりに長いメッセージがずらずらと・・・
長いんで中略して張ります
FTP
[email protected] :2121 password:
FTP Could not set permissions to 0700 on /myproject/.bzr. 502 Command SITE not i
mplemented for CHMOD.
FTP Could not set permissions to 0700 on /myproject/.bzr/branch-lock. 502 Comman
d SITE not implemented for CHMOD.
FTP Could not set permissions to 0600 on /myproject/.bzr/README. 502 Command SIT
E not implemented for CHMOD.
FTP Could not set permissions to 0600 on /myproject/.bzr/branch-format. 502 Comm
and SITE not implemented for CHMOD.
FTP Could not set permissions to 0700 on /myproject/.bzr/repository. 502 Command
SITE not implemented for CHMOD.
FTP Could not set permissions to 0700 on /myproject/.bzr/repository/lock. 502 Co
mmand SITE not implemented for CHMOD.
bzr: ERROR: ftplib.error_temp: 450 Can't delete file /myproject/.bzr/repository/
no-working-trees.
<中略>
*** Bazaar has encountered an internal error. This probably indicates a
bug in Bazaar. You can help us fix it by filing a bug report at
https://bugs.launchpad.net/bzr/+filebug including this traceback and a description of the problem.
これってサーバ側のディレクトリに書き込み権限がないってことなんでしょうか?
14 :
8 :2010/02/17(水) 18:35:49
サーバ側に「myproject」フォルダは作成されてました。 (あと、その中に「.bzr」フォルダも) けど、myprojectの中にあるファイルはアップされてませんでした (ローカルではaddしてcommitしてあります)
FTPの設定の問題ですね。 ファイルの削除ができないのではないでしょうか? bzrを動かすには、ファイルの一覧、作成、削除、追記ができるFTPが必要です。(他にも必要だったかも…) FTPには罠が多いので、できれば bzr+ssh か bzr+http での運用をおすすめします。
17 :
8 :2010/02/18(木) 10:10:08
>>15 ご意見ありがとうございます。
すでにFTPサーバが立っているので、現状をいかしたままバージョン管理ツールを
導入できるかの検証でした。
bzr+sshを提案したいと思います。
ただ、現状FTPで管理している資産をスムーズに移行できるか・・・
これから調査してみます
いろいろ、ありがとうございました
>>15 うちのでは、http で公開しようとしたら、レンタルサーバーではftpの
同時接続セッション数に制限(同時3接続まで)があったために、
エラーになったので、ftpソフトで、.bzr をまるごと put することで、
回避しました。
前スレ
>>991 こちらで現象が発生していた原因がわかりました。
libsvn が開いていた plink.exe のプロセスが、リネームしようとしていたファイルを
開いてハンドルを握っていました。
他の svn クライアントでどうなるかは判らないのですが、
>>991 さんはどの
ssh クライアントを利用していますか?
cygwin ssh でも再現したorz 現在 IRC で jelmer (bzr-??? 全部を開発してる神) に相談しています。
libsvnとbzrの相性が悪いっぽい。 libsvn が ssh クライアントを子プロセスとして起動するときに、 親プロセスが持っているファイルハンドルを引き継いじゃう。 で、bzrが開いている作業中のファイルのハンドルをsshクライアントが 握るから、その作業中のファイルをリネームするときにsshクライアントが 邪魔する。 さーて、どうやって解決しようか。
>>22 >>21 でも少し触れていますが、 ssh クライアントの種類によらず発生する問題のようです。
どうやって直すかかなり悩んだんですが、Windowsはファイルを開くときに子プロセスに
ハンドルを引き継がない設定ができて、Pythonの標準ライブラリでその設定が使える
事に気づいて、あっさり直せました。
https://bugs.launchpad.net/bzr/+bug/524560 上手くいけば来週の 2.1.1 で入るかもしれませんが、レビュー待ち多いので
あまり期待はしないで下さい。
>23 おお。ありがとうございます。 早い段階で取りこまれると良いですね。
ここに不具合報告して意味あるのかな? 一応報告しとく。 Bazaar Explorer v1.0.0rc1 で場所選択バーのスタイルを tab-group にしたら Bazaar Explorer が起動しなくなりました。 ちょっと焦りましたが、 explorer.conf 編集して復旧しました。
たぶん 1.0.0rc2 がもうすぐ出て、Windowsではそのスタイルを選べなくなるかと思います。 bzr 2.1 のパッケージは Bzr-explorer の 1.0rc に急遽対応したのでいろいろ 問題が出てきてます。 まだ 2.0 を使っている人は、 2.1.1 を待ったほうがいいかと思います。
\\host\bzr\rep といったUNCパス上で 右クリック→チェックアウト/ブランチ作成 などを選んだ際に 下記エラーが出るのですがこれは次版待ちでしょうか? Traceback (most recent call last): File "tbzrcommand.py", line 411, in main WindowsError: [Error 3] 指定されたパスが見つかりません。: u'\\host\\bzr\\rep'
どっかで先頭の \ が一つ抜けてしまってますね。 今は忙しいので今週のリリースには間に合わなさそうですが、 その次までにできれば直しておきます。
正直、生き残る自信はある?
Ubuntu Linux や Launchpad がつぶれない限りは基盤が揺らぐことはないし、 現時点で git や hg に後れを取っているとはいえ順調にユーザー増えているし、 生き残るだけなら楽勝でしょう。 将来 svn を追い抜くためにTortoiseBZRを開発しています。
TortoiseBzrでbzr+sshにpush
TortoiseBzrでプロクシを指定してhttpとかからチェックアウトすることってどうやればできるの? 設定項目関係見てもそれっぽいのが見つからなかったんだけど
TortoiseBzrだけでgithub使いまわせるようになれば、Windowsユーザー的にはかなりおいしいだろ。 githubあるおかげでgit使わざるを得ない状況になってるが、Windowsユーザーは少し蚊帳の外になってるからな
今の時代、クライアントソフトも対になるキラーとなるwebサービスなりなんなりが必要な時代、 しかしLaunchpadがパッとしなさがある、というかgithubが強すぎるんだが。 Windows的にはCodePlexなのかもしれんが、俺はgithubでもいいと思うんだよね。
36 :
デフォルトの名無しさん :2010/02/27(土) 22:48:59
>>29 ちょっとソース読んでみたけど、bzrlib.osutils.get_unicode_argv()が何か変なことしてますね。
Linuxの時は単にunicodeに変換してるだけなのに、windowsの時はワイルドカード展開とかしてて、
\サインはエスケープ文字扱いになってる。
そんなのプラットフォームごとに変える理由が分からないけど、ほんとにこれ意図した動作なんかな。
Linux とかだと、シェルがワイルドカード展開するけど、 Windowsだとアプリ側でワイルドカードしてやらないと いけないから、ワイルドカード展開しているような気が します。
>>36 その程度の知識しか無くてコード読んでも意味ねーよ
>>36 あぁ、そういえばbzr-2.1からWindowsのワイルドカード対応が目玉機能の一つになってるんだけど、
そこでエスケープもしていたような気がします。
>>35 Launchpadに比べてgithubの何が強いですか?
Wikiは判っているんですが、それ以外で。
>>33 調べてないけど、たぶん http_proxy 環境変数か、IEのproxy設定のどちらかで
いけるかと。
>>41 githubやたらgeek界隈で使われている印象。俺がRuby界隈のアンテナ張っているせいかもしれんが
>>44 githubがというより、gitがgeek界隈で受け入れられているからだと思う。
Launchpadが取っつきにくい印象を持たれるのは、githubやbitbucketが
ユーザー主体でリポジトリをユーザーが持っているのに対して、
Launchpadがプロジェクト主体で個人リポジトリはあっても2級市民扱い
なのも原因なんだろうな。もっと個人ページを充実させないと。
いや単純に、重くてインターフェースが分かりにくいからじゃないかと思うんだが
>>46 重いのは慣れるとむしろ最近軽くなったなーくらいに思うw
インタフェースが判りにくいのは、やっぱりプロジェクト主体だからだと思う。
githubやbitbucketはアカウント作成→push なのに、
Launchpad だとアカウント作成→プロジェクト作成→push→メインブランチに設定
が最小手順になってしまう。
ああ、そうかようやくわかってきた。 Launchpadはsourceforgeとか、google code projectっぽいんだよな、プロジェクトがメイン。 githubやbitbucketはユーザー主体でソーシャルになってる点が違うのか。
>>47 分かりにくい点はそこではなくて
表示される情報が多すぎて、機能を把握しにくいところ
と思ってたが、今見るとgithubも機能が増えてごちゃごちゃしてるな
昔はもっとシンプルな画面だったのに
今となっては一番大きいのは知名度の差…
svn+sshの件、妙なマージのされ方してない?
bzr-2.0にしたらversion-infoの--customがつかえなくなった。。
Windows版のBazaarの設定ってどの編に書き込まれているんでしょうか? バックアップを取ったり他の環境に移したりしたいのですが
56 :
55 :2010/03/07(日) 10:08:50
%APPDATA%\bazaar\2.0 にありました。 ありがとうございました。
windows installer 2.1.0-2 が出てる。 ツールバーとマージプラグインとヘルプの更新?
>>57 インストーラー自体の問題(ツールバーの部品をパッケージに入れてなかった)の修正と、
各種プラグインのバージョンアップですね。 (explorer 1.0.0, qbzr 0.18.3, Tortoise 0.5.3)
2.1.1がいつ出てもおかしくない雰囲気ですが、2.1.0インストールして問題に困ってる方は
入れておいて損は無いです。
今、世間でもっとも使われているbazzerを 使ってみたいんですが、なにがおすすめですか?
?
ずっとバザールだと思ってたけど、実はバザーなのか
明日が2.1.1のコードフリーズなので、今週か来週に2.1.1が出そうですね。
smartサーバ(Apache 2.2 + mod_wsgi 3.1)を立ててそこにDigest認証を設定しているのですが、 この場所あるブランチにPython 2.6 + Bazaar 2.1.0 でhttpsでアクセスすると401で繋がりません。 しかし、Python 2.5 + Bazaar 2.1.0 で同じようにアクセスすると普通に繋がります。 あと、同じ場所に(2.6では繋がらないので)Python 2.5でProxy経由でアクセス(branch)すると、 httpsでは「ブランチが存在しない」と言われてしまいましたが、 httpでは普通にブランチできました。ちなみにProxyを経由しなければhttpsでもブランチできます。 これらってバグだと思うのですが、既知のバグなんでしょうか? バグ報告してみようかとも思ったのですが英語の壁が厚く断念…。
>>65 Python 2.5 と 2.6 の環境で、
* pycurl がインストールされている・いない
* python から ssl モジュールをインポートできる・できない
みたいな違いはありませんか?
すぐには再現環境を用意できないのですが、
pycurl 無し & ssl モジュール無しの場合と、
pycurl 有り だけど pycurl が ssl 非サポートの場合、
https が使えなくなりそうな気がします。
68 :
65 :2010/03/25(木) 03:00:43
>>67 レスありがとうございます。
>* pycurl がインストールされている・いない
>* python から ssl モジュールをインポートできる・できない
インストールされているかとインポートできるかの違いがよくわからないのですが、
これはインタプリタでimportしてエラーが出なければ良い、ということでしょうか?
そうだとして、import pycurl と import ssl を試したところ、
Python 2.6 では両方ともインストールされていましたが Python 2.5 では両方ともインストールされていませんでした。
インストールされていない方ではちゃんと動いてインストールされている方では動かないのは何かおかしな気もしますが…。
>>68 手元のPython2.5では、import sslが通らなくてもimport _ssl が通りました。
(何か変わったんだっけ・・・)
Python2.6だとimport pycurlが通ると言うことなので、curlが怪しいです。
でも、単純にcurlがsslをサポートしていないのであれば、「ブランチが存在しない」
なんてエラーにはならず、'no https support' って出そうなんだけど・・・
.bzr.log の中に詳しい情報ありませんか?
他に試してみて欲しいことは、
1.
https:// の代わりに https+urllib:// と https+pycurl:// を明示的に指定してみる。
2. bzr -Dhttp branch https+urllib:// みたいに、 -Dhttp オプションを付けてhttp のトレースを取得する
なんですが、お願いできますか?
>>68 すいません、
>>65 をよく読んでいませんでした。
>>69 に加えて、
1. 環境(OS)
2. proxyの設定方法 (IEの設定か、http_proxy環境変数か)
3. 401が出る条件で、
https://ユーザー名@サーバー/ のようにユーザー名を指定するとどうなるか
も教えて頂けますか?
変更3点 → 1点ずつコミットしpush という風に、 bzrで一部コミットって出来ますか?
72 :
71 :2010/03/25(木) 12:10:13
bzr shelve/unshelve で解決しました。
73 :
65 :2010/03/25(木) 12:39:02
>>70 まず環境ですが、Windows XP + インストーラ版(Python 2.5) と、
Linux(Gentoo) + 標準のPythonのバージョンを2.6にして使用 + Portage(パッケージ管理ソフト)で入れたbzr 2.1.0 と、
2.5 で試すために取ってきた bzr-2.1.0.tar.gz (python2.5 bzr ... のように使う)
で試しています。proxy はどちらも環境変数で指定しています。
import _ssl ならこちらの Python2.5 の環境でも通るようです。
Python 2.6 にて、https+urllib:// を使ったところ認証は通るようになりました。
どうやらここはPythonのバージョンではなくpycurlっぽいですね。
当初の問題の 1 つである「認証が通らない」はurllibを使えばとりあえず何とかなりそうです。
ちなみに、https+pycurl://ユーザ名@サーバ/ で接続したところ、Traceback を伴うエラーが出ました。
以下ログです。接続先ホスト名とユーザ名は変更してあります。
ユーザ名指定なし:
http://pastebin.com/NLNQbPqL ユーザ名指定あり:
http://pastebin.com/RwDMkkWR もう 1 つの問題の、proxy + https 環境下で「ブランチが存在しない」正確には以下のエラー
bzr: ERROR: Not a branch: "
https://... "
(ブランチが存在しない ではなく ブランチではない でした)
これは Linux + Python2.6 + urllib では問題なく通りましたが、
python2.5 + urllib だと Linux でも Windows でも Not a branch になりました。
Windows:
http://pastebin.com/CFas9cXP Linux:
http://pastebin.com/HBPwjiR8 あと関係ないかも知れませんが、Digest認証のパスワードは、どうせ authentication.conf に
書かないといけないからと思い自動生成した 128 文字の英数字から成るパスワードを使っています。
>>73 pycurlに関しては、複数の問題があるようです。
一つ目は、ユーザー名@ をつけないでダイジェスト認証に入ると401になるので、そこで
ユーザー名とパスワードをユーザーに訊くべきなのに終了してしまっている。
二つ目は、
https://bugs.launchpad.net/bzr/+bug/365874 どちらも報告済みですね。
Not a branch の方ですが、ひょっとするとPython2.5の urllib が https に対応していないのかも。
Windows版のBazaarに使ってるPythonを2.6にアップグレードしないとなぁ。。。
いや、ログを見るとちゃんと通信まで行ってるのか。。。 うわー、わかんね。 重ね重ねお手数をおかけしますが、 -Dhttp の代わりに -Dhpssdetail -Dhpssvfs をつけて、 Not a branch を再現して頂けますか?
76 :
65 :2010/03/25(木) 16:37:20
>>76 .bzr.log の方ではなくて、標準エラー出力に詳しい情報って出てきませんでした?
-Dhpss って自分でもあまり使わないから、使い方間違っていたかも。。。
78 :
65 :2010/03/25(木) 18:45:48
問題あるかどうかも分からないし、既出かどうかも分からないのですが、 あれ?と思った動作があったので記載します。 Windows XP SP3をセーフモードで起動する機会があったのですが、 その際、画面右下のシステムトレイにTortoise Bazaarのアイコンだけが 出る、というような現象になりました。 複数回起動したのですが、いずれもこの状態です。 通常起動時には、アンチウイルスソフト他複数のアイコンが並んでいるのですが、 セーフモード時にはそれらは表示されておらず、 唯一このアプリのアイコンだけが表示されていたので、なんだろ、という訳です。
bazzarで、 svn update cvs update に対応するコマンドって、何なんでしょうか?
>>79 トレイアイコンはキャッシュプロセスが表示しています。
TortoiseBZRは、シェル拡張がExplorerのプロセス内で動いて、そこから
バックグラウンドのキャッシュプロセスを立ち上げます。
なので、通常の自動起動の流れとは違うんですが、
Windowsはセーフモードでもシェル拡張を読み込んじゃうんでしょうね・・・
>>80 bzr pull か、状況によっては bzr up になると思います。
84 :
80 :2010/03/27(土) 00:05:32
85 :
65 :2010/03/27(土) 01:02:53
>>81 と言う事は、現状ではWindowsではStandalone版ではなく
Python 2.6 basedの方を使えば良いということですね。
今手元がproxy環境ではないので試せませんが、何とかなりそうです。
ありがとうございます。
日本語 Windows で bzr 2.1.0 スタンドアローン版 を使っています。 どちらかというと Xmloutput プラグインの質問かもしれませんが… コマンドラインから bzr log --xml で XML 形式で出力させようとするとエンコーディング指令が cp932, 実際の文字コードが UTF-16 というおかしなファイルが出力されてしまいます。 これを UTF-8 で正しく出力させることはできるのでしょうか。 試しに chcp 65001 とかやってみましたが、状況は変わりませんでした。
プロパティでフォントを変更してからじゃないと。
>>86 いま、まだパッケージャーMLのみでアナウンスされているbzr-2.1.1を使っているのですが、
bzr log --xml > foo.xml して foo.xml を見たところ、エンコーディング宣言も文字エンコーディングも
cp932になっていました。
89 :
86 :2010/03/27(土) 12:16:21
説明がいろいろと不足していました。
先の結果は、実際は PowerShell 上で bzr log --xml > test.xml として
出力を直接ファイルにリダイレクトしたものです。
>>87 変更してみたのですが結果変わらずでした。表示フォントは直接の関係はなさそうです。
>>88 UTF-16 で出力されていたのは PowerShell が勝手に変換していただけで、
bzr の問題では無かったようです。おさわがせしました。
バッチファイル経由では cp932 で出力されました。
ただ、できれば UTF-8 で出力させたかったので調べたところ、同様の要望はすでに挙がっていました。
xmloutput 0.8.7 からはデフォルト UTF-8 で、っていう方向で話しが進んでいるようです。
https://bugs.launchpad.net/bzr-xmloutput/+bug/394943 ありがとうございました。
うーむ、TortoiseBazaar0.3.1でpushしよとしたらこんなエラーが出た。 -- bzr: ERROR: Unprintable exception PermissionDenied: dict={'path': u'I:/dropBox/My Dropbox/repo/.bzr/repository/indices/9f0bfd37a92d53d839d0078e84101659.rix', '_preformatted_string': None, 'extra': ': [Error 32] -- cygwinからpushできたから特に問題はないけどなんだろ。
>>90 PermissionDenied でファイルアクセスができなかった、という以上の情報は読み取れませんね。
バージョンが古いので、もっと新しいバージョンだったらまた違うかもしれません。
>>91 情報THX! 手が開いたら新しいのに入れ替えてみま。
2.1.1 出ましたね。
おお、さっそくインストールしる > 2.1.1
>>94 「する」なのか「しろ」なのか判らんがw
取り敢えずインストールした。
TortoiseBazaarは0.5.4になっていた。
>90の問題は(2.1.1インストール前でも)再現できないので直ったかどうかは不明。
2.1.1でタスクトレイのメニューを実行するとコマンドプロンプトが出てくるけど前からだった?
>>96 俺のミスですw
tbzrcommandw.exe や tbzrcachew.exe を廃止しようとしてたんだけど、
tbzrcommand.exe を普通に実行するとコマンドプロンプトが表示されるので、
起動時にフラグを付けて起動しないといけないんですよ。
それで、タスクトレイからコマンドを実行するところだけフラグを付け忘れました。
今、Program Files\Bazaar の中から tbzrcommandw.exe と tbzrcachew.exe を
削除しても問題なく動くはずです。
ここはTortoiseBzr派が多いのかな。 最近BazaarExplorer使い始めたのだが、あの邪魔臭いDOS窓はどうにかならんのだろうか。
>>98 TortoiseBZRのコンテキストメニューからBazaarExplorerを起動するとDOS窓出ません。
あと、
http://dl.dropbox.com/u/555254/bzrw.exe これがお試し版のbzrw.exeで、これを使うようにすればDOS窓出ません。
使い方は、bzr.exeのあるディレクトリにbzrw.exeを放り込んで、Bazaar Explorerのショートカットを
書き換えるだけです。
問題なければ次のパッケージに入れてもらおうと思うので、試してみて下さい。
Bazaar Explorerって、日本語にできるの? なんかそれらしい.moやら.poやらあるみたいだけど、設定がよくわからん
>>100 あれ、日本語にならなかったですか?
ログみたいな画面だと日本語になっていますか?
環境変数に LANG=ja と設定して見て下さい。
qbzr はLANGが設定されていないときもWindowsの言語設定を調べているんですが、
Bazaar Explorerが同じ事をしていたかどうか自信がない。
>>101 LANG=ja でいけました。thx
もともとLANG=1041って入っていたんだが、何のソフトの設定だったんだろう…
>>102 なるほど、LANGが設定されていたのでWindowsの言語設定よりもLANGを優先して、
でもLANGがjaとかesとかじゃなかったから言語がわからなくて英語になってしまっていたんですね。
多分、LANG環境変数を消しても日本語になると思います。
>>99 bzrw.exeいただきました。
これってbzr.exeの全機能を持ったコンソールアプリでないwinアプリですよね?
コンソール出力をリダイレクトして、DOS窓出さないようにbzr.exeのプロセスを起動させる
ラッパーみたいなやつの方がいいんじゃないですかね。
それなら一度作っちゃえば多分メンテナンス必要ないでしょうし。
とりあえず現バージョンはありがたくこれ使わせていただきます。
bzrのほとんどの機能は、libディレクトリ以下にあるdllやzipファイルの中にあります。 bzr.exeはもともとただの起動スクリプトで、同じスクリプトの標準出力を 殺したバージョンがbzrw.exeになります。 なのであまりメンテナンスは要らないのですが、確かにbzr.exeを起動するだけの ツールにした方が、今よりさらに独立性が上がりますね。 次回bzrwに修正が必要になった時に、その方式も検討してみます。
Bazaar ExplorerってUIのデザインが悪すぎ。 ツールボックスとタブのレイアウトとか。 そもそもようこそ画面っているのか?
2.1.1のTortoiseBzrを使っているうちのチーム員から。 亀Bzrでメニューから「閲覧」で出るダイアログで、初期は「リビジョン」の項目に"wt:"と表示されるそうな。 そこを書き換えればリビジョン指定で一覧表示になるからそれは便利でいいそうだけど、最新リビジョンが 最初から入っていたらリビジョン番号の確認するのに便利なのになぁとのこと。 私は基本的にcuiを使うし、そもそも手元に環境がないので確認できないのでよく判らんが……
>>107 wt: はワーキングツリーの意味です。リネームや移動はここでできます。
最新リビジョンだと、リビジョン番号を確認しないでも -1 を入れると良いです。
が、最新リビジョンを見たい場合がよく判らない・・・差分を見るならdiffだしなぁ。
>>108 いつもいつも、レスTHX!
最新リビジョンを見たいと言うより、revnoを確認したいということのようです。
logだと非力なマシンだと遅いからかと。
# 私がすぐrevno聞くからなぁw
まぁ、私なら素直にcuiでbzr revnoするんですが。
2.1.1 で [Tortoise Bazaar] → [ログ] → どれかリビジョンを右クリック → [このリビジョンにタグを負荷する] → タグ名に何か入力 → [OK] で、 タグが付いて、タグも表示されますが、この状態で、[x] または [閉じる] で閉じると、 bzr:ERROR: [Errno 9] Bad file descriptor というエラーがでます。 たぶん閉じるときにエラーが出てるだけだと思うので、実用上は 問題ないと思いますが、いちおうバグ報告させていただきました。
RHEL4 or 5でGUIで最新のbzrを使う方法はないのだろうか。 ただのユーザなのでQT前提とか無理っぽい。
質問です。 $ cvs update -dPrEMACS_PRETEST_23_1_95 みたいなことは、以下のコマンドでいいのでしょうか? $ bzr pull -v -rtag:EMACS_PRETEST_23_1_95 --overwrite
>>112 bzr 2.1 以上を使ってください。
bzr up -r tag:EMACS_PRETEST_23_1_95
で行けます。
pull は、uncommitみたいにローカルのブランチを巻き戻してしまうので、もし自分が開発している
未pushのリビジョンがあるとちょっと複雑な回復手順が必要です。
>>113 なるほど、ありがとうございます。ところで、dry-runオプションとかは無いのでしょうか?
>>115 こういうのは、svn cleanupみたいなコマンド作って処理して欲しいのに。。
Cygwin版の2.1マダー
中央のほかに2箇所で作業してて、1箇所で中央に push、もう1箇所で中央から pull しようとするとエラー。 Diverged Branches ということらしいが、このとき出たエラーは「すでにあるファイルは作成できない」とかいう ファイルシステムに関するらしいエラーだった。 結局俺がしたかったことは、merge --pull だったんだけど、わかりにくい。pull したときに Diverged Branches の旨のメッセージが出て、pull --merge であるべきじゃないかと個人的には思うんだがどうだろう。 あと、上記のように取り込んだ結果、x.1.1 などの「横道」リビジョンができるけど、これらのリビジョンを update -r で取り出そうとすると、そんなリビジョンはないと言われた。qlog で見てグレーで表示されている リビジョンしか取り出せないらしいけど、見えてるリビジョンが取り出せないってどういうことよ。
>>118 多分、pushしちゃっているせいでメインラインが切り替わっていたんでしょうね。
merge --pull は、基本 merge だけど安全に pull にできることきは pull にするという意味なので、
pull --merge だと「ただのpulなのになんでmerge???」となってしまいます。
merge --pull による pull 動作に相当する pull のオプションは、 pull --overwrite ですが、
これは安全にpullできない時にもpullしてしまうので、 merge --pull が正解です。
メインライン以外に対してのupdateは、試してみたら確かに失敗してしまいました。
なんでだろう・・・訊いておきます。
121 :
118 :2010/04/08(木) 10:19:57
>>119 > pull --merge だと「ただのpulなのになんでmerge???」となってしまいます。
レスさんくす。
hg を先に使い始めた弊害かな?まずは pull ありきって感覚なんだよね。
merge しようとしたときに「手元にないリビジョン全部持ってくるなら
--pull オプション使いなさいよー」ってメッセージでも出ればいいんだけど、
変なファイルエラーが出たからねえ。難儀した。エラーは忘れた。
update に関しては、そういうもんだバカで終わるかと思ったけど、不具合(?)だったのね。
直るといいなあ。っていうか、結構困りますな。
あーなんだ、メインライン以外のリビジョン引っ張って来れないのは仕様かと思ってたw 私の場合、余り必要がないから困ってなかった。
124 :
デフォルトの名無しさん :2010/04/12(月) 07:28:13
いま /repo にリポジトリ兼ブランチがあって、 これをリポジトリのルートは変えずにブランチだけを /repo/trunk に移したいのですが どういう操作をすればよいですか?
>>124 bzr branch /repo /repo/trunk
するだけでいいのでは?
実験してみることをお勧め。
>>123 これはいい。
しかし、残念ながらうちの会社だとdiff+patchさえ通じない……
126 :
124 :2010/04/12(月) 18:48:34
ありがとうございます。結局 mv ./repo ./repo/trunk cd ./repo bzr init-repo . cd ./trunk bzr reconfigure --use-shared としました。
んな馬鹿な
二つほど質問を。 ・ssh アクセスをするとき、どの ssh クライアントを使うかはどこで設定できるんでしょうか。 cygwin の ssh クライアントを使いたいんですが。 ・任意のリビジョンに含まれるファイルをローカルのファイルと比較するにはどうすればいいんでしょう。 たとえば Tortoise のログ画面でリビジョンを選ぶと右下にそのリビジョンに含まれるファイルが表示され、 右クリックのメニュから差異の表示が選べますが、これは一つ前のリビジョンとの比較となります。 ローカルと比較したいんですが、やり方ありませんか。 あと、任意のリビジョン間ならそのリビジョン間を選択することでできますが、リビジョン間を全選択することになり あまり気持ちのよいものではありません。これしかないんでしょうか。 微妙に3つ質問してる気もしますが、よろしくお願いします。
>>128 1. BZR_SSH環境変数です。paramiko以外を使う場合は、事前にsshログインできることを確認して下さい。
最低でも、cygwinのbash上ではないコマンドラインから、
ssh yourhost "bzr version"
ができる事は確認しておいた方が良いと思います。
2. コマンドラインからなら、bzr diff --using="/path/to/difftool" -rN のようにしてNと作業ツリーの比較が
できますが、qlogの上からは作業ツリーを選択できなかったかもしれません。
qdiff の改良案に、qdiffから2ペインのログを呼び出してリビジョンを選択できるようにするものがあるので、
将来的にはqdiffがお望み通りのツールになるかもしれません。
>>129 レスありがとうございます。
ローカルとの比較はコマンドラインからしかできないんですか。
エイリアスも設定できるようですが、ちょい面倒ですね。
仕事で個人的に使い始めたんですが、ちょっと積極的には推しにくいなあ……。
分散と集中兼ねてるところがいいと思ったんですけど。
TortoiseHg だと、右クリックメニューに diff to local とかありますね。
分けて作ってしまったリポジトリをまとめる方法ってないでしょうかね。 repo を共有リポジトリとして proj1、proj2、proj3 の3つのリポジトリを作ってしまったんですが、 repo をリポジトリにして proj1、proj2、proj3 は単なるフォルダとして統合したいんです。
>>131 bzr init main
cd main
mv ../proj1 ../proj2 ../proj3 .
bzr join proj1
bzr join proj2
bzr join proj3
bzr commit
で、どうでしょう?
>>132 できました、さすがです。
.bzr.retired.0 は消してしまってもかまわないんでしょうか。
問題ないっすね。ブランチすればないわけだし。
PythonベースでインストールしたbzrにTortoiseBZRを乗せたら、
>>110 と同じエラーが起こった。
コンソールが無いのにstdoutやstderrに何か出力しようとしてエラーになってるってことかな?
>>132 統合はうまくいったんですが、 join した時点より前に戻れなくなってしまいました。
join したところを新たなスタート地点とするしかないんでしょうか。若干困る。
あと、スタックブランチはどういうときに有用なんでしょう?
ユーザーガイド読んでみましたが、文章だけでつらつらと説明されてもよくわからない。
>>136 追記。
リビジョングラフ(qlog?)と bzr log で表示されるリビジョン番号が合ってませんね。
困ったぞこりゃ。
>>130 qannotateでは、最新リビジョンとワーキングツリーとの比較もできます。
qlogにワーキングツリーを表示した方が良いんだろうな。
>>135 ですです。
>>136-137 わー、ごめんなさい。
joinでは履歴全部保存されるはずなんだけどなぁ。
コマンドラインで、bzr log -n ってすると、古い方の履歴も表示されませんか?
>>138 > joinでは履歴全部保存されるはずなんだけどなぁ。
> コマンドラインで、bzr log -n ってすると、古い方の履歴も表示されませんか?
join の前後はグラフではこんな感じ。
ttp://www.dotup.org/uploda/www.dotup.org820999.png bzr log で -n なしだとこう。
ttp://www.dotup.org/uploda/www.dotup.org821007.png 実際のリビジョン1が、グラフでは17になっています(グラフは -n 0 付き?)。
実は
>>128 も私ですが、教えていただいた bzr diff -r を、
グラフを見ながらできなくなる(というか面倒)のでちょっと困っています。
私は事情わかっているのでいいのですが、ほかのメンバーが……。
あと、今回は初期なんでそれほど問題はないんですが、join より前に
戻れないんですよね。リビジョンにマイナスの番号指定しても
最新からの相対指定になるだけだし。
ちなみに、前スレにあった bzr merge -r0.. ../hoge とかで統合しようとしても、
やはりマージした時点がリビジョン1になり、それより前はマイナスになりました。
グラフにちゃんと番号が出て、join よりも前に戻れるようになるとうれしいんですけどね。
bazaarって、gitやhgに比べて、どの辺がよいの?
repositoryとbranchってどう違うの.
>>139 履歴自体は保存されているけれど、bzr logを-nなしで実行したときの
バージョン番号が狂ってる感じですね。
joinすると、中ではmergeしたことになるので、joinしたリビジョンの
中の履歴には数字3つのリビジョンでしかアクセスできません。
bzr log -n なら、qlogと同じような、数字三つのリビジョン番号が
出てきませんか?
「リビジョン」「履歴」が指し示すものがそれぞれどこまでを含むものなのかが わからない。 各リビジョンを管理するなら、変更履歴を管理するのと大差ないと思うんだけど……
>>142 -n の引数がよくわからないんですが、(汗
bzr log -n 0 とやると一番下が1で始まり、マージした 0.1.1 とかのリビジョンも
表示されます。でも内部の処理は -n なしのリビジョンで動いてる感じですね。
今まさにソースを何人かに分散したところで、一段落したところで一番初めの
リビジョンに(私が)マージすれば何とかなるかと考えてたんですが、封じられてしまいました。
まあくどいですが、まだ初期なんで、マージ時点からでもまだなんとかなるんですけど。
とりあえずこのままいってみます。改善策あれば教えていただけるとありがたいです。
>>145 すみません、 -n0 の間違いでした。
その、0.1.1とかのリビジョン番号を使ってください。
たとえば、 -r0.1.1..0.1.8 みたいに利用できます。
数字1つのリビジョンはメインラインのリビジョンで、
数字3つのリビジョンは、マージされたブランチのリビジョンになります。
数字3つのリビジョンが嫌な場合は、通常のマージをしない方法で履歴を結合する必要があります。
bzr-rewriteを使えばできる気がしますが、あまりrewriteを使わないので判りません。
コミットしようとすると、
Unable to obtain lock file:///C:/Users/hoge/My%20Documents/work/.bzr/branch/lock
held by
[email protected] on host hostmachine [process #4960]
locked 1 hour, 35 minutes ago
Will continue to try until 13:38:36, unless you press Ctrl-C.
See "bzr help break-lock" for more.
てなエラーが出ます。
bzr info -v で見てみると、
Lock status:
working tree: unlocked
branch: locked
repository: unlocked
ということらしいのですが、working tree、branch ともに
bzr break-lock しても改善されません。
どうすれば元に戻るんでしょう?
>>147 .bzr/branch/lock
という名前のディレクトリはありませんか?
あったら、手動で消してみてください。
無かったら、そこに新規ディレクトリを作成できるかどうか試してみてください。
>>148 いけました。ありがとうございます。あーあせった。
なんでこんなことになるんでしょうねえ。
Bazaar Explorer は終了時に毎回死んでますが。
>>146 取り出したかったのはメインラインの1だったんですが(join のずっと前)、
revid を指定したら取り出せました。
数の多いリビジョン No は別に嫌いではありません。
svnからチェックアウトしたブランチに対してmergeを実行するとデータの不整合ができてしまうのは そろそろ何とかならないものか。
>>151 そろそろ何とかなってない?
svnが中央にあるブランチで、最近merge使っていて特に問題ないんだけど、
激しい使い方はしていないので地雷を踏んでないだけかもしれない。
問題が起こるんであれば、できれば再現手順を教えてください。
>>152 いつもどうもです。
例えば、svnからチェックアウトしたブランチにmergeをかけて、こういうリビジョングラフができた場合
r11 手元の変更をマージ
r10.1.1 foo.txtを修正
r10 不具合修正
・・・
これをsvnにコミットすると、svnの履歴にはメインラインしか反映されないので、r10.1.1に対応する
リビジョンは生成されませんが、foo.txtがr10.1.1で変更されたという情報は残ります。
で、他にもbzr-svnを使っている人がいた場合、そちらのブランチでupdateをかけてもr10.1.1にあたる
リビジョンは出来ないので、annotate foo.txt とか、qbrowse -r -1 とかがクラッシュするようになります。
launchpadにも何件かバグ報告が上がってるみたいですが、あまり問題視されて無いみたいです。
何か回避方法があるのかな?
私は、bzr-svnを使うときはrebaseでリビジョンを直列化してからsvnに上げるようにして回避していま
す。
parent branchとsubmit branchとpush branchの違いを教えてください
また limbo だとか pending-deletion だとかが何たらかんたらといって操作できなくなった。 消したら直ったけど、いちいち変になってリポジトリをいじらいと直らないようなのは困るな。 しょっちゅう Bazaar Explorer が死ぬのと関係あるのかな。
親ブランチからmergeしたときの、親ブランチのリビジョンを後からコマンドラインで 確認する方法はありますか?
>>153 なるほど、確かに、マージしたブランチが branches/ から持ってきた物でないと、
別の人が trunk/ から持ってきたブランチにはリビジョンが含まれないので、
ghost revision (ブランチに含まれるのに、リポジトリに入ってないリビジョン)に
なりますね。
将来、History Horizonが導入されるときには、ghost revisionがあってもクラッシュ
しないように改良されるかなぁ。
>>154 parent_branch は、 bzr branch でブランチを作ったときの、元になるリビジョン。
submit_branch は、 bzr merge や bzr send で、対象ブランチを指定しなかったときに利用される
ブランチ。 bzr merge --remember で修正できます。
push_branch は、 bzr push 用で、同じく --remember で修正できる。
>>155 bzr-2.2 はマージ強化を目標に掲げているので、、、このバグも修正されるかと。
>>156 リビジョンIDは、マージしたリビジョンのログを見れば判ります。
リビジョンNoは、ブランチ固有だし、append_revision_onlyを設定しないと変動して
しまうような物なので、マージ元ブランチを直接見ないと判らないですね。
>>159 > bzr-2.2 はマージ強化を目標に掲げているので、、、このバグも修正されるかと。
え゛!?すでに業務で使ってるんだけど、マージ動作自体に問題があるとかじゃないよね、ね、ね!?
心臓に悪いんで、操作不能になるのとか勘弁してもらいたいです。
>>160 たぶん強化というのはバグ修正ではなくてパワーアップだと思いますが
>>160 >>161 の言うとおりです。
普通に使えている分には致命的な問題は無いはずなので、安心してください。
>>153 > bzr-svnを使うときはrebaseでリビジョンを直列化
について、詳しく教えてもらってよいでしょうか?
bzrブランチでの複数回コミットを、svn上の1コミットとしてpullしたいのです。
>>163 単に複数コミットをまとめたいだけなら、uncommit -r でまとめたいリビジョンの手前まで巻き戻して、
commit で単一リビジョンにしてしまう方が楽だと思います。
rebaseは、分岐したブランチを普通にマージする代わりに、1本のブランチに再構成するものです。
以前、ここか、VCSの総合スレで、 HOMEとかの単体ファイルを bzr で管理する 方法が書き込まれていたと思うんですが、 教えていただけないでしょうか? 今、home のファイルを弄っていて、 ふと、思い出したんですが、 見つけられませんで…。 bzr の機能 (rich-rootとか)を利用して、 うまく管理する方法があるんでしょうか?
166 :
163 :2010/04/26(月) 12:34:11
>>164 ありがとうございます。uncommitで戻してcommit&pushで1コミットにできました。
--
163ではpushをpullと書き間違えてました。失礼しました。
>>165 うーん、HOME以下で直接 bzr init するのはあまりおすすめできないです。
HOME/work/some-proj が hg のリポジトリだったときに、間違って
bzr add foo/ とかすると・・・
私の場合、symlinkを使っています。こんな感じで。
bzr init conf
mv .vimrc .vim .screenrc conf/
ln -s conf/.vimrc
ln -s conf/.vim
ln -s conf/.screenrc
cd conf
bzr add .vimrc .vim .screenrc
bzr commit -m "Initial import"
概ね同意。その手の設定ファイルは他の環境でも使うしいろんなツールが勝手に$HOMEに置くから、 管理したいならそもそも$HOMEにじか置きはお勧めできない。 bzrだとファイルサーバからリポジトリごとダウンロード(bzr branchでもいざとなればコピーでもw)できるから 設定ファイルをRCSで管理している連中の移行促進にも役立つw
リポジトリ毎の改行コードの指定ってできる? まだやってないけど、Cygwin 用のスクリプトなんかは LF じゃないと 動かなさそうな予感。
>>169 ファイル毎に、そのファイルの改行コードのまま変換されずに
管理されると思いますが、CRLFで作ったファイルを強引に
LFに変換したい、ということですか?
>>170 あら、そうなの?
てっきり OS ごとの改行コードで取り出されるもんだと思ってた。
すると逆に、
> ファイル毎に、そのファイルの改行コードのまま変換されずに
> 管理されると思いますが、
これ、OS ごとの改行コードで取り出して欲しい場合はどうなるんだろう。
いまどきその程度で問題になることは少ないと思うけど、クロスプラットホームで
コードいじったりするときちょっと気になる。
>>171 自分でruleを書けばできます。
詳しくは bzr help eol で。
bazaarのレポジトリ配下で、patchを当てて、bzr pullしても、差分があると怒られないのですが。 これはこういうものなのでしょうか。基本的なことですみません。 CVSの例ですと、以下のようになります。 $ cd ~/cvs_work/hoge $ cvs update -dP # その後、~/cvs_work/hoge/hoge.cに変更を加える $ cvs update -dP M hoge.c
>>173 pull先でhoge.cが更新されていなければ、ローカルのhoge.cが変更されていても警告されない。
175 :
173 :2010/05/11(火) 00:03:35
>>174 すみません、
bzr status
でわかりました。ありがとうございます。
あーなんだ、cvs -n updateでstatusを確認する習慣が付いていたのか。 それなら最初から「変更の有無を知りたい」とか書いてくれればいいに。 処で今日、bzr exportで取り出したファイルのタイムスタンプをコミット日時にしたいといわれた。 さて、どうしたもんかのう……
鯖にできるマシンがないので、今のところ Windows のファイル共有で使ってるけど、 シンクロ系の操作した後にリポジトリにゴミ(?)が残ってエラーになることがよくあります。 今後その辺を改良ということらしいですが、現状でもちゃんとした鯖で bzr+ssh とかで 運用した方が安定なんですかね。
178 :
デフォルトの名無しさん :2010/05/11(火) 10:34:01
ルートリビジョンを同じくする二つのBazaarブランチを 「rsyncで」双方向に同期するとまずい? ブランチの中の内部的なファイルってファイル単位で単調増加 じゃないのカナ? .bzr/branch/last-revision の中身が違うのか。
179 :
173 :2010/05/11(火) 22:58:46
>>176 そうなんです。
しかし、bzr statusは、前のリビジョンとの差分とローカル修正された差分の両方が表示されてしまいますね。。
カレントのリビジョンで、ローカルで変更されたファイルのみの一覧表示って、どうやるのでしょうか。
180 :
デフォルトの名無しさん :2010/05/12(水) 01:40:55
コミットログとpullの動作で質問 共有リポジトリにtrunkブランチをinitして、 そのtrunkを異なる3つのフォルダに落とす。 dir:work_T => trunkログ確認用。 dir:work_A => あるファイルを変更 dir:work_B => work_Aで触っていない別のファイルを変更 として、AとBをpushしたら、work_Aのコミットログが消えました。 すぐ試せるコマンド書くんで、自分がおかしいのかbazaarがおかしいのか(仕様)なのか 教えてください。 (改行多いので次のカキコ)
181 :
デフォルトの名無しさん :2010/05/12(水) 01:45:18
mkdir sb cd sb bzr init-repo --no-trees PROJECT bzr init PROJECT/trunk bzr branch PROJECT/trunk work_T bzr branch PROJECT/trunk work_A bzr branch PROJECT/trunk work_B cd work_T echo "A" > txt_A.txt echo "B" > txt_B.txt bzr add bzr commit -m "init." bzr push ../PROJECT/trunk cd ../work_A bzr pull cd ../work_B bzr pull cd ../work_A echo "AA" > txt_A.txt bzr commit -m "this is work_A rev2 commit" bzr push ../PROJECT/trunk
182 :
デフォルトの名無しさん :2010/05/12(水) 01:47:24
cd ../work_T bzr pull echo "ここでthis is work_Aのログはあるが、work_Bを取り込んだ後だと無い" bzr log cd ../work_B echo "BB" > txt_B.txt bzr commit -m "this is work_B rev2 commit" bzr push ../PROJECT/trunk bzr merge --pull bzr commit -m "this is work_B rev2 diverged-branches => merge --pull => push" bzr push ../PROJECT/trunk cd ../work_T bzr pull echo "ここでthis is work_Aのログが無い" bzr log type txt_A.txt type txt_B.txt
>>180 仕様だよ。
merge --pullを実行してるけど、これは、「pullできる時はpullして、できない時はmergeするよ」、という意味。
今回はpullはできない状況だから、mergeが実行されている。
mergeした後にcommitすると、途中で枝分かれして再統合された形のログになる。
今回の場合ならこんな感じのログになっているはず。this is work_Aのリビジョンは消えたわけじゃなく、
枝分かれした先に存在している。
3 this is work_B rev2 diverged-branches => merge --pull => push
2 this is work_B rev2 commit
1.1.1 this is work_A rev2 commit
1 init.
bzr logだと、履歴のメインラインしか表示しないので、this is work_Aのリビジョンは表示されない。
かわりに、bzr log -n 0とオプションをつけるか、bzr qlogを使えばいい。
ちなみに、pullとmergeについては、Mercurialの場合とコマンドの位置づけが違うので、Mercurialを
知ってるとかえって混乱するらしい。オレはMercurialは使ってないから詳しくは分からないけど。
184 :
180 :2010/05/13(木) 00:12:32
>>183 ありがと!一つだけわからないことが。
>今回はpullはできない状況だから、mergeが実行されている。
これは、直前にpushして送ろうとしたらエラーになったから、
pullをしたんだけど、
work_Aではtxt_Aを編集 work_Bではtxt_Bを編集したんだから、
互いの修正ファイルがかぶってないからpush出来てよさそうなんだけど、
だめなの?
>>184 だめ。
修正ファイルがかぶってるかどうかは関係なくて、履歴が分岐してしまった時点でpullはできなくなる。
(手元のブランチにしかないリビジョンがある場合はpullできない)
rebaseコマンドを使えば、枝分かれした履歴を無理やり分岐の無い形にまとめることもできるけど、
特に理由が無ければ素直にmergeを使えばいいと思うよ。
ブランチXの履歴が A→B→C、ブランチYの履歴がA→B→D→E だとして、Yの変更をXに取り込みたい
場合、普通はmergeを使ってこういう履歴にするんだけど、
C −− F
/ /
A−B−D−E
rebaseを使ってこういう履歴を作ることもできますよ、ってこと。
A−B−D−E−C
186 :
180 :2010/05/17(月) 01:09:01
>>185 なるほどよくわかりました、ありがとう!
mregeを使った方が理解しやすいですね。
187 :
デフォルトの名無しさん :2010/05/17(月) 19:30:02
BazaarにはSubversionにあるexternal相当の機能は ありませんよね?みなさんはどのように関連する ライブラリなどのブランチを集めているのでしょうか? メインのプロジェクトの下に、他のブランチを chekoutしてくるスクリプトを置いておいて 一発で集められるようにしている、とかですか?
cvsだと、cvs stat -v hoge.c でTAG付けが分かったけ、bazaarはないのか?
bzr ignoreの動作でハマりました。 複数階層からなるフォルダを管理しており、特定フォルダ以下のファイルを無視したくて、 bzr ignore directory/subdirectory/foo のようにやったら 一見何も問題なく無視できたように見えるのに、 bzr statusするとunknownなファイルとして表示されてしまう。。。 解決できないので結局ひとつひとつファイルを追加することにした。。。 ていうか、ファイル名かぶって無視したいファイルと無視したくないファイルが できたら対応できない気がしてきました。
>>189 fooを無視したいんじゃなくてfooの配下を無視したいんなら、
bzr ignore "directory/subdirectory/foo/*"
じゃない?
でも無視されるはずのファイルが無視されないことは確かにあるから、
何かバグがあるんだろうな。
BazaarのFUSEモジュールってないんでしょうか? 探し方が悪いのか、見つけられませんでした。
何か、ここ偏った人ばっかだね。 やはりUbuntuを作った会社がサポートしてるだけある。
>>190 ダブルクォーテーションで囲むのをやっていなかったので試してみたのですが、ダメでした。
解決方法が見つかれば報告します。。。
>>193 書き込んだ直後に解決?しました。
【原因】
無視したいファイルの相対パス指定を、
.bzrのあるフォルダではなくその一つ下のパスからみた設定にしていたから。
【解決方法】
bzr ignore "directory/subdirectory/foo/*"ではなく、
bzr ignore "repo_root/directory/subdirectory/foo/*"にする。
【わからなかった原因】
これまでignoreの設定は拡張子指定のワイルドカードか、ファイル名完全一致だったので、
ignoreの設定が.bzrignoreファイルからの相対指定になる事を知らなかったため。
お騒がせしました。
他にこんな凡ミスで躓く人がでない事を祈り、記録として書き込んでおきます。
2.1.2が出てるね。windowsのインストーラはまだだけど
>>28 が直ってるみたい。
196 :
デフォルトの名無しさん :2010/06/03(木) 11:37:48
ブランチの中にブランチを入れてると、 内側のブランチに付いてはTortoiseBzrの アイコンオーバーレイの対象から除外されるんだね。 joinはせずにSubversionのexternalsみたいなことを したいんだけど、nested branch はまだ先みたいだね。
197 :
デフォルトの名無しさん :2010/06/03(木) 11:45:59
それ以前に作業ツリーのないブランチもオーバーレイされなかった気がする。 standalone treeやfeature branchでやっている場合は気にならないんだろうけど
Linuxではgit使ってたんだけど、Windows版はいまいちなのでBazaarにしてみた。 リポジトリ、ブランチ、チェックアウトの関係がなかなかつかめないな・・・。 なんかユーザーガイド読んでても選択肢が多すぎて混乱する。
>>199 チェックアウトは主に、集中型のスタイルでやる場合に使うものなので、
分散型で使うならとりあえず使う必要は無いと思う。
>>196 はい、その制限は把握していますが、対応が後回しになっています。
nested tree はいつになったら実装されるのかな。scmprojが安定しちゃったけど。
>>199-200 他にも、リモートのブランチのミラーブランチがわりにチェックアウトを使うことがあります。
bzr init-repo proj
cd proj
bzr checkout url_to_trunk upstream
bzr branch upstream afeature
cd afeature
# afeature ブランチを開発
cd ../upstream
bzr merge ../afeature
bzr commit # afeature を trunk にマージ
公式ドキュメントって分かりにくいですよね hginit.comみたいな分かりやすい解説があればいいんですが
この手のソフトにしては丁寧な解説だと感じたけど
gitやMercurialだと、デフォルトの操作を使ってれば大体の操作ができるところが、 bazaarだとユーザーが選択しないといけないところが多いって印象が。あまりにも出来ることが多すぎて難しい。 まださっぱり理解してないから勘違いしてるのかもしれないが。 こういうときにはこのコマンド、的な定石が見えてくるとまた印象も変わってくるのかな。
bazaarってブランチいくつあるんですか? gitだとローカルブランチとリモートブランチの2つ、 hgだと名前付きブランチと名無しブランチの2つだと思うんですが。
>>206 その分類だと、作業ツリーは無視してるんですよね?
なら、 shared repository を利用する/しないで2種類
stack している/していない で2種類
これらは直交しているので、2×2 = 4種類
colocated branch はブランチの種類と言えるか微妙なので除外。
>>208 >
>>206 > その分類だと、作業ツリーは無視してるんですよね?
>
gitのbareかbareでないかってことですか?
hgはそもそもbareないですし。
bzrもbareあるなしがあるんですか?
bzrの1.1みたいなリビジョンは、git, hg感覚だとブランチなのですが、 bzrではブランチとは言わないんでしょうか?
211 :
デフォルトの名無しさん :2010/06/06(日) 12:49:00
AとBという二つのブランチがあって、 A に A/B を join したあと、 Aを元のBにマージするとえらいことになるね…
>>210 gitやMercurialみたいにリビジョンに名前つけるだけじゃなくて、ブランチっていう実体があるから
むしろSubversionあたりと比較した方がわかりやすいのかもしれない?
>>212 なるほどSubversionのブランチですか。
Subversionのブランチは全く使い物にならなかったので全く使いませんでした。
CVSから何も進歩していない上に、
ディレクトリだと言うのがおかしいとしか思えなかったので。
bzrのリビジョン1.1とかはCVSでブランチを切るとできる
リビジョン1.1.2.1を意識しているかと思ったのですが。
>>213 あー適当書いたけどSubversionもブランチっていう概念は薄いからだいぶ違うか・・・。
とにかく、gitやMercurialとはかなり用語の使い方が違うと思うんだけど
ブランチとチェックアウトの関係とかなかなかピンとこないんだよなぁ。
>>214 Mercurialはチェックアウトも無いので、チェックアウト何それ?という感覚。
bzr mergeしたときに、分岐してから修正を加えたことのあるファイルに対して マージが行われたもの一覧は出せない? 機械的なmergeは成功していても意味的なconfrictが発生している可能性があるのを調べたい。 (ファイル単位じゃなくても起こりえるけど) 例: void func() { >>>> branch-a int var1; ==== <<<< branch-b 何か処理 >>>> branch-a ==== int var1; <<<< branch-b 何か処理 } みたいなケース。
217 :
デフォルトの名無しさん :2010/06/10(木) 21:22:02
>>214 bzrは、ブランチとクローンが同じものですしね。
自由度は高いですけど、代わりにバージョン管理システムによって
運用方法の「型」みたいなのが提示されなくて判りにくい、という感じでしょうか。
>>217 柔軟すぎてクライアントサイドでどう使ったらいいのか判らないという問題については、
この前のUbuntu Developer Summitで話し合われて、これからどうにかしていこうという
意識合わせだけはできています。
ただし、アイデアは出たものの、どの方式を推奨にするかはまだ決定されていません。
bzrでブランチを削除するときに親ブランチにマージしていない 変更一覧を確認することは出来ないのでしょうか?
共有リポジトリ内に作った不要なブランチを削除するときはどうすれば? 確か実体は上位ディレクトリの共有リポジトリにあるんですよね。 単純に削除してしまうと共有リポジトリ内に残骸が残ったままになりませんか。 reconfigure --standalone してから削除?
デフォルトでignoreに*~が入ってるけど これって止めることって出来ない?
>>223 Documents and Settings とかの Users とかの下にignore というファイルがある。
226 :
デフォルトの名無しさん :2010/06/21(月) 18:34:20
bzr nick でつけた名前って動やって削除するの? If unset, the tree root directory name is used as the nickname. To print the current nickname, execute with no argument. らしいのだが、その unset とやらのやり方が分からん。
本番環境に上書きするだけで必要ファイルがリリースできるような用途を想定して、 変更したファイルのみを取り出すってのはどうやればいいんだろう……。 と思って考えたら以下のような結論になったんだけど、 これってもっと楽な方法があったりする? bzr log -r111..222 -v --gnu-changelog | grep "^\t\*" | tr '\t*: ' '' | > workfile dirname < workfile | sort | uniq | awk "mkdir -p ./out/$0" | sh sort < workfile | uniq | awk "cp ./$0 ./out/$0" | sh
>>226 unset のやり方はわからないが、unset された場合は、
the tree root directory name になるのだから、
bzr nick でそのディレクトリ名にしてやれば、unset と
同等の状態になるのだろうか
>>227 本番環境もブランチにしてしまって、push とか pull とか
するのはどうなんだろうか
>>229 うん。それが王道だと思う。
あとはbzr sendでマージディレクティブを送るとかも正攻法っすね。
ただ本番環境は別の人が管理してて、ファイルで渡してくれと
言われるので。
私の説得スキルでは彼をbzr派に転向できねぇ!
231 :
デフォルトの名無しさん :2010/06/24(木) 00:53:53
>>227 もしかしたら
bzr status -r111..222 | なんとかかんとか
>>231 なるほど。statusでリビジョンを指定するとそのリビジョンと作業コピーとの間で
変更があるファイルが出るわけですね。
>>227 × bzr log -r111..222 -v --gnu-changelog | grep "^\t\*" | tr '\t*: ' '' | > workfile
○ bzr log -r111..222 -v --gnu-changelog | grep "^\t\*" | tr '\t*: ' '' > workfile
元質問者じゃないんだけど、表示する方法もさることながら、 実際に取り出す方法ってないのかな。 export だとディレクトリ丸ごと出てきてしまうし、cat だとファイルを指定しないといけない。 qlog でとあるリビジョンを選択したときに右下に表示されてるファイルを 取り出せると嬉しいんだけど。
プラグイン書けばいいんじゃね?
ところで
>>222 の質問の答えがないかと bzr help commands とか眺めてたら
bzr pack というそれっぽいのがあったけど、実行すると逆に容量が増える。
なんだこれ?
>>237 packだけしたら、古いファイルが .bzr/ の中のどこかに残ってしまったような。
obsolete_files か何かが消せたと思うけど、注意してやってみて。
>>238 100Mちょいの共有レポジトリをpackして.bzrの中にあるobsolete_files内ファイルを消してみた。
しっかりテストしたわけじゃないけど、bzr logとかちゃんと見れるので大丈夫っぽい。
ただ、それでもpackする前よりも数メガ増えてた。
大量にブランチ切って消してを繰り返した共有レポジトリだったら、
ちゃんと容量が少なくなってくれるのかなあ?
>>237 >>222 質問した者だけど、レスがないからすっかり忘れてた。w
私もコマンド眺めてみたりぐぐったりしてみたけど、今のところなさそうですね。
誰かも言ってたけど、作る説明はあっても消す説明がないものは、現段階では
未実装なんでしょうかね。
いざとなれば、一旦ブランチ全部待避しておいて、共用リポジトリを削除して
再作成した後に全 push とか。ww
ブランチ消したら不必要なデータも消える機能が必要な場合は、 Stacked Branch を使えばいいんだけど、、、 そうすると今度はスタック元が消えたときの事を考えるのが面倒なので、 Shared Branch 使ってたまに大掃除、で良いと思う。 大掃除するときには、新規に作ったshared repositoryの中に既存のヤツの ミラーを作って、サービス止めて、サービス止めるまでに入った差分をさらに 更新した後に、既存のshared repository をどっかに移動して新しいヤツを 持ってくる。こうすると短時間で大掃除できる。
>Windowsで外部コマンドが起動できないバグを修正するプラグイン おー、素晴らしい。今は、このバグのおかげでdiffソフト2箇所に置いてるので。 ちなみに私はOffice文書を比較には、WinMerge+xdoc2txtプラグイン入れて、 とりあえず全部WinMergeに投げるようにしてる。
>>239 少なくとも2.1.0現在のpackはレポジトリの中身を整理するだけで
共有レポジトリから存在しないブランチ分のチェンジセットを削除するみたいな
動きはしないようだな。
branchコマンドで--no-treeオプションの逆の働きをするものはないの? init-repo&--no-treesで作った共有リポジトリでworking tree持ちのbranchを作りたい checkout&unbindでできるのは知っているんだけどね、 branchコマンド単体でできればと思った
bzr reconfigure --with-trees とかは?
247 :
245 :2010/07/24(土) 13:34:13
>>246 それはデフォルトを設定するものみたいです
bzr reconfigure --treeでいけました
248 :
ムヒ :2010/07/28(水) 21:47:24
TortoiseBzr2.1.1(WindowsXP)を利用しています。SVNからPullするときに以下のエラーで
SVNからとってこれなくなり困っています。原因&回避策をご存じないでしょうか。
sjis主体のアプリから、utf-8に変更したぐらいからおかしくなってます。
Run command: bzr pull
http://*.*.*.*/ --directory D:/BzrFolder --remember
http://*.*.*.* is permanently redirected to
http://*.*.*.*/ bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
Traceback (most recent call last):
File "bzrlib\commands.pyo", line 853, in exception_to_return_code
File "bzrlib\commands.pyo", line 1055, in run_bzr
File "bzrlib\commands.pyo", line 661, in run_argv_aliases
File "bzrlib\commands.pyo", line 665, in run_direct
File "bzrlib\cleanup.pyo", line 122, in run_simple
File "bzrlib\cleanup.pyo", line 156, in _do_with_cleanups
File "C:/Program Files/Bazaar/plugins\qbzr\lib\commands.py", line 788, in run
File "C:/Program Files/Bazaar/plugins\qbzr\lib\subprocess.py", line 786, in run_subprocess_command
File "bzrlib\commands.pyo", line 1055, in run_bzr
・・・
>>248 コマンドラインからやったらどうなりますか?
250 :
ムヒ :2010/07/28(水) 23:41:24
ログで出ていた、「Run command」の行をDOSプロンプトから実行してもだめでした。
>>250 マイドキュメント下の".bzr.log"というファイルにエラー時の詳細が
出力されているはずなのでコマンドライン版でエラーになったときの
ExceptionとTracebackを貼ってもらえませんか?
Tortoise BazaarのBuiltin Diff について質問です。 差分表示に使用されているフォントを 設定ファイルとかで変更出来ないんでしょうか? タブ幅、フォント指定を変えたいです。 (Builtin Diffは複数ファイルの差分を一気に見れるので なにげに便利です) qbzrのソース弄れと言われるかもですが pythonとビルド方法がわからんとです。
>>252 現在のところ、利用するフォントはコードに埋め込まれていて、設定できません。
TortoiseBZRから起動するウィンドウのほとんどはqbzrのもので、qbzrは単体でプラグインとして
インストール可能です。
Bazaarインストールディレクトリ配下のplugins/qbzr を直接弄るか、Application Data/bazaar/2.0/plugins
配下で bzr get lp:qbzr して最新版をインストールしてから弄ることができます。
後者の場合、日本語表示に必要なメッセージオブジェクトファイルをビルドするのに多少知識が要るので、
前者をおすすめします。
で、フォントを弄るには、たとえばサイドバイサイドの画面であれば qbzr/lib/diffview.py のなかの
class SidebySideDiffView の def __init__ のなかで、 self.monospacedFont = QtGui.QFont(...) と
なっているところを見つけて、フォント名を自分の好きなものに書き換えることができます。
タブ幅は、ピクセル単位でなら、同じ関数内の
& nbsp;browser.setDocument(doc)
の下の行に
browser.setIndentWidth(48)
を追加すれば設定できました。将来のバージョンで設定可能になるときは、フォントのスペース文字幅から
ピクセル幅を計算するようにして、文字数単位で設定できるようになると思います。
C:\Program Files\Bazaar\plugins\qbzr\lib\diffview.py に2箇所 "Courier New, Courier"を設定してるので、フォント名とサイズは埋め込みみたい。 ここを変更した後にBuiltin Diffを実行すれば反映されるので libをブランチにして、いつでも戻せるようにしてからやってみればどう?
>>253-254 詳しい説明ありがとうございます。
pyファイルにそれらしい記述があったのはわかっていたのですが
pyoファイルを作るためになにか必要なのかとおもって手が出せてませんでした。
おかげさまで
pyファイルを弄くり、弄くりしてフォントを変更することができました。
>>253 setIndentWidthだとエラーとなりました。
替りにsetTabStopWidthを見つけて追加したら動きました。
フォント変更だけでなくTabサイズも変更出来ることを
教えていただきありがとうございました。
>>255 コピペミスでした。setTabStopWidth()が正解です。
bzr2.2b4 を試してみたところ、TortoiseBZRが動いていませんでした。
bzrの初期化の部分に変更があったのが原因で、すでに開発ブランチでは修正済みです。
TortoiseBZRユーザーは、まだ2.2へのupgradeは控えてください。
2.2.0リリース Windows版Installerはまだ
rc無しでいきなりリリースするってことを直前に知ってあわててTortoiseBZRのバージョン 上げたから、翻訳のupdateを忘れてたぜ。
2.2インストーラ来た。 PythonとQtのバージョン上がってるから、全体的にきびきびなってるな。 特にTortoiseBZRからBazaar Explorer起動するときの速度は感動もの。 bzrw.exe もちゃんと動いてる。
coloが標準でインスコされるようになったのか コマンドが多くて大変なのでbzr-bash-completionを入れてみた
Bazaar Explorer で、何かにつけて Unable to load plugin u'rebase'. It requested API version (2, 1, 0) of module <module 'bzrlib' from 'C:\Program Files\Bazaar\lib\library.zip\bzrlib\__init__.pyo'> but the minimum exported version is (2, 2, 0), and the maximum is (2, 2, 0) とか言われるけど、プラグインなんか知らんがな。上書きしない方がよかったのかな。
>>262 うちもそうなった。
で、一回アンインストールして、
再インストールしたら出なくなったよ。
やっぱりそうなんかねえ。 作業が一段落したらアンインストろールしてみる。
おまいら相談です。 どざのトーシローにリビジョン管理をさせないといけないのですが、 subversion派をなんとしてでも抑えてbazaarを使わせたいのです。 bazaarを推薦する理由を考えやがってくださいませ。
ぉーそうなのか。ツッコミありがと。 あとで試してみます。
>>265 なぜあなたはbazaarを使いたいのですか?
否定する理由はいくつかあるよなあ。 svn:externalsが便利すぎるとかsvn:externalsが便利すぎるとかsvn:externalsが便利すぎるとか。 分散もsvkを使えば(svkは開発停止になってるので将来的にはともかく今は)問題ないし。
>>265 bzr-svnを使うという選択肢は無いのですか?
271 :
265 :2010/08/12(木) 18:42:23
>>270 何でやねんw
>>269 中央がSvnだと、ちゃんとバックアップしたり復旧したりってノウハウを学ばせないといけないのよ。
それがイヤだからbazaarにしたいのよね。
>>268 svn:externalsなんて器用なもの使える人間なら勝手にやらせるから苦労しない。
>>267 概ね、上記の通り。つーか、そもそも管理者と開発者が部署が違う上に
外注の可能性もあるから分散型でないと無理だと思う。
いずれにしても、Subversion派自身がリビジョン管理の経験に乏しいんだから
素直に私の意見を聞き入れりゃいいだけの話なんだけどねっと。
つーことで、ありがとおまいら。取り敢えず資料はでっち上げたからこの相談はここまで。
273 :
265 :2010/08/13(金) 09:33:45
>>272 そのまま流すわけにはいかないので、気が向いたら書き直してみる。
期待しないで待っててくれ。
いずれにせよ「おまいらバカだから頭いい俺がオススメするツール使え」って 態度じゃあ説得はできんと思う
BTS、テスト・ビルドツールの連携や外注先のスキル、書籍などの情報、 Git、Mercurial派のことも考えるとマスタはSVNの方が無難だと思うけどな。
2chの書き込みだしさすがに
>>274 が現実だとは思わないが、
この手のサポートツールは根回し、手回しが各所に必要だよね・・・
周辺の仲間だけでまずは使ってみたりして、賛同者や便利だと言ってくれるなんかを増やしつつ、
上司にも何かにつけて地道に摺り込んでいく
SVNのバックアップなんてコマンド1発だし、本当にそれが覚束ないレベルなら分散型での運用なんて無理だろう。 そもそも分散型ならバックアップとか考えなくていいって訳でもないし。 GUIクライアントの出来もだいぶ良くなって来てるとはいえまだTortoiseSVNには遠く及ばないし、VisualStudio使うならなおさらだし。 とりあえず中央はSVNにしておいて、器用そうな奴にはbzr-svnを使わせて少しずつ広めるっていうのが現実的なラインかと思うけど。
2.2 をインストールしたら、 Bazaar Explorer のコミット画面で日本語入力ができなくなってしまった。 うちだけかな? 対策ご存知でしたら、教えていただけるとありがたいです。
>>279 おっとっと、ごめんちゃい。
Windows Vista Biz x64(UAC有)、 Bazaar と Explorer はスタンドアロン版の 2.2 です。
IME は無償配布のIME2010。
「コミット」ボタンを押してIMEに切り替えようとしても切り替わらず、英数しか入力できないのですが、
いったん他のウィンドウに切り替えて、再度コミット画面に切り替えるとIMEを有効にすることができるようになりました。
bzrコマンドに、ルートIDを表示したり変更したりする サブコマンドってあります? なければ場当たり的にPythonスクリプトを書いて やり過ごします。
日本語フォルダ名で使えない文字ってありましたっけ? 以下のようなエラーメッセージが出ます…bzr2.2, Win7 32bit buisiness です。 一個上のフォルダへ移動してcommitするとそれは可能である模様。。 環境の問題でしょうか。 C:\Users\xxxxx\Documents\repository\bzr\others\misc\浜キャン>bzr commit Committing to: C:/Users/xxxxx/Documents/repository/bzr/others/misc/ modified 浜キャン/yyyyyy.docx aborting commit write group: InvalidURL(Invalid url supplied to transport: "/Users/xxxx/Documents/repository/bzr/others/misc/%95l %83L%83%83%83%93/": Unable to encode the URL as utf-8: 'utf8' codec can't decode byte 0x95 in position 50: unexpected code byte) bzr: ERROR: Invalid url supplied to transport: "/Users/xxxx/Documents/repository/bzr/others/misc/%95l%83L%83%83%83%93/": Unable t o encode the URL as utf-8: 'utf8' codec can't decode byte 0x95 in position 50: unexpected code byte
>>282 こちらでも再現しました(bzr 2.2.0スタンドアローンインストーラ版)↓前半は省略
File "bzrlib\msgeditor.pyo", line 146, in edit_commit_message_encoded
File "bzrlib\transport\__init__.pyo", line 1616, in get_transport
File "bzrlib\transport\__init__.pyo", line 1625, in _try_transport_factories
File "bzrlib\transport\local.pyo", line 76, in __init__
File "bzrlib\urlutils.pyo", line 233, in _win32_local_path_from_url
File "bzrlib\urlutils.pyo", line 578, in unescape
InvalidURL: Invalid url supplied to transport: "/xxxxxxx/hama/%95l/":
Unable to encode the URL as utf-8: 'utf8' codec can't decode byte 0x95 in position 14: unexpected code byte
edit_commit_message_encoded内でcommitログを書き込むためのテンポラリファイルをカレントディレクトリに
作成する際、tempfile.mkstempを使ってファイル名を作っているんだけど、内部でos.path.abspathの引数を
unicodeにせずに呼んでいるのが原因かな?
284 :
デフォルトの名無しさん :2010/08/16(月) 02:00:36
bzr --reference が使えるようになるのは どのバージョンから?ってか予定は未定?
>>284 bzr join --reference のこと?
ちょうどさっき、bzr2.3の目玉機能をNested Treeにしようと Martin Pool という
中心人物がMLで話しているところなので、半年後には使えるかも。
>>282-283 Launchpadでバグレポートするのが面倒でしたら、こちらで時間のあるときにレポート
(と、できれば修正)しておきます。
286 :
282 :2010/08/18(水) 15:47:35
>>283 ありがとうございます。
とりあえずコミット時のカレントディレクトリ名に日本語を含まない
というルールでいこうかとおもいます。
>>285 いつもありがとうございます。
私としてはお願いできると助かります。
287 :
デフォルトの名無しさん :2010/08/18(水) 15:52:26
>>285 > bzr join --reference のこと?
それそれ、それの事
いまだにsvn:externals の事が忘れられない。
>>288 Ruby on Rails の git が svn:externals みたいなことをしていた気がする。
自分では使ってないのですが、 bzr の scmproj というプラグインを使えば、 ルートプロジェクトがbzrでサブディレクトリはsvnなどという混合環境ができるはずです。
>>291 hgも似たようなのでsubrepoってのがあるよ。
>>292 知ってるって。hgのsubrepoはgitのsubmoduleに当たると思う。
これらは、外部リポジトリを一緒にチェックアウトしてくるという機能で、
svn:externals(の外部URL絶対パス指定)に相当すると思う。
サブツリーマージはちょっと違ってて、外部リポジトリをベンダーブランチとして丸ごと取り込んで
それを違うブランチのサブディレクトリに配置して本家の変更を追っかけていける機能……に読める。
subversionで言うベンダーブランチ+マージトラッキングの賢い版というか。
>>293 bzr join がそのサブツリーマージになるのかな?
joinもとの変更も追いかけてマージできるし。
>>294 join後もpullできたっけ?今のjoinは確か取り込み+リネームだから
取り込み元の位置から移動してしまってるような気がしたけど……。
できるなら、bzr joinが近い機能になると思う。
join --referenceが、partial checkoutも提供してくれそうな気がして少し期待してる。
hgのsubrepoでもできるはずと思うんだけど、bitbacketではそのためにわざわざリポジトリを分けてる
プロジェクトがいくつかあるので、できないんだろう……。
そして結局、svn:externals(相対パス)はどれもできない。
>>295 join後はpullじゃなくてmergeじゃないとダメだと思う。
pullコマンドは、手元のブランチを相手側ブランチのミラーにすることだから、
joinなんかで手元で変更した場合は、相手の変更を手元のブランチにマージすることになる。
Microsoft Office文書ってZIPばらした状態でも 扱えるといいと思うんだけどなぁ。 バージョニングもし易いと思うし。 かといっていちいち自分でZIP展開したり圧縮したり 拡張子を付け替えたりするのは面倒だ。 って、Bazaarと関係ないけど、最近ブランチに Officeファイルを突っ込んでみて感じたこと。
299 :
デフォルトの名無しさん :2010/08/22(日) 13:48:13
ぞうか、zip をサブディレクトリ扱いして 中のファイルをバージョン管理できるようになれば…
300 :
デフォルトの名無しさん :2010/08/26(木) 10:16:40
ファイル名に日本語が使えるのはやっぱいいね
スタンドアロン版じゃないとTortoiseBzrとかは 入ってないのかな?Windowsで使ってます。 初めてPython 2.6版を入れてみたんだけど、 bzr.exe も入っていないってことは、 これはPythonインタープリタの引数として 起動して使う or Bazaarライブラリ使った Pythonアプリケーションの開発用ということ?
302 :
デフォルトの名無しさん :2010/08/29(日) 11:53:41
TortoiseBzrなどのGUIも使いたくて、 かつBazaarのライブラリを利用した 自作ツールも開発したいときには スタンドアロン版とPython版(?)の 両方をインストールする必要がありますか?
つまりスタンドアロン版だけインストールしてもらって、 さらに import bzrlib するようなちょっとした ツールも使ってもらうには両方をインストールしてもらう 必要があるのかどうかと言うことです。 ワークフローの自動化のために使ってもらいたい コマンドラインツールがいくつかありまして。
Python版はbzr本体しか入ってないので、スタンドアローン版と同じ環境を作るには 他にも沢山インストールしないといけません。 特にTortoiseBZRは、シェル拡張まで含むので、スタンドアローン版以外でのインストールは ほとんど開発者専用です。 ちょっとしたツール、の方をbzrのプラグインの形にできれば、スタンドアローン版で そのツールを動かすことができます。
>>304 そのことはページのメンテナに言って書いておいたほうがいいと思うw
俺もPython環境すでにあったからPython版ダウンロードして、
全然足りないんじゃないのかと思ったから
307 :
デフォルトの名無しさん :2010/09/01(水) 17:09:34
bzr qaddのGUIからignoreすることはできますか?
308 :
デフォルトの名無しさん :2010/09/01(水) 17:35:47
.bzr/repository/obsolete_packs/ 以下の いろんなファイルはブランチの一部なんだよね? なんか増殖していく。コミットしているんだから当たり前か。 .bzr 以下は触らないようにしているけど。
309 :
デフォルトの名無しさん :2010/09/01(水) 17:44:10
310 :
デフォルトの名無しさん :2010/09/01(水) 21:56:54
Bazaarってメモリ食いなのがなぁ。 大量のファイルをコミットしようとしたり、 巨大なリポジトリを操作しようとすると、 aborting commit write group: MemoryError() bzr: out of memory Windows XP 32bit版でメモリが2GBポッチだから?
>>308 packsやindicesに積み替えたときの残骸だから、折を見て削除しちゃっても大丈夫。
つーか、uncommitかpackしないとできなくない?
312 :
デフォルトの名無しさん :2010/09/02(木) 20:33:35
>>310 普通こんなことやるべきじゃないが、例えば400MBのファイルを
コミットすると必ず out of memory になる。
Windows 7 32bit 版で 3GB メモリ積んでる。
Pythonインタープリタの制限?
64ビット版ならどうなんだろう。
bzrは現在のところ、単一で容量の大きいファイルの扱いは苦手です。 実ファイルサイズの3倍程度のメモリを消費します。 64bit版ならさすがに大丈夫でしょうが。 Pythonインタープリタの制限というより、実装・設計上の問題なので、 将来的には改善されると思います。
3倍って凄いな
315 :
デフォルトの名無しさん :2010/09/03(金) 04:50:27
Bazaarのブランチって、bzr checkでチェックしているのは メタデータ部分だけ?それとも各ファイル各リビジョンの ハッシュ値とか記録されていて、内容の破損についても チェックしてくれているの?
Subversionあたりだと、割と平気で数十M単位のファイルコミットしてたりするからなー。 数百Mでこけられるとちょっと怖い。 ホントは運用をもうちょっと考えるべきなんだろうけど。
317 :
デフォルトの名無しさん :2010/09/03(金) 09:01:57
コードと一緒にデザイナーさんから送られてきた 画像とか映像を一緒に突っ込んでしまいたい時がある。
誰か64ビット版のWindows使ってる人、 どれくらいでかいファイルまでコミットできるか 試してくれないかなぁ?500MB位のファイル希望。
Windows上ではBazaarを動かしているPythonが32bitのままだから ほとんど意味無いんじゃないか?
>>318 500MB程度だったら、64bit OSとか関係ないんじゃないか
Bazaarは確かUbuntuで使われてたよな?パフォーマンスみるならUbuntuのリポジトリ操作してみればいいんじゃないの
>>320 Ubuntuのリポジトリはどこですか?
なんでUbuntuのリポジトリが出てくるか分からんのだけど
それなりにでかいリポジトリの例ってことじゃないの?
問題になってたのはリポジトリの大きさじゃなくて、 リポジトリに入れるファイル一つのサイズだったはずだが…
326 :
デフォルトの名無しさん :2010/09/09(木) 08:41:38
バージョニングとは関係なく, commitの度にファイルのタイムスタンプも 記録してくれたらいいのになぁ。 まぁ他のVCSでもやってくれる奴はないんだけど。
bzrって履歴にある特定のリビジョンにさっと切り替えられないものなのでしょうか? 他のバージョン管理だと履歴だして、その場で切り替えられたりできたのですが、 中身を見えこそすれども一気にスイッチできなくてムズムズしますw 他のリビジョンへチェックアウトができないというのはこういうことなんでしょうか? 他のディレクトリへブランチすれば(gitやhgだとクローンでしょうか?)いけるみたいですが結構面倒に感じます
329 :
328 :2010/09/10(金) 02:57:21
バージョンは、Bazaar Explorer 1.0.1 、Bazaar (bzr) 2.1.1、Tortoise Bazaar 0.5.4です
bzr revert -r [リビジョン] でどう?
331 :
328 :2010/09/10(金) 04:34:34
>>330 いけました!
現在のブランチがどこを指しているか、どのバージョンなのかはわからないですがこんなもんでしょうか?
Bazaar explorerには該当機能はついていいないのかな
bzr update -r の方が良かったような。revert -r だと bzr status が嫌な感じにならない? Bazaar Explorer なら「履歴」から、TortoiseBZRなら「ログ」から、 bzr qlog の画面が 見えます。(日本語統一しないとな…) 最新のqlogだとリビジョンを右クリックすると "Update to this revision" というメニュー 項目があり、これを使ってGUIでそのリビジョンにできます。
lp: プロトコルって push のときに ssh を使いますよね? Windows の場合 ssh はどこから調達してくるのでしょうか?
"bzr ssh windows"とかでググれ
paramiko という、Python製sshクライアントを使います。 ssh.exeがあるとそっちを使いますが、GUIから実行されるときは初めて接続するときのyes/noを うまくハンドリングできないので、BZR_SSH=paramiko って環境変数にセットすることをお勧めします。 paramikoはputtyというかpageantと連携するので、puttyで鍵を作って、pageantに読みこませておくと 良いです。
>>335 レスありがとうございます。
>ssh.exeがあるとそっちを使いますが
それでcygwinがインストールされている環境では
挙動が違ったのかも知れません。
鍵認証がうまくいかず悩んでいました。
cygwin の ssh は Putty の鍵をそのまま使ってくれませんし。
ssh が必要だろうなぁなどと漠然とした思い込みで
cygwin の ssh を入れてみたりしたのがまずかったのかも。
環境変数で明示的にsshクライアントを指定するようにします。
337 :
328 :2010/09/11(土) 19:55:45
>>332 ありがとうございます
updateあったんですね。試してみます。
ついGUIがあるとそっち使いがちですが、コマンドラインからも使ってみないと
GUI版にない機能かどうか判断する前に質問してしまった。
いけないな
sshの鍵の形式違う載って何であんなにハマる人多いのかね 何故一緒にしなかったのか問い詰めたい ssh.exeの方じゃなくてputtyのほうね
確かに、putty独自形式って何の必要があったのか、ってのは興味があるな なんか経緯があるんだろうなあって思って素直にputtygenでごにょごにょしてるけど
OpenSSHの秘密鍵やホスト鍵のリストを直接 扱うことが出来るPuTTYがあれば便利だな。
PuTTYで出来るもん
Bazaar Wikiの日本語ドキュメントに関する記載が古いから 更新しようとしたら、IPアドレスがアクセス規制(スパム対策)に引っかかった…… すまんが誰か更新を頼む
Poderosaも使ってるとSSHの鍵がさらにもう一つ増えるw
>>343 おまえは俺か?
・ssh用のターミナルはPoderosaの鍵
・Tortoiseなんたら用はputty鍵
・cygwinやLinuxで他につなぐときはOpenSSH鍵
3つ必要w
Tortoise なんたら用のも ssh.exe でいいんじゃねぇの?
Tortoiseはなんとなくplink(TortoisePlink)を使うものだと思ってた ssh.exeでも行けるんだ?
BZR_SSH=sshもBZR_SSH=plink も大丈夫です。 が、ssh.exe が何かしらのユーザーとのインタラクション(初めて接続するホストですが良いですか? とかとか)を要求したときに(少なくともGUIでは)無言で先に進まなくなってしまいます。 bzr-svnを使う場合は、libsvnがparamikoは使ってくれないので、SVN_SSHをplinkw.exeとかに 設定しないといけません。その時はやはり、コマンドラインからssh接続が成功することを確認 しておかないとなんで接続できないのか判らない状況に陥ったりします。
ssh.exeの場合、その前にシェルでsshagentをかましておく必要があるからな。 GUIから使う時は面倒なので、いつもplink+pageantにしてしまうな
pageantって毎回秘密鍵を指定しないと空っぽなのがヤダ。 コマンドラインで指定すればいいのか。
>>349 起動するときの引数で鍵は指定できる
ただしここに来るようなわかっていると思うが、
パスフレーズの入力がめんどうだからと記憶するのはお勧めできんな
記憶してるFFFTPのパスワードを狙い撃ちにするウィルスもあることだし
pageantはWindowsの開発者はかなり使っているだろうし同じようなことがありうる。
といっても、そんなウィルスにはいる状況ならそもそもやばいが
申し訳ないが、日本語でお(ry
公開鍵暗号(ry
>>353 それをpagentに限ってやる奴も居るって話ではないかな?
それも馬鹿
ついでに、自動化等の理由なしにパスフレーズ無しってのも馬鹿
だからって自動化の為にssh-agentを上げっぱなしってのも、
正しいやり方を知らないと馬鹿、らしい
世の中馬鹿ばっか
パスフレーズ無しは、それほどセキュリティに影響しないといった意見もあるようだけど、 実際のところどうなんだろう。 仮に鍵を盗まれたとしても、すぐには使われないだろうけど。
WindowsでBazaarと連携できるマージツールは どのようなものがおすすめでしょうか? 今まではemacsを使っていました。
WinMerge を使い始めました。 ただ、まだBazaarとの連携(マージツールとしての活用) はうまく設定できず。 手動でWinMergeのダイアログボックスにドラッグ&ドロップして 差分をユニファイドdiffで出力するという使い方で パッチファイルを地道に作るという使い方。
>>358 ありがとうございます。うまく設定できました。
qbzr 0.19.1 が出てるけど、TortoiseBZRと相性問題があって現在修整中なので、 TortoiseBZRユーザーは bzr-2.2.1 のパッケージが出るまで待ってね。
TortoiseBZRでApacheのBasic認証ってできないのでしょうか。
コマンドラインで
bzr branch svn+
http://レポジトリのURL とした場合、ユーザとパスワードを求められるのですが
TortoiseBZRだと、ユーザとパスワードを入力する画面が表示されないで、
TortoiseBZRがフリーズしたような状態になります。
環境はbzr 2.2.0 (windows install) on Windows7 ultimate x64です。
このスレをじっくり読むと役に立つかもしれません。
TortoiseBzrでのアイコンオーバーレイの表示に必要な ブランチの各ファイルの状態って tbzrcache.exe が メモリ上にずっと保持しているんですよね? ディスク内のブランチが増えてきたり、 ブランチのサイズが大きくなってきたりすると どんどんメモリを食いつぶしていくんでしょうか? それからtbzrcache.exe がファイルシステム内のどこを クロールしていてどのファイルの情報をキャッシュしているか って確認できるんでしょうか?tbzrtrace.exe では tbzrcache.exe の協働までは見せてくれないように思います。
--checkout から --lightweight-checkout に reconfigure しても 既にローカルに保存されているリビジョンが削除されて 軽量化されるわけじゃないんだね。
スタックブランチを使ってみようとしたんだけど、
スタックブランチへの add も commit も
スタックオンブランチへのアクセスが必要なんだね。
しかも結局コミットに失敗しちゃった。
bzr: ERROR: Cannot commit from a lightweight checkout to a stacked branch.
See
https://bugs.launchpad.net/bzr/+bug/375013 for details.
スタックブランチという概念自体の理解が間違っているのだろうか?
2.2.2dev のドキュメントには Limitations of stacked branches¶ Currently, you cannot commit to a stacked branch, due to bug 375013. って書かれてる…コミットもできないブランチなんて意味ないよ… 最初から --stacked でブランチ作らせるなよと思う。
TortoiseBZR 入れたらエクスプローラーがしょっちゅう固まるんだけどこんなもの?
>>368 固まることがありますね…
右クリックメニューが固まります?
それとも普通に開いただけで固まります?
後者は最近はそんな事なくなってきた気がするんだけどなぁ。
TortoiseSVNと併用してない?
tbzrcache は別プロセスだしなぁ。 tbzrtrace で何が起こってるかみられるけど、 TortoiseBZRの開発者じゃないとあんまり意味ないね。
うちは十数個のプロジェクトを一つのフォルダに入れていると アイコンの反映が遅れたりうまくいかないので外した Bazaar Explorerとコマンドラインからのqbzrで十分
でもアイコンオーバーレイは便利なんだよな。
開いているプロジェクトだけバージョン管理のアイコンオーバーレイ表示ができるIDEはけっこう便利だよ エディタでもそういうのあるかもしれない Bazaar対応かプラグインでてるIDE何かあったかな
Eclipse
TortoiseBzr のソース見てるんだけど、 そういえば、 bzr.ico が含まれてないなぁ。
パイプであれこれゴニョゴニョやって面白いツール作れそうだな。
>>369 ブランチのあるフォルダを開くとしばらく(数十秒くらい)操作不能になりますねー。
一度動き出すとあとはそんなに止まらないのでキャッシュ中なんだと思いますが。
TortoiseSVNは入れてないです。
>>378 どのバージョンでしょうか?
かなり前に、ステータス取得前には?マークを表示するようにしてエクスプローラを
止めないことを優先するようにしたのですが、?が出るまでに時間がかかるという
ことでしょうか?
>>379 消してしまったので TortoiseBZR のバージョンはわからないのですが、2.2 インストーラー付属のものです。
よく覚えていませんが、?マークはあまり出てこなかった気が…。
また再インストールしてみて報告します。あと OS は Vista x64 Biz。
tbzrcache の方しか見てないけど、 シェル拡張の方はパイプからの応答がなくても 固まらないようになってるんだっけ?
>>381 パイプからの応答がないと何回かリトライし、数秒でタイムアウトします。
なので、tbzrcacheの起動待ちで数十秒は止まらないハズ。
tbzrcacheが起動しているなら、オーバーレイアイコンの取得が毎回タイムアウトするとかかな。
重いディレクトリを走査中などにtbzrcacheの応答が遅くなってる可能性はあります。
>>380 ファイルが数千個あるような大きいブランチを表示しようとしたとか、中規模のブランチを数十個
並べたディレクトリを表示しようとしたとか、心当たりは無いでしょうか?
>>382 >>380 じゃないけどその程度のことはザラにあるなぁ。
オーバーレイは表示されたらラッキーくらいに考えているので、
シェル拡張の側からは余りがんばらないでさっさとタイムアウト
してくれるほうがありがたいです。
オーバーレイは、表示されても嘘ばっかり。
385 :
380 :2010/09/28(火) 11:59:06
>>382 ブランチは多いもので2000ファィル、あとは10〜100ぐらいの小規模な物です。
昨晩2.2.0 をTortoise付きで再インストールしてみたら、
重くはなっても、ほとんど止まらなくなりました。
ただ、使っているうちに少しもたついてきた印象があります。(気のせいかも)
もうしばらく使って、再現するようでしたら、また報告します。
お騒がせしました。
2.2.1 Windowsバイナリきたよ
>>385 ありがとうございます。
あと、一時的にオーバーレイが要らなくて、オーバーレイが重いとき等の為に、
TortoiseBZRのトレイアイコンを右クリックしてスリープできるようにしてあります。
ご活用ください。
タイムアウト気になって確認してみたら、全部一律10秒だったorz 何かエラーが起こった後、デーモンプロセスとの通信を再度試みるまでの間隔 = 10sec (現状) ステータスアイコン表示では何度も連続して呼ばないといけないので、 1. プロセス起動待ち = 200ms (タイムアウトしたら10秒は通信を試みないので少し長め) 2. ステータス取得コマンドの応答待ち = 5ms その他(右クリックメニュー表示等)では、 1. プロセス起動待ち = 500ms 2. コマンドの応答待ち = 500ms ぐらいにしたら快適かな。 これでステータスアイコンが頻繁に歯抜けになるなら、応答速度が落ちる原因調べて GC止めるなりmultiprocessing使うなり考えてみる。
389 :
ムヒ :2010/10/02(土) 00:23:10
>>251 規制されていたみたいで、まったく書き込みできませんでした。。。
以下、実行時のエラーです。
D:\bzr_test>bzr pull * --directory D:/bzr_test_tortise
HTTP *, *: '*' username: *
HTTP *, *: '*' password:
* is permanently redirected to *
bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
Traceback (most recent call last):
File "bzrlib\commands.pyo", line 853, in exception_to_return_code
File "bzrlib\commands.pyo", line 1055, in run_bzr
File "bzrlib\commands.pyo", line 661, in run_argv_aliases
File "bzrlib\commands.pyo", line 665, in run_direct
File "bzrlib\cleanup.pyo", line 122, in run_simple
File "bzrlib\cleanup.pyo", line 156, in _do_with_cleanups
File "bzrlib\builtins.pyo", line 1013, in run
File "bzrlib\decorators.pyo", line 194, in write_locked
File "bzrlib\workingtree.pyo", line 1614, in pull
File "bzrlib\decorators.pyo", line 194, in write_locked
File "bzrlib\branch.pyo", line 962, in pull
File "C:/Program Files/Bazaar/plugins\svn\branch.py", line 748, in pull
File "C:/Program Files/Bazaar/plugins\svn\branch.py", line 683, in update_revisions
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1307, in fetch
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1253, in _fetch_revisions
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1229, in _fetch_revisions_nochunks
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1171, in _fetch_revision_switch
File "C:/Program Files/Bazaar/plugins\svn\errors.py", line 141, in convert
391 :
ムヒ :2010/10/02(土) 00:30:09
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 937, in report_inventory_contents
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 302, in close
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 467, in _close
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 713, in _finish_commit
File "bzrlib\repository.pyo", line 1122, in add_revision
File "bzrlib\repository.pyo", line 1125, in _add_revision
File "bzrlib\chk_serializer.pyo", line 82, in write_revision_to_string
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
bzr 2.1.1 on python 2.5.4 (Windows-XP-5.1.2600-SP3)
arguments: ['bzr', 'pull', '
http://*/* ', '--directory', 'D:/bzr_test_tortise'
]
encoding: 'cp932', fsenc: 'mbcs', lang: None
plugins:
bzrtools C:\Program Files\Bazaar\plugins\bzrtools [2.1.0]
explorer C:\Program Files\Bazaar\plugins\explorer [1.0.1]
launchpad C:\Program Files\Bazaar\plugins\launchpad [2.1.1]
netrc_credential_store C:\Program Files\Bazaar\plugins\netrc_credential_store [2.1.1]
news_merge C:\Program Files\Bazaar\plugins\news_merge [2.1.1]
qbzr C:\Program Files\Bazaar\plugins\qbzr [0.18.4]
rebase C:\Program Files\Bazaar\plugins\rebase [0.5.5]
svn C:\Program Files\Bazaar\plugins\svn [1.0.2]
upload C:\Program Files\Bazaar\plugins\upload [1.0.0dev]
xmloutput C:\Program Files\Bazaar\plugins\xmloutput [0.8.7.dev]
*** Bazaar has encountered an internal error. This probably indicates a
bug in Bazaar. You can help us fix it by filing a bug report at
https://bugs.launchpad.net/bzr/+filebug including this traceback and a description of the problem.
次にlogです。
金 2010-07-30 12:23:54 +0900
0.156 bazaar version: 2.1.1
0.156 bzr arguments: [u'pull', u'
http://*.*.*.*/* ', u'--directory', u'D:/ge']
0.172 looking for plugins in C:/Documents and Settings/ge/Application Data/bazaar/2.0/plugins
0.172 looking for plugins in C:/Program Files/Bazaar/plugins
0.250 encoding stdout as sys.stdout encoding 'cp932'
0.265 opening working tree 'D:/ge'
0.578 encoding stdout as sys.stdout encoding 'cp932'
3.890 encoding stdout as sys.stdout encoding 'cp932'
[ 4732] 2010-07-30 12:23:59.655 INFO:
http://*.*.*.*/* is permanently redirected to
http://*.*.*.*/*/ 5.250 bzr-svn: using Subversion 1.6.6 ()
6.078 potential branching layouts: [('trunk0', 301)]
6.078 Guessed repository layout: TrunkLayout(0), guess layout to use: CustomLayout(['trunk/ge'],[])
13.625 unsupported dir property 'svn:ignore'
21.453 unsupported dir property 'svn:ignore'
21.453 unsupported dir property 'svn:ignore'
21.453 unsupported dir property 'svn:ignore'
21.453 unsupported dir property 'svn:ignore'
22.000 unsupported dir property 'svn:ignore'
22.000 unsupported dir property 'svn:ignore'
22.000 unsupported dir property 'svn:ignore'
22.000 unsupported dir property 'svn:ignore'
32.156 unsupported dir property 'svn:ignore'
[ 824] 2010-07-30 12:25:03.046 INFO: Client disconnected from pipe - closing connection
70.187 Traceback (most recent call last):
File "bzrlib\commands.pyo", line 853, in exception_to_return_code
File "bzrlib\commands.pyo", line 1055, in run_bzr
File "bzrlib\commands.pyo", line 661, in run_argv_aliases
File "bzrlib\commands.pyo", line 665, in run_direct
File "bzrlib\cleanup.pyo", line 122, in run_simple
File "bzrlib\cleanup.pyo", line 156, in _do_with_cleanups
393 :
ムヒ :2010/10/02(土) 00:34:13
File "bzrlib\builtins.pyo", line 1013, in run File "bzrlib\decorators.pyo", line 194, in write_locked File "bzrlib\workingtree.pyo", line 1614, in pull File "bzrlib\decorators.pyo", line 194, in write_locked File "bzrlib\branch.pyo", line 962, in pull File "C:/Program Files/Bazaar/plugins\svn\branch.py", line 748, in pull File "C:/Program Files/Bazaar/plugins\svn\branch.py", line 683, in update_revisions File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1307, in fetch File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1253, in _fetch_revisions File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1229, in _fetch_revisions_nochunks File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 1171, in _fetch_revision_switch File "C:/Program Files/Bazaar/plugins\svn\errors.py", line 141, in convert File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 937, in report_inventory_contents File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 302, in close File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 467, in _close
394 :
ムヒ :2010/10/02(土) 00:34:57
File "C:/Program Files/Bazaar/plugins\svn\fetch.py", line 713, in _finish_commit File "bzrlib\repository.pyo", line 1122, in add_revision File "bzrlib\repository.pyo", line 1125, in _add_revision File "bzrlib\chk_serializer.pyo", line 82, in write_revision_to_string UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128) 70.187 couldn't find apport bug-reporting library: No module named apport 70.219 Traceback (most recent call last): File "bzrlib\plugin.pyo", line 471, in _get__version__ File "bzrlib\__init__.pyo", line 93, in _format_version_tuple IndexError: tuple index out of range 70.234 Transferred: 49225KiB (703.7K/s r:2K w:1K u:49222K) 70.234 return code 4 [ 824] 2010-07-30 12:32:54.592 INFO: Discarding watch for D:\ge - it has expired 以上です。よろしくお願いします。
えっと、何をしたかったんだっけ? ローカルのファイルシステムにあるSubversionのリポジトリから Bazaarでpullしたかったということかな? エラーメッセージを見ていると文字コードに関する例外のようだけど… C:\Program Files\Bazaar以下をごそっと削除して 最新のBazaar入れてみました? 自分も昔文字コードに関する例外で困った気がするんだけど、 いつの間にか見なくなった。スマソ有用なレスじゃなくて。
396 :
ムヒ :2010/10/03(日) 21:34:37
そうです、SVN->BZRにpullしたときにエラーとなります。 最初は、順調にpullできていたのですが、UTF-8にソースのエンコードとか 変え始めそれらを、SVNに戻したころ(関係ないかもしれませんが)から、 それ以降のRevがpullできなくなってしまいました。 エラーを見ると、SVN pluginあたりで文字コード処理に失敗? とかおもっていたのですが。 情報ありがとうございます。アンインストール&再インストールはやっていたのですが、 Program Files\Bazaar消して再インストール、今度やってみます。
ログに日本語等が含まれていると"bzr version-info --all"がUnicodeDecodeErrorでこける? 2.2.1, Windows Standalone Installer
>>397 再現、確認しました。
もちろん直すとして、これってエンコーディングは何にしたらいいのかな?
version-info って、人間が確認用に使うよりも、ファイルにリダイレクトしてバージョンスタンプにする
ユースケースの方が多いけど、そのユースケースだとそもそもコメントはあまり書かないしなぁ。
bzrの流儀で行くと、デフォルトは環境のエンコーディングで、オプションでutf-8が正解かな?
長くてスンマセンですが、質問です。
今迄以下のように
bzr branch
http://foo.com/svn/foo foo (push、pull用) [旧A]
bzr branch foo work (実作業、commit用) [B]
としてSVNを中央サーバにして使っていました。
しばらくして、サーバ側のリポジトリが新サーバに移行されました。
http://bar.com/svn/foo [新A]
その際、旧SVNのリポジトリがそのままコピーされるのではなく新たにリポジトリが作成されて最新のソースだけがコミットされました。
↓
※workブランチの履歴はそのまま移行したい※
↓
手元[B]と[新A]の最新状態は同じなので
手元の履歴情報はそのまま移行したい。
[旧A]を削除して[新A]に切り替える
rm -fr foo
bzr branch
http://bar.com/svn/foo foo [新A]
cd work
bzr merge
すると
"bzr: ERROR: Branches have no common ancestor, and no merge base revision was specified."
と怒られる。
ここで、怒られないで今迄の履歴を保持しつつ、今後も楽にfooブランチから
workブランチにマージ。そしてworkでのcommitをfooブランチにマージの流れを続けられるようにしたいです。
どうすれば出来るでしょうか?教えてください。Bazaar は 2.3b2 です。
2.3のリリース楽しみだな。 今Windowsで2.2.1使ってるけど 日本語を含むパスにブランチをおいてbzr commmit しようとするとエンコーディングの例外が出ることがある。 bzr qcommit だとうまくいく。
>>401 例外出たらメッセージと、 .bzr.log の最後の方を報告してもらえれば、時間のあるときに調査します。
403 :
デフォルトの名無しさん :2010/10/19(火) 23:39:02
あまりやるべきではないのかもしれませんが、 bzr+ssh://example.com/あいうえお のようにマルチバイト文字を含むURIで 適切に%エンコーディングが行われないようです。 bzr push bzr+ssh://example.com/あいうえお bzr: ERROR: Unsupported protocol for url "bzr+ssh://example.com/縺ゅ>縺・ ∴縺・ のようにただ文字化けするだけなのですが、 やはりブランチのディレクトリ名を non-ascii にするのはまずいのでしょうか?
404 :
403 :2010/10/19(火) 23:46:32
ちなみに、%エンコーディングが誤って取り扱われるというわけではなく、 bzr push bzr+ssh://bzr@myhost/aaa%45bbb とすると aaaEbbb というブランチに push されます。 書き忘れていましたが、 Windows 7 Home Premium + Bazaar 2.2.1 です。
405 :
403 :2010/10/20(水) 00:10:12
ではIRIとしての取り扱いを期待せず、 予め%エンコーディングしてURLを与えるとどうかというと bzr push bzr+ssh://bzr@myhost/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A Connected (version 2.0, client OpenSSH_5.5) Authentication (publickey) successful! Secsh channel 1 opened. bzr: ERROR: exceptions.UnicodeEncodeError: 'ascii' codec can't encode characters in position 33-37: ordinal not in range(128) Traceback (most recent call last): File "bzrlib\commands.pyo", line 912, in exception_to_return_code File "bzrlib\commands.pyo", line 1112, in run_bzr File "bzrlib\commands.pyo", line 690, in run_argv_aliases File "bzrlib\commands.pyo", line 705, in run File "bzrlib\cleanup.pyo", line 135, in run_simple File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups File "bzrlib\builtins.pyo", line 1161, in run File "bzrlib\push.pyo", line 81, in _show_push_branch File "bzrlib\bzrdir.pyo", line 946, in open_from_transport File "bzrlib\bzrdir.pyo", line 2216, in open File "bzrlib\bzrdir.pyo", line 3468, in _open File "bzrlib\remote.pyo", line 118, in __init__ File "bzrlib\remote.pyo", line 130, in _probe_bzrdir File "bzrlib\remote.pyo", line 137, in _rpc_open_2_1 File "bzrlib\remote.pyo", line 57, in _call File "bzrlib\remote.pyo", line 173, in _translate_error File "bzrlib\remote.pyo", line 3000, in _translate_error UnicodeEncodeError: 'ascii' codec can't encode characters in position 33-37: ord inal not in range(128) つづく
406 :
403 :2010/10/20(水) 00:10:54
つづき
bzr 2.2.1 on python 2.6.4 (Windows-post2008Server-6.1.7600)
arguments: ['bzr', 'push', 'bzr+ssh://bzr@myhost/%E3%81%82%E3%81%84%E3%81%86%E3%
81%88%E3%81%8A']
encoding: 'cp932', fsenc: 'mbcs', lang: None
plugins:
bzrtools C:\Program Files\Bazaar\plugins\bzrtools [2.2.0]
colo C:\Program Files\Bazaar\plugins\colo [0.1.0]
explorer C:\Program Files\Bazaar\plugins\explorer [1.1.0]
fastimport C:\Program Files\Bazaar\plugins\fastimport [0.9.0dev]
launchpad C:\Program Files\Bazaar\plugins\launchpad [2.2.1]
loom C:\Program Files\Bazaar\plugins\loom [2.2.1dev]
netrc_credential_store C:\Program Files\Bazaar\plugins\netrc_credential_store
[2.2.1]
news_merge C:\Program Files\Bazaar\plugins\news_merge [2.2.1]
pipeline C:\Program Files\Bazaar\plugins\pipeline [unknown]
qbzr C:\Program Files\Bazaar\plugins\qbzr [0.19.2]
revnocache C:\Users\Takashi\AppData\Roaming\bazaar\2.0\plugins\revno
cache [unknown]
rewrite C:\Program Files\Bazaar\plugins\rewrite [0.6.1]
svn C:\Program Files\Bazaar\plugins\svn [1.0.4]
upload C:\Program Files\Bazaar\plugins\upload [1.0.0dev]
xmloutput C:\Program Files\Bazaar\plugins\xmloutput [0.8.6]
*** Bazaar has encountered an internal error. This probably indicates a
bug in Bazaar. You can help us fix it by filing a bug report at
https://bugs.launchpad.net/bzr/+filebug including this traceback and a description of the problem.
407 :
403 :2010/10/20(水) 00:34:50
結局、リモートでは エンコードされたURL →%エンコーディングを解除してUTF-8文字列 →Unicode文字列 →fsencにエンコードし直し のようで、最後のところがasciiになっててエラーに なっているように思います。違うかな?
>>407 サーバー側が返してきたエラーをクライアント側が報告しているようです。
サーバー側のbzrの環境はどうなっているでしょうか?
bzrをサーバー側で動かすときにLANG=ja_JP.UTF-8とか LANG=en_US.UTF-8 に設定してやれば
大丈夫かもしれません。
>bzr: ERROR: exceptions.UnicodeEncodeError: 'ascii' codec can't encode characters >in position 33-37: ordinal not in range(128) setdefaultencoding だな
410 :
403 :2010/10/20(水) 08:22:25
リモート(サーバ)側の bzrlib/remote.py に何か所か トラップ(?)仕掛けて観察したんですが、どうやら そもそもRPCハンドラ自体が呼び出される前にクライアント側で 例外が表示されるので、サーバ側の問題に行き当たる以前のような気も。 今まではWindowsの方はバイナリ版を使っていたんですが、 Python 2.6 版を使いながらソース眺めて原因探してみます。 何かわかったらここに書こうと思いますが、会社からはかけないので夜に。
>>410 File "bzrlib\remote.pyo", line 57, in _call
File "bzrlib\remote.pyo", line 173, in _translate_error
この部分って、リモートからのレスポンスに書かれているエラーを例外に
書き換えているので、UnicodeEncodeErrorが発生しているのはリモート側だと思います。
サーバー側の .bzr.log には何かかかれてないでしょうか?
あと、サーバー側のbzrが動いている場所で locale はどうなっていますか?
サーバは QNAP の NAS で、ipkg の bzr パッケージ py26-bzr_2.2.1 をいれています。
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ サーバ側の .bzr.log を見てみました。
Wed 2010-10-20 01:23:24 +0900
0.869 bazaar version: 2.2.1
0.870 bzr arguments: [u'serve', u'--inet', u'--directory=/share/MD0_DATA/bzr/mybranches', u'--allow-writes']
1.265 looking for plugins in /share/MD0_DATA/bzr/.bazaar/plugins
1.266 looking for plugins in /opt/lib/python2.6/site-packages/bzrlib/plugins
2.972 bzr-svn: using Subversion 1.6.13 ()
3.108 Unable to open <bzrlib.transport.pathfilter.PathFilteringTransport url=filtered-1085111120:///%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/> with Subversion: Unable to open an ra_local session to URL
3.421 return code 0
あれ? bzr-svn が発動している・・・Subversionリポジトリなんて扱ってないのになぜ?
LANGもLC_*も設定していません。したがってサーバ側の bzr は
LANG=C で動いているのだと思います。
413 :
デフォルトの名無しさん :2010/10/20(水) 14:03:16
Wed 2010-10-20 13:58:58 +0900 push じゃなくて init してみました。 Windows から bzr init bzr+ssh://bzr@myhost/%E3%81%82 末尾の %E3%81%82 は UTF-8 で「あ」です。 サーバ側の .bzr.log では次のように記録されていました。 0.858 bazaar version: 2.2.1 0.859 bzr arguments: [u'serve', u'--inet', u'--directory=/share/MD0_DATA/bzr/mybranchese', u'--allow-writes'] 1.226 looking for plugins in /share/MD0_DATA/bzr/.bazaar/plugins 1.227 looking for plugins in /opt/lib/python2.6/site-packages/bzrlib/plugins 2.639 return code 0 クライアント(Windows)側ではやはりエンコーディングに関するエラーが。 Traceback (most recent call last): File "bzrlib\commands.pyo", line 912, in exception_to_return_code (中略) File "bzrlib\remote.pyo", line 3000, in _translate_error UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 2: ordinal not in range(128)
サーバ側のデフォルトエンコーディングを明示的に指定しても 特に改善されることはありませんでした。 [/opt/lib/python2.6/site-packages] # cat sitecustomize.py import sys sys.setdefaultencoding('utf-8') クライアント(Windows)側でのデフォルトエンコーディングを 明示的に指定することはできるのでしょうか? py2exe のようなものでバイナリ化されてしまっている場合。
クライアント側も同じく sitecustomize.py を書いてみましたが、 特に変化ありませんでした…険しい…
確かにサーバ側で起きているようです。クライアント側の
bzrlib.transport.remote.__call2 で起きている例外 err
の中身は次のようなものでした。
Error received from smart server: ('UnicodeEncodeError', 'ascii', 'u:/share/
MD0_DATA/bzr/mybranches/\xe3\x81\x82', '33', '34', 'ordinal not in range(128)'
) {'relpath': '/\xe3\x81\x82'}
>>408 さんのおっしゃるとおりサーバ側に原因を絞ることができました。
今PCの前を離れてしまったのですぐに確認できないのですが、 明示的に locale.setlocale すべきなのでしょうか?
418 :
403 :2010/10/20(水) 17:00:38
サーバの Python における sys.getfilesystemencoding() の結果は 'ANSI_X3.4-1968' でした。setfilesystemencoding() は無いようなのですが、 そもそも Python のファイルシステム周りの処理で パスのエンコーディングはどこで決められるのだろうと 調べているところです。
419 :
403 :2010/10/20(水) 17:23:27
アホでした。locale として ja_JP.UTF-8 が通ると 思い込んでいたのですが…実はサーバで locale -a すると C POSIX en_US.utf8 でした。ですので結論からいうと bzr サーバを起動する前に LANG=en_US.utf8 するだけでした。お騒がせしました。 ちなみに locale コマンドで確認するとデフォルトでは POSIX だったので、bzr スクリプトの先頭で locale.setlocale により ロケールは "" に設定されていました。 まぁとにかくBazaarの話とは関係なかったわけで スレ汚し失礼しました。 ちなみに LANG=en_US.utf8 前は sys.getfilesystemencoding() は ANSI_X3.4-1968 後は UTF-8 でした。
後はクライアントでURLを指定するとき、 マルチバイトも時を含むなら自動的に %エンコーディングしてくれるということなしです。 まぁつまりURLではなくてIRLを指定したいということなのですが。 qpush などがエンコードしてくれてもいいですけど。
なんでそんなに上からなの?
>>424 上から目線じゃなくて、
>>419 のレベルが低すぎてみんなが迷惑しているだけ。
ろくなコードも書いてないんだろこのバカは。
まあ間違いは誰にでもあるもんだし
>>419 は自分の非を認めてるだけマシな方だが
当初は一方的に Bazaar を悪者にしようとして切れてたからなぁ
>>426 それでも許されることじゃないだろ。
そういうバカは今後一切Bazaarをダウンロードできないように
アカウント制に移行すべき。我々の貴重な時間・知識・技術を
無駄にされてたまるか、低能に。
問題を調査して解決してステップアップすることの 何が許されないんだ?頭大丈夫か?
間違ったこと自体は責めるべきじゃない 間違ったときの振る舞いこそを責めろ
sign-my-commitsってなんに使えるんだろう。 --dry-runを指定して一覧表示できるのは判るのだけど、 --dry-runを指定しないときに何が起こるのかsign-my-commits --helpではよく判らない。 いや勿論、全てのコミットにサインするって説明も判る。 駄菓子菓子、既にシグネチャがある場合はサインしないとあるし……
graph-ancestry、便利だと思ったのだけど 自身のツリーと別ブランチの比較までしかできないのね。 どうせなら、複数のブランチを視覚化できればいいのに。 仕方ないから自分で.dotファイルを編集するか。
434 :
デフォルトの名無しさん :2010/10/22(金) 04:48:08
これ釣りだよな?
お前だれ?
436 :
デフォルトの名無しさん :2010/10/22(金) 18:27:17
天才
天災だろ
人災
439 :
デフォルトの名無しさん :2010/10/23(土) 02:21:02
低能で申し訳ございません。低能にBazaarを使うのは無理でした。 まぬけという名のGitを使うことにします。ありがとうございました。
最近、Perl忍者があちこちで暴れてる
試しに300MB以上の2000ファイルくらいをリポジトリを作ってBazaar Explorer経由で操作してみたんだけど、 追加や無視ファイルの編集後、にしばらくBazaar ExplorerがフリーズのようになりCPUを占有してかなりまたされてしまった。 コミットウインドウでのコミット自体は大丈夫だったけど、ファイルを追加後に、 コミット前にコミットウインドウの「バージョン管理下にないファイル」を押したりしていたら、 固まったようになりCPUを占有した後、そのうち落ちてしまったw また、再現できるかはわからないけど。 似たようなファイル構成でTorotiseHgも固まって扱えなかった覚えがある。 その時はコマンドラインから操作したら問題なかったな。 やっぱり、GUIからだと固まることが多くて大変だね。 バージョンはbzr-2.1.1のWindows 32bit
ついでに今は直っているかも知れないけど報告 コミットウインドウbzr.exe?でアクセスできないファイルがあってそれをコミットしたときに、 以下のようにエラーが出たのでけど aborting commit write group: IOError(13, 'Permission denied') bzr: ERROR: [Errno 13] Permission denied: u'〜〜file.lock' その場で該当ファイルのチェックを外して再度コミットするとログの表示が真っ赤になってた。 u'〜〜file.lock' あたりからかな。 あ、それとこういった追加はできたけどその後にコミットできない(もしくはする必要がない)とわかったときは、 追加ファイルからどうやってはずせばいいのかな?
それともう一つ、Bazaar Explorerで「コミットする差分を表示」すると一瞬差分のビューアが表示されるけど即座に落ちてしまう。 ツールは組み込みのdiffだった ModifiedにsqliteのDBがあったからこのせいかも
>>441 bzrはまだ大容量ファイルの扱いが苦手です。
bzr 2.1, 2.2 と順調にメモリ使用量は減ってるので、2.2にしたら少し楽になるかも
しれません。
>>442 file.lock は、bzrの内部のlockじゃなくて、別のロックファイルなんですね?
ファイルを削除するにaddを止めるには、コマンドラインから bzr rm --keep で
できるかと。GUIからはサポートが抜けてますが、qrevertならできた。
普段からaddを止めて、addしたいときはqcommitでするのが良いかもしれません。
445 :
442 :2010/10/23(土) 08:25:11
>>444 分かりにくくてごめん
bzrのlockファイルではなく、リポジトリに入れるデータです。
結論からいうと全てのコマンドから、bzr rm (ファイル名) --keepで無事に対象から外せました
実際にファイルがロックされていたようで、Bzr Explorerの作業ツリー「元に戻す」や
全てのコマンドからqrevertでは無理でした。これは当たり前だと思います。
2.2にに更新してみます。
446 :
442 :2010/10/23(土) 08:27:18
> bzr rm (ファイル名) --keep bzr remove (ファイル名) --keep の間違い
>>446 rmはremoveの(ユーザー定義じゃなくて)組み込みのエイリアスなんで、大丈夫ですよ。
bzr help rm ってしたら、最後に Aliases: rm, del って出てくるので、delも使えますね。
WindowsでBazaarをアップデートする時は 一度アンインストールした方がいいのでしょうか? プラグインが要求するAPIのバージョンのミスマッチで エラーが出ることがありました。
>>448 自分でインストールしたプラグインでは無いんですよね?
どっかのバージョンでアップグレードインストールがおかしかったのかもしれません。
確実に回復するには、一旦アンインストールして、インストールディレクトリに残った
ファイルを手動で削除してからインストールしてください。
また相変わらずbzrでちょっとした悩み。 もうメンテナンスしなくなったが一応とっておくbranchの最終リビジョン辺りにコメントでその旨書きたいがコメントの修正機能ってあったかな。 取り敢えずタグでもつけておくか。
>>450 コンテンツの変更無しにコミットする機能があるので、それを使うと良いと思います。
bzr commit --unchanged
>>451 なるほど、確かにその手がありましたね。情報THX!
win7でコマンドラインからbzrを使っています。 bzr mergeした後、bzr ci を実行した際に変更があったファイルの一覧と 各コミットのログの1行目が以下のように表示されると思うのですが、 このコミットログを1行目だけでなく全行表示するようなことはできないでしょうか。 pending merges: AuthorName 2010-10-28 commit log
454 :
デフォルトの名無しさん :2010/10/29(金) 21:23:59
最近Bazaar使い始めました。 ローカルで開発しててある程度形になったので公開しようと思ったんですが、 最初の方のリビジョンは公開したくありません。 (使ってる外部サービスのトークンがソースに直書きされてたりするので) 指定のリビジョン以降を公開するとかできるでしょうか?
455 :
デフォルトの名無しさん :2010/10/29(金) 23:22:38
>>454 git・hgならやれないことはない
git clone --depth X
hg convert --config convert.hg.startrev=Y
457 :
454 :2010/10/30(土) 06:55:15
>>455 ありがとうございます。bzrに慣れたらgit、hgも使ってみようと思ってます。
bzrだと出来ない、でOKですか?
hg convertでMercurialのリポジトリに変換して
>>455 、bzr-hgで戻すとか
またはrewriteプラグインのreplayでできそうなんだが使い方がよくわからない
ゴーストリビジョン(親リビジョンなどとして参照されているけど、存在しないリビジョン)への
対応中で、これが出来たらhistory horizon(途中からの履歴だけもつブランチ)が開発される
予定です。
>>455 が紹介している、リビジョンIDが変わってしまう新規履歴を作るのは、bzrでも頑張れば
理論的には出来るはずなんですが、実際に対応するコマンドはなさそうでした。
一応、 bzr fast-export して、 bzr fast-import-filter することで、あるファイル・ディレクトリを
フィルタしながら履歴を再構築できるので、パスワードが入ったファイルが最初から存在しない
ような履歴は作れます。例えば、tbzrからNEWSファイルを消したtbzr2を作るには、次のようにします。
tbzr> bzr fast-export . ..\tbzr.fi
tbzr> cd ..
> bzr fast-import-filter -x NEWS tbzr.fi > tbzr2.fi
> bzr init tbzr2
> cd tbzr2
tbzr2> bzr fast-import ..\tbzr2.fi
460 :
454 :2010/10/31(日) 11:49:06
ありがとうございます。 「history horizon(途中からの履歴だけもつブランチ)」に期待します。 後段の方法は今回は使えなさそうです。一番最初の方のリビジョンでは、 ソースファイルにパスワードが書かれていて、そのソースファイルは 今でも使われているので。
>>460 その場合、最後にそのファイルを追加すれば、そのファイルだけ履歴が無いという状況にできます。
fastimportの形式は一応がんばればテキストエディタで修正も可能です。
でも、History Horizonか "hg convert --config convert.hg.startrev=Y" 相当の機能がほしいですね。
>>454 メインラインの履歴だけ残ればいいなら、別のブランチにリビジョンをひとつずつチェリーピッキングしてコミットしていく、って手もある。
ちょっとしたスクリプトで自動化できるし。
rebaseコマンドのontoオプションっていまひとつ意味が理解できてないんだけど、今回みたいな場合に使えるものではないんだよね? >詳しいひと
>>462 ontoは、相手側のブランチが A-B-C-D-E で、こっちのブランチが A-B-C-x-y-z のときに、
--onto=D すると A-B-C-D-x'-y'-z' という履歴に書き換えるもので、指定しないと相手側の
最後のリビジョン(E)の後ろに x' が作られます。
464 :
454 :2010/11/01(月) 22:19:19
なるほど。色んな方法があるんですね。勉強になります。質問して良かった。 同じシチュエーションが過去に2回あったので、今後発生した時は参考にします。 今回は、割と急いでたんで、export して、そこから新しいbranchを始めました。 過去の履歴は自分しか参照する必要がないですし、revもそれ程多くなかったので。
465 :
デフォルトの名無しさん :2010/11/04(木) 08:25:19
どのVCSにも言えることだけど、 デバッグ用のアカウント情報とかの リリース時には含めたくない情報も 開発時はVCSに突っ込みたくなるんだよなぁ。 で、あとでリリースするときに困る。
>>465 よく言われるねそれ
環境変数に入れて参照するとか、pitのような設定を切り離せるライブラリ使うとか、
設定ファイル、例えばhoge.xmlを無視ファイルに指定して、アカウント情報を消してテンプレ化したのをhoge.xml.exampleとしてコミットするとか
大体こんな感じだな
gitでpushしたら自動でデプロイされるサーバーのherokuでは
公式では環境変数に設定するタイプだったな。
リモートのシェルログインはできないけどコマンドラインのツールからリモートの環境変数が設定できた。
ただ、publicじゃないリポジトリなら、
核ミサイルの発射パスワードや個人情報やアカウント情報を間違えて直せる方法は
ドキュメントにあるんじゃないかな?
やっぱりコミットログは、後から修正したいときもあるよね。 特にバイナリファイルとかで、コミットログしか頼る情報がない場合とか。
bzr-gitでgistへのpush(dpush)ってできないの? push時のプロトコルがgit+sshではないのかな? (tokenとかをつかうやつ?)
>465 Mercurialは、MQって機能でそれが実現できるらしいが、 使ったことないので詳細は知らん。
質問する前に自己解決できたので記念カキコ bzr2.2.1-3&bzr-eclipseだと一部の機能がうまく動かない模様。 bzrをアンインスコして、bzr2.1.1を入れなおしたら上手く動いた。 同じ症状が出た人の参考になれば幸い。
Windows7 でNAS上にリポジトリ置いてやってみてるんだけど ローカルのアイコンオーバーレイがどうにもおかしい。 アイコンキャッシュの削除はしてみたし レジストリのオーバーレイ登録も11個、 再起動してもダメ。 他に思い当たるふしがあれば教えていただきたい。
>>472 おかしいって、具体的にどんな具合でしょうか?
リポジトリはNAS上ということですが、「ローカル」はローカルHDDの
軽量チェックアウトでしょうか?
.bzrignore で大文字小文字を区別しない設定ってありますか。 Windows で case sensitve ってのも不便なもんです。
ほぼ全ての VCS が case sensitive で保存するから、ルールを決めて統一した方がいいと思うよ Windows同士だからいいかと適当に付けてたら痛い目にあったことがある
大文字パターンと小文字パターンを登録するのが手っ取り早そうですね。
480 :
デフォルトの名無しさん :2010/12/02(木) 08:05:13
正規表現でCase Insensitiveにした方が2パターン書くより手っ取り早い 俺はWindowsでもCase Insensitiveを前提に行動しないようにしてるけど
なんで extmerge プラグインがデフォルトで入ってないんだろう。 WinMerge使うならとても便利なのに。
外部の Diff ツール使うようにしてると、日本語が入ったパスでエラーになるのはなんで?
>>482 ゴメンナサイゴメンナサイ
そのバグ、僕がボール持ってます。2.3リリースまでには修正されるように頑張ります。
>>483 イヤイヤ、そんなに恐縮されると恐縮です。
日本語対応謳ってるはずなのになんでかなーと思いましてね。
もし仕様だったりしたらまわりに勧めにくいし。
すぐに困ってるわけじゃありませんが、よろしくおながいします。
485 :
デフォルトの名無しさん :2010/12/08(水) 16:54:54
外部プロセス開くのにANSI使ってるんじゃないの?
>>485 そうそう。Python3は標準ライブラリのsubprocessモジュールがUnicodeAPI使ってるんだけど、
Python2はANSI API使ってるんですよね。
もちろん、Windows以外でもロケールのエンコーディングでエンコードできない文字に対応
しないといけないしね。
んじゃ、呼び出し先もmain()がWじゃなきゃだめじゃん
>>488 > ロケールのエンコーディングでエンコードできない文字
WindowsのコンソールはANSIに変換しているんでしょ。 だったら、cp65001でないとだめなんじゃないの?
bzr初心者です。2.2.2をMac上で使おうとしてますが、扱うファイル名に濁点が含まれていると うまく動いてくれません。NFCとNFDの問題が絡んでいるということはわかったのですが、 何か回避方法はあるんでしょうか?(何かパッチを当てるとか。)
# だれかutf-8-macなcodec作ってくれ
493 :
デフォルトの名無しさん :2010/12/11(土) 08:29:26
なんだBazaarでも日本語使えないのか
Subversionでも解決しているに
>>1 の「多言語に完全対応」というのは嘘だったのですね
svnが遭遇してきた問題点とその解決策が ハッカーの間で共有知になってないことが問題なのかもしれぬ
svnに分散機能つけるのが一番な気がするんだけど
svnが総合した問題とその対応は、もちろんbzrの開発者は把握していますよ。
ただ、Ubuntu以外のプラットフォーム固有の細かな問題は、どうしてもCanonical内での
優先度が低くなってしまいますね。
いまこのバグにパッチが投稿されてレビュー待ちに成っているので、Launchpadの
アカウントを持っているMacユーザーは Does this bug affect you? をクリックして
優先度上げて下さい。
https://bugs.launchpad.net/bzr/+bug/172383
498 :
デフォルトの名無しさん :2010/12/12(日) 19:43:39
>>497 外国人のやる気なさ過ぎワロタ
ウムラウトが使えないのは「プラットフォーム固有の細かな問題」では無いだろ
多言語対応が嘘っぱちだから誰も使っていないだけだろ
>>498 まぁ、コア開発者はCanonicalの人ですからね−。
Windowsでの問題は実際に修正したらちゃんと問題を理解して取り込んでもらえているので、
このバグもちゃんと開発者の目に止まればすぐ修正されると思います。
ということで、Macユーザーはガシガシ This bug affects me と登録して優先度上げて
目に止まりやすくしましょう。
500 :
デフォルトの名無しさん :2010/12/13(月) 07:57:24
NFD/NFCどっちかに統一しろってのは、antのbuid.xmlにどっちかで書いていたのが動かなくなるってことだろ。 Ubuntu、Canonicalの人間はその問題意識も持っていないのか?
>>500 それは、antが正規化していないから、正規化しているファイルシステムに対応出来ていない
という問題であって、バージョン管理システムが対応するべき問題かどうかが微妙。
その考え方を突き詰めると、MakefileにEUC-JPでファイル名を書いてるかもしれないから
バージョン管理システムがUTF-8の環境ではUTF-8にファイル名を変更するのもNGという、
MercurialやGitの考え方になって。真にポータブルなのはASCIIだけになっちゃう。
Unicodeにすることで、もちろん全Unicodeをポータブルに扱えるわけではないけれど、
ASCIIよりは広い範囲がポータブルに扱えるようになるので、個人的にはUnicode派が好き。
>>502 antのbuild.xmlやMakefileのようなのは、パーセントエンコードみたいなのにして7bitクリーンにするという方法も考えられる。
NFD/NFCはそれでも解決しない問題。
>>502 > 真にポータブルなのはASCIIだけになっちゃう。
これ冗談だよね?
全くポータビリティがないが故に、つまり、どう持っていっても変える気がない故に
どこでも通用している気になってるだけだよね?
505 :
デフォルトの名無しさん :2010/12/13(月) 18:43:45
ASCII≠SJISなので、真にポータブルなのは数字とアルファベットだけです ASCII=CP932とは違います
>>502 > バージョン管理システムがUTF-8の環境ではUTF-8にファイル名を変更するのもNGという、
> MercurialやGitの考え方になって。真にポータブルなのはASCIIだけになっちゃう。
MercurialやGitのファイル名がバイト列なのは、Linux/Unixのロケールとファイル名には
何の関連性もないから。
同じマシンでもユーザ単位でロケールを切り替えられるのにロケールでファイル名を変換するのは、
Linux/Unixのマルチユーザを理解していないとしか思えん。
同じマシンでなくても、NFSとかあるし。
要するにaddしたときのファイルシステムを記録してエミュレートしてくれたらいいってことか。
参考にするのはSVNでなくSambaなのでは?
gitやmercurialのようにpathがbinaryなら、相互に使えないのは「仕様」だと思うが bazaarのようにpathがUTF-8でNFCという前提なら、Macで使えないのはMac版*のみ*の「bug」だと思う
510 :
デフォルトの名無しさん :2010/12/14(火) 00:14:46
そのバグが3年間放置、Confirmedまで2年もかかっているってことは、誰もやる気がないってことだろ
こういっちゃ何だが奴等がキ○ガイなんだよ いくら非標準なんだよと諭しても自分等が正しいとして譲らない 宗教だから仕方無いけど
bzrは(+unicode_pathしてない素のsvnもだけど)別にパスをNFC正規化したりはしないので、 WindowsでもLinuxでもNFDでファイル名を付けてaddするとふつーに別ファイルになるよ
それはlocaleを単に無視してるだけじゃないか?
>>510 単純に人的リソースが足りないんじゃね
いつになっても◯◯言語がWindows(MacでもUnixでもいい)で使いにくい、という話と似てる
>>510-511 UTF-8にすら対応してない時点で「実用レベルに達した」なんてレビュー記事書かれるgitに比べてもどっちもどっちかもな
盛り上がっているところ失礼いたします。
質問なのですが、bzr commitやbzr explorerにてコミットしようとすると、
bzr: ERROR: No such file: '(randamの英数字).pack': [Errno 2] No such file or directory
などといわれてコミットができません。疑うべく所はありませんでしょうか?
Bazaar (bzr) 2.2.1、Windows Vista sp2です。
バグトラックではこちらが近いようですが、イマイチわからず
Bug #270405 in Bazaar: “commit fails, *.pack not found and upload directory is missing”
https://bugs.launchpad.net/bzr/+bug/270405 .bzr.logってどこにあるんでしょう・・・
ホームの.bzr.logは知らばく更新されてないみたいだし
517 :
516 :2010/12/14(火) 23:32:33
.bzr.logはマイドキュメントの方にありました。$HOMEかと思ってました
518 :
516 :2010/12/15(水) 00:00:29
> 0.546 Traceback (most recent call last): > File "bzrlib\commands.pyo", line 912, in exception_to_return_code > File "bzrlib\commands.pyo", line 1112, in run_bzr > File "bzrlib\commands.pyo", line 690, in run_argv_aliases > File "bzrlib\commands.pyo", line 705, in run > File "bzrlib\cleanup.pyo", line 135, in run_simple > File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups > File "bzrlib\builtins.pyo", line 3200, in run > File "bzrlib\decorators.pyo", line 194, in write_locked > File "bzrlib\workingtree_4.pyo", line 197, in commit > File "bzrlib\decorators.pyo", line 194, in write_locked > File "bzrlib\mutabletree.pyo", line 201, in commit > File "bzrlib\commit.pyo", line 286, in commit > File "bzrlib\cleanup.pyo", line 131, in run > File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups > File "bzrlib\commit.pyo", line 402, in _commit > File "bzrlib\branch.pyo", line 708, in get_commit_builder > File "bzrlib\repository.pyo", line 1765, in get_commit_builder > File "bzrlib\repository.pyo", line 1816, in start_write_group > File "bzrlib\repofmt\pack_repo.pyo", line 2308, in _start_write_group > File "bzrlib\repofmt\pack_repo.pyo", line 2073, in _start_write_group > File "bzrlib\repofmt\groupcompress_repo.pyo", line 126, in __init__ > File "bzrlib\transport\local.pyo", line 330, in open_write_stream > File "bzrlib\transport\local.pyo", line 293, in put_bytes_non_atomic > File "bzrlib\transport\local.pyo", line 241, in _put_non_atomic_helper > File "bzrlib\transport\__init__.pyo", line 306, in _translate_error > NoSuchFile: No such file: '(random文字列).pack': [Errno 2] No such file or directory > > 0.546 return code 3
519 :
516 :2010/12/15(水) 00:07:08
他のどのリポジトリでも起こるようなので一度、再インストールしてきます・・・ bazaarの前使っていたバージョンでは問題なかったのですが、 変えたところといえばTortoiseBzrのインストールだけチェックを外したのは覚えています
520 :
516 :2010/12/15(水) 00:21:46
すいません、古いBazaarが残っていたみたいです。 2.2.1を再インストールしたときに、アンインストールはしたものの再度インストールしておらず、 別のパスにあったBazaarが利用されていたみたいです・・・ 出直してきます。
リポジトリ内の必要なファイルが消えてる可能性もある。 HDDをchkdskしておいたほうがいいと思う。
522 :
516 :2010/12/15(水) 00:43:50
確認したところ
>>516 にもある通りstableの最新版のようでした・・・
>>521 今のところ手元のbzrリポジトリでどれも同じエラーが出てしまっています。
確率的に同時多発的に消えるってことってあるもんでしょうか
523 :
516 :2010/12/15(水) 00:51:38
解決した?のかな
>>516 のバグトラックでも指摘されていたのですが、 .bzr\repository\upload がないのが原因のようでした。
.bzr\repository\upload フォルダを自分で作ったところ上手くいきました。
Cygwinのbzrで試したところ、.bzr.logに
〜〜/.bzr/repository/upload/(random英数).pack と表示されていたため気付きました。
standalone版だとフルパスで出ないのかも?
524 :
516 :2010/12/15(水) 01:02:48
検索していて同様の現象がおきているバグ報告がいくつも見つかり不思議に思ったのですが、
ようやく原因分かりました。
今の環境をバックアップから復帰した際にソフトの設定で空のフォルダが全くコピーされていなかったようです。
> 確率的に同時多発的に消えるってことってあるもんでしょうか
この現象もまさに納得です
>>521 さんの助言でディスクも疑ったのがまさに正解でした。
今まで他にも影響が出ていたと思うと、血の気が引きました、、、、
何度も何度もごめんなさい。
bzrを疑っていたこと及びスレ汚し失礼いたしました。。。
526 :
デフォルトの名無しさん :2010/12/15(水) 09:47:50
>>515 > UTF-8にすら対応してない時点で「実用レベルに達した」なんてレビュー記事書かれるgitに比べてもどっちもどっちかもな
gitがUTF-8に対応していないなんて大嘘を書いているうちは、MacOSX上のbzrで日本語ファイル名が使えることは無いな
>>526 しめたと思ったつもりで書いているんだろうが記事を確認してこい
バイト列として扱うのが正しいのかUnicode文字列として扱うのが正しいのかってのは 宗教論争だから、ここで議論しても意味ないよ。 bzrはsvnと同じUnicode派(可能な限り、非ASCII文字を含むファイル名もその「文字列」を維持したまま ポータビリティを確保しようとする)というだけ。 で、文句言うよりもパッチ試して必要ならテストケース追加して問題のありなしを報告する方が ずっと建設的だよ。僕はMac持ってないので誰かお願い。
「Unicode派」と言う言葉がナンセンス。UTF-8もUnicode。
532 :
デフォルトの名無しさん :2010/12/15(水) 15:31:59
>>531 gitもhgもファイル名としてUTF-8は対応しているってこと
言いたい事は分かるが、お互いに勘違いしているんだから仕方ない。 符号化文字集合と符号化方式を精確に認識すべきなのは、お互い様。
534 :
531 :2010/12/15(水) 15:40:12
「
>>529 」で話題にしてる事はそう言うことではないだろ
>>534 では何故自称「Unicode派」がNFD/NFC、HFS+を解決できていないのか?
>>532 してないだろ。
クライアントが、パスのバイト列を
UTF-8として勝手に解釈することに
まかせているだけ。
レポジトリとしては、あくまでバイト列。
>>535 「可能な限り」でしかないから。
Unicodeの扱いがプラットフォーム間で差があるんだから問題が出るのは仕方がない。
ASCII文字だって、大文字小文字を区別する・しないの境界を超えると問題が出るしね。
Unicode全部が問題なく扱えるようにはならなかったとしても、ASCII文字より大きい範囲の
文字を複数の環境で扱えるならそっちの方が良いよね、というのがUnicode派。
>>528 そこに記載のgitクライアントは当時はgitもTortoiseGitもUTF-8に対応していない
所詮そのくらいのもの
>>512 $ ls
か?
$ bzr add
adding "か?"
bzr: ERROR: Path "か?" is not unicode normalized
正規化しないけど追加もできないよ
日本人の俺はファイル名に日本語使うってウザクてたまらないと思ってんだけど、 多くの日本人はそうでもないん? 日頃gitメインだけど、ファイル名に日本語使わないので困ったことがない。 だからといってVCSの文字コーディングの扱いはどうでもいいとまでは思いませんが。
ウザいというかただのアホだと思っている
それは、ただ単にバージョン管理システムの適用範囲が狭いだけで済んでるからだよ。 プログラムソースだけじゃなく、色々なものにバージョン管理システムを適用したいと 考えるほどに日本では日本語のファイル名が重要になってくるよ。
日本語のファイル名が重要なんじゃない。英語に忌避反応を起こす連中がいることが問題なんだ。
544 :
デフォルトの名無しさん :2010/12/16(木) 07:32:00
>>536 その理屈だと、bzrは数字とアルファベットの大文字小文字いずれかしか対応していないね。
>>537 ASCIIがダウト。
特定のフォントで「¥」「〜」の半角に見えるものはどうしている?
545 :
デフォルトの名無しさん :2010/12/16(木) 07:40:15
>>538 msysgitとTortoiseGitがUTF-8ファイル名ファイルを「チェックアウト」できないってことだろ。
svn/bzrがLinuxのlatin-1のロケールでUTF-8ファイル名ファイルをチェックアウトできないのと同じじゃないか。
bzrがMacOSX上でウムラウトを追加すらできないということは、
分散型VCSとしてどっちが遅れているか明白。
SCM/VCSバトルロワイヤルスレでも立ててそっちでやれ
547 :
デフォルトの名無しさん :2010/12/16(木) 10:13:17
>>540 顧客に提出するドキュメントファイルとかバージョン管理しないの?
繰り返すけど、バイト透過型かUnicode型のどちらが優れいているか言う議論をこのスレでしても無意味。 bzrはUnicode型を選んだという事実だけで充分。今更バイト透過型に変更するなんて将来は無い。
549 :
デフォルトの名無しさん :2010/12/16(木) 11:03:19
>>548 では、bzr-git、bzr-hgはどうなのか?
bzr-svnもNFD/NFC混在をどうするつもりなのか?
外向けドキュメント書きはじめると日本語ファイル名欲しくなるなあ。
git submoduleに相当するものをbzrでみつけれなかったんだけど 何かあるのでしょうか
>>550 外部っても既に社外どころかプロジェクト「外」まで範囲が狭まってるしな。
>>549 bzr-gitやbzr-hgは、いまは git や hg の中にUTF-8のファイル名が入ってるものとして扱っていて、
そうでない git や hg リポジトリには対応できない。
将来的に要望が大きければエンコーディングを指定できるようなオプションを付けるかもしれないけど、
個人的にはgitやhg使うときは非UTF-8どころか非ASCIIファイル名すら使わないから、あまり気にならない。
bzr-svn の NFD/NFC の件は把握してない。
>>551 git submodule と同じではないですが、 submodule を使いたくなるような場面では
scmproj っていうプラグインが使えると思います。
叩いたらファイル名書き換えて別に出力するスクリプト込めとけばいいんでないの。日本人だけどファイル名に日本語使うのは狂ってると思う。
えっと あるディレクトリ(日本語なし)を作って その中にあるファイルは日本語でもOK Bazaarからはディレクトリ名だけが見えて その中のファイルには直接アクセス出来ず ディレクトリ以下のすべてのファイルが ひとつのファイルのように見えるような 便利なOSのプラグ印があれば良い様な気がする zipとかで出来るのがあるのかな
差分はどうすんの?
>>553 日本語と繁体字は例の問題があるけどそれ以外のところではCVSも含めて当たり前のように
非UTF-8ファイル名は使っているのに要望が大きくないってことは、
海外ではbzr使われていないんじゃないの?
もうプログラム板で「ファイル名に日本語使うの?」はGOTO論争やOOP論争並にスルー推奨だな
>>554 WindowsとMicrosoftは狂ってたわけかw
ユーザー名に日本語使う「狂ってる」「バカ」のせいで、
ユーザー用のフォルダのパスが日本語を含みサポートセンターが賑わっていたというのに
デスクトップに解凍して起動しないソフトあったな。懐かしい。
ファイル名にスペース使うの? とか ファイル名に「/|\」使うの? とか
561 :
デフォルトの名無しさん :2010/12/17(金) 11:31:15
>>554 それも手だけど
使えるけど使わない
使えないから使わない
って違うよねえ
>>562 で、このスレ的にはMacOSXを含めると使えないという結論なんだよね?
Mac なんかいらないというのが結論。
565 :
デフォルトの名無しさん :2010/12/17(金) 17:23:45
>>558 >
>>554 > WindowsとMicrosoftは狂ってたわけかw
> ユーザー名に日本語使う「狂ってる」「バカ」のせいで、
> ユーザー用のフォルダのパスが日本語を含みサポートセンターが賑わっていたというのに
狂っているでしょ。
WとAの2つのAPIがあって、Aでは未だにCP932が現役でCP65001が使えないんだから
>>564 Macを切り捨てるのならWindowsのコンソール(cmd.exe)も切り捨てだね。
あと、LinuxのEUC-JP、Shift_JISロケールも切り捨てだね。
最近は*NIX系に慣れ親しんだハッカーさんほどMacを使う傾向があるように思えるので Mac切り捨ては、その中身・実態がどうであれ、マズかろうという気もする たとえ嘘でも「対応しようと現在努力中なのだ」と言っておいたほうが良いのではないだろうか 最初から「あんなの対応する気はねえよ」と言ってるツールと 「対応したいんだけど、この問題はどうしよう」と言ってるツールでは 後者のほうが知恵者からヒント・アイデアも貰いやすいのではないだろうか
>>557 少なくともgitで満足している英米人が、あえてbzrにしようと思う理由はちょっと思いつかないな
Windowsで、"Program Files"フォルダのお陰で空白を含むパスに対応したソフトが普及したように、 Macが表向きUnicode対応を謳っているソフトの踏み絵になってる部分はあると思うよ……
ファイル名はpunycodeあたりで統一してくれたら良いのにな。
571 :
デフォルトの名無しさん :2010/12/18(土) 07:56:09
>>569 Unicode対応というのとはちょっと違って、正規化するファイルシステムと正規化しない
ファイルシステムの違いは、大文字小文字を区別するファイルシステムと区別しない
ファイルシステムの違いに似てる。
大文字小文字の区別する・しないの違いを吸収出来ていないからといっても、それで
「ASCIIファイル名に対応してない」なんていうのは酷だろう。
大文字・小文字両方追加できるけど? $ bzr log -v ------------------------------------------------------------ revno: 1 message: test added: A.txt a.txt
あ、アスペルガーだ
>>572 ファイルシステムというくくりならNTFSも大文字小文字を区別するよね
A.txtとa.txtの両方を作れるけど、Windows APIからは片方しか見えないだけで
>>572 MS-DOSなんかファイル名全部大文字になるけど、仮に小文字ファイル名探して無い無い言ってるソフトがあったら
それはASCIIにすら対応してないことになりません?
うー、なんか最近あげ足取り多いな。
「OSのファイルシステムAPIとファイルシステム自体の組み合わせによる違い」を
「ファイルシステムの違い」って呼んでるんだけど通じない?
>>573 そうやって作った大文字小文字だけの違いのファイルを、Windowsみたいに大文字小文字を
区別しない環境でチェックアウトしたらどうするべきか?という話をしているの。
この問題が、NFC/NFDだけの違いを区別する環境で作ったファイルを、
NFC/NFDの違いを区別しない(正規化する)環境でチェックアウトしたらどうなるか?
という問題と似ていると思って例にあげただけ。
>>578 MS-DOSで作られた大文字のファイル名を、Linuxに持って行って、小文字のファイル名を指定したら
無いって言うソフトをASCII非対応って言うのはやっぱり違わない?
WindowsでUnicode APIを使わないソフトをUnicode非対応というくらいなら良いけど、
プラットフォームの違いを吸収しきれていない程度でUnicode非対応って言うのはやっぱり
酷だと思う。
まぁつまり言いたいのは、 「Unicode に対応した」ソフトが、全プラットフォームで全Unicode文字を 問題なく扱えるとは限らなくて、プラットフォーム間の違いによる問題が発生するのは当たり前だって事。 もちろんNFC/NFDの問題はsvnと同程度にはカバーするべきだと思うけど、 現時点でこの問題があるだけでbzrのUnicode対応を全否定するのはおかしいと思う。 実際に、「あいうえお.txt」 くらいなら特殊な設定やっ拡張を使わなくてもクロスプラットフォームで 利用できて、これは git や hg には無い魅力の一つなんだから。
>>579 >MS-DOSで作られた大文字のファイル名を、Linuxに持って行って、小文字のファイル名を指定したら
>無いって言うソフトをASCII非対応って言うのはやっぱり違わない?
それは違うでしょう。
一応
>>578 は、MS-DOS上で完結する話として挙げたつもり。
例えば、ソフト自身はa.txtというファイル名で出力したつもりとして、MS-DOSのファイル検索システムコールで
ファイルを探したらA.TXTは出てくるけどa.txtは出てこない。
それをもってファイルが無いと判定してたら、そのソフトはMS-DOS対応してないことになるはず。
OSXでのNFDファイル名も、NFCで出力したつもりのファイル名が無くなるんだから同じ状況。
>>581 確かに、そう解釈するとMac単体の問題とも言えるね。Mac単体では普通はそもそもNFCの
ファイル名を作ろうとすらしないけど。
でも、そのソフトはMS-DOSでの挙動に問題があるかもしれないかもしれないけど、
ASCIIに対応してないわけじゃないよね。
>>569 は Mac対応 == Unicode対応として扱ってるから、僕は「それは違うんじゃない?」って
言っただけだよ。
583 :
デフォルトの名無しさん :2010/12/19(日) 07:35:05
>>579 >
>>578 > MS-DOSで作られた大文字のファイル名を、Linuxに持って行って、小文字のファイル名を指定したら
> 無いって言うソフトをASCII非対応って言うのはやっぱり違わない?
SambaやLinuxのFATのマウントオプションはしっかり対応しているけど、
Bazaarは対応するつもり無いのですね?
584 :
デフォルトの名無しさん :2010/12/19(日) 07:39:23
>>580 > 実際に、「あいうえお.txt」 くらいなら特殊な設定やっ拡張を使わなくてもクロスプラットフォームで
> 利用できて、これは git や hg には無い魅力の一つなんだから。
cygwinは眼中に無いと
>>580 > 実際に、「あいうえお.txt」 くらいなら特殊な設定やっ拡張を使わなくてもクロスプラットフォームで
> 利用できて、これは git や hg には無い魅力の一つなんだから。
今までLinuxのlatin-1ロケールで何不自由無く動いていたシステムで
「あいうえお.txt」 というファイルが追加されただけでシステム全体の設定を見直す必要があるとしたら、
それは「特殊な設定」になりませんか?
WinからUnicode使える倉があるからこれ使ってるけど ぶっちゃけ使えないならgitに行く罠 あっちのほうが高機能だし安定も実績もあるしな
Windows環境+日本人なのに、gitを導入…
>>587 はWindowsでRailsを使わないらしい
何のことやらと思ってググってみたらRailsはgitに移行してたのか… Ruby界隈は相変わらずWindowsに冷たいな…嫌がらせかよ…
ruby自体がマイナーすぎ
PythonのMercurial移行、いよいよ動き出しますよ
>>582 「UTF-8素通しでも問題ない」のと「ちゃんとUnicode対応してる」のには結構開きがあると思うけど
まあクロスプラットフォームでもなければ表面化することは珍しいけどさ、現にMacでは表面化するんだから
ああ語弊があった。 bzrが別に素通しなんかしてないことは勿論承知。 ただUnicode対応にも段階はあるということを言いたかった。 でも現実問題、NFS+も全ての文字を正規化するわけではなくて NFDになるのは正規化で字形の変わらない一部の文字だけなので、 svnの+unicode_pathみたいに正規化してしまうと、今度は旧字が使えなくなったりする。 本当はUnicode云々より、ファイルシステムを認識して動作を変えてくれると有り難いんだけど それはさすがに期待できないよなあ……。
>>592 その表面化がbzrとそれ以外では違うってことでしょ。
bzr以外ではNFD/NFCが混在するけど、bzrはaddでNFDを弾くから追加すらできないと。
unicode対応してないならgit使った方がマシ
Railsの話が気になって検索してみたんだが 元々RailsはWindowsで使うことを想定してないから Linuxにべったりなgitにあえて移行した、という話を見かけたよ Windows排斥は意図的だった・gitを使うことでそれを実現しようとしたみたいだ gitはLinuxカーネル開発を念頭に置いて生まれたものだから 安定とか実績とかソレ以前の問題で Windows&日本語環境で使うのはトンマな選択じゃないのか…? ついこないだまでcygwin上でしか使えなかった点も、ソレを証明してないか…? もちろん状況は少しずつ改善してるけど(gitスレも盛況なようだし) しかし、「Linux上・英語圏で動けばいい」という基本姿勢で開発してるツールに希望を見出すのもどうかと思うのだが… 「Windows上でこんな問題が起きる」「多言語環境で困る」と要望を出しても 「Windowsで使うことは考えてない」「Linuxカーネル開発時に多言語文字列を使うほうが異常」 「そもそもWindowsなんか使うな。Linuxに乗り換えろ」 と一刀両断されるツールに入れ込んでどうするんだ、という気もするが
とはいえ「開発時の基本姿勢」と「実用性・完成度」は一致しないからアレだけどさ…
結局gitが最強ってことかぁ
599 :
デフォルトの名無しさん :2010/12/20(月) 07:39:59
Emacsは宗教的な理由でbzrを選んでいるぞ
http://lwn.net/Articles/272853/ > We should use Bzr because that is becoming a GNU package.
Emacs以外に最近で他のVCSからbzrに移ったのって何がある?
昔からbzrだったのばっかりじゃないか。
>>596 > しかし、「Linux上・英語圏で動けばいい」という基本姿勢で開発してるツールに希望を見出すのもどうかと思うのだが…
msysgitでutf-8ファイル名を使えるようにするのは着実に進展しているが。
これもANSI APIがCP932でなくCP65001が使えれるようになれば必要ないが。
cygwinがutf-8ファイル名に対応しているし、どうしてもutf-8を使いたければこれを使えば良いだけの話。
gitが最強なのはわかったから、Bazaarスレでこの流れを続けるのは止めてくれないか。
どうするつもり?と言われても、問題だと感じる人が
>>499 の通りにする
しかない気がするけど。
欧米人に'KATAKANA LETTER GA' (U+30AC)が動きましたってパッチ投げて理解される? 日本人がアラビア文字やヘブライ文字見て理解できる?
そう思うなら、ここにうだうだ書いてないでそこに書けばいいじゃない。 # あのパッチの中を見て俺もテストケースが足りてないとは思ったが……。
おっと途中で投げてしまった。 でも、何のテストケースを足せば充分なのか俺の知識じゃ足りないのよ。 >604さんは理解しているようだから、そのまま書いてもらればよいかなと。
607 :
604 :2010/12/20(月) 12:45:59
残念、Macユーザではありません
bzr=マイナー mac=マイナー の相乗効果
>>607 Macユーザじゃなくてもテストケースくらい書けるんじゃ?
tbzrcache.exeをタスクトレイから終了させてもすぐ復活するのは仕様? 動作を止めておきたいときはスリープじゃないと駄目なのかな…?
>>611 仕様です。シェルがキャッシュプロセスと通信しようとして失敗するとキャッシュプロセスを立ちあげます。
スリープすればファイルシステムをナメなくなって、単にコンテキストメニューを提供するだけになるので、
tbzrcacheが邪魔になることは無いと思っています。
mac(OS X 10.5)環境でbzr-explorerを日本語化ってどうやれば出来ます? あと、TortoiseBzrインストールしてもアイコンオーバーレイはまだ対応してないのかな。
614 :
デフォルトの名無しさん :2010/12/30(木) 11:23:10
MacOSXはサポート外です
TortoiseがOS Xで動くのに驚いたんだが
>>613 Macユーザーでないのでおすすめインストール法が判らないのですが、
ソースからインストールの場合、msgfmtがあれば python setup.py build_mo で
mo ファイルができるので、あとは環境変数LANG=jaなどにしてやれば自動で
日本語になると思います。
TortoiseBZRの件はWindowsでの話でしょうか?
617 :
613 :2010/12/31(金) 03:35:57
ありがとうございます。日本語化できました。 Tortiseの件は勘違いしてました。動く訳ねー。申し訳ない。 SVNのscpluginみたいのがあるといいんだけど
Launchpadって個人用の非公開リポジトリを持つ事が出来るのかな? 誰か使ってる方いませんか?
WindowsXP+TortoiseBzr2.1.1なんだけど再現率100%なのでバグかも
C:\hoge\ディレクトリ\foo\bar\test
このtestにチェックアウト
↓
ファイルを適当に複数作成
↓
コミット画面
↓
管理下にないファイルを表示して追加+コミット
↓
>>248 のエラーが出る
一つずつ追加すれば問題なし
C:\testのように1byte文字ディレクトリ下でも問題なし
>>619 再現手順つきの報告ありがとうございます。調べてみます。
>>248 とエラーの種類は同じでも、再現手順は別そう。
>>248 のバグって今でもあるのかな?
>>619 今開発中の bzr-2.3 + TortoiseBZR 0.6 なら問題なく実行できました。
2.2でも直ってるかもしれないけど、環境を切り替えるのが面倒なのでごめんなさい。
Windows用の2.3系ってどこからDownloadできますか?
お、みつけた 質問を取り下げます
僕が使ってるのはまだ開発中で、インストーラも自分でビルドしてます。 2.3b4 ってまだWindows向けパッケージが無かったような気がします。
625 :
ムヒ :2011/01/03(月) 20:22:46
>>620 >>248 で記載したものです。
以前、Program Files\Bazaarを削除して再インストールのアドバイスを受けましたが、
そのように実施ても、現象は改善されませんでした。
未だエラーが発生するままです。ちなみに
WindowsXP+2.2系で試しています。
626 :
619 :2011/01/03(月) 20:23:57
>>621 2.3系で正常に動作するのを確認しました
Windowsでの2.2系は色々と問題有りのようですね
このバージョン管理って中の人がココにいるから何となく安心だなw
あっちも中の人いっぱいいるよ
でも名乗ってくれて、内部の話も出てくればやっぱり安心ジャン? あっちがどっちかは知らんが、ほかのツールで名乗りまでしてるところはなかったような。
パブリックな所に別にあるし、2chでも主張を見れば、何となく誰か分かる そこにはこちらの主の方も参加している
631 :
デフォルトの名無しさん :2011/01/07(金) 19:23:34
BazaarのEclipseプラグインでコミットできている人いる?
>>631 昔はBazaarのEclipseプラグインうまく動いていたけど
最近さっぱり。バージョンの関係なのか・・・
コマンドラインから操作しているのでもう使ってない。
ステータスすらちゃんと表示できない。
xmlでの出力が取れてないとかかなぁ。
xmloutputが0.8.6だとだめだとか。 Eclipseで使えないってかなり致命的な気がする。
xmloutputのTruncから0.8.7を引っ張ってきても、Python2系がないとインストールできないのか。
>>634 xmloutput は pure python なプラグインなので、
%APPDATA%/Bazaar/2.0/plugins/xmloutput に置くだけで動くと思います。
>>635 ありがとう。試してみた。ちょっと前進した感じ。
しかし、日本語のコミット・メッセージがリポジトリに混じると、エラーが出てしまう。ログの表示も、コミットも駄目。
bzr log --xmlをしてxmloutputの挙動を見ると、文字コードがcp932となっており、Eclipseが吐き出す文字コードと一致しない気がする。
637 :
デフォルトの名無しさん :2011/01/08(土) 05:16:21
11. JREの指定が32bits版になっていることに気づいて、64bits版を指定しなおす 12. Eclipseへようこそが出る 13. Bazaar Explorerで問題ないと思い出す ← 今ココ!
639 :
デフォルトの名無しさん :2011/01/08(土) 05:44:24
14. 「俺、この例外を見たらコンビニに行くんだ・・・」とつぶやく。 15. デバッグ中のEclipse Plugin for BazaarでBazaarリポジトリを作成し、コミット・メッセージを「日本語」にしてコミット。*´Д`) 〜コミットできる!? 16. 「二回目のコミット」でもコミットができ、ログの表示も問題ない。更新もできる。 履歴を見る限り、2009年12月29日でEclipse Plugin for Bazaarの更新が止まっているのだが、配布されているバイナリに問題があるのだろうか?
640 :
デフォルトの名無しさん :2011/01/08(土) 06:14:16
17. インポートした以下のプロジェクトを選択した上で、エクスポート、デプロイ可能なプラグインおよぶフラグメントを実行する org.apache.commons.logging org.kxml2 org.vcs.bazaar.eclipse.client org.vcs.bazaar.eclipse.core org.vcs.bazaar.eclipse.feature org.vcs.bazaar.eclipse.ui redstone.xmlrpc 18. Eclipseを終了 19. Eclipseのフォルダー下のplugins/に、指定先フォルダにできた6ファイルをコピー 20. Eclipseを起動 21. コミット、ログ表示は問題ないが、状況では以下の例外が出る java.lang.NoSuchFieldError: IgnoredDialog_label at org.vcs.bazaar.eclipse.ui.dialogs.IgnoredDialog.createControls(IgnoredDialog.java:80) 22. ようやくコンビニに行ってくる
>>640 > 21. コミット、ログ表示は問題ないが、状況では以下の例外が出る
状況ではなく、無視されるファイル、だった。
エラーメッセージから考えて、eclipse.iniから以下の行を削除してpleiadesを停止したら、「無視されるファイル」も動いた。 -javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
>>636 encoding="cp932" の xml を eclipse 側で扱えないのかな。。。
>>643 細かい仕組みは不明だけど、おかげさまで、何とか動かす事はできた。
bzr-xmloutputを0.8.7にして、EclipseプラグインのBzrEclipseのソースコードをダウンロードしてプラグインを作り直し、非日本語化Eclipseで動かす事ができた。
たぶん、Windows版Bazaarと、BzrEclipseと、Eclipseの日本語化プラグインのバージョンアップで解決する。いつか。
はてなダイアリーでやれw
そこまでしてBazaarを使いたくないな・・・
648 :
デフォルトの名無しさん :2011/01/10(月) 01:04:10
Visual Studio も死んでいるし、Bazaarに未来は無い
649 :
デフォルトの名無しさん :2011/01/10(月) 19:29:35
マイナーなものは使いたくないな
Visual Studioをdisるのはよせ
そうそう、Ubuntu以外の環境で使おうとするのが間違い
windowsのsetup.exeからインスコしたんだけど gitのpullを使ってローカルに落とし込む事って出来ます? bzr-gitというプラグインをインスコしたけどエラーがでて前に進めません…
>>652 bzr-git は dulwich というライブラリに依存しているので、それもインストールしないといけません。
bzr-git プラグインを git というディレクトリ名でインストールしたと思うんですが、
その git ディレクトリの下に _lib というディレクトリを作るとその中のモジュールを探すようになって
いるので、 lp:dulwich の*中の* dulwich ディレクトリを git/_lib/ の下に置いてあげれば
動くと思います。
>>653 ありがとうございます。
おかげさまで希望が叶いました。
655 :
デフォルトの名無しさん :2011/01/14(金) 17:17:56
そして素のgitを使った方が速くて便利で安定していることに気付き、新たなgitユーザが誕生するのであった
Mercurialがあっても、Gitは無い。
657 :
デフォルトの名無しさん :2011/01/14(金) 17:44:13
BazaarユーザはGUIしか使えないからそうかもね
659 :
デフォルトの名無しさん :2011/01/14(金) 19:09:13
>>658 Eclipse使うためにこんな手間をかけるのか。素晴らしいアプリだ
Bazaar Explorerは快調。
>>657 むしろCUIが好きだからこそgitは無い
662 :
デフォルトの名無しさん :2011/01/15(土) 08:55:30
CUIで"塤.txt"を扱うのか、先進的なアプリだ
ここみてbzr-git入れようとして
>>653 もばっちりなんだけど
Unable to load plugin u'git'. It requested API version (2, 2, 0) of module <module 'bzrlib' from 'C:\Program Files\Bazaar\lib\library.zip\bzrlib\__init__.pyo'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
とかいうエラーが出てくる(´・ω・`)
読んだままだと思うんだが
665 :
デフォルトの名無しさん :2011/01/16(日) 17:29:30
Bazaarユーザは英語が読めないので日本語ファイル名に固執するのであった
マニュアルもhelpコマンドも英語な件
667 :
デフォルトの名無しさん :2011/01/16(日) 17:35:58
BazaarってBazaar Explorerでしかまともに動かないんでしょ? 英語が必要なの?
長期休暇に増える系の書き込みが増えてるが、試験休みか
>>663 リネームした? bzr-gitじゃなくて、gitというディレクトリにしないと、動かないよ?
いや、bzr-gitが動くにはbzr2.2.x系が必要だけど、インストールされてるのはbzr2.3.xだよっていうエラーじゃないの? 入れてるbzr-gitが古いか、最新のを入れたつもりでもどこかに古いのが残ってるかじゃない?
671 :
デフォルトの名無しさん :2011/01/17(月) 08:03:27
「多言語に完全対応」とはマニュアルもhelpコマンドも英語のことを言うのですね!
うん
673 :
デフォルトの名無しさん :2011/01/17(月) 08:53:29
そうなんだ。英語でないと多言語できないBazaarより、 日本語化されたgithubや日本語の書籍のあるgitの方がいいや。
またPerl忍者ウザイやめろ
誤爆?
676 :
デフォルトの名無しさん :2011/01/20(木) 14:27:49
またPerl忍者ウザイやめろ
またPerl忍者ウザイやめろ
678 :
デフォルトの名無しさん :2011/01/21(金) 06:27:30
またハ゜ールニンシ゛ャウサ゛イやめろ
またPerl忍者ウザイやめろ
またハ゜ールニンシ゛ャウサ゛イやめろ
☁☸ゔ〲〰
682 :
デフォルトの名無しさん :2011/01/21(金) 19:22:14
またPerl忍者ウザイやめろ
ËëÏïÜü
685 :
デフォルトの名無しさん :2011/01/22(土) 12:37:46
再現するほどのユーザがいないのであった
688 :
デフォルトの名無しさん :2011/01/22(土) 21:47:41
またPerl忍者ウザイやめろ
690 :
デフォルトの名無しさん :2011/01/23(日) 09:39:23
またハ゜ールニンシ゛ャウサ゛イやめろ
Bazaarスレ荒らしで誰が得するんだよ
謎だよな。 さておき、bzr-2.2.3のwindows installer版が出てるんだね。
マイナーなBazaarスレ荒らしで誰が得するんだよ
ずっと規制で書き込めなかったから、とうとうモリタポ購入しちまった。
>>684-686 やってみたら、Excelはファイルを開いて閉じるだけでタイムスタンプか何かを
更新していて、ファイルが変更されていた。
xlsのファイルフォーマット aware なバージョン管理システムでないと、
これを変更と認識するなというほうが無理だと思う。
>>692 Windowsのパッケージが出るタイミング、IRCを見てないとMLだけじゃ予測できねぇ。。。
出ると判ってれば TortoiseBZR 0.5 系のbug fix版リリースしたのに。
特に、翻訳率が100%じゃない言語だと、その言語でも英語でもない別の言語が
表示されるという致命的なバグが直ってないのが痛すぎる。(日本語は100%だから
気づくの遅れた)
人柱になってくれる人は、もうすぐ出るかもしれないbzr-2.3b1のインストーラを使ってみて。
TortoiseBZRにパフォーマンス向上とメニューカスタマイズ機能が入ってる。
僕は数件バグ修正しただけで、パフォーマンス向上と新機能は新しい日本人
コミッタによるもの。最近忙しくてクリティカルなバグ修正しかできなかったから、
コミッタ増えてかなり嬉しい。
b1じゃないb5だった。
696 :
デフォルトの名無しさん :2011/01/23(日) 19:14:53
日本語ファイル名が使えることがとりえだと思われていたのにExcelの再現性を誰も確認できないのであった。 Subversion、Git、Mercurialは問題無いのに
↑()
BzrExplorerでshelveって使えますか?
>699 追加の予定はあるってことなんですかね。ありがとうございます。
>>684 のblogのコメ欄でやり取りしてたんだけど、その著者がファイルのプロパティに
余計な情報を乗せない設定をしたら、Excelが開いただけでファイルを修正しなくなる
ことを発見してくれて、こっちでも確認できた。
bzr だけじゃなくてgit,svn,hg全部で有効なテクニックだと思う。
>>698-700 shelve かぁ、、、GUIでサポートするには、まずshelve対象のdiffを選択するGUIを
用意しないといけないな。
702 :
デフォルトの名無しさん :2011/01/24(月) 22:22:54
>>699 wikiが全くメンテされていない
とても開発が活発なのですね
またPerl忍者ウザイやめろ
705 :
デフォルトの名無しさん :2011/01/25(火) 09:57:13
TortoiseBZRはコミッタ日本人だけ? RubyみたいにDebianから見放されるか。 おっと、DebianがBazaar使っているのか。 見放されるも言い過ぎか。 Debian、Ubuntu以外はBazaarは最初から相手にされていないし。
聞きかじりの情報でウソを垂れ流すのはおやめなさい
そうそう、TortoiseBZRはDebianでなんか動かないし
708 :
デフォルトの名無しさん :2011/01/25(火) 10:22:27
kicad は bzr 使ってるっぽい。 ソースからビルドなんかできたもんじゃないけど。
TortoiseBZRは完全にWindows専用だね。 TortoiseHGやTortoiseSVNに比べると、ほとんどのGUI部分がqbzrという 別プロジェクトのGUIを呼び出しているだけという違いがあって、 万が一TortoiseBZRの開発が止まってもGUI部分は改善されていく。 それに、万が一開発が止まっても、次の開発者が現れるまでは、 「最新版のbzrでは動かなくなった」系のクリティカルな問題はWindowsの パッケージングしている人とかGUI系の人とかがメンテナンスしてくれるはず。
まさかDebianのRubyパッケージメンテナが一人しか居なかったとでも思ってるのか?
712 :
デフォルトの名無しさん :2011/01/25(火) 10:41:02
>>710 > 「最新版のbzrでは動かなくなった」系のクリティカルな問題はWindowsの
> パッケージングしている人とかGUI系の人とかがメンテナンスしてくれるはず。
「はず」がBazaar Integration for Visual Studio、Bazaar Plugin for Eclipseのように
完全死亡するのであった
>>712 完全死亡って、バージョンアップされなくなったどころか、最新環境で動かない状態になってるの?
一応、TortoiseBZRは別格だと思うよ。
インストーラーを作ってみて問題が起こったら修正って作業は、僕ともう一人の日本人以外の人も
TortoiseBZRにコミットしている。
IDEとの統合も普及に重要なのはみんな判ってるから、今後は改善されていくと思う。
ただ、Visual Studio Pluginってクソ高いVS Professional買わないと開発できないんだよね?
ハードル高いなぁ。
714 :
デフォルトの名無しさん :2011/01/25(火) 11:15:29
>>713 > 今後は改善されていくと思う
MacOSXのNFDが3年以上放置だから、10年はかかるのかな?
>>714 かもしれないし、Eclipseあたりは今年中にあっさり片付くかもしれない。
BazaarのMLでUTF-8-MACの問題って全然だれも発言しないけど、Eclipseは
時々発言あるから。
しかし、UTF-8-MAC問題って2ちゃんではbzr叩きのネタにされるのに、
MLでは一切話題に上らないのはなんでなんだろ?
UTF-8-MAC問題がbzrだけじゃなくていろんな場面で出るから、最初から
日本語ファイル名を避ける人が多いのかな?
要は、叩いている人は極少人数だと。おまけに、匿名でないと(Twitterでさえダメ)語れないチキンなんじゃないかと。
717 :
デフォルトの名無しさん :2011/01/25(火) 12:34:38
叩いているわけじゃない。世界的にBazaarは全く使えないという認識なのに、 それを知ろうとしないガラパゴスな日本人に啓蒙しているだけ
>>715 MacでもGitや、MercurialのGUIアプリケーションはいくつか出ていてそれなりに売れてるから、単に使ってる人がごく少数ってことなのでは。
ファイル名に日本語つける人はその中でもさらに少数だと思われ。
Bazaarの最大ユーザのEmacsでさえ、gitのミラーがあって大部分の人がそっちを使っている。 Bazaarは単なるお飾り。
MercurialとGitは日本語ファイル名の取扱いが改善する見込みは無さそうだけど、Bazaarはある。
721 :
デフォルトの名無しさん :2011/01/25(火) 13:08:04
>>717 UTF-8-MAC問題は、Unicode aware な bzr, svn は将来どこかのバージョンから
新フォーマットで正規化をかけることで対応可能(svnは2.0かららしい)だけど、
hg や git の方が対応は難しいよね?
もし bzr が hg や git に対して使えないといいたいのであれば、 hg や git
の方が悲惨なUTF-8-MAC問題を例に挙げるのはどうかと思うよ。
例えば、hgがファイル名をUnicodeとして扱う提案をけってファイル名はバイト列
というポリシーを採用した理由に「勝手にバイト列を変えたらMakefileが対応
できないだろ」という例を出してたけど、UTF-8-MAC問題のせいで「が」をNFCで
コミットしてMacでチェックアウトしたらmakeできないよね?
723 :
デフォルトの名無しさん :2011/01/25(火) 13:10:31
>>720 Bazaarはディレクトリも扱っていて、それがNFD問題のネックなのですよね?
どう改善するつもりなのですか?
>>722 git、hgでMacと共存したければ、ユーザ側で追加するファイル名をNFDに統一すればいいだけ
bzrがそれが出きるのか?
>>719 MySQL開発者やUbuntu開発者も多いから、Bazaarの最大ユーザーがEmacsかどうかは知らないけど、
UTF-8-MAC問題よりはずっといい叩きどころだね。
>>723 ディレクトリを扱ってる事がどうNFD問題でネックになるのか判らないんだけど、
もうちょっと詳しく説明してもらえますか?
>>724 ユーザーがNFDに正規化するのって、かなり辛くない?
例えば、Makefile書くときに、IMEがNFCの文字列を入力するからそれを何らかの方法で
NFDに変換してからコミットするんだよね。
正直、そこまでするくらいならASCIIファイル名で我慢するぞ。。。
>>727 リンクミス?
それは、NFCに正規化するとNFC/NFDの違いだけで同じ文字列のパスを
扱えなくなるけど、大した問題じゃないよね、っていうレスだよね?
>>727 同じキャラクターで異なる表記になる名前のファイルを含むディレクトリの話をしているようだ。
ディレクトリのチェックアウト自体が問題になるとは書いていない。
Macでbzr使っている人がこのスレにいたら、 cd ~/.bazaar/plugins bzr checkout lp:~songofacandy/+junk/macutf8 してもらえますか? Linux上でMacの状況を再現して正式な対策を開発するのは面倒だったので、 ためしに listdir とコマンドライン引数だけを乗っ取ってNFCにするように してみました。
是非協力したいので私にMacBookAirをください。
>>731 そういえば、Macの日本語入力システムってUTF-8-MACを書くんだろうか?それとも
NFCのUTF-8を書くんだろうか?
前者だったら、実はlistdir乗っ取るだけでもそれなりに使い物になるかも。
まぁ、さすがにシェルがファイル名補完するときにはUTF-8-MACになってしまう
だろうけど。
bzrのソース読んだら、思ってたよりもちゃんとNFD対策されていて、
一部抜けがあるだけだった。
>>730 みたいなアホな対策するよりも、
>>727 のバグの最後に乗ってるパッチ
みたいな対策する方が建設的だな。
だけど、あのパッチはWorkingTreeじゃなくてMutableTreeの方にnormalizeを
仕込んでいたり、ちょっとそのままでは取り込めなさそう。
やっぱり Mac を持ってないと対策するのムズイなぁ。
社内のMacユーザーに bzr-2.3b5 で mkdir ががが touch ががが/ぎぎぎ bzr init bzr add ががが を試してもらったら、あっさり成功したらしいんだが、、、
IRCで訊いてみたら、まだ対応が不完全な部分が残ってるかもしれないから、 もしバグを見つけたら報告してほしいって。。。 「bzrはUTF-8-MAC問題があるから使い物にならない」というのは、実際に bzrで問題が起きたわけじゃない人によるFUD?
Bazaarのネガキャンやって誰が得するんだよって感じではある
738 :
デフォルトの名無しさん :2011/01/25(火) 17:15:56
>>737 gitではなくbzrを無理やり使わされていることによって3倍の通信料を払わされている哀れなユーザ
>>736 落ち着いて過去ログ読もうや。
addまでは当時の報告でも成功してるぞ。
>>735 その人、addしたあとbzr status実行してみたのかな? 追加したはずのファイルがmissing/unknownに
なってない?
>>740 あのバグ報告では、Decomposeされる名前のディレクトリを再帰的addしたら
問題が起こってた(子供をaddするときに親ディレクトリがadd済みかチェック
するときに、親ディレクトリの正規化を忘れていた)ので、
>>735 では "ががが" というディレクトリの下に別のファイルを作って
"ががが" を再帰的にaddしてもらった。
再現手順あってると思うんだけど?
>>730 とかふつーにNFCで正規化してるけど、
NFC正規化は合成分解の他に、互換漢字を統合漢字にするのも含んでるので
一部漢字の旧字体が新字体になってしまうんだけど、そっちは認識されてる?
例えば神の旧字体(示偏のやつ)
NFS+はなんでもかんでもNFDにしてるわけではなくて、字形の変わるようなのは変換しないので
互換漢字と統合漢字は別々に扱えるんだけど、svnの+unicode_pathなんかでもこの辺一緒くたにされてしまってる。
Unicode的には互換漢字なんて既存文字コードとの互換目的以外で使うなでFAなんだろうけど
>>743 Unicode的には、Canonicalで等価な文字は同じ字形になるべきで、
互換文字は文字コード変換のためだけに用意された同じ字形の文字という認識で
合ってるよね。(あんま文字コード詳しくないので間違ってるかも)
互換文字が統合文字と違う字形・字形になってしまってるのはUnicodeの仕様じゃなくて
環境とかフォントの問題なので、そんなことまでイチイチ考えてファイル名を処理して
たらクロスプラットフォームで運用とかできない。
Composed文字とDecomposed文字だって、Compose処理がちゃんと実装されていない
環境ではDecomposedだと「か゛」、Composedだと「が」と表示されるかもしれないけど、
だからって区別してしまうと、HFS+と逆にComposed側に正規化するFSが出てきたときに
HFSの間でのやり取りに困った事になる。
テキスト処理では互換文字も大事なんだろうけど、Unicodeで「同じ文字列かどうか」を
比較する必要がある場合はNFC/Dの正規化は必要。
だからbzrもsvnも、NFCで正規化することにした。
745 :
デフォルトの名無しさん :2011/01/25(火) 20:44:08
ant/makeのマルチプラットフォームは犠牲となりました。めでたしめでたし
またPerl忍者ウザイやめろ
Makefileはともかく、antやmavenって、Composed,Decomposed問題ちゃんと 対策出来てるのかな?
748 :
デフォルトの名無しさん :2011/01/25(火) 23:18:41
*.jarの中身も犠牲になりました。めでたしめでたし
またPerl忍者ウザイやめろ
>>747 できてるわけないだ
ファイルシステムがそもそもそんなの意識してないのにやられると逆に迷惑だわ
751 :
デフォルトの名無しさん :2011/01/26(水) 01:17:21
またハ゜ールニンシ゛ャウサ゛イやめろ
Javaのファイル名は、WindowsやLinuxの環境ではNFCで、Macintosh OS XではNFD。 つまりBazaarがNFCとNFDの変換をすると、JavaのantやMavenの設定ファイルの互換性は高まる。 正直、コンパイルするようなファイルには日本語ファイル名はつけないので大きな問題ではないと思う。
293 名前:デフォルトの名無しさん[sage] 投稿日:2010/10/22(金) 07:35:45 bzr は、hg や git の日本語対応を徹底的にこき下ろす2chコミュニティの態度が気に入らなかった。 別に hg や git の悪口言うなってんじゃないけど、ほかを叩くことでbzrを持ち上げるような 性根は嫌いだ。
>>752 そうか、なら良かった。
基本的にUnicode対応はsvnと挙動を合わせておくのが一番問題ないな。
>>753 そんなヤツどこにでもいるだろうに。。。
755 :
デフォルトの名無しさん :2011/01/30(日) 22:29:16
BazaarはGitの3倍遅い % time git clone git://git.samba.org/jelmer/dulwich.git real 0m25.588s user 0m0.725s sys 0m0.359s % time bzr checkout lp:dulwich real 1m18.271s user 0m13.024s sys 0m0.479s % time bzr branch lp:dulwich real 1m33.759s user 0m12.736s sys 0m0.348s
同じサーバーじゃないと比較にならなくね?
こっちで試したら、PINGがsamba.orgが120〜150ms、launchpad.netが200ms以上なのに、 cloneにかかる時間は49sec vs 53sec で大差なかった。 色々な状況によるから比較しにくいけど、Launchpadが日本から遠いのはガチだな。
そもそもLaunchpad自体が重いから、その比較では意味ない。
>>755 そいえば、Launchpad loginした?
lp:xxx は、ログインしてないと bzr+ssh じゃなくて https を使うから、
git: プロトコルに比べたらサーバー側のサポートが受けられない分凄く不利な
比較になる。
将来的には、ログインしなくても bzr+(anonymouse)ssh か bzr+http
になるだろうけど。
>>755 sys + userとrealの差が大きいからネットワーク遅延のほうが長いみたいだね。
CPU時間で比較するとBazaarはGitの12.4倍ほど時間がかかるようだが、ディスクやネットワークの速度の方が問題になるようだ。
つまり、Bazaarだから速度的に問題があるとは言えない。
いつの間にか bzr2.3b5-setup.exe が出てた。 tortoisebzrが結構大幅に更新されているので、人柱募集します。 すでに、新しい設定画面に関連したバグが報告されてるけど、これから 自分でインストールして使ってみる。
マージしたときのコミットメッセージに悩む。 とりあえず「merge」とだけ書いてる。
763 :
デフォルトの名無しさん :2011/01/31(月) 16:52:51
>>762 append_revisions_only = False な運用だったら、それでも良いかもね。
True の場合は、
>>763 のように、マージすることによって取り込まれる
修正のサマリを書いた方が良い。
append_revisions_only なんてオプションしりまへんでした。 以前は人の変更眺めて「xx の修正とマージ」とか書いてた。 途中で変更できるのかな? ググレカスですかそうですか。
766 :
デフォルトの名無しさん :2011/01/31(月) 18:42:07
個人で開発している間に秘匿すべき情報まで入れて ブランチを管理してしまってて、それを公開したくなったとき 特定のファイル(具体的にはPuTTYの秘密鍵)を除外する ってできるんでしょうか? 後から特定のファイルをブランチに入れてなかったことに したいなんてケースは稀なんでしょうか? 最初から公開を前提に注意深くaddしておけということなのでしょうが・・・ Subversion では dump した後でフィルタにかけて restore してました。
>>766 bzr-fastimport というプラグインを使って
dump, filter, import という手順が使えます。
somebranch$ bzr fast-export . | bzr fast-import-filter -x path/to/secret.txt > ../exported.fi
somebranch$ cd ..
$ bzr fast-import exported.fi filtered
とすると、 filtered というディレクトリ以下に、 path/to/secret.txt を消した各ブランチが作られます。
>>765 .bzr/branch/branch.conf で、最初の方に
append_revisions_only = True
という1行を追加することで、途中からの設定が可能です。
ですが、ブランチをきっちり意識した運用が必要になる (merge & push
できなくなる) ので、Mercurialやgitに慣れたユーザーにはおすすめ
できません。
svn から移行した人であれば、サーバーにあるブランチを扱うときは
branch ではなく checkout を使い、ローカルでブランチを作りたいときだけ
branch を使うというという運用ルールだと、 append_revisions_only
でもうまく運用できてます。(経験談)
771 :
デフォルトの名無しさん :2011/01/31(月) 19:56:10
>>759 httpsでもBazaarはGitよりも遅い
% time git clone
https://github.com/jelmer/dulwich.git real 0m21.864s
user 0m0.913s
sys 0m0.354s
% time git clone git://github.com/jelmer/dulwich.git
real 0m15.055s
user 0m0.574s
sys 0m0.288s
>>771 >>757 も読んで。
帯域やRTTによって時間は大幅に変わる(実際、僕のところだとsmaba.org
からの clone に
>>755 の倍ちかくの時間がかかった)から、
プロトコルだけそろえても意味がない。
アホは放っときなよ
774 :
デフォルトの名無しさん :2011/01/31(月) 20:39:20
BazaarはGitの11倍遅い % pwd /tmp/dulwich-mirror % git clone --mirror git://github.com/jelmer/dulwich.git % branch lp:dulwich dulwich-bzr % time git clone git+ssh://localhost/tmp/dulwich-mirror/dulwich.git/ real 0m1.043s user 0m0.462s sys 0m0.170s % time bzr clone bzr+ssh://localhost/tmp/dulwich-mirror/dulwich-bzr/ real 0m11.173s user 0m6.764s sys 0m0.251s % time bzr checkout bzr+ssh://localhost/tmp/dulwich-mirror/dulwich-bzr/ real 0m11.275s user 0m6.777s sys 0m0.204s
>770 append_revison_onlyやるなら そこにpushする可能性のあるブランチ全部に付けないと 結局でエラー吐かれて困るんだよな。 (他所でmain-lineが書き換わってしまうから) 結局その設定はtrunk(とその複製)だけにして かつコミットはpush直前のマージのみにするように運用してる。
>>774 CPUバウンドになったら、bzrは圧倒的に遅いね。
gitは殆どのデータがコピーのままで済むのに対して、bzrは転送量を
最小化しようとしてサーバー側でもクライアント側でも伸張と圧縮を
行ってるから。
>>777 もちろん、圧縮してるかしてないでいえば、両方圧縮しているのは判ってる。
問題は、サーバー側にある圧縮済みのデータをそのまま転送するかどうかとか、
サーバー側で伸長してストリームに流すときに圧縮したデータをそのまま保存
するのかクライアント側で伸張再圧縮するのかどうかとか、そういった詳細部分。
bzr の場合、リポジトリフォーマットやプロトコルが切り替え可能に出来ているので、
その分変換や再圧縮のコストは高いんだと思う。クライアント側のCPU負荷も、
殆どがzlibの圧縮じゃないかな。
残念ながら僕もそのへんは詳しくないので、完全に推測だけど。
dulwichの場合、余分なブランチが殆ど無いから、賢く転送するデータを選んでも
処理コストに見合った転送データ量の削減ができない可能性がある。
cloneの速度ってそんな重要? 速さを比べるならそこじゃないよね? GitはLinux開発の、「変更点の抽出やリポジトリ操作に時間がかかっていては困るという状況」 (Wikipediaより) を解決するためにというのもふくめ開発されてるのに対し、 Bazzarは、「使いやすさ、正確さ及び柔軟性に焦点を当てて開発している。」んだから、 普通に考えてbzrがgitより遅くても、だからなに? ってな話じゃないの。 git使ってると、bzrは(速度以外でも)なんかいろいろもっさりしてるなとは感じるけど。
Linux端末使っていると、特に最初の一回は遅く感じるよね。 キャッシュが効いちゃえば気にならないんだけど。
中規模なプロジェクトで bzr serve --svn して svn checkout してるんだけど、 bzr側がずっとCPU食いまくってヤバイ。全然チェックアウト終わらない。 まだ使いものにならないな。
783 :
デフォルトの名無しさん :2011/02/02(水) 22:36:26
偽者記念あげ
bzr-svn 試してみるって言ってた記憶があったから試してみた結果を 報告したんだけど、こっちじゃなくてバージョン管理スレだった。 bzr-svnはsvnクライアントとしては成熟しているけど、svnプロトコル サーバーはまだExperimental
785 :
デフォルトの名無しさん :2011/02/02(水) 23:02:18
gitもhgもsvnクライアントとして成熟してるよー
>>785 bzrにはsvnのブランチを分散しているブランチの1つとして扱う機能があるから
ただのクライアント替わりのgit-svnやhgsubversionよりも高機能なんだけど、
実際問題 svn 使うときは svn クライアントとしてしか使わないから関係ないね。
>>786 多分、import始めたのがかなり昔で、古いバージョンのbzr-svnを使ってしまって
いたことか、リポジトリフォーマットが古いことが原因だろうな。
>>787 git-svnもhgsubversionもsvnのブランチを扱えますが?
gitもhgもブランチでリポジトリを分けられますが?
bzrのどこがどのように高機能なのですか?
うるせえよもう。アンチはバー管スレだけでやってろ。
>>784 lp:~vcs-imports/boost/release じゃダメですか?
1 年ほど前にreleaseブランチのimportをrequestしたときには「trunk以外は無理」と断られたけど、今は大丈夫なんですね。
ちなみに半年前までboost trunkを手動で追っかけてたときのブランチは、lp:~rigarash/boost/trunk にあります。古いですが、lp:boostよりもまともにhistoryは追えてます。
791 :
790 :2011/02/03(木) 09:30:39
>>788 svnのブランチを扱える、じゃなくて、svnのブランチをただの分散ブランチの
1つとして扱える、というのがミソね。
git-svnって、dpushしたらコミットつくり直すでしょ?なので、dpush元から
さらに分岐していたブランチがあったとすると、svnからマージするときに
「共通の祖先」をベースにした賢いマージができない。
bzr-svnだとdpushじゃないpushができるから、svnを中心として前クライアントが
svnに直接つなぐスター型ではなく、マスターはsvnなんだけど皆ブランチを
Launchpad等に置いてそこでforkしながら開発してsvnにpushもするという
分散スタイルを取れる。
まぁ、できるってだけで、怖くて誰もそんな事しないから、あんまり意味のない
機能だけどねw
bzr branch で boost の trunk 取り込んだら、410分かかったww リビジョンや変更を1つ1つ取り出さないといけないsvnプロトコルが悪いんだけど、 さすがにこれは並列してリクエストするとか言う機能がほしいな。 git は shallow clone ができるから、最近の数リビジョンだけを取り出すことができる。 bzr は shallow clone 相当の機能は準備中(親リビジョンが存在しないときに エラーにしてしまっていた箇所を通るようにする)で、上手く行けば2.4で 搭載されるかもしれない。
>>792 > dpush元からさらに分岐していたブランチがあったとすると、
そもそも、svnが直線的なのだから、これがおかしい
かりにやっちゃっても、rebaseすればいい
> git-svnって、dpushしたらコミットつくり直すでしょ?なので、
別に作り直しても構わない
githubなどの公開リポジトリにpushする前なら、ローカルで何をやっても構わない
svnにコミットされたのだから、作り直されたローカルでのコミットはgithubにpushしなければいい
> bzr-svnだとdpushじゃないpushができるから、svnを中心として前クライアントが
> svnに直接つなぐスター型ではなく、マスターはsvnなんだけど皆ブランチを
> Launchpad等に置いてそこでforkしながら開発してsvnにpushもするという
> 分散スタイルを取れる。
github上のsvnミラーを第2のマスターとすれば、gitでも同じことができる
>>795 convert は変換する機能だから、今回の話題とは無関係。
hgsubversion の機能は知らなかった。これってなんでhg本体じゃなくて
hgsubversion の機能なんだろう?
>>794 うん、つまり、git-svnはsvnクライアントとして当然の動作をしているだけ。
bzr-svn の凄い機能を紹介しているだけで、それを使えないgit-svnをdisる
つもりは全くないから、別にgitを擁護しなくても良いよ。
実際、僕もbzr-svn使うときはrebase+dpushかcheckout+commitで運用してる。
rebase無しの(bzr側で作成したIDを変更しない)マージは使わない。
マスターをsvnにしている時点で、分散管理をする気がハナから無いので、
svnのマスターを中央にしてそこにしかコミットしない中央集権スタイルでも
特に問題ない。
>>796 > hgsubversion の機能は知らなかった。これってなんでhg本体じゃなくて
> hgsubversion の機能なんだろう?
hg本体に入れる必要が無いから。
hgはpython(と必要に応じてCコンパイラ)があれば
どこにでもインストールできる。(実際はインストールする必要も無いけど)
httpもhg本体で動くからレンタルサーバにも簡単に入れられる。
(apacheとかかました方がいいけど、これも楽)
hgsubversionが本体に入ると、svnライブラリに依存して、簡単に入れられなくなる。
TortoiseHgのWindowsインストーラにはsvnライブラリ(とdulwich)がバンドルされているが、
hgsubversion(とhg-git)はバンドルされていない。
>>797 いや、そうじゃなくて、、、
最近の履歴のだけを取得する機能って、gitはgit自身で持っているし、
bzrもbzr本体に入れる予定なんだけど、hgは hgsubversion の機能に
しているのがなんでだろう?っていう話。
大きなリポジトリをローカルに持ってくるときに、古い履歴まで持って
来なくて良いっていうのは、別にリモートが subversion の場合に限らず
有用な機能だと思う。
M$の話は何の関係があるの?
bzr関係ねえええええええええええええええええええええええええええええ
Windows でコミットしたファイルを Linux の gvim で開くと、 Windows 側で編集した行末に「^M」が付いてるんだけど、なんで? 改行コードはプラットホーム依存じゃないの?
805 :
デフォルトの名無しさん :2011/02/05(土) 13:01:49
ファイル名にBOM付ける訳にいかないしなぁ
ファイル名に改行なんてないしなあ
>>804 > Windows でコミットしたファイルを Linux の gvim で開くと、
> Windows 側で編集した行末に「^M」が付いてるんだけど、なんで?
Windowsでどんなエディタ使ってるのか知らないけど、LF改行のテキストに
CRLFを混ぜてるらしいな。
>改行コードはプラットホーム依存じゃないの?
質問の意味が判らないんだけど、WindowsでコミットしたCRLFのテキストが
LinuxでチェックアウトしたらLFになることを期待している?
Bazaarはデフォルトではファイルの内容を勝手に修正したりしないので、
テキストの改行コードもエディタが書いたそのまま。
自動変換をして欲しい場合は、下記URLを参照
http://doc.bazaar.canonical.com/bzr.2.2/en/user-reference/eol-help.html
ファイル名にスペース含める香具師ってなんなの
c:\Program Files\
812 :
デフォルトの名無しさん :2011/02/06(日) 08:45:21
>>807 Linuxでは'/'と'\0'以外なんでも付けられるから改行も可能
813 :
デフォルトの名無しさん :2011/02/06(日) 08:47:47
Bazaarはファイル名の大文字小文字もバグっているから、NUL、COMもバグっているですよね?
またPerl忍者ウザイやめろ
815 :
デフォルトの名無しさん :2011/02/06(日) 13:17:27
>>806 ファイル名に BOM 付けたければ付ければ?
>>813 NUL, COM でどういう問題が起こるかは気にしたこと無いから知らないけど、
大文字小文字のバグって何?
>>816 >
>>813 > NUL, COM でどういう問題が起こるかは気にしたこと無いから知らないけど、
ファイル名をNFCに統一するという大きなお世話をするなら、
当然対処しないといけないよね?
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D > WindowsとMS-DOSでは、以下の名前もOSによって予約されており、使用不可能である。
>
> CON, PRN, AUX, CLOCK$, NUL
> COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9
> LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
> 大文字小文字のバグって何?
つ
>>573
>>817 おぉ、LinuxでPRNとかいうファイルをコミットすると、Windowsでチェックアウトしたら
印刷されるのだろうか。。。
大文字・小文字やNFCの問題に比べると、バージョン管理システムが対処しなくても
ユーザー側の努力でなんとかなりそうな問題だけど。
で、
>>573 の何処が問題なのか判らない。
大文字小文字だけの違いのファイル名を追加したら、大文字小文字を区別しないファイル
システム上に作業ツリーを作れないだけだよね。
シンボリックリンクをサポートしていない環境ではシンボリックリンクを含む作業ツリーを
作れないのと同じで、クロスプラットフォームに対応したければユーザー側で注意するべき
制限だと思う。
ちょっと自分の考え方を整理しておくと、 ファイルシステムや環境ごとの違いを全部考慮して厳密にその共通集合だけを 扱えるバージョン管理システムはすごく使いにくい。bzrが目指しているのは ここじゃない。 バージョン管理システムが何かのレイヤーを提供することで、厳密な共通集合より 広い範囲の機能を使うことができる。例えば、Unicode、Composed/Decomposed文字、x-bit、 大文字/小文字 などなど。 ファイルシステムや環境ごとの違いには、ユーザーによる回避が簡単なものと、難しいものがある。 例えば、「NULというファイル名を使わない」と、「ファイル名にComposed/Decomposed問題を 発生させる文字を使わない」を比べると、前者のほうがユーザーの対処が楽なので、後者のほうが 優先すべき問題。 bzr が解決可能な問題を全て解決しているわけではもちろん無い。 全てがこの優先順位に従って解決されるわけでもない。
>>819 少しはSambaを見習ったら?
コロンとかもきちんと対応しているよ
>>820 linuxで "a:b:c" って名前のファイルが、Windowsから見ると "AH0037~R" みたいに見えるやつだな。
sambaはファイルのやりとりが目的だから、ファイル名を変えてでも見られる事に意義があるけど
バージョン管理ツールでこんな名前の変換されても何も嬉しくないと思うんだが。
>>821 bzrはLinuxでNFDのファイルの追加を拒否するんだから、コロンも拒否すればいい
>>819 そのポリシーなら一律にNFCを適用して互換漢字を統合漢字に直してしまう理屈がわからない。
OSXでもLinuxでもWindowsでも区別できるんだから。
しかしそれはbzrではなくUnicodeの問題だ
825 :
デフォルトの名無しさん :2011/02/06(日) 18:29:27
>>824 そのUnicodeをファイル名として採用したbzrの設計の失敗だ
Samba 2時代の文字化けの経験があれば、ファイル名がUnicodeという時点でbzrが使えないものだと気付く euc-JP-msやら、JavaのShift_JISとMS932やら
>>823 私は、Appleが勝手に決めた正規化よりも、Unicodeが定義した標準の正規化の方が良いと思います。
今後他にNFC/NFDのどちらかの正規化をするプラットフォームができる可能性もありますし。
>>824 あなたはそう思うのですね。
私はそう思いません。
別に使わなくていいよ
>>827 それは Unicode の問題じゃなくて、Unicodeと各エンコーディングとの変換の問題。
bzrはWindowsではUnicode API使うからms932とかShift_JISなんて出番が無いし、
LinuxではUTF-8を使えば問題ない。
>今後他にNFC/NFDのどちらかの正規化をするプラットフォームができる可能性もありますし。 ・今は無いしこれからも増える見込み無いよな ・OSX上ではHFS+の正規化に従って、他のOSでは正規化しないという選択肢もアリじゃね? (大文字小文字の違いだけのファイル名をWindowsでは同一視する、他では区別する、という動作に近い)
832 :
デフォルトの名無しさん :2011/02/06(日) 18:50:44
>>830 > LinuxではUTF-8を使えば問題ない。
はぁ?Linuxでどうやったら、bzrでNFDを使えるの?
>>830 > bzrはWindowsではUnicode API使うからms932とかShift_JISなんて出番が無いし、
完全にcmd.exeは切り捨てるという宣言ですね?
>>831 もちろんその選択肢もありですが、大文字小文字に比べると、全部NFCで正規化する場合の
デメリットが十分小さいという判断のもと正規化されることになりました。
私もその判断に賛成です。例えばMacで追加されたDecomposed文字をWindowsで操作するときに、
コマンドラインからDecomposed文字を入力させるよりは、Composedに正規化してしまった
方が使い勝手が良く、非正規化文字を許す事によるメリットよりも、そのせいでもたらされる
混乱のほうが多いと感じるからです。
>>832 >>830 は
>>827 へのレスなんですが、どこでNFDの話が出てきました?
NFDのファイル名をLinuxで使いたい場面ってどれくらい一般的なのでしょうか?
>>833 cmd.exeで bzr add ファイル名 とした場合も、このファイル名は GetCommandLineW という
Unicode API を通して取得します。
>>834 >
>>830 は
>>827 へのレスなんですが、どこでNFDの話が出てきました?
> NFDのファイル名をLinuxで使いたい場面ってどれくらい一般的なのでしょうか?
あんたが手間だと言っていた、MaxOSXとファイルを共有したい時
>
>>833 > cmd.exeで bzr add ファイル名 とした場合も、このファイル名は GetCommandLineW という
> Unicode API を通して取得します。
標準出力は?
>>834 >例えばMacで追加されたDecomposed文字をWindowsで操作するときに、
Macで追加したファイルは合成文字として記録すればいいよ。
>>826 のテーブルだって、ほとんど標準のNFCから互換文字を抜いただけなんだから。
>>834 前から思ってたけど、単に難癖付けたいだけの人に構い過ぎ。
「良い意見があれば本家に提案してみてください」で良いじゃない。
議論だって向こうでやった方が、多くの目に触れるから建設的だし。
開発方針も知らず、コードも読まず、ドキュメントもMLのアーカイブも見ない、
そういう人を相手にしても不毛。ここでやりたいのが啓蒙活動っていうなら、
余計なお世話かもしれないが。
838 :
デフォルトの名無しさん :2011/02/06(日) 20:57:54
>>837 日本語で議論出来る場所がここ以外にあるわけ?
2chに名前を出して書いているってことは構ってくれって言っているものだから、 構って当たり前
>>838 そもそも、ここで日本語で議論して何がしたいの?
最終的な目的と、目的に対してここで議論する意義は?
>>839 いや、本当申し訳ないんだけどさ。
ここしばらくずっとこんな流れでうんざりなんだもん。ここ。
放っておいたらどっちも延々と不毛なトーク続けてるし。
842 :
804 :2011/02/06(日) 21:14:40
>>808 > 質問の意味が判らないんだけど、WindowsでコミットしたCRLFのテキストが
> LinuxでチェックアウトしたらLFになることを期待している?
取り出した OS の改行コードで組み立てられるんだと思ってた。
ありがとう。その辺注意してみるわ。
843 :
デフォルトの名無しさん :2011/02/06(日) 21:21:24
>>843 別に「Bazaarについて議論する」ってこと自体は、とても良いことだと思うよ。
でも、ここで議論したって、本家の開発者に問題が認知される訳じゃないし、
仮にここでコンセンサスが得られたとして、本家のMLなりでもう一回それをやる訳?
なら、最初から向こうで主要な開発者交えてやった方が、遙かに効率が良いじゃない。
目的がBazaarの改善ではなく、純粋にソフトウェアとしての優劣を論じたいのであれば、
>>844 のスレでやってもらった方が、GitやMercurialなどのユーザの人も絡みやすいし、
それぞれを比較することで、より深い、あるいは広い話に発展するかもしれない。
下世話な話がお好みなら、貶すなら人の目が多い方が楽しいし、荒れるでしょ。
延々三ヶ月弱もこんな零細スレで続けることじゃないでしょーよ。
やはりこれは、2chのスレで建設的な話が出来るとか、目的を持った議論ができるとか、
そういう幻想を持って利己的な理想像を他人にも押し付けようとする
>>845 が悪いね。
なにこのひとこわい……
>>845 日本人全員が英語が読み書きできるのか?
英語のMLを読んでいる人間、さらに書き込みする人間はよほどの物好きだぞ。
>>845 >
>>843 > 目的がBazaarの改善ではなく、
NFCは明らかな改悪、誰も望んでいない
最初に申し訳ないって言ったけど、改めて、Bazaarに関係ない話を長々と悪かった。
もちろん、全部俺の個人的な所感だから、賛同しない場合はそのまま続行してね。
>>846 そうじゃなくって、2chでまともな議論とか幻想でしょ、もっと別な所でやれよ、って主張。
叩くんだったら「は? 別にそんな意図があるわけじゃねーしw自治厨乙」って方向だろ。
>>848 ここで議論して何か意味があるならやりゃいいと思うけど、何か意味あるの?
本気でそう思ってるなら、もう何も言わないけど。
逆に、なんでやめさせたいんだ? ここで話したって何も変わらないことなんてみんな承知だろうに 床屋政談こそ2chの華だろう
議論の中心にいなきゃ気がすまないタイプなんだろ。 放置でいいと思う。
くだらないおしゃべりに興味ない一般利用者のための別スレを立てるかw
さておき、bzr-2.3.0が出てるようだね。
Windows Installer版はまだだけど、
>>761 で言う設定画面まわりのバグは
次のinstaller版に取り込まれるのかな?
>>857 次からおしゃべりしたいときは語るスレに行ってやってくれ
周りの迷惑も少しは考えてね
>>856 はい、直ったバージョンがパッケージに入る予定です。
スムースに行けば、月曜日に出るかも。
860 :
デフォルトの名無しさん :2011/02/07(月) 00:19:21
>>854 CJK互換漢字
http://ja.wikipedia.org/wiki/CJK%E4%BA%92%E6%8F%9B%E6%BC%A2%E5%AD%97 > CJK互換漢字はその名前にもかかわらずCJK統合漢字と互換等価ではなく正準等価であり、
> 互いに区別されることを期待してはならない[5]。
> このため4種類の正規化のいずれを採用してもCJK統合漢字に分解 (変換) されてしまい、
> 日本の人名処理などにおいて要求されることのある一部の人名用漢字などの区別が、Unicodeのプレーンテキスト上で保証されるとは限らない。
> (略)
> アップルはこのジレンマを解決するため、CJK互換漢字を正規化から除外した新しい正規化形式の追加を
> UTC (Unicode Technical Committee, Unicode技術委員会) に提案したが、否決された[8]。
> そこでアップルはCJK互換漢字を含む一部の文字が分解されない独自の正規化形式を定め、自社のオペレーティングシステムに導入している[9]。
>
>
862 :
デフォルトの名無しさん :2011/02/07(月) 00:38:53
>>828 > 私は、Appleが勝手に決めた正規化よりも、Unicodeが定義した標準の正規化の方が良いと思います。
> 今後他にNFC/NFDのどちらかの正規化をするプラットフォームができる可能性もありますし。
bzr関係者の日本人の認識がこの程度なら、英語で議論しても無駄
未来永劫bzrがまともになることはない
>>861-862 標準規格を使って多言語対応するなら、色々な問題があったとしてもUnicodeを使うのが
現時点ではベストだと思います。
そして、クロスプラットフォームにファイル名を扱う場合は互換文字の区別を期待する
ほうが無茶かと。自体の保存はファイル名じゃなくてファイルの中身でやってください。
個人的には、一昔前まで機種互換文字と言われていた文字をファイル名に使うことすら
抵抗を感じるんだが、時代は変わったなぁ。。。
だって、合成分解を同一視したいってだけなのに、互換文字を変換してしまうほうが変だもの
865 :
デフォルトの名無しさん :2011/02/07(月) 01:46:52
標準規格を使って多言語対応するなら、色々な問題があったとしてもASCIIを使うのが 現時点ではベストだと思います。 そして、クロスプラットフォームにファイル名を扱う場合は「/」「 ̄」の区別を期待する ほうが無茶かと。自体の保存はファイル名じゃなくてファイルの中身でやってください。 個人的には、一昔前まで8.3形式以上の文字大文字小文字混在をファイル名に使うことすら 抵抗を感じるんだが、時代は変わったなぁ。。。
866 :
デフォルトの名無しさん :2011/02/07(月) 01:49:39
標準規格を使って多言語対応するなら、色々な問題があったとしてもASCIIを使うのが 現時点ではベストだと思います。 そして、クロスプラットフォームにファイル名を扱う場合は「\」「¥」「 ̄」「〜」の区別を期待する ほうが無茶かと。自体の保存はファイル名じゃなくてファイルの中身でやってください。 個人的には、一昔前まで8.3形式以上の文字大文字小文字混在をファイル名に使うことすら 抵抗を感じるんだが、時代は変わったなぁ。。。
>>864 では、そういう正規化形式を、Appleの気分次第で無くなるかもしれない仕様ではなくて
きちんと標準化してください。
>>865-866 Unicodeがあるのに何故今更ASCIIがベスト?
>>831 ZFS で NFC, NFD の正規化オプションはありますが、apple独自形式に
正規化するオプションは当然ありません。
少し前までMacのNFDでaddできないと叩いてた人や、最近NFC正規化することを叩いている人って、 実際にその仕様で困っている人じゃなくてbzrを叩きたいだけの人? Subversionも将来NFC正規化する方向なんだけど、それも否定したいならバージョン 管理システムスレで。 bzrを叩きたいだけならいい加減スルーする。
結局ね、クロスプラットフォームで使うシステムを作っていく上で、どういうポリシーで 各プラットフォームに対応するかってことなんでしょ? どこまでシステム側で対処すべきで、どこからがユーザーに対処して貰うか、その 境界に関して意見が一致しないってことなんでしょ? で、システム側で(言葉が悪いけど)手抜きしたいのか、事実その対応は不要なのか Appleのファイルシステムに関しては、どっちなの?
>>868 いや、svnのは、ソース見りゃわかるけど#ifdefで括ってMacの時だけCoreFoundationの文字コード変換API呼んでるだけの
超絶手抜きコードじゃん。
bzrは真面目に検討したフシがあるのに、svnと同じ動作じゃ何か言いたくもなるよ。
まだ手抜きでこうなってます重要度も低いので今後の対応予定もないです、と言ってくれたほうが理解できる。
>>861 ん?だからUnicodeの問題なんだよね?
Appleのそれも中途半端だけど。
>>872 >
>>869 > 必要という意見がないから、手抜きした、と理解している。
あんたをはじめとした日本人のbzrユーザが必要性を認識していないだけ
bzrユーザのレベルはそんなもの
svnの事を取り上げて云々しているけど、bzrはsvnじゃないよね? bzrはbzrだよね。だから他のVCSがどうしてるかってのは、あんまり関係ないよね。 で、そもそも対処可能だから、手抜きだとか不要だとか言ってるんだよね?
svnのことを気にするのであれば、svnの現状、パッチをあてていない状態を再現すべき。 svnがbzrのふざけた対応よりまともな対応になった場合、bzrは互換性にとらわれて対応不可能。 bzrはsvnクライアントとしてもできそこないとなり、まったく使えない代物になる。
>>867 >
>>865-866 > Unicodeがあるのに何故今更ASCIIがベスト?
「ソ」「〜」がダメ文字なのは知識のある人間であれば常識だが一般ユーザは知らない。
だから、日本語ファイル名が禁止なのは普通のこと。
bzrでは新たに互換漢字もダメ文字に加わる。
>>875 それはmacportsのメンテナが独自にそのパッチを取り込んだという話で、
svn本体とは別の話。svn 本体の話は
>>872 >>874 はいはい、そうですね。
では、意識の高いあなたが、よりいい規格を標準化して多プラットフォームで
採用させてください。
>>876 対処可能というのが、svnのパッチみたいなハッキーなMac特別対応という意味で
あれば、そうですね。それが正しいかどうかは別問題です。
Unicodeコンソーシアムが、「同じ文字列かどうか比較する場合はNFC/Dを使え」
「互換文字が区別することを期待してはいけない」と言っているので、
Unicode的に正しいのは現在のbzrの対応です。
>>877 svnが将来bzrと同じになるって話してるんだけど?
880 :
デフォルトの名無しさん :2011/02/07(月) 08:11:34
>>879 >
>>877 > svnが将来bzrと同じになるって話してるんだけど?
将来っていつだよ?
cvs1.12みたいに永久に出て来ない可能性だってあるんだぞ
>>879 >
>>874 > はいはい、そうですね。
> では、意識の高いあなたが、よりいい規格を標準化して多プラットフォームで
> 採用させてください。
gitとhgがutf-8をutf-8として変換せずに扱っているのだから、こっちの方が多プラットフォーム。
あんたがさわっていたhgの例の拡張のように、
必要に応じてユーザが選択できたりコーデックを実装出来る方が柔軟性もある。
>>879 > Unicode的に正しいのは現在のbzrの対応です。
正しい正しくないと使いものになるかならないかは別物。
正しいものが残るのであれば、何故Javaにms932とShift_JISの2つあるのか?
まーUnicode的に正しい動作をするファイルシステムなんてものが現存しない以上は いくら理想を言っても、使う側からしたらいいから既存のファイルシステムの動作に合わせてくれってなるよ
885 :
デフォルトの名無しさん :2011/02/07(月) 11:28:44
現実的には、Bazaarの日本語ファイル名は便利だと思う。
Unicode的に正しい、てのは何か根拠が薄弱な気がする。 だって、それが肯定されるにはUnicode(の規程)「が」正しいてゆう前提が必要だよね? 正しいの?Unicode(の規程)?
Sambaが日本人にとって問題ないレベルになったのは、 知識豊富な日本人が活発に動いていたから。 bzrにはそのような人材はいないし、bzrユーザが日本でも極端に少ない。
>>886 ファイル名にUnicodeを採用した時点でUnicodeが正しいと盲信しないと、
bzrの自己の正当性を保てないから、正しいと思っているだけ
>859 そりゃよかった。 手元でbzr-2.3b5使ってて気になった点はそれだけだったんで。
890 :
デフォルトの名無しさん :2011/02/08(火) 01:56:25
bazaar bzr バザー バザール 重い 遅い
またPerl忍者ウザイやめろ
64bit のインストーラー版はまだか!
またPerl忍者ウザイやめろ
894 :
デフォルトの名無しさん :2011/02/08(火) 08:32:41
お、2.3.0のWindowsバイナリ出てるよ
URLは
>>894 ね
最近、油ギトギト民と水銀中毒患者が必死だなww こりゃbzrくるぞ
897 :
デフォルトの名無しさん :2011/02/08(火) 08:52:43
898 :
デフォルトの名無しさん :2011/02/08(火) 09:00:32
GitはBazaarの65倍大人気
65倍も人気あるのにスピードは3倍しか違わないんですね。
900 :
デフォルトの名無しさん :2011/02/08(火) 09:08:48
___ | |\ .__ | | | | || | | | |_||git | | |// | | | / グラフで比較するとそれほど差はない | | | / むしろbzrの方が高く感じられる | | |/ | | ./ |___|/ bzr / /
>>895 bzr-2.3.0を入れてみた。
TortoiseBzrのコンテキストメニューの編集とアイコンオーバレイと
同様のフィルタ設定ができるようになったのね。
>>902 いままで、ステータスチェックをしないで全メニュー項目返すだけなら
速度が問題になることはないから良いだろってスタンスだったんですが、
全メニュー項目が表示されるとウザイという人用にもう一人の日本人
開発者が導入してくれました。
で、そっちよりも、コンテキストメニュー内の項目の有効・無効や順序を
カスタマイズできる方が大きい機能で、 bind みたいな普通要らない機能は
消しておくとスッキリします。(この機能ももう一人の方が開発してくれました)
またPerl忍者ウザイやめろ
またPerl忍者ウザイやめろ
Webサイトからのリンクがまだ更新されてないんだよね。 まだ正式にリリースのアナウンスがあった訳じゃないから。
Webサイトのダウンロードリンクにbzr-2.3を追加しておいた。 これでそのうちbzr-2.3のダウンロード数が伸びると思う。
リリースアナウンスがないのにリンクだけ更新するってどうなの
>>913 一応リンク更新はMLで良いか?って尋ねてからやった。
bzrのリリースプロセスって結構gdgdだからねぇ。
1. gone gold (本体のfreeze)
2. 各プラグインのリリース
3. インストールパッケージの作成、ppaの更新
4. リリース担当者がアナウンスの文面を考えてアナウスを出す
という流れで、リンクを更新するタイミングは特にルールや担当者が無くて
気づいた人がやる感じ。
アナウンスがされてもリンクが更新されてないとだれかがやるけど、
全パッケージが揃うのに時間がかかることもあればアナウンスが遅い
こともあるから、別にアナウンス前にリンク更新しても無問題。
今の bzr-2.3 は PPA の更新までできてアナウンス待ちかな。
なるほど。バイナリの出自が確かなら無問題。
917 :
デフォルトの名無しさん :2011/02/10(木) 03:51:38
Bazaarのアイコンってちんこみたいで親しみが持てる。 hgのはまぁまぁカッコいいから好き。Gitのは意味分からん。
920 :
デフォルトの名無しさん :2011/02/11(金) 18:47:26
Bazaarはちんこ
>>920 Bazaarは欠かせない大事なものだってことだね。
twitterでbzrを検索するとひたすら「遅い」っていう感想ばっかなんだけど そんなにおそいの?
遅い以外に不満点が見つからないんだね。
924 :
デフォルトの名無しさん :2011/02/12(土) 01:06:20
「遅い」という第一印象でbzrを使うのをやめるから、それ以外の感想が出て来ない
bzrが遅いと感じられてしまう理由は幾つかあって、 1) Ubuntu, Fedora 以外のLinuxディストリではbzrのバージョンが古すぎる。 せめて2.1未満なら手動でインストールしないと。 2) Launchpad はユーザー登録しないとsmartプロトコルが使えないから遅い。 3) bzr は hg や git の最初の clone に比べると、最初の branch が重い。 特に3番が大きな問題で、それ以降のローカルでの操作は遅くないし、 共有レポジトリやstacked branchといった仕組みがあるから hg や git に 比べて無駄な転送が発生しにくく最初以外は速いことが多い(※)んだけど、 最初の1回が遅いと第一印象が悪くなる。 ※例えば、ローカルに持ってきて、ローカルで行った変更を公開しようと 思ってpushするワークフローの時、 bzr branch lp:xxx; cd xxx; ... bzr push lp:~/xxx/some_fix とすると、自分のコミットしたリビジョンだけが 送信されるので一瞬。 githubやbitbucketでは普通に push したら遅いから、一旦Webインタフェース上で フォークを実行することでサーバーの内側でcloneを実行させるという手間がある。
926 :
デフォルトの名無しさん :2011/02/12(土) 08:10:18
>>925 > 自分のコミットしたリビジョンだけが
> 送信されるので一瞬。
他人のリビジョンは必要無いですか。大変利己主義なんですね。
> githubやbitbucketでは普通に push したら遅いから、一旦Webインタフェース上で
> フォークを実行することでサーバーの内側でcloneを実行させるという手間がある。
そんな馬鹿なことをしている人はいない。
ローカルに全リビジョンがあった方が利便性が高いに決まっている。
gitもhgもブランチだけpull/pushできるから使い分けている。
いい加減なことを書くのはやめろ。
>>925 たまに勝手に再パッキング(?)が始まるけど、リポジトリがでかいと結構な時間
待たされるんでデフォルトは自動じゃないほうがいいかもね
>>926 > 他人のリビジョンは必要無いですか。大変利己主義なんですね。
他人のリビジョンはすでにLaunchpad上にあから、わざわざ同じものを送信しないというだけ。
Launchpadは独自のルールとstacked branchを使ってこれを実現しているけど、
自分でサーバー側を作るときはshared repositoryを使えば簡単に同じことが
実現できる。
>> githubやbitbucketでは普通に push したら遅いから、一旦Webインタフェース上で
>> フォークを実行することでサーバーの内側でcloneを実行させるという手間がある。
>そんな馬鹿なことをしている人はいない。
>ローカルに全リビジョンがあった方が利便性が高いに決まっている。
言いたかったことが伝わってないな。例が悪かった。
そもそもgithubやBitBucketはforkじゃなくて新規リポジトリ作るのも
Webからボタンを押さないと行けなかった。
たとえば、BitBucketだとstableとdevelでリポジトリを分けるって普通だよね。
develからpullしてstableにpushするときに、すでにBitBucket上のdevelにある
リビジョンを、わざわざstableに転送しないといけない。
Bazaarが3倍遅かろうが、たいした問題ではない。
>>927 あー、たしかに。
repackはサーバー側でcronかなにかで実行させるオプションは欲しいね。
デフォルトで無効にしてしまうと、repackを知らないユーザーのローカル
リポジトリがどんどん肥大化してしまうけど。
>>928 > 他人のリビジョンはすでにLaunchpad上にあから、わざわざ同じものを送信しないというだけ。
gitもhgもリモートにあるリビジョンは送信しませんが?
> 言いたかったことが伝わってないな。例が悪かった。
> そもそもgithubやBitBucketはforkじゃなくて新規リポジトリ作るのも
> Webからボタンを押さないと行けなかった。
githubやBitBucketでforkする義務は無い。
ローカルにcloneを持って、個人・組織で独自改造を管理していれば良い。
でもbitbucketはプライベートリポジトリも容量制限無しで使い放題。
> たとえば、BitBucketだとstableとdevelでリポジトリを分けるって普通だよね。
> develからpullしてstableにpushするときに、すでにBitBucket上のdevelにある
> リビジョンを、わざわざstableに転送しないといけない。
それを手間だと感じるのであれば、あんたが分散型を使う意義は無い。
DVCSはツールとしては分散型だが、コミッタという役割はある。
コミッタがstableを管理するもの。
develと名乗ろうが何しようが、プロジェクトが判断するもの。
> gitもhgもリモートにあるリビジョンは送信しませんが? 同じリモートサーバー上の別のリポジトリににあるリビジョンは、転送しますよね? > githubやBitBucketでforkする義務は無い。 今は、bzrがpullしてpushするときにhgやgitよりも高速なことがあるという 話をしているので、そういう話は全くしてません。 >それを手間だと感じるのであれば、あんたが分散型を使う意義は無い。 手間とかそういうんじゃなくて、単純に転送量と速度の話。
>>933 > > gitもhgもリモートにあるリビジョンは送信しませんが?
> 同じリモートサーバー上の別のリポジトリににあるリビジョンは、転送しますよね?
1つのリポジトリで複数のブランチにするかリポジトリを分けるかはプロジェクト・個人の勝手
githubとbitbucketのフォークは個人が勝手にリポジトリをcloneしているもの。
githubもbitbucketも組織用のプランもある。
bitbucketは5人まで完全無料。
転送量をけちるのであれば、forkなんかしなければ良い。
ディスク容量も転送量もけちるような時代か?
> > githubやBitBucketでforkする義務は無い。
> 今は、bzrがpullしてpushするときにhgやgitよりも高速なことがあるという
> 話をしているので、そういう話は全くしてません。
>
> >それを手間だと感じるのであれば、あんたが分散型を使う意義は無い。
> 手間とかそういうんじゃなくて、単純に転送量と速度の話。
だからそれがbzrはgitの3倍
>>688
>>934 いやだから無料とか法人とか今全然話題にしてないんだって。
>>688 はbranch&pushの時の速度や転送量じゃないし、そもそもgitは1.7なのに
bzrは2.0だし、しかもupdate元と先のリビジョンも揃えてないし。
bzrは最初のbranchが重い、でもその後のpushだと他よりも早いケースがあるよ、
というだけの話をしてるのに、なんでそんなに突っかかるん?
>>935 >
>>688 はbranch&pushの時の速度や転送量じゃないし、そもそもgitは1.7なのに
> bzrは2.0だし、しかもupdate元と先のリビジョンも揃えてないし。
コミット時間はほぼ一緒ですが?
gitのコミット時間には意味がありませんが?
あんたの主張だとgitの方が余計なものを転送しているので転送量が大きくなりませんか?
bzrのスレで、bzrより○○が良いとレスする奴なんだから、突っかかるもクソもない。 単なるbzrアンチによる荒らし。
939 :
デフォルトの名無しさん :2011/02/12(土) 15:04:30
bzr は log とかも遅くね? 最初の clone は仕方無いと思うけど。
>>940 手元にたまたま python 2.6 の bzr と hg のブランチがあったから
time bzr log > /dev/null と time hg log > /dev/null を試してみたけど、
bzrが13秒でhgが11秒くらい。
gitだと番号つけなくて良い分速いかもね。
942 :
デフォルトの名無しさん :2011/02/12(土) 18:58:09
943 :
デフォルトの名無しさん :2011/02/12(土) 20:48:59
>>941 MercurialとBazaarの最新版は似たような速さということですね。
バージョンはMercurial 1.7.5とBazaar 2.3.0でしょうか?
>>942 >Operation Mercurial Git Bazaar
>diff 0.622s 0.156s 0.916s
>commit 1.126s 0.348s 1.030s
>log 3.449s 0.402s 3.205s
Mercurial 1.3とBazaar 2.0は似たような速さだったということですね。
速度を最も重視する人がこれを見たらGitを選ぶでしょう。
これのどこがFUDなのですか?
>>943 こういう風に間違いを具体的に指摘する情報ならありがたいのです。
ところでMercurial側は
>>942 のリンク先には何か反論したのでしょうか?
>>942-943 内容も読まないでよくそんなこと言えるな。
>>942 は、そもそも bzr は他のvcsより速いって主張は全くしてなくて、
git の方が速いけど、bzrだって一般的な使い方において充分な速度が出てるとしか
言っていないよ。
ちゃんと git, hg, bzr のバージョン明記してあるし、全部その時点での
最新安定版を使って比較してあるしね。
もしhgの方が速いとしても、それはここ1年の間にhgが速くなっただけ。
>>943 も、例えば1つ目は、
bzr: bzr には bound branch があるよ(svnみたいな使い方ができるよ)
hg: bound branch は無いけど、同じような動作をする hook を作ったから svn みたいな使い方ができるようになったよ
bzr: "This page is obsolete!" もう hg も svn みたいな使い方ができるようになったから、このページの情報は古いですよ!
それよりも、
http://whygitisbetterthanx.com/#git-is-fast の方がよっぽどFUD
この記事が書かれた時点での最新版じゃないbzrを使っていて、「gitは他のvcsより速い
からエライ」と受け取れる主張をしていて、しかも古いbzrを使っていることを指摘されても
修正しないどころか "This page is obsolete!" とすら書いてない。
>>944 Firefoxを出している時点で恣意的。
これ以外にもMozillaがMercurialを選んだ理由はぐぐればいくらでも出てくる。
すでに反論するに値しない。
947 :
デフォルトの名無しさん :2011/02/12(土) 21:34:14
>>945 あれ?FedoraとUbuntu以外でわざわざ最新版入れないといけないの?
そんな不安定なもの入れて比較する理由は?
>947 >そんな不安定なもの ということにしたいのですね?:ー)
950 :
デフォルトの名無しさん :2011/02/12(土) 22:44:49
>>949 bazaar MLで話題になってる。
bzr.savannah の構成が何かおかしいみたいだね。
なぜかbzr+sshよりもsftpの方が速かったり、bzr.savannahと同じLAN上の
マシンでテストしてるのに lp:emacs と bzr.savannah とで同じだけ時間が
かかったりするらしい。
bzr.savannah に載ってるbzrが2.0なのが原因ぽいな。 2.0は新しいリポジトリフォーマットを安定させるのを最優先してたから、 パフォーマンスチューニングがされてない部分が沢山あって、 emacsみたいに大きいプロジェクトで使うなら2.1以降が必須と言って良い。 もちろん2.2、2.3とさらに遅かった部分が改善されているから、新しければ 新しいほどいいけど。
>>949 引用している文が"If"が抜けていて意味不明になってますよ。
正しくはこうです。
>If Bazaar 2.x is genuinely too slow for you on your project,
>please tell us where and we’ll do what we can to fix the problem for you.
Bazaarアンチなんて無駄なことやめとけって
955 :
デフォルトの名無しさん :2011/02/13(日) 08:16:39
>>948 > ということにしたいのですね?:ー)
ヘ_ヘ
ミ ・ ・ ミ
( ° )〜
957 :
デフォルトの名無しさん :2011/02/13(日) 08:36:52
958 :
デフォルトの名無しさん :2011/02/13(日) 08:38:02
ATOKを入れてませんか?
文字化けしてますよ
こわがりすぎー
またPerl忍者ウザイやめろ
>>958 一応誤解する人がいるかもしれないので念のため。
弐はNFCどころかNFKCで正規化しても弐のまま。
bzrでも二と弐は同時に使える。
>>963 もちろん、「弐」と「二」は文字コードにうるさい人に皮肉のつもりで書きました。
967 :
デフォルトの名無しさん :2011/02/13(日) 20:27:59
またPerl忍者ウザイやめろ
>>734 方向性はそれでよさそう
macはNFCで書き込もうとしてもNFDに変換されるみたいだ。
from unicodedata import normalize
import os
nfc = normalize('NFC', u'が')
nfd = normalize('NFD', u'が')
print 'NFC:', repr(nfc)
print 'NFD:', repr(nfd)
open(nfc, 'w').close()
print 'listdir:', os.listdir(os.getcwdu())
このコードでこんな結果になってしまう。
NFC: u'\u304c'
NFD: u'\u304b\u3099'
listdir: [u'\u304b\u3099']
あとは
>>727 のパッチみたいにlistdirを使わずに
ディレクトリを読み込んでる部分で変換してやればいいんじゃないかな。
>>969 macユーザーでしょうか?
bzr-2.3 で積極的に日本語使ってみて、問題が起こったら報告お願いします。
>>996 のバグ報告の手順ではもうちゃんと動作するようになっているので、
今は対応漏れのエッジケース探しというフェーズらしいです。
>>970 mac使ってます。
>>730 のコマンドライン引数も気になったので調べてみたけど
NFCで取り出せているので対処不要かな。
$ python - が
Python 2.6.6 (r266:84292, Dec 27 2010, 01:38:50)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> arg = sys.argv[1]
>>> print repr(arg)
'\xe3\x81\x8c'
>>> import locale
>>> enc = locale.getpreferredencoding()
>>> print enc
UTF-8
>>> arg.decode(enc)
u'\u304c'
>>>
>>971 山嵜.txtは、山崎.txtに変換される?
>>972 さすがにそれはない
$ ls
山崎.txt 山嵜.txt
$ bzr add
adding "山崎.txt"
adding "山嵜.txt"
$ bzr ci -m "add files"
Committing to: /private/tmp/2ch/
added 山崎.txt
added 山嵜.txt
Committed revision 1.
$ ls
山崎.txt 山嵜.txt
$ bzr st
$
>>973 ありがとう。山崎、山ア、山嵜の異字体が共存できるなら、正規化を問題にしていた人は何を気にしていたのだろうか?
>>969 と
>>971 の通り、コマンドライン引数とlistdirで
NFCだったりNFDだったりするのでこんな奇妙な動きになる。
引数にファイルを指定した場合
$ ls
が
$ bzr add が
adding "が"
$ bzr status が
added:
が
$ bzr ci が -m "add file"
Committing to: /private/tmp/2ch/
added が
Committed revision 1.
$
引数にファイルを指定しない場合 $ ls が $ bzr add adding "が" $ bzr status missing: が unknown: が $ bzr ci -m "add file" Committing to: /private/tmp/2ch/ missing が aborting commit write group: PointlessCommit(No changes to commit) bzr: ERROR: No changes to commit. Use --unchanged to commit anyhow. $
それで
>>727 のパッチと
>>730 みたいにread_dirとlistdirの戻りをNFCに変換すると
引数にファイルを指定しなくてもstatus、commit辺りは動くようになった。
色々なパターンを試してるうちに他のバグを見つけた。 windows, linux, macどれでも再現したからNFC問題とは別っぽい。 空じゃない日本語ディレクトリを別の日本語の名前に変えるとcommitでエラーになる。 でもコミットログも変更も反映されているな、何だこれ。 $ bzr rename あ い あ => い $ bzr ci -m "rename" Committing to: /tmp/2ch/ renamed あ => い bzr: ERROR: An inconsistent delta was supplied involving '\xe3\x81\x84\x81\x82/a', 'a-20110213194743-tlya9hbaygfj0jov-1' reason: working tree does not contain new entry $ ls い $ bzr status working tree is out of date, run 'bzr update' renamed: あ/ => い/ $ bzr update All changes applied successfully. Updated to revision 2 of branch /tmp/2ch $ bzr status $ ls い $
979 :
デフォルトの名無しさん :2011/02/14(月) 07:31:30
スレ違いな上に阿呆がpopしまくっていて酷いね。
>>974 >>> s = u"山崎、山ア、山嵜"
>>> import unicodedata
>>> print unicodedata.normalize('NFC', s)
山崎、山ア、山嵜
NFCでもこれらの3つは区別できるらしいね。
>>983 >>> s = u"山崎、山ア、山嵜"
>>> s
u'\u5c71\u5d0e\u3001\u5c71\ufa11\u3001\u5c71\u5d5c'
>>> t = unicodedata.normalize('NFD', s)
>>> print t
山崎、山ア、山嵜
>>> t
u'\u5c71\u5d0e\u3001\u5c71\ufa11\u3001\u5c71\u5d5c'
>>> u = unicodedata.normalize('NFC', t)
>>> u
u'\u5c71\u5d0e\u3001\u5c71\ufa11\u3001\u5c71\u5d5c'
>>> v = unicodedata.normalize('NFD', u)
>>> v
u'\u5c71\u5d0e\u3001\u5c71\ufa11\u3001\u5c71\u5d5c'
>>> print v
山崎、山ア、山嵜
>>> print u
山崎、山ア、山嵜
>>> print t
山崎、山ア、山嵜
>>> print s
山崎、山ア、山嵜
>>>
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
>>> s = u"神顫暾ア" >>> t = normalize('NFC', s) >>> s u'\ufa19\ufa13\ufa14\ufa1f\ufa23' >>> t u'\u795e\ufa13\ufa14\ufa1f\ufa23' 神だけ神になるな。
>>992 U+F90A U+F9F4 U+F961 U+F9DB
>>992 頭の悪いオレ向けのバージョン管理システムになったってことだな。
素晴らしい。
>>995 GitはWindowsのMercurialで使いづらいから却下。
>>996 cygwin使えばhg-git使えるかも
>>997 hg-gitもしっかりメンテされているけど、dulwichとの切り分けが難しい
Bazaar最高!!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。