Patch #4262 » bzr-fixes.patch
app/helpers/repositories_helper.rb (working copy) | ||
---|---|---|
91 | 91 |
:id => @project, |
92 | 92 |
:path => path_param, |
93 | 93 |
:rev => @changeset.revision) unless s || c.action == 'D' |
94 |
text << " - #{c.revision}" unless c.revision.blank? |
|
94 |
text << " - #{c.revision}" unless c.revision.blank? or c.revision.length > 8
|
|
95 | 95 |
text << ' (' + link_to('diff', :controller => 'repositories', |
96 | 96 |
:action => 'diff', |
97 | 97 |
:id => @project, |
98 | 98 |
:path => path_param, |
99 | 99 |
:rev => @changeset.revision) + ') ' if c.action == 'M' |
100 | 100 |
text << ' ' + content_tag('span', c.from_path, :class => 'copied-from') unless c.from_path.blank? |
101 |
text << " - #{c.revision}" unless c.revision.blank? or c.revision.length <= 8 |
|
101 | 102 |
end |
102 | 103 |
output << "<li class='#{style}'>#{text}</li>" |
103 | 104 |
output << render_changes_tree(tree[file][:s]) if s |
... | ... | |
173 | 174 |
end |
174 | 175 | |
175 | 176 |
def bazaar_field_tags(form, repository) |
176 |
content_tag('p', form.text_field(:url, :label => 'Root directory', :size => 60, :required => true, :disabled => (repository && !repository.new_record?))) |
|
177 |
content_tag('p', form.text_field(:url, :label => 'Branch location', :size => 60, :required => true, :disabled => (repository && !repository.new_record?)) + |
|
178 |
'<br />(local path, http://, https://)') |
|
177 | 179 |
end |
178 | 180 |
|
179 | 181 |
def filesystem_field_tags(form, repository) |
app/models/repository/bazaar.rb (working copy) | ||
---|---|---|
28 | 28 |
def self.scm_name |
29 | 29 |
'Bazaar' |
30 | 30 |
end |
31 |
|
|
31 | ||
32 |
def latest_changesets(path, rev, limit=10) |
|
33 |
if path.blank? |
|
34 |
changesets.find(:all, :include => :user, |
|
35 |
:order => "#{Changeset.table_name}.committed_on DESC, #{Changeset.table_name}.id DESC", |
|
36 |
:limit => limit) |
|
37 |
else |
|
38 |
entry = changes.first(:conditions => ["path = ?", path.with_leading_slash], :limit => 1) |
|
39 |
return [] unless entry |
|
40 |
changes.find(:all, :include => {:changeset => :user}, |
|
41 |
:conditions => ["changes.revision = ?", entry.revision], |
|
42 |
:order => "#{Changeset.table_name}.committed_on DESC, #{Changeset.table_name}.id DESC", |
|
43 |
:limit => limit).collect(&:changeset) |
|
44 |
end |
|
45 |
end |
|
46 | ||
32 | 47 |
def entries(path=nil, identifier=nil) |
33 | 48 |
entries = scm.entries(path, identifier) |
34 | 49 |
if entries |
... | ... | |
42 | 57 |
c = Change.find(:first, |
43 | 58 |
:include => :changeset, |
44 | 59 |
:conditions => ["#{Change.table_name}.revision = ? and #{Changeset.table_name}.repository_id = ?", e.lastrev.revision, id], |
45 |
:order => "#{Changeset.table_name}.revision DESC")
|
|
60 |
:order => "#{Changeset.table_name}.committed_on DESC")
|
|
46 | 61 |
if c |
47 | 62 |
e.lastrev.identifier = c.changeset.revision |
48 | 63 |
e.lastrev.name = c.changeset.revision |
... | ... | |
79 | 94 |
Change.create(:changeset => changeset, |
80 | 95 |
:action => change[:action], |
81 | 96 |
:path => change[:path], |
97 |
:from_path => change[:from_path], |
|
98 |
:from_revision => change[:from_revision], |
|
82 | 99 |
:revision => change[:revision]) |
83 | 100 |
end |
84 | 101 |
end |
lib/redmine/scm/adapters/bazaar_adapter.rb (working copy) | ||
---|---|---|
77 | 78 |
identifier_from = 'last:1' unless identifier_from and identifier_from.to_i > 0 |
78 | 79 |
identifier_to = 1 unless identifier_to and identifier_to.to_i > 0 |
79 | 80 |
revisions = Revisions.new |
80 |
cmd = "#{BZR_BIN} log -v --show-ids -r#{identifier_to.to_i}..#{identifier_from} #{target(path)}" |
|
81 |
cmd = "#{BZR_BIN} log --show-ids -r#{identifier_to.to_i}..#{identifier_from} #{target(path)}" |
|
82 |
cmd << " -v" if options[:with_paths] |
|
83 |
cmd << " --limit #{options[:limit].to_i}" if options[:limit] |
|
81 | 84 |
shellout(cmd) do |io| |
82 | 85 |
revision = nil |
83 | 86 |
parsing = nil |
... | ... | |
117 | 120 |
when 'removed' |
118 | 121 |
revision.paths << {:action => 'D', :path => "/#{path}", :revision => revid} |
119 | 122 |
when 'renamed' |
120 |
new_path = path.split('=>').last |
|
121 |
revision.paths << {:action => 'M', :path => "/#{new_path.strip}", :revision => revid} if new_path |
|
123 |
old_path, new_path = path.split('=>') |
|
124 |
if new_path |
|
125 |
revision.paths << {:action => 'R', |
|
126 |
:path => "/#{new_path.strip}", |
|
127 |
:revision => revid, |
|
128 |
:from_path => "/#{old_path.strip}"} |
|
129 |
end |
|
122 | 130 |
end |
123 | 131 |
end |
124 | 132 |
end |