我正在嘗試將我所有的Textmate軟件包更新爲最新版本。有沒有辦法做到這一點,而不是單獨做每個包?如果不是,我如何更新單個包?我不知道如何使用svn,所以我寧願使用git存儲庫。是否有方法從git存儲庫一次更新所有的textmate包?
感謝您幫助noob! :)
我正在嘗試將我所有的Textmate軟件包更新爲最新版本。有沒有辦法做到這一點,而不是單獨做每個包?如果不是,我如何更新單個包?我不知道如何使用svn,所以我寧願使用git存儲庫。是否有方法從git存儲庫一次更新所有的textmate包?
感謝您幫助noob! :)
您可以安裝「獲取捆綁」(以「S」而不是「找包」 - 這是一個不同的軟件包)軟件包
要安裝:
cd ~/Library/Application\ Support/TextMate/Bundles
svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/
(或者,您也可以從git中獲取「Get Bundles」包)。
安裝完成後,您可能需要重新啓動TextMate。
接下來,點擊菜單欄中的「Bundles」,然後點擊「Get Bundles」,這將彈出一個小的子菜單;
在該子菜單中單擊「獲取包」。
這將調出Get Bundles GUI。左上角是四個按鈕,分別指向四個不同的存儲庫(「官方」,「評論」,「第三方」和「全部」)。
點擊最右邊的按鈕「全部」
在GUI的底部左側cornder,點擊「齒輪菜單」,將彈出一個菜單,單擊從菜單中的「安裝所有更新」 (也可以通過cmd-U訪問)。
你有不同的腳本在那裏協助處理子模塊的遞歸方面:
加上git submodules
commands現在有了附加到他們的遞歸選項。
如果你不想去獲取捆綁路線(而且也沒有理由不本身,但我想我會提供一個替代),這裏有一個腳本,我用它來管理我的包:
#!/usr/bin/env ruby
Dir.glob('*.tmbundle') do |bundle|
bundle =~ /^(.*)\.tmbundle$/
puts "=> Updating #{$1}:"
if File.exists? "#{bundle}/.svn"
system %Q/cd "#{bundle}" && svn update/
elsif File.exists? "#{bundle}/.git"
system %Q/cd "#{bundle}" && git pull/
else
$stderr.puts 'Unknown version control system, skipping'
end
end
我把它扔在/Library/Application Support/TextMate/Bundles
。每當我想更新我的所有捆綁包時,我在那裏導航並運行它。它循環遍歷每個包,並通過適當的版本控制機制(Subversion或Git)進行更新。
我不認爲我有顛覆。我可以用git來做這個嗎? – Barb 2010-03-20 18:11:16
是 - 「Get Bundles」也在git上(根據您的評論更新我的答案)。 – doug 2010-03-20 19:41:09