2010年09月11日

Subversionいろいろ

ビルドはXcodeで行うんだけど、ソースの編集そのものは、Mac上のフォルダを共有設定にして、Windows側からそのフォルダ内のファイルを読み書きする形で行うつもり。

で、バージョン管理はSubversionに任せる。一応、WindowsにもMacにも、Checkoutして作業領域を確保しておくようにしたい。なんだけど、あいにく俺は、Apacheだとかサーバだとかそういうのは全く分からん。なので、Subversionのリポジトリも共有フォルダにおいてアクセスする形で管理しようと企んだ。

まずは、Windows上にリポジトリを作る方法を試してみた。この場合、当然、Windowsに作った作業領域からリポジトリへのアクセスは問題ない。しかし、Macからはリポジトリにうまくアクセスすることができない。
Can't get exclusive lock on file 'リポジトリのパス': Operation not supported
となる。解決方法らしきものは、ググれば出てくるが、俺には良く分からんかった。で、Macの、Windowsへのアクセス権限をAdministratorにしたりしてみたが、無念なことに一向に解決しないので、スパッと諦めた。

そうなると、あとはMac上にリポジトリを作るしか手はない。SCPluginもVersionsもsvnXも、リポジトリの作成やImportなどには対応していない(あるいは俺がその機能を見つけられなかった)ようだったので、諦めてターミナルから行う。以前のエントリ
それから、Chapter2、Chapter3の3.1と3.2、Chapter6の6.3と6.8以外は、俺には必要なかった、実質半分だったな、という点。
などとホザいたが、いやいや、Chapter4の「Linuxならどうよ」の項は役に立った。リポジトリの作成もImportもターミナル上からsvnadminなどを通して対応できた。Switchもできた。まぁ、当たり前っちゃあ当たり前であるが。ちなみに、svnXは、リポジトリを作ろうとしているフォルダへのフルパスを表示してくれて便利(使い方おかしい)。

そんなこんなで、Mac上にリポジトリを作る。Mac側から作業領域への各種アクセスは当然うまくいく。Windows側からはどうかなー、と思ったが、ファイルへのアクセス権さえきちんと設定すれば大丈夫なようだ。

具体的にアクセス権が狂うタイミングはいつかというと、WindowsからMacのファイルを直接いじる際にうっかりWindows側からsubversionに関する処理をしたときと、新規ファイルをWindows側で作ったときだ。もっとも、アクセス権を設定し直せば問題ないようなので、まぁ何かSubversionがエラー吐いたらアクセス権を設定し直し、それでもダメならうんうん唸ろう。何はともあれ、環境構築は問題なくできたということだ。ぶっちゃけ1日半かかった。氏にたい。
posted by 小川 at 23:47| Comment(0) | TrackBack(0) | プログラム/マ | このブログの読者になる | 更新情報をチェックする

2010年09月08日

TortoiseSVNの本

