Permalink
Browse files

Final preparation for the 1.2 release.

- Added a Contributing.rdoc for contribution guidelines.
- Cleaned up the README.rdoc.
- Fixed the presentation of the GPL and Artistic licenses.
- Made all of the development dependencies explicit.
- Other minor items cleaned up.
  • Loading branch information...
1 parent f4e4563 commit 1dc0f291769e487a21b30e004626ca307c97c950 @halostatue committed Jan 21, 2013
Showing with 296 additions and 328 deletions.
  1. +1 −0 .gitignore
  2. +1 −2 .travis.yml
  3. +63 −0 Contributing.rdoc
  4. +7 −2 Gemfile
  5. +3 −4 History.rdoc
  6. +2 −1 Manifest.txt
  7. +48 −23 README.rdoc
  8. +12 −0 Rakefile
  9. +32 −7 diff-lcs.gemspec
  10. +0 −289 docs/artistic.html
  11. +127 −0 docs/artistic.txt
View
@@ -13,3 +13,4 @@ coverage.info
.DS_Store
website/index.html
research/
+.source_index
View
@@ -6,8 +6,7 @@ before_script:
- rake travis:before -t
language: ruby
notifications:
- email:
- - austin@rubyforge.org
+ email: false
rvm:
- 1.9.3
- 1.9.2
View
@@ -0,0 +1,63 @@
+== Contributing
+
+I value any contribution to Diff::LCS you can provide: a bug report, a feature
+request, or code contributions.
+
+Code contributions to Diff::LCS are especially <del>welcome</del>encouraged.
+Because Diff::LCS is a complex codebase, there are a few guidelines:
+
+* Changes <strong>will not</strong> be accepted without tests.
+* The test suite is written with RSpec.‡
+* Match my coding style.
+* Use a thoughtfully-named topic branch that contains your change. Rebase your
+ commits into logical chunks as necessary.
+* Use {quality commit messages}[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html].
+* Do not change the version number; when your patch is accepted and a release
+ is made, the version will be updated at that point.
+* Submit a GitHub pull request with your changes.
+* New features require new documentation.
+
+=== Test Dependencies
+
+To run the test suite, you will need to install the development dependencies
+for Diff::LCS. If you have Bundler, you can accomplish this easily:
+
+ $ bundle install
+
+Diff::LCS uses Ryan Davis’s excellent {Hoe}[https://github.com/seattlerb/hoe]
+to manage the release process, and it adds a number of rake tasks. You will
+mostly be interested in:
+
+ $ rake
+
+which runs the tests the same way that:
+
+ $ rake spec
+ $ rake test
+ $ rake travis
+
+will do.
+
+=== Workflow
+
+Here's the most direct way to get your work merged into the project:
+
+* Fork the project.
+* Clone down your fork (+git clone git://github.com/<username>/diff-lcs.git+).
+* Create a topic branch to contain your change (+git checkout -b my\_awesome\_feature+).
+* Hack away, add tests. Not necessarily in that order.
+* Make sure everything still passes by running `rake`.
+* If necessary, rebase your commits into logical chunks, without errors.
+* Push the branch up (+git push origin my\_awesome\_feature+).
+* Create a pull request against halostatue/diff-lcs and describe what your
+ change does and the why you think it should be merged.
+
+=== Contributors
+
+* Austin Ziegler created Diff::LCS.
+
+Thanks to everyone else who has contributed to Diff::LCS:
+
+* Kenichi Kamiya
+* Michael Granger
+* Vít Ondruch
View
@@ -5,11 +5,16 @@
source "https://rubygems.org/"
-gem "hoe-highline", "~>0.1.0", :group => [:development, :test]
-gem "hoe-mercurial", "~>1.4.0", :group => [:development, :test]
+gem "rubyforge", ">=2.0.4", :group => [:development, :test]
gem "rdoc", "~>3.10", :group => [:development, :test]
gem "rspec", "~>2.0", :group => [:development, :test]
gem "rake", "~>10.0", :group => [:development, :test]
+gem "hoe-bundler", "~>1.2.0", :group => [:development, :test]
+gem "hoe-doofus", "~>1.0.0", :group => [:development, :test]
+gem "hoe-gemspec", "~>1.0.0", :group => [:development, :test]
+gem "hoe-git", "~>1.5.0", :group => [:development, :test]
+gem "hoe-rubygems", "~>1.0.0", :group => [:development, :test]
+gem "hoe-travis", "~>1.2", :group => [:development, :test]
gem "hoe", "~>3.4", :group => [:development, :test]
# vim: syntax=ruby
View
@@ -1,6 +1,4 @@
== 1.2.0 / 2013-01-20
-* This is being released as version 1.2 because of the feature changes and
- internal migration.
* Minor Enhancements:
* Added special case handling for Diff::LCS.patch so that it handles patches
that are empty or contain no changes.
@@ -14,7 +12,7 @@
and added specs in pull request #8. Thanks!
https://github.com/halostatue/diff-lcs/issues/8
* Made the code auto-testable.
- * Vit Ondruch (voxik) provided the latest version of the GPL2 license file in
+ * Vít Ondruch (voxik) provided the latest version of the GPL2 license file in
pull request #10. Thanks! https://github.com/halostatue/diff-lcs/issues/10
* Fixed a documentation issue with the includable versions of #patch! and
#unpatch! where they implied that they would replace the original value.
@@ -26,13 +24,14 @@
* Code Style Changes:
* Removed trailing spaces.
* Calling class methods using '.' instead of '::'.
- * Vit Ondruch (voxik) removed unnecessary shebangs in pull request #9.
+ * Vít Ondruch (voxik) removed unnecessary shebangs in pull request #9.
Thanks! https://github.com/halostatue/diff-lcs/issues/9
* Kenichi Kamiya (kachick) removed some warnings of an unused variable in
lucky pull request #13. https://github.com/halostatue/diff-lcs/issues/13
Thanks!
* Embarked on a major refactoring to make the files a little more manageable
and understand the code on a deeper level.
+ * Adding to http://travis-ci.org.
== 1.1.3 / 2011-08-27
* Converted to 'hoe' for release.
View
@@ -1,6 +1,7 @@
.autotest
.rspec
.travis.yml
+Contributing.rdoc
Gemfile
History.rdoc
License.rdoc
@@ -12,7 +13,7 @@ bin/htmldiff
bin/ldiff
diff-lcs.gemspec
docs/COPYING.txt
-docs/artistic.html
+docs/artistic.txt
lib/diff-lcs.rb
lib/diff/lcs.rb
lib/diff/lcs/array.rb
View
@@ -1,29 +1,18 @@
-= diff-lcs
+= Diff::LCS
-== Description
-Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt
-longest common subsequence (LCS) algorithm to compute intelligent differences
-between two sequenced enumerable containers. The implementation is based on
-Mario I. Wolczko's {Smalltalk version 1.2}[ftp://st.cs.uiuc.edu/pub/Smalltalk/MANCHESTER/manchester/4.0/diff.st]
-(1993) and Ned Konz's Perl version
-{Algorithm::Diff 1.15}[http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15/].
-
-This is release 1.1.3, fixing several small bugs found over the years. Version
-1.1.0 added new features, including the ability to #patch and #unpatch changes
-as well as a new contextual diff callback, Diff::LCS::ContextDiffCallbacks,
-that should improve the context sensitivity of patching.
+home :: http://diff-lcs.rubyforge.org/
+code :: https://github.com/halostatue/diff-lcs
+bugs :: https://github.com/halostatue/diff-lcs/issues
+rdoc :: http://rubydoc.info/github/halostatue/diff-lcs
-This library is called Diff::LCS because of an early version of Algorithm::Diff
-which was restrictively licensed. This version has seen a minor license change:
-instead of being under Ruby's license as an option, the third optional license
-is the MIT license.
-
-== Where
+== Description
-* {GitHub}[https://github.com/halostatue/diff-lcs]
+Diff::LCS computes the difference between two Enumerable sequences using the
+McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
+to create a simple HTML diff output format and a standard diff-like tool.
-This is the new home of Diff::LCS (diff-lcs). The Ruwiki page still refers to
-it, but development is not happening there any longer.
+This is release 1.2. Everyone is strongly encouraged to upgrade to this version
+as it fixes all known outstanding issues.
== Synopsis
@@ -64,9 +53,45 @@ extended for use this way.
Note that Diff::LCS requires a sequenced enumerable container, which means that
the order of enumeration is both predictable and consistent for the same set of
-data. While it is theoretically possible to generate a diff for unordereded
+data. While it is theoretically possible to generate a diff for an unordered
hash, it will only be meaningful if the enumeration of the hashes is
consistent. In general, this will mean that containers that behave like String
or Array will perform best.
+== History
+
+Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt
+longest common subsequence (LCS) algorithm to compute intelligent differences
+between two sequenced enumerable containers. The implementation is based on
+Mario I. Wolczko's {Smalltalk version 1.2}[ftp://st.cs.uiuc.edu/pub/Smalltalk/MANCHESTER/manchester/4.0/diff.st]
+(1993) and Ned Konz's Perl version
+{Algorithm::Diff 1.15}[http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15/].
+
+This library is called Diff::LCS because of an early version of Algorithm::Diff
+which was restrictively licensed.
+
+== Continuous Integration Status
+
+{<img src="https://travis-ci.org/halostatue/diff-lcs.png" />}[https://travis-ci.org/halostatue/diff-lcs]
+
+== Contributing
+
+If you'd like to hack on Diff::LCS, start by forking the repo on GitHub:
+
+https://github.com/halostatue/diff-lcs
+
+The best way to get your changes merged back into core is as follows:
+
+1. Clone down your fork.
+2. Create a thoughtfully named topic branch to contain your change.
+3. Hack away.
+4. Add tests and make sure everything still passes by running rake.
+5. If you are adding new functionality, document it in the README.
+6. Do not change the version number, we will do that on our end.
+7. If necessary, rebase your commits into logical chunks, without errors.
+8. Push the branch up to GitHub.
+9. Send a pull request for your branch
+
+:include: Contributing.rdoc
+
:include: License.rdoc
View
@@ -8,17 +8,29 @@ Hoe.plugin :bundler
Hoe.plugin :doofus
Hoe.plugin :gemspec
Hoe.plugin :git
+Hoe.plugin :rubyforge
+Hoe.plugin :email
Hoe.plugin :travis
Hoe.spec 'diff-lcs' do
developer('Austin Ziegler', 'austin@rubyforge.org')
+ self.remote_rdoc_dir = '.'
+ self.rsync_args << ' --exclude=statsvn/'
+
self.history_file = 'History.rdoc'
self.readme_file = 'README.rdoc'
self.extra_rdoc_files = FileList["*.rdoc"].to_a
self.extra_dev_deps << ['rspec', '~> 2.0']
self.extra_dev_deps << ['rake', '~> 10.0']
+ self.extra_dev_deps << ['hoe-bundler', '~> 1.2.0']
+ self.extra_dev_deps << ['hoe-doofus', '~> 1.0.0']
+ self.extra_dev_deps << ['hoe-gemspec', '~> 1.0.0']
+ self.extra_dev_deps << ['hoe-git', '~> 1.5.0']
+ self.extra_dev_deps << ['hoe-rubygems', '~> 1.0.0']
+# self.extra_dev_deps << ['hoe-seattlerb', '~> 1.2.9, 1.2.8']
+ self.extra_dev_deps << ['hoe-travis', '~> 1.2']
end
unless Rake::Task.task_defined? :test
View
@@ -2,37 +2,62 @@
Gem::Specification.new do |s|
s.name = "diff-lcs"
- s.version = "1.2.0.20130120032021"
+ s.version = "1.2.0'
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Austin Ziegler"]
- s.date = "2013-01-20"
- s.description = "Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt\nlongest common subsequence (LCS) algorithm to compute intelligent differences\nbetween two sequenced enumerable containers. The implementation is based on\nMario I. Wolczko's {Smalltalk version 1.2}[ftp://st.cs.uiuc.edu/pub/Smalltalk/MANCHESTER/manchester/4.0/diff.st]\n(1993) and Ned Konz's Perl version\n{Algorithm::Diff 1.15}[http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15/].\n\nThis is release 1.1.3, fixing several small bugs found over the years. Version\n1.1.0 added new features, including the ability to #patch and #unpatch changes\nas well as a new contextual diff callback, Diff::LCS::ContextDiffCallbacks,\nthat should improve the context sensitivity of patching.\n\nThis library is called Diff::LCS because of an early version of Algorithm::Diff\nwhich was restrictively licensed. This version has seen a minor license change:\ninstead of being under Ruby's license as an option, the third optional license\nis the MIT license."
+ s.date = "2013-01-21"
+ s.description = "Diff::LCS computes the difference between two Enumerable sequences using the\nMcIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities\nto create a simple HTML diff output format and a standard diff-like tool.\n\nThis is release 1.2. Everyone is strongly encouraged to upgrade to this version\nas it fixes all known outstanding issues."
s.email = ["austin@rubyforge.org"]
s.executables = ["htmldiff", "ldiff"]
- s.extra_rdoc_files = ["History.rdoc", "License.rdoc", "Manifest.txt", "README.rdoc", "docs/COPYING.txt", "History.rdoc", "License.rdoc", "README.rdoc"]
- s.files = [".autotest", ".rspec", "History.rdoc", "License.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "autotest/discover.rb", "bin/htmldiff", "bin/ldiff", "diff-lcs.gemspec", "docs/COPYING.txt", "docs/artistic.html", "lib/diff-lcs.rb", "lib/diff/lcs.rb", "lib/diff/lcs/array.rb", "lib/diff/lcs/block.rb", "lib/diff/lcs/callbacks.rb", "lib/diff/lcs/change.rb", "lib/diff/lcs/htmldiff.rb", "lib/diff/lcs/hunk.rb", "lib/diff/lcs/internals.rb", "lib/diff/lcs/ldiff.rb", "lib/diff/lcs/string.rb", "spec/change_spec.rb", "spec/diff_spec.rb", "spec/issues_spec.rb", "spec/lcs_spec.rb", "spec/patch_spec.rb", "spec/sdiff_spec.rb", "spec/spec_helper.rb", "spec/traverse_balanced_spec.rb", "spec/traverse_sequences_spec.rb", ".gemtest"]
+ s.extra_rdoc_files = ["Contributing.rdoc", "History.rdoc", "License.rdoc", "Manifest.txt", "README.rdoc", "docs/COPYING.txt", "docs/artistic.txt", "Contributing.rdoc", "History.rdoc", "License.rdoc", "README.rdoc"]
+ s.files = [".autotest", ".rspec", ".travis.yml", "Contributing.rdoc", "Gemfile", "History.rdoc", "License.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "autotest/discover.rb", "bin/htmldiff", "bin/ldiff", "diff-lcs.gemspec", "docs/COPYING.txt", "docs/artistic.txt", "lib/diff-lcs.rb", "lib/diff/lcs.rb", "lib/diff/lcs/array.rb", "lib/diff/lcs/block.rb", "lib/diff/lcs/callbacks.rb", "lib/diff/lcs/change.rb", "lib/diff/lcs/htmldiff.rb", "lib/diff/lcs/hunk.rb", "lib/diff/lcs/internals.rb", "lib/diff/lcs/ldiff.rb", "lib/diff/lcs/string.rb", "spec/change_spec.rb", "spec/diff_spec.rb", "spec/issues_spec.rb", "spec/lcs_spec.rb", "spec/patch_spec.rb", "spec/sdiff_spec.rb", "spec/spec_helper.rb", "spec/traverse_balanced_spec.rb", "spec/traverse_sequences_spec.rb", ".gemtest"]
+ s.homepage = "http://diff-lcs.rubyforge.org/"
s.rdoc_options = ["--main", "README.rdoc"]
s.require_paths = ["lib"]
- s.rubyforge_project = "ruwiki"
+ s.rubyforge_project = "diff-lcs"
s.rubygems_version = "1.8.24"
- s.summary = "Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt longest common subsequence (LCS) algorithm to compute intelligent differences between two sequenced enumerable containers"
+ s.summary = "Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm"
if s.respond_to? :specification_version then
s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
s.add_development_dependency(%q<rspec>, ["~> 2.0"])
+ s.add_development_dependency(%q<rake>, ["~> 10.0"])
+ s.add_development_dependency(%q<hoe-bundler>, ["~> 1.2.0"])
+ s.add_development_dependency(%q<hoe-doofus>, ["~> 1.0.0"])
+ s.add_development_dependency(%q<hoe-gemspec>, ["~> 1.0.0"])
+ s.add_development_dependency(%q<hoe-git>, ["~> 1.5.0"])
+ s.add_development_dependency(%q<hoe-rubygems>, ["~> 1.0.0"])
+ s.add_development_dependency(%q<hoe-travis>, ["~> 1.2"])
s.add_development_dependency(%q<hoe>, ["~> 3.4"])
else
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
s.add_dependency(%q<rdoc>, ["~> 3.10"])
s.add_dependency(%q<rspec>, ["~> 2.0"])
+ s.add_dependency(%q<rake>, ["~> 10.0"])
+ s.add_dependency(%q<hoe-bundler>, ["~> 1.2.0"])
+ s.add_dependency(%q<hoe-doofus>, ["~> 1.0.0"])
+ s.add_dependency(%q<hoe-gemspec>, ["~> 1.0.0"])
+ s.add_dependency(%q<hoe-git>, ["~> 1.5.0"])
+ s.add_dependency(%q<hoe-rubygems>, ["~> 1.0.0"])
+ s.add_dependency(%q<hoe-travis>, ["~> 1.2"])
s.add_dependency(%q<hoe>, ["~> 3.4"])
end
else
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
s.add_dependency(%q<rdoc>, ["~> 3.10"])
s.add_dependency(%q<rspec>, ["~> 2.0"])
+ s.add_dependency(%q<rake>, ["~> 10.0"])
+ s.add_dependency(%q<hoe-bundler>, ["~> 1.2.0"])
+ s.add_dependency(%q<hoe-doofus>, ["~> 1.0.0"])
+ s.add_dependency(%q<hoe-gemspec>, ["~> 1.0.0"])
+ s.add_dependency(%q<hoe-git>, ["~> 1.5.0"])
+ s.add_dependency(%q<hoe-rubygems>, ["~> 1.0.0"])
+ s.add_dependency(%q<hoe-travis>, ["~> 1.2"])
s.add_dependency(%q<hoe>, ["~> 3.4"])
end
end
Oops, something went wrong.

0 comments on commit 1dc0f29

Please sign in to comment.