##// END OF EJS Templates
By default, only show statuses that are used by the tracker on the workflow edit view....
By default, only show statuses that are used by the tracker on the workflow edit view. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3188 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2093:e66945cbd863
r3074:6bf0723d0654
Show More
darcs.rb
100 lines | 3.7 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Added Darcs basic support....
r570 # redMine - project management software
# Copyright (C) 2006-2007 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require 'redmine/scm/adapters/darcs_adapter'
class Repository::Darcs < Repository
validates_presence_of :url
def scm_adapter
Redmine::Scm::Adapters::DarcsAdapter
end
def self.scm_name
'Darcs'
end
Jean-Philippe Lang
Adds support for file viewing with Darcs 2.0+ (patch #1799 by Ralph Lange slightly edited)....
r1758 def entry(path=nil, identifier=nil)
patch = identifier.nil? ? nil : changesets.find_by_revision(identifier)
scm.entry(path, patch.nil? ? nil : patch.scmid)
end
Jean-Philippe Lang
Added Darcs basic support....
r570 def entries(path=nil, identifier=nil)
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 patch = identifier.nil? ? nil : changesets.find_by_revision(identifier)
entries = scm.entries(path, patch.nil? ? nil : patch.scmid)
Jean-Philippe Lang
Added Darcs basic support....
r570 if entries
entries.each do |entry|
# Search the DB for the entry's last change
changeset = changesets.find_by_scmid(entry.lastrev.scmid) if entry.lastrev && !entry.lastrev.scmid.blank?
if changeset
entry.lastrev.identifier = changeset.revision
entry.lastrev.name = changeset.revision
entry.lastrev.time = changeset.committed_on
entry.lastrev.author = changeset.committer
end
end
end
entries
end
Jean-Philippe Lang
Adds support for file viewing with Darcs 2.0+ (patch #1799 by Ralph Lange slightly edited)....
r1758 def cat(path, identifier=nil)
Jean-Philippe Lang
Fixes Darcs#cat with Postgresql....
r2093 patch = identifier.nil? ? nil : changesets.find_by_revision(identifier.to_s)
Jean-Philippe Lang
Adds support for file viewing with Darcs 2.0+ (patch #1799 by Ralph Lange slightly edited)....
r1758 scm.cat(path, patch.nil? ? nil : patch.scmid)
end
Jean-Philippe Lang
Move unified diff parser out of the scm abstract adapter so it can be reused for viewing attached diffs (#1403)....
r1499 def diff(path, rev, rev_to)
Jean-Philippe Lang
Added Darcs basic support....
r570 patch_from = changesets.find_by_revision(rev)
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 return nil if patch_from.nil?
Jean-Philippe Lang
Added Darcs basic support....
r570 patch_to = changesets.find_by_revision(rev_to) if rev_to
if path.blank?
path = patch_from.changes.collect{|change| change.path}.join(' ')
end
Jean-Philippe Lang
Move unified diff parser out of the scm abstract adapter so it can be reused for viewing attached diffs (#1403)....
r1499 patch_from ? scm.diff(path, patch_from.scmid, patch_to ? patch_to.scmid : nil) : nil
Jean-Philippe Lang
Added Darcs basic support....
r570 end
def fetch_changesets
scm_info = scm.info
if scm_info
db_last_id = latest_changeset ? latest_changeset.scmid : nil
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 next_rev = latest_changeset ? latest_changeset.revision.to_i + 1 : 1
Jean-Philippe Lang
Added Darcs basic support....
r570 # latest revision in the repository
scm_revision = scm_info.lastrev.scmid
unless changesets.find_by_scmid(scm_revision)
revisions = scm.revisions('', db_last_id, nil, :with_path => true)
transaction do
revisions.reverse_each do |revision|
changeset = Changeset.create(:repository => self,
:revision => next_rev,
:scmid => revision.scmid,
:committer => revision.author,
:committed_on => revision.time,
:comments => revision.message)
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222
Jean-Philippe Lang
Added Darcs basic support....
r570 revision.paths.each do |change|
Change.create(:changeset => changeset,
:action => change[:action],
:path => change[:path],
:from_path => change[:from_path],
:from_revision => change[:from_revision])
end
next_rev += 1
end if revisions
end
end
end
end
end