Commit 4c5d072dc642353e67c8f2fdab853e4be417316d

Added Piston::WorkingCopy#merge, #youngest and #repos. Made #log report moves.

git-svn-id: svn+ssh://rubyforge.org/var/svn/piston/trunk@133 d6c2ea82-c31b-0410-8381-e9c44f9824c5

Commit diff

lib/piston/working_copy.rb

 
2323 @dir = dir
2424 @path = Pathname.new(@dir).cleanpath
2525 end
26
27 def to_s
28 @path.to_s
29 end
30
31 def repos
32 Piston::Repository.new(self.url, :logger => self.logger)
33 end
2634
2735 def checkout(repos_url, revision="HEAD")
2836 repos_url = is_a_url?(repos_url)
5353 def revision(force=false)
5454 self.info(force)["Revision"]
5555 end
56 alias_method :youngest, :revision
5657
5758 def last_changed_revision(force=false)
5859 self.info(force)["Last Changed Rev"]
123123 end
124124 when "M"
125125 changes[file] = :modify unless changes[file]
126 when "D"
127 changes[file] = :delete
126 when "D"
127 if [changes[file]].flatten.first == :copy then
128 changes[file][0] = :move
129 else
130 changes[file] = :delete
131 end
128132 end
129133 end
130134
168168 def delete(from)
169169 svn :delete, wc_path(from)
170170 end
171
172 def merge(path, revisions)
173 revisions = "#{revisions.first}:#{revisions.last}" if revisions.respond_to?(:last)
174 svn(:merge, "--revision", revisions, wc_path(path), wc_path(path))
175 end
171176
172177 if RUBY_PLATFORM =~ /mswin32/ then
173178 def wc_path(wcpath)
toggle raw diff