Ruby Source Control Management API
From WhyNotWiki
Revision control software edit (Category edit) Aliases: version control, source control, source code management, SCM
Extending Subversion with Ruby edit (Category edit)
[edit] How it works
Weak! It's just a big wrapper for the standard svn command-line client.
So this Ruby code:
revisions = scm.revisions(Time.utc(2007, 01, 10, 12, 34, 22)) revisions.each do |revision| pp revision end
just runs this command in the background:
/home/tyler/code/gemables/svn-ruby tyler$ svn log --verbose --revision {"2007-01-10 12:34:22"}:{"2036-01-01 00:00:00"} http://code/gemables
#<RSCM::Revision:0xb7dc1984
@files=
[#<RSCM::RevisionFile:0xb7dc0250
@developer=nil,
@message=nil,
@native_revision_identifier=2237,
@path="shared_tasks/generators",
@previous_native_revision_identifier=2236,
@status="DELETED",
@time=nil>,
#<RSCM::RevisionFile:0xb7dbf8a0
@developer=nil,
@message=nil,
@native_revision_identifier=2237,
@path="plugins/shared_rails_tasks/generators",
@previous_native_revision_identifier=2236,
@status="MOVED",
@time=nil>],
@identifier=2237,
@message="Accidentally added this to the wrong project",
@time=Tue Feb 06 03:05:15 UTC 2007>
#<RSCM::Revision:0xb7dbef04
@developer="tyler",
@files=
[#<RSCM::RevisionFile:0xb7dbdd34
@developer=nil,
@message=nil,
@native_revision_identifier=2253,
@path="template/Rakefile",
@previous_native_revision_identifier=2252,
@status="MODIFIED",
@time=nil>],
@identifier=2253,
@message="",
@time=Wed Feb 07 00:21:13 UTC 2007>
