miauのブログスマートフォン用の表示で見るmiauのブログはてなダイアリー「miauの避難所」をはてなブログに移行しましたこの広告は、90日以上更新していないブログに表示しています。配下でベンダブランチ風に管理するというような運用を行っていたのですが、「変更をトラッキングしたいけど受領ファイルもそのまんま管理したい」というケースがたまにあるので、運用方法を考えてみた&補助用スクリプトを書いてみました。書いたこの運用方法なんですが。運用に慣れてくると、ソースコード以外の外部リソースについて似たような管理をしたくなってきたりします。別会社にデザインを依頼していて、定期的でメールで受け取るような場合にも上記の方法は有効です。ライフサイクルが異なる&マージが必要になるものですので、/received(受領ファイル)のようなディレクトリを作成し、そこで管理するようにしています。いうタグも生成されるという感じの運用になります。ベンダブランチ風管理で困る点この方法、外部から送られるファイルが完全な状態であれば問題なく運用できるんですけど、実際にメール等で更新ファイルが送付されてくる場合は、変更があったファイルだけ送られてくるケースというのが結構あります。見立てて手動で更新&自分でタグ付けすればふつうに管理はできるんですが、ディレクトリ構造が変わっていたり、ファイル末尾に更新を示す文字列が付加されていたりすると厄介です。管理したいインフラ関連の資料が、初回は完全なディレクトリ構成で00.はじめに/Readme.txt01.IPアドレス管理表/IPアドレス管理表.xls02.ネットワーク構成図/ネットワーク構成図_20090930.pdf02.ネットワーク構成図/ネットワーク構成図_20090930.pptとして送られてきたのに、後のタイミングではIPアドレス管理表_20091102.xlsネットワーク構成図_20091102.pptのように送られてきてたりします。_yyyymmdd(場合によっては「_修正版2」みたいな名前だったりする)を削除して格納しなおす必要がある格納先のパスをいちいち探して更新をかける必要があるという問題があります。等を除いた綺麗なディレクトリ構造&ファイル名で保存したい気がします。上記の受領ファイルであれば、最終的に20090930/00.はじめに/Readme.txt20090930/01.IPアドレス管理表/IPアドレス管理表.xls20090930/02.ネットワーク構成図/ネットワーク構成図_20090930.pdf20090930/02.ネットワーク構成図/ネットワーク構成図_20090930.ppt20091102/IPアドレス管理表_20091102.xls20091102/ネットワーク構成図_20091102.pptcurrent/00.はじめに/Readme.txtcurrent/01.IPアドレス管理表/IPアドレス管理表.xlscurrent/02.ネットワーク構成図/ネットワーク構成図.pdfcurrent/02.ネットワーク構成図/ネットワーク構成図.pptこうなるイメージです。運用方法これを実現するための運用方法はこんな感じになると思います。取り除いてcurrent/00.はじめに/Readme.txtcurrent/01.IPアドレス管理表/IPアドレス管理表.xlscurrent/02.ネットワーク構成図/ネットワーク構成図.pdfcurrent/02.ネットワーク構成図/ネットワーク構成図.pptとして格納します。20090930/02.ネットワーク構成図/ネットワーク構成図_20090930.pptのように元ファイル名にリネームしなおすと。)これでちゃんとトラッキングできそうです。毎回この作業を行うのは大変そうですね。補助用スクリプトということで簡単な補助用スクリプトを作ってみました(fetch_third_party_files.rb)。リンクからダウンロードしてご利用ください。<最新版の格納ディレクトリ>のようにして起動します。currentのようにして起動することになります。ファイル一覧の編集エディタが起動して、↓のようなテキストが表示されていると思います。↓元ファイルの一覧です。この順で格納先のファイル名を記載してください。「#」で始まる行は無視されます。ディレクトリのファイル一覧です。風)ので、先頭の部分を格納先の名称に変更します。取り除いて格納したいわけなので、current/00.はじめに/Readme.txtcurrent/01.IPアドレス管理表/IPアドレス管理表.xlscurrent/02.ネットワーク構成図/ネットワーク構成図.pdfcurrent/02.ネットワーク構成図/ネットワーク構成図.pptのように編集すればよいです。入力した場合や、内容に問題があった場合(行数が変わっている等)は再度エディタが起動します。