ongaeshi / milkode

Source code search engine of line-oriented written by Ruby
http://milkode.ongaeshi.me
Other
147 stars 29 forks source link

ディレクトリ名以外のパッケージ名 #55

Open kazuna opened 10 years ago

kazuna commented 10 years ago

milk addでディレクトリをパッケージとして登録する場合、最下層のディレクトリ名がパッケージ名として扱われますが、この場合、同じ名前のディレクトリは登録できません。

例えば、 //server/MacOS/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs //server/MacOS/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs //server/Windows/PlatformSDK/Windows/SDK //server/Windows/PlatformSDK/WindowsPhone/SDK のような場合、SDKsとSDKはそれぞれ一つしか登録できません。

さらにサブディレクトリがあればそれを個別に登録できますが、そうでない場合はその親ディレクトリを登録する必要があり、余分なディレクトリが含まれてしまうのでそれをignoreコマンドなどで全て除外させるとなると少し手間がかかります。

提案なのですが、 milk add -p "package name" のようにパッケージ名が指定出来るようにするのはいかがでしょうか?

ongaeshi commented 10 years ago

gitレポジトリから直接cloneする場合は

$ milk add https://github.com/ongaeshi/milkode.git -n milkode_test

で別名を指定出来るのですが、ローカルディレクトリからパッケージ作成する場合は現状出来ません。一度チャレンジしたのですがディレクトリ名とパッケージ名が違う事による整合性を取るのが難しく一度諦めた経緯があります。

上手く実装出来る方法を思いつければよいのですが・・。

ongaeshi commented 10 years ago

参考までに、milk ignore を使う方法を追記しておきます。

$ cd //server/MacOS/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
$ milk add --empty .     # MacOSX.platform/パッケージを空で追加
$ milk ignore XXXX       # Milkodeに登録したくないディレクトリを指定
$ milk ignore ...
.
$ milk  update           # 一通り除外指定が終わったらmilk update

また.gitignoreに書かれているパスは自動的に除外してくれます。

ongaeshi commented 10 years ago

他の方法としては各SDKをどこか別のディレクトリにコピーして milk add SDKSrcsするという方法もあります。

SDKSrcs/
  MacOSX
  iPhoneOS
  Windows
  WindowsPhone