多くのプログラマには笑われるんだろうけど、入門Subversion Windows/Linux対応/上平哲/秀和システムという本を買っちゃった。こないだ新宿で打ち合わせた帰り、小田急百貨店の本屋で色々な本を手にとっては立ち読みしていて、ビビッと来た(古)。そのまま他2冊と共に連れて帰ってきた。1時間半も本屋にいた自分に驚き。他にも良い本がたくさんあったが、我が家の大蔵省の顔がチラチラ浮かんで、すべてを連れて帰る勇気は出なかった(笑

俺はいわゆる「初心者本」が大好きなのよね。一から十ぐらいまで事細かに説明してある本。そういうのが大好き。仕事でなかったら、初めて触れるモノに触れるのはとても怖いのよ。なぜと言われても困るけど、そういう性格なのよね。だから手取り足取り教えてくれる「初心者本」が好き。我ながら、とてもプログラマとは思えないねwww


さて。この本では、Windows用のSubversionクライアントとして、TortoiseSVNを使って紹介してるのね。まぁWindowsかつVisual Studioでないならば、これ使ってるトコ多いだろうね。7月までやってた職場でも使ってた。CVSが分かれば大体分かるし、どうせ使うのはCVS同様、Update, Commit, diff, Show Logあたりが9割だしね。俺の場合、たまにCheckout, Add, Delete、ごくまれにRename, Update to Revision, Revert to this revisionぐらいだったかねぇ。

だから、本書で説明してある、Edit conflictやResolved, Revert, Check for modifications, Repo-browser, Branch, Switch, Merge, Create patch, Apply patch, Blameなどの使い方は全然知らなかった。が、この本できっちり解説してあり、あっさりと把握。Branch, patch関連は、ちょっとめんどくさそうで、使いたくないなと思ったし、Revertはちょっと怖い。うっかり何かやらかしそう。そして、知らなかったコマンドの中でも、特にBlameは知っておきたかった!

基本的に、日本語化パッチ適用後のコマンド名で説明してあるので、「Update」は「更新」、「Blame」は「注釈履歴」などといった日本語表記で統一してある。(英語表記にしたのは俺の趣味。)日本語化パッチはTortoiseSVN公式ページで配布されているので、入手もインストールも問題ないよね。本当に初心者向けなので、プログラマではない人にもオススメ。そんな本でした。

欠点は、4年前の本である点。それから、Chapter2、Chapter3の3.1と3.2、Chapter6の6.3と6.8以外は、俺には必要なかった、実質半分だったな、という点。もう1つ、表現のセンスが合わないので、時々イラッとする点。ま、そんなこたぁ些細なことと思えるぐらい、俺には良書だった。プログラマじゃない人にオススメの一冊。星5つ。
posted by 小川 at 03:10| Comment(0) | TrackBack(0) | プログラム/マ | このブログの読者になる | 更新情報をチェックする

2010年09月07日

TortoiseSVNでインポートできない?

TortoiseSVNのバージョンは、1.6.10の32bit版で、日本語言語ファイルをあててある。

TortoiseSVNで、自分マシンのテキトウなところへリポジトリを作り、管理したいファイルをインポートしようと思ったら
svn.gif
んんー? なんか大事な部分は灰色になって選択できねぇ。なんだこりゃ。


・・・とりあえず、自分のマシンの中で完結する作業フォルダなので
file///C:/Hoge/Fuga/Piyo
と指定することで、インポート自体はできた。何だったんだろう?

「URLの履歴」や「ログメッセージ(入力ダイアログ)」を消し、日本語フォルダを介していたので、取り除いてみたが、現象変わらず。しかし、一度「URLの履歴」が残ると、以降は選択できるようになっている。ググってみたけどワカラン。


・・・ま、いっか。
ラベル:subversion TortoiseSVN
posted by 小川 at 13:15| Comment(0) | TrackBack(0) | プログラム/マ | このブログの読者になる | 更新情報をチェックする

2010年09月02日

Mac上のファイルをWindowsから読み書きする

さて、俺は秀丸エディタを心から愛しているので、Mac標準のテキストエディタやXcodeで開発するなんていう意識はハナっから無い。Windows側のマシンにドライブを割り当てて、そのドライブがMacの特定のプロジェクトを指していれば、事実上、秀丸エディタで開発ができる訳だ。

Google先生を頼りに、そのようなバッチファイルを書く。
system_error.gif

うん、全然ダメねー。

まず、システム エラー 1222 は、どうやらWindowsマシンがファイル共有できない類の問題っぽい(このあたりは詳しくないので良く分からない)。ちなみに「マイネットワーク」→「ネットワーク全体」→「Microsoft Windows Network」も利用できない。で、こういうエラーが出るときは大抵、俺の止めたサービスが悪さしてることがあるケースが多いので、サービスを調べ回る。最後に調べ回ったのがいつだったがトンと記憶にないが、「無効」で良かったモノが「手動」や「自動」にすべきケースが多々あった。そのうちの1つ「Workstation」と「Computer Browser」の開始条件を「自動」にして、マシンを再起動することで、この「システムエラー 1222」は出なくなった。ちなみに、「Computer Browser」は「Workstation」に依存している。どうでもいいか。

次。システム エラー 67。
ココにある図8のようにも試してみたが、案の定失敗する。
IPC$共有へのアクセスも失敗する場合は,クライアントの設定不備,もしくはファイアウォールの設定不備やルーティング設定不備により,ネットワークもしくはクライアントに問題があるということが確認できます。
ということだそうだ。まーた何かのサービス止めてあるのが問題か? んで色々調べた結果、「WebClient」サービスを起動させたところ、このエラーは消えた。(「WebClient」サービスを本当に起動させて大丈夫なのかどうかは疑問が残る。)

新たに出たエラーは、システム エラー 53。解消法は「WebClientサービスを止める」と出てきた。無限ループ。これは違うようだ。とどのつまり、「システム エラー 67解消」のために「WebClientサービスを本当に起動」させるのがそもそもの間違いだろう。

ココでふと気付く。Macでファイル共有をONにしているだろうな?
mac_common.png

ちょwww 案の定じゃねーか!!

以下、Mac側に施した設定。

1.「システム環境設定」→「アカウント」→「鍵」アイコン→パスワード入力→「+」ボタン→「新規アカウント」は「共有のみ」とし、アカウント名などを決定。
2.「システム環境設定」→「共有」→「ファイル共有」にチェックを入れる→「オプション」→「SMB(Windows)を使用してファイルやフォルダを共有」にチェックを入れる→先ほど作ったアカウントにチェックを入れる→「完了」→「共有フォルダ」の下にある「+」を選択し、共有したいフォルダを選択→選択状態にしたまま、「ユーザ」の「+」を選択→1で作ったアカウントを指定→必要に応じて、「読み出しのみ」を「読み/書き」に変更→「共有フォルダ」の該当フォルダを右クリック→「内包している項目にアクセス権を適用」

以上だ。


次。
ネットワークドライブの指定を行いたいが、別に、常にアクセスしておく必要はない。起動したりするたびにいちいち警告が出るのもうざったい。かといって、アクセスしてない状態からアクセスするようにするのは、ワンクリックで終わらせたい。そんなものぐさな俺の要求を叶えるのがbatファイル。
@echo off
net use Z: /delete /yes
pause
net use Z: \\マシン名\共有フォルダ /user:接続したいマシンで作ったアカウント
net use /PERSISTENT:NO
pause

net use Z: /delete /yes
は、Zドライブに割り当てられているネットワークドライブを消す。「Z:」を「*」にすると、無条件にすべてのネットワークドライブを全部消す。

net use Z: \\マシン名\共有フォルダ /user:接続したいマシンで作ったアカウント
は、メイン部分。ネットワークドライブの指定が可能。共有フォルダ名と/userの間にパスワードを埋め込むこともできるが、それはどうかと思った。パスワードをここに書かない場合、入力を求められる。

net use /PERSISTENT:NO
は、次回起動時に、勝手にネットワークドライブ接続を行うかどうかの指定。NOなので、それを拒否している。必要なときに俺が自分でやる。

pause
が2箇所入っている。上のは、ネットワークドライブ接続を消すコマンド成功直後に、以降のコマンドを実行させたくないときのために入っている。この一時停止時にCtrl+Cでムリヤリ止めてしまえば、以降のネットワークドライブ接続は行われない。なんとなく入れてみたが、今後の使い勝手次第で変更するだろう。末尾のpauseは、成否確認用。一応残しておかないと、エラーを出しながらポッと消えられても困るので。


と、こんなカンジで、秀丸エディタからMac上のファイルをアレコレ編集できるようになった。実に喜ばしいことだ。
posted by 小川 at 17:53| Comment(0) | TrackBack(0) | プログラム/マ | このブログの読者になる | 更新情報をチェックする

Apple ID

先週の金曜日から、iPhone SDKをダウンロードしようとしているのだが、AppleIDは取得できたが登録がうまく行かない。何度やっても
We are experiencing technical difficulties.

Please try again later.
と出る。訳すと、
アップルのXCODEをダウンロードしたいのですが、パーソナルプロファイルとい... - Yahoo!知恵袋

技術的な問題が発生しました。しばらくたってから再度やり直して下さい。
ということだ。27日(金)に発生して30日(月)にまだ直ってないっておかしいだろ! と思って、Google先生により詳しく聞いてみた。そしたら・・・
hmylab.com - Dev Centerへ登録できない|iPhoneアプリ開発

SDKをダウンロードする為に、Developer Centerへ登録しないといけません。
が、最初の一歩でつまづく人が結構います。

以下の点を確認してください。
  • Apple IDの登録情報に日本語を使っている
  • 日本語サイトから登録したApple IDを使っている
上記にあてはまる方は、
We are experiencing technical difficulties. Please try again later.
Please return to the Member Center and try again.
というエラーが出てきて登録できません。

英語サイトで新しくApple IDを作成して挑んでください。


Ω ΩΩ<な、なんだってー!?

てなわけで、英語サイトからやり直したらあっさり行けた。ナンダソレ(゚∀゚)アヒャッヒャッヒャッヒャッヒャーーー!!!!11
ラベル:Apple ID tips
posted by 小川 at 12:44| Comment(0) | TrackBack(0) | プログラム/マ | このブログの読者になる | 更新情報をチェックする