1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 #
4 # FileSystem adapter
5 # File written by Paul Rivier, at Demotera.
6 #
7 # This program is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License
9 # as published by the Free Software Foundation; either version 2
10 # of the License, or (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21 require 'redmine/scm/adapters/filesystem_adapter'
22
23 class Repository::Filesystem < Repository
24 attr_protected :root_url
25 validates_presence_of :url
26
27 def self.human_attribute_name(attribute_key_name, *args)
28 attr_name = attribute_key_name.to_s
29 if attr_name == "url"
30 attr_name = "root_directory"
31 end
32 super(attr_name, *args)
33 end
34
35 def self.scm_adapter_class
36 Redmine::Scm::Adapters::FilesystemAdapter
37 end
38
39 def self.scm_name
40 'Filesystem'
41 end
42
43 def supports_all_revisions?
44 false
45 end
46
47 def entries(path=nil, identifier=nil)
48 scm.entries(path, identifier)
49 end
50
51 def fetch_changesets
52 nil
53 end
54 end