sub/avm-git/lib/avm/git/scms/git.rb in eac_tools-0.49.0 vs sub/avm-git/lib/avm/git/scms/git.rb in eac_tools-0.50.0
- old
+ new
@@ -6,56 +6,27 @@
module Avm
module Git
module Scms
class Git < ::Avm::Scms::Base
- require_sub __FILE__
+ require_sub __FILE__, include_modules: true
include ::Comparable
COMMIT_DIRTY_DEFAULT_MESSAGE = 'Dirty files.'
def <=>(other)
git_repo <=> other.git_repo
end
- # @return [Avm::Git::Scms::Git::Commit,nil]
- def commit(source)
- if source.is_a?(::Avm::Git::Scms::Git::Commit)
- return source if source.git_repo == self
-
- raise 'Not same Git repository'
- end
- git_repo.commitize(source).if_present do |v|
- ::Avm::Git::Scms::Git::Commit.new(self, v)
- end
- end
-
- # @return [Avm::Git::Scms::Git::Commit,nil]
- def commit_dirty(message = nil)
- return nil unless git_repo.dirty?
-
- git_repo.command('add', '.').execute!
- git_repo.command('commit', '-m',
- message.call_if_proc.if_present(COMMIT_DIRTY_DEFAULT_MESSAGE)).execute!
- commit(git_repo.head)
- end
-
- # @return [Avm::Git::Scms::Git::Commit,nil]
- def commit_if_change(message = nil)
- tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self, message)
- tracker.start
- yield
- tracker.stop
- end
-
def git_repo
@git_repo ||= ::EacGit::Local.new(path)
end
- # @return [Avm::Git::Scms::Git::Commit]
- def reset_and_commit(commit_to_reset, message)
- git_repo.command('reset', '--soft', commit(commit_to_reset).git_commit.id).execute!
- commit_dirty(message)
+ # @param from [Avm::Git::Scms::Git::Commit]
+ # @param to [Avm::Git::Scms::Git::Commit]
+ # @return [Avm::Git::Scms::Git::Interval]
+ def interval(from, to)
+ ::Avm::Git::Scms::Git::Interval.new(self, from, to)
end
# @return [Enumerable<Avm::Git::Scms::GitSubrepo>]
def subs
git_repo.subrepos.map do |subrepo|