我有一个使用bundler的Rails项目。我所包含的许多宝石都是最新版本背后的很多版本。我知道我可以伸出手指并运行bundle update
以获取最新版本,考虑到依赖关系,但这可能会破坏我的应用程序中依赖于已弃用的gem方法的部分,并且可能不会值得努力。
有没有办法在Gemfile.lock中的版本集和rubygems上的最新版本之间获取所有捆绑宝石的更改日志?这似乎是一个相当普遍的需求,但我没有&找不到任何解决方案......
答案 0 :(得分:6)
这是一个非常好的主意。我还没有听说过任何当前工具,所以我创建了一个可以执行此操作的脚本。
这是非常hacky / alpha,但它仍然非常有效(比我开始编写时更多)。因此使用风险自负。希望尽管像这样的功能(但有很大改进)最终可能会成为捆绑器。
要使用,请先提交所有更改。然后在基目录中运行脚本(Gemfile.lock
文件所在的位置。
它将首先查询所有正在使用的宝石以查找其更改日志。然后它将运行bundle update
。然后它将查询所有宝石,找到新宝石并区分更改日志。最后,它将运行git checkout Gemfile.lock
和bundle install
以还原由bundle update
命令引起的任何更改。结果将保存在文件bundler_gem_diff.txt
中。
#!/usr/bin/env ruby
def changelog_for_gem(gem)
changelogs = `bundle exec gem contents #{gem}`.lines.grep(/history|changelog/i)
if changelogs.empty?
puts "No changelog found for gem #{gem}"
return nil
end
changelogs.first.chomp
end
class GemDetails
attr_accessor :name, :version, :changelog_file
def initialize(name, version)
@name, @version = name, version
end
def self.from_str(str)
match = str.match(/(\S+) \((.*)\)/)
result = self.new(match[1], Gem::Version.new(match[2]))
result.changelog_file = changelog_for_gem(result.name)
puts "process gem #{result.name}"
result
end
end
def bundler_gems
gem_list = `bundle list`.lines.drop(1).map do |line|
line.gsub(/\s*\* /, '')
end
gem_list.map { |gem_str| GemDetails.from_str(gem_str) }
end
def bundler_update
system("bundle update")
end
def bundler_install
system("bundle install")
end
def updated_gems(initial_gems, new_gems)
result = []
initial_gems.each do |gem|
updated_gem = new_gems.find { |new_gem| gem.name == new_gem.name && gem.version < new_gem.version }
result << [gem, updated_gem] if updated_gem
end
result
end
def changelog_diff
initial_gems = bundler_gems
puts "Updating bundle"
system('bundle update')
new_gems = bundler_gems
File.open('bundler_gem_diff.txt', 'w') do |f|
updated_gems(initial_gems, new_gems).each do |gem_pair|
f.puts "###### #{gem_pair[0].name} #{gem_pair[0].version} -> #{gem_pair[1].version} ######"
if gem_pair[0].changelog_file && gem_pair[1].changelog_file
puts "diff #{gem_pair[0].changelog_file} #{gem_pair[1].changelog_file}"
f.puts `diff #{gem_pair[0].changelog_file} #{gem_pair[1].changelog_file}`
else
f.puts "Missing changelogs"
end
end
end
system('git checkout Gemfile.lock')
system('bundle install')
nil
end
changelog_diff
以下是我在octopress博客安装上运行它的输出(相当长,主要是因为kramdown
使用git log
作为更改日志):
###### RedCloth 4.2.8 -> 4.2.9 ######
0a1,5
> == 4.2.9 / November 25, 2011
>
> * Fix RbConfig / Config warning in Ruby 1.9.3. [Steve Purcell, Robert Gleeson, and unclaimedbaggage]
> * Use RSTRING_NOT_MODIFIED header for Rubinius [Dirkjan Bussink]
>
###### activesupport 3.2.0 -> 3.2.2 ######
0a1,12
> ## Rails 3.2.1 (January 26, 2012) ##
>
> * Documentation fixes and improvements.
>
> * Update time zone offset information. *Ravil Bayramgalin*
>
> * The deprecated `ActiveSupport::Base64.decode64` calls `::Base64.decode64`
> now. *Jonathan Viney*
>
> * Fixes uninitialized constant `ActiveSupport::TaggedLogging::ERROR`. *kennyj*
>
>
###### chunky_png 1.2.1 -> 1.2.5 ######
Missing changelogs
###### compass 0.11.5 -> 0.11.7 ######
Missing changelogs
###### directory_watcher 1.4.0 -> 1.4.1 ######
0a1,5
> == 1.4.1 / 2011-08-29
>
> Minor Enhancements
> - support for latest 'cool.io'
>
###### fssm 0.2.7 -> 0.2.8.1 ######
Missing changelogs
###### haml 3.1.2 -> 3.1.4 ######
6c6,119
< ## 3.1.0 (Unreleased)
---
> ## 3.1.11
>
> * Allow control directives (such as `@if`) to be nested beneath properties.
> * Allow property names to begin with a hyphen followed by interpolation (e.g. `-#{...}`).
> * Fix a parsing error with interpolation in comma-separated lists.
> * Make `--cache-store` with with `--update`.
> * Properly report `ArgumentError`s that occur within user-defined functions.
> * Don't crash on JRuby if the underlying Java doesn't support every Unicode encoding.
> * Add new `updated_stylesheet` callback, which is run after each stylesheet has
> been successfully compiled. Thanks to [Christian Peters](https://github.com/ChristianPeters).
> * Allow absolute paths to be used in an importer with a different root.
> * Don't destructively modify the options when running `Sass::Plugin.force_update`.
>
> ### Deprecations -- Must Read!
>
> * The `updating_stylesheet` is deprecated and will be removed in a
> future release. Use the new `updated_stylesheet` callback instead.
>
> ## 3.1.10
>
> * Fix another aspect of the 3.1.8 regression relating to `+`.
>
> ## 3.1.9
>
> * Fix a regression in 3.1.8 that broke the `+` combinator in selectors.
>
> * Deprecate the loud-comment flag when used with silent comments (e.g. `//!`).
> Using it with multi-line comments (e.g. `/*!`) still works.
>
> ## 3.1.8
>
> * Deprecate parent selectors followed immediately by identifiers (e.g. `&foo`).
> This should never have worked, since it violates the rule
> of `&` only being usable where an element selector would.
>
> * Add a `--force` option to the `sass` executable which makes `--update`
> always compile all stylesheets, even if the CSS is newer.
>
> * Disallow semicolons at the end of `@import` directives in the indented syntax.
>
> * Don't error out when being used as a library without requiring `fileutil`.
>
> * Don't crash when Compass-style sprite imports are used with `StalenessChecker`
> (thanks to [Matthias Bauer](https://github.com/moeffju)).
>
> * The numeric precision of numbers in Sass can now be set using the
> `--precision` option to the command line. Additionally, the default
> number of digits of precision in Sass output can now be
> changed by setting `Sass::Script::Number.precision` to an integer
> (defaults to 3). Since this value can now be changed, the `PRECISION`
> constant in `Sass::Script::Number` has been deprecated. In the unlikely
> event that you were using it in your code, you should now use
> `Sass::Script::Number.precision_factor` instead.
>
> * Don't crash when running `sass-convert` with selectors with two commas in a row.
>
> * Explicitly require Ruby >= 1.8.7 (thanks [Eric Mason](https://github.com/ericmason)).
>
> * Properly validate the nesting of elements in imported stylesheets.
>
> * Properly compile files in parent directories with `--watch` and `--update`.
>
> * Properly null out options in mixin definitions before caching them. This fixes
> a caching bug that has been plaguing some Rails 3.1 users.
>
> ## 3.1.7
>
> * Don't crash when doing certain operations with `@function`s.
>
> ## 3.1.6
>
> * The option `:trace_selectors` can now be used to emit a full trace
> before each selector. This can be helpful for in-browser debugging of
> stylesheet imports and mixin includes. This option supersedes the
> `:line_comments` option and is superseded by the `:debug_info`
> option.
>
> * Fix a bug where long `@if`/`@else` chains would cause exponential slowdown
> under some circumstances.
>
> ## 3.1.5
>
> * Updated the vendored FSSM version, which will avoid segfaults on OS
> X Lion when using `--watch`.
>
> ## 3.1.4
>
> * Sass no longer unnecessarily caches the sass options hash.
> This allows objects that cannot be marshaled to be placed into the
> options hash.
>
> ## 3.1.3
>
> * Sass now logs message thru a logger object which can be changed to
> provide integration with other frameworks' logging infrastructure.
>
>
> ## 3.1.2
>
> * Fix some issues that were breaking Sass when running within Rubinius.
> * Fix some issues that were affecting Rails 3.1 integration.
> * New function `zip` allows several lists to be combined into one
> list of lists. For example:
> `zip(1px 1px 3px, solid dashed solid, red green blue)` becomes
> `1px solid red, 1px dashed green, 3px solid blue`
> * New function `index` returns the list index of a value
> within a list. For example: `index(1px solid red, solid)`
> returns `2`. When the value is not found `false` is returned.
>
> ## 3.1.1
>
> * Make sure `Sass::Plugin` is loaded at the correct time in Rails 3.
>
> ## 3.1.0
138c251
< However, you can now do more with them using the new {file:Sass/Script/Functions.html#list-functions list functions}:
---
> However, you can now do more with them using the new [list functions](Sass/Script/Functions.html#list-functions):
###### jekyll 0.11.0 -> 0.11.2 ######
0a1,9
> == 0.11.2 / 2011-12-27
> * Bug Fixes
> * Fix gemspec
>
> == 0.11.1 / 2011-12-27
> * Bug Fixes
> * Fix extra blank line in highlight blocks (#409)
> * Update dependencies
>
###### kramdown 0.13.3 -> 0.13.5 ######
0a1,429
> commit ce785c7cc29372cb7c5c47647535b1943348aff6
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 15:34:37 2012 +0100
>
> Updated release notes, version number and benchmark graphs
>
> doc/img/graph-ruby-1.8.5-231.png
> doc/img/graph-ruby-1.8.6-399.png
> doc/img/graph-ruby-1.8.7-249.png
> doc/img/graph-ruby-1.8.7-302.png
> doc/img/graph-ruby-1.9.2p136-136.png
> doc/img/graph-ruby-1.9.3p0-0.png
> doc/img/graph-ruby-1.9.3p125-125.png
> doc/news/release_0_13_5.page
> doc/sidebar.template
> doc/tests.page
> lib/kramdown/version.rb
>
> commit 90f0583232e814334b2bb8c7fa3228b2f4e30f81
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 10:14:58 2012 +0100
>
> Bug fix: Empty id attributes are handled better now
>
> * The HTML converter does not output empty id attributes anymore.
> * The kramdown converter now always converts empty id attributes
> to IAL form.
>
> lib/kramdown/converter/kramdown.rb
> lib/kramdown/utils/html.rb
> test/testcases/block/04_header/with_auto_ids.html
> test/testcases/block/04_header/with_auto_ids.text
>
> commit d956b98fdf449af145bc8b52539abdb99a062cda
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 09:53:03 2012 +0100
>
> Small typo fix in quickref
>
> doc/quickref.page
>
> commit 4df3c5aaad763cc9d8fd4b129a5cdd245ed5a7f7
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 09:38:29 2012 +0100
>
> Updated homepage contents
>
> doc/documentation.page
> doc/index.page
> doc/installation.page
> doc/news.page
> doc/syntax.page
> doc/tests.page
>
> commit c0bcd765e131b671661af70274ce632111ad89bb
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 09:37:15 2012 +0100
>
> Updated website design
>
> doc/bg.png
> doc/default.scss.css
> doc/default.template
> doc/design.scss.css
> doc/sidebar.template
>
> commit d530421d0a3794010cd0c022decb097158e90732
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 09:35:51 2012 +0100
>
> Disabling line numbers in code listings on homepage
>
> Rakefile
>
> commit a47a5c49e35f9ccb220dca7b5b8ac7d585026ef6
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 09:25:01 2012 +0100
>
> Updated copyright notice updating code
>
> Rakefile
>
> commit 21ce307a6766d131bf3a61de1142d88b0bd0a8be
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 09:24:22 2012 +0100
>
> Updated copyright notices
>
> bin/kramdown
> lib/kramdown.rb
> lib/kramdown/compatibility.rb
> lib/kramdown/converter.rb
> lib/kramdown/converter/base.rb
> lib/kramdown/converter/html.rb
> lib/kramdown/converter/kramdown.rb
> lib/kramdown/converter/latex.rb
> lib/kramdown/converter/toc.rb
> lib/kramdown/document.rb
> lib/kramdown/element.rb
> lib/kramdown/error.rb
> lib/kramdown/options.rb
> lib/kramdown/parser.rb
> lib/kramdown/parser/base.rb
> lib/kramdown/parser/html.rb
> lib/kramdown/parser/kramdown.rb
> lib/kramdown/parser/kramdown/abbreviation.rb
> lib/kramdown/parser/kramdown/autolink.rb
> lib/kramdown/parser/kramdown/blank_line.rb
> lib/kramdown/parser/kramdown/block_boundary.rb
> lib/kramdown/parser/kramdown/blockquote.rb
> lib/kramdown/parser/kramdown/codeblock.rb
> lib/kramdown/parser/kramdown/codespan.rb
> lib/kramdown/parser/kramdown/emphasis.rb
> lib/kramdown/parser/kramdown/eob.rb
> lib/kramdown/parser/kramdown/escaped_chars.rb
> lib/kramdown/parser/kramdown/extensions.rb
> lib/kramdown/parser/kramdown/footnote.rb
> lib/kramdown/parser/kramdown/header.rb
> lib/kramdown/parser/kramdown/horizontal_rule.rb
> lib/kramdown/parser/kramdown/html.rb
> lib/kramdown/parser/kramdown/html_entity.rb
> lib/kramdown/parser/kramdown/line_break.rb
> lib/kramdown/parser/kramdown/link.rb
> lib/kramdown/parser/kramdown/list.rb
> lib/kramdown/parser/kramdown/math.rb
> lib/kramdown/parser/kramdown/paragraph.rb
> lib/kramdown/parser/kramdown/smart_quotes.rb
> lib/kramdown/parser/kramdown/table.rb
> lib/kramdown/parser/kramdown/typographic_symbol.rb
> lib/kramdown/parser/markdown.rb
> lib/kramdown/utils.rb
> lib/kramdown/utils/entities.rb
> lib/kramdown/utils/html.rb
> lib/kramdown/utils/ordered_hash.rb
> lib/kramdown/version.rb
> test/run_tests.rb
> test/test_files.rb
>
> commit 512b00a6d050f506c43b824861f7bbf459862a19
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Feb 19 09:12:38 2012 +0100
>
> Fixed bug RF#29521: HTML math output not always XHTML compatible
>
> The characters < and & are not allowed in a script tag in XHTML.
> So since the HTML converter uses script tags for math elements,
> whenever these characters appear in a value the value is wrapped
> in a CDATA section to make the output XHTML compatible.
>
> lib/kramdown/converter/html.rb
> lib/kramdown/parser/html.rb
> test/testcases/block/15_math/normal.html
>
> commit 8f111947dbcea064a997662d65cd53e6e39c8c40
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sat Feb 18 20:06:42 2012 +0100
>
> Fixed bug RF#29520: inline math statements interpreted as math blocks
>
> If a paragraph started and ended with an inline math statement, it was
> parsed as math block. This is fixed now.
>
> Also, it is now better explained in the kramdown syntax documentation
> how special cases are handled.
>
> doc/syntax.page
> lib/kramdown/converter/kramdown.rb
> lib/kramdown/parser/kramdown/math.rb
> test/testcases/span/math/normal.html
> test/testcases/span/math/normal.text
>
> commit f5b585513508704563cc0bb343869f91520ff853
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sat Feb 18 11:11:45 2012 +0100
>
> Fixed problem with missing methods/constants on older Ruby 1.8.6 versions
>
> lib/kramdown/compatibility.rb
>
> commit 394d5de7cad34ed5e0bdcfc0fcc7a1a28b3f0229
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Tue Jan 31 17:32:09 2012 +0100
>
> Moved camelize method from Document#method_to_class_name to Utils.camelize
>
> lib/kramdown/document.rb
> lib/kramdown/utils.rb
>
> commit 7adc3bda20a8290f0af588da7816eec591d4ecaa
> Author: tomykaira <tomykaira@gmail.com>
> Date: Fri Dec 30 18:08:43 2011 +0900
>
> Fix Document#method_missing to accept snake_cased class name
>
> When doc.to_my_converter is called, it should use MyConverter, but used My_converter
>
> lib/kramdown/document.rb
>
> commit a6b181a9baf2eeeabeb55a1a9d5b26791fecad08
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sat Jan 21 12:18:22 2012 +0100
>
> HTML attributes names are now converted to lower case
>
> doc/syntax.page
> lib/kramdown/parser/html.rb
> lib/kramdown/parser/kramdown/html.rb
> test/testcases/block/09_html/html5_attributes.html
> test/testcases/block/09_html/simple.text
> test/testcases/span/05_html/normal.text
>
> commit 170ca36a60d823803f575bf5632d9e9d1e74f7db
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sat Jan 21 12:05:31 2012 +0100
>
> HTML attributes without values are now supported
>
> This means that one can write boolean HTML attributes now without
> assigning an empty value.
>
> doc/syntax.page
> lib/kramdown/converter/kramdown.rb
> lib/kramdown/parser/html.rb
> lib/kramdown/parser/kramdown/html.rb
> test/testcases/block/09_html/html5_attributes.html
> test/testcases/block/09_html/html5_attributes.text
> test/testcases/span/05_html/normal.html
> test/testcases/span/05_html/normal.text
>
> commit 2c1d7c5e66bfe42052dc43374e123a48e7cb2ad6
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Fri Dec 16 18:40:15 2011 +0100
>
> Fix to work with newer RDoc versions
>
> Rakefile
>
> commit 2a93cbc0e1bbe705159c645ae617538bad125394
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Fri Dec 16 18:26:32 2011 +0100
>
> Updated release notes, version number and benchmark graphs
>
> doc/img/graph-jruby-1.6.0-330.png
> doc/img/graph-ruby-1.8.5-231.png
> doc/img/graph-ruby-1.8.6-399.png
> doc/img/graph-ruby-1.8.7-249.png
> doc/img/graph-ruby-1.8.7-302.png
> doc/img/graph-ruby-1.9.2p136-136.png
> doc/img/graph-ruby-1.9.3p0-0.png
> doc/index.page
> doc/news/release_0_13_4.page
> doc/news/release_0_X_X.page
> doc/tests.page
> lib/kramdown/version.rb
>
> commit dbbabbc5b61b67ed0d22c1aa4a6b17608ed771e6
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Tue Dec 13 17:25:53 2011 +0100
>
> Fixed test case to work with coderay 1.0
>
> test/testcases/block/12_extension/options3.html
>
> commit 6828b83435c30676185d675dc7b6054846606df0
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Tue Dec 13 17:25:31 2011 +0100
>
> Updated Rakefile and setup.rb
>
> * Use gem package task supplied by rubygems
> * Add coderay as development dependency
> * Fix warning in setup.rb because of Config::CONFIG use
>
> Rakefile
> setup.rb
>
> commit bb7e82ce3f5213830fa6387e6c790a75b919dd38
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Tue Dec 13 17:23:51 2011 +0100
>
> Fixed problem with different Array#delete_if internals on Ruby 1.9.3
>
> See http://redmine.ruby-lang.org/issues/5752
>
> lib/kramdown/parser/html.rb
>
> commit cd253a5e9d4dcfe55c12caf9257e4f1fb6113943
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Dec 11 15:40:35 2011 +0100
>
> Fixed warnings on Ruby 1.9.3
>
> lib/kramdown/converter/html.rb
> lib/kramdown/parser/html.rb
> lib/kramdown/parser/kramdown.rb
> lib/kramdown/parser/kramdown/header.rb
> lib/kramdown/parser/kramdown/html.rb
> lib/kramdown/parser/kramdown/smart_quotes.rb
> test/test_files.rb
>
> commit e71cc414755e51c3336551e3f011f2f39ea601ee
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Dec 11 15:32:52 2011 +0100
>
> Fixed test cases to correctly behave with new footnote rel output
>
> test/testcases/block/12_extension/options.html
> test/testcases/block/12_extension/options2.html
> test/testcases/block/14_table/table_with_footnote.html
>
> commit b3b2ebc233160f4f649f0d0aed070d7540781c4f
> Merge: a58ba5b ef70112
> Author: gettalong <t_leitner@gmx.at>
> Date: Sun Dec 11 06:26:18 2011 -0800
>
> Merge pull request #4 from joefiorini/master
>
> HTML5 Compatibility for Footnotes
>
> Replacing the rev='footnote' with rel='reference'.
>
> commit a58ba5b364081e896e2a49cc06db5aec643f8bb4
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Dec 11 12:38:37 2011 +0100
>
> Fixed bug RF#29426: Content of <style> tags is treated as raw text now
>
> lib/kramdown/parser/html.rb
> test/testcases/block/09_html/parse_as_raw.html
> test/testcases/block/09_html/parse_as_raw.htmlinput
> test/testcases/block/09_html/parse_as_raw.text
>
> commit 14800a606565ff7d1759fea9815be1f9eff9b633
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sun Dec 11 12:27:52 2011 +0100
>
> Fixed bug RF#29350: Parsing of HTML tags with mismatched case now works
>
> lib/kramdown/parser/html.rb
> lib/kramdown/parser/kramdown/html.rb
> test/test_files.rb
> test/testcases/block/09_html/parse_as_raw.htmlinput
> test/testcases/block/09_html/parse_as_raw.text
> test/testcases/block/09_html/parse_as_span.htmlinput
> test/testcases/block/09_html/parse_as_span.text
> test/testcases/block/09_html/parse_block_html.text
> test/testcases/span/05_html/normal.html
> test/testcases/span/05_html/normal.text
>
> commit b585efb3086c3462a573b57d060dfd203070bcc1
> Merge: 64a4e7e 3a72b72
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Sat Sep 24 14:41:34 2011 +0200
>
> Merge branch 'master' of github.com:gettalong/kramdown
>
> commit 3a72b72564d4f788fa1423dd8eb1089e355b0a4c
> Merge: e6c1b12 df5e705
> Author: gettalong <t_leitner@gmx.at>
> Date: Sat Sep 24 05:28:10 2011 -0700
>
> Merge pull request #5 from jacius/span
>
> span tags must have a separate closing tag to be valid HTML.
>
> commit e6c1b12fa45c7b3284c4b41247ade9ff4b4379a4
> Merge: 9188906 1270445
> Author: gettalong <t_leitner@gmx.at>
> Date: Sat Sep 24 05:24:32 2011 -0700
>
> Merge pull request #6 from postmodern/patch-1
>
> Fixed a typo. --output not --ouput
>
> commit 12704459192bdcbf9b02d1d90483c8d835f3e9f1
> Author: Postmodern <postmodern.mod3@gmail.com>
> Date: Thu Aug 4 18:57:59 2011 -0700
>
> Fixed a typo. --output not --ouput
>
> bin/kramdown
>
> commit df5e705ef41ca2c47b5b0d54509cdfb80c2d5f4d
> Author: John Croisant <jacius@gmail.com>
> Date: Sun Jul 10 23:52:35 2011 -0500
>
> span tags must have a separate closing tag to be valid HTML.
>
> "<span />" is invalid markup in HTML 4 and 5, but valid in XHTML.
> "<span></span>" is valid in all three, so it should be used instead.
>
> lib/kramdown/converter/html.rb
> test/testcases/span/05_html/normal.html
> test/testcases/span/05_html/normal.text
>
> commit ef7011229e7d93c31c22468e5cfd797051ac280c
> Author: Joe Fiorini <joe@faithfulgeek.org>
> Date: Wed May 11 02:08:38 2011 -0400
>
> Replace rev attribute for HTML5 compatibility
>
> lib/kramdown/converter/html.rb
> test/testcases/span/04_footnote/footnote_nr.html
> test/testcases/span/04_footnote/markers.html
>
> commit 64a4e7e61da0d720ffd702fd6c45cefafc568d24
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Tue May 10 20:47:16 2011 +0200
>
> Added a TOC converter
>
> The TOC converter can be used to get an element tree containing the
> table of contents. Since it uses a custom element type the resulting
> tree cannot be fed directly to any converter.
>
> doc/news/release_0_X_X.page
> lib/kramdown/converter.rb
> lib/kramdown/converter/toc.rb
>
> commit 5ed13d24d9375771e3a0bd0d4fbe779d0043563b
> Author: Thomas Leitner <t_leitner@gmx.at>
> Date: Tue May 10 07:42:23 2011 +0200
>
> Extracted Element class into own file and made some small doc fixes
>
> lib/kramdown/document.rb
> lib/kramdown/element.rb
>
###### liquid 2.2.2 -> 2.3.0 ######
1c1,16
< 2.2.1 / 2010-08-23
---
> # Liquid Version History
>
> ## 2.3.0
>
> * Several speed/memory improvements
> * Numerous bug fixes
> * Added support for MRI 1.9, Rubinius, and JRuby
> * Added support for integer drop parameters
> * Added epoch support to `date` filter
> * New `raw` tag that suppresses parsing
> * Added `else` option to `for` tag
> * New `increment` tag
> * New `split` filter
>
>
> ## 2.2.1 / 2010-08-23
5c20,21
< 2.2.0 / 2010-08-22
---
>
> ## 2.2.0 / 2010-08-22
10c26,27
< 1.9.0 / 2008-03-04
---
>
> ## 1.9.0 / 2008-03-04
15,17d31
< Before 1.9.0
<
< * Added If with or / and expressions
19c33
< * Implemented .to_liquid for all objects which can be passed to liquid like Strings Arrays Hashes Numerics and Booleans. To export new objects to liquid just implement .to_liquid on them and return objects which themselves have .to_liquid methods.
---
> ## Before 1.9.0
20a35,36
> * Added If with or / and expressions
> * Implemented .to_liquid for all objects which can be passed to liquid like Strings Arrays Hashes Numerics and Booleans. To export new objects to liquid just implement .to_liquid on them and return objects which themselves have .to_liquid methods.
22d37
<
24d38
<
26d39
<
28d40
<
30d41
<
32d42
<
34d43
<
36d44
<
38,42c46,47
<
< {{ 'Typo' | link_to: 'http://typo.leetsoft.com', 'Typo - a modern weblog engine' }}
<
<
< * Added Liquid::Drop. A base class which you can use for exporting proxy objects to liquid which can acquire more data when used in liquid. [Tobias Luetke]
---
> {{ 'Typo' | link_to: 'http://typo.leetsoft.com', 'Typo - a modern weblog engine' }}
> * Added Liquid::Drop. A base class which you can use for exporting proxy objects to liquid which can acquire more data when used in liquid. [Tobias Luetke]
48c53
< end
---
> end
51,52d55
<
<
###### multi_json 1.0.4 -> 1.1.0 ######
Missing changelogs
###### rack 1.3.2 -> 1.4.1 ######
Missing changelogs
###### rake 0.9.2 -> 0.9.2.2 ######
Missing changelogs
###### rb-fsevent 0.4.3.1 -> 0.9.0 ######
Missing changelogs
###### sass 3.1.5 -> 3.1.15 ######
Missing changelogs
###### stringex 1.3.0 -> 1.3.2 ######
Missing changelogs
###### tilt 1.3.2 -> 1.3.3 ######
Missing changelogs
答案 1 :(得分:0)
这并不能完全回答您的问题,但了解Gem版本号的工作原理可能会有所帮助。根据规范,gem版本中的三个数字中的第一个应告诉您宝石是否保证向后兼容。
例如,如果您使用某个gem版本3.1.0启动项目,它应该与任何3.x.x版本的gem兼容。根据规范,“类别3更改(不兼容)将增加主要版本号并重置次要和构建数字”
详情请见此处:http://docs.rubygems.org/read/chapter/7
您可能还会发现有关冻结宝石版本的帖子,以测试有用的新版本:https://stackoverflow.com/a/2147227/834512
答案 2 :(得分:0)
新bundle outdated
命令是否符合您的需求?
http://patshaughnessy.net/2011/11/5/besides-being-faster-what-else-is-new-in-bundler-1-1
Bundler 1.1中引入的最有用和最重要的新命令是bundle outdated,它将识别你的bundle中过时的gem - 这些是有更新版本的gems
答案 3 :(得分:0)
还有一个很好的Web服务,可以免费用于公共开源项目(可用github服务挂钩):http://Gemnasium.com
它会检查哪些宝石是最新的,并提供概述以及有关版本之间发生变化的电子邮件通知(github标记比较差异)。