Sha256: 7c0e1d1206f473525942448c47a362a234bf9cae60553f674f4dee6889cdaedb

Contents?: true

Size: 1.33 KB

Versions: 15

Compression:

Stored size: 1.33 KB

Contents

module OhlohScm::Adapters
	class SvnChainAdapter < SvnAdapter

		# Returns the count of commits following revision number 'after'.
		def commit_count(opts={})
			(parent_svn(opts[:after]) ? parent_svn(opts[:after]).commit_count(opts) : 0) + super(opts)
		end

		# Returns an array of revision numbers for all commits following revision number 'after'.
		def commit_tokens(opts={})
			(parent_svn(opts[:after]) ? parent_svn(opts[:after]).commit_tokens(opts) : []) + super(opts)
		end

		# Returns an array of commits following revision number 'after'.
		def commits(opts={})
			(parent_svn(opts[:after]) ? parent_svn(opts[:after]).commits(opts) : []) + super(opts)
		end

		def verbose_commit(rev=0)
			parent_svn(rev) ? parent_svn.verbose_commit(rev) : super(rev)
		end

		# If the diff points to a file, simply returns the diff.
		# If the diff points to a directory, returns an array of diffs for every file in the directory.
		def deepen_diff(diff, rev)
			if diff.action == 'A' && diff.path == '' && parent_svn && rev == first_token
				# A very special case that is important for chaining.
				# This is the first commit, and the entire tree is being created by copying from parent_svn.
				# In this case, there isn't actually any change, just
				# a change of branch_name. Return no diffs at all.
				nil
			else
				super(diff, rev)
			end
		end
	end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
ohloh_scm-2.2.11 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.10 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.9 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.8 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.7 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.6 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.5 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.4 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.3 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.2 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.1 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.2.0 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.1.0 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.0.1 lib/ohloh_scm/adapters/svn_chain/commits.rb
ohloh_scm-2.0.0 lib/ohloh_scm/adapters/svn_chain/commits.rb