module Avm::Git::Scms::Git::Commits
def commit(source)
-
(Avm::Git::Scms::Git::Commit, nil)-
def commit(source) if source.is_a?(::Avm::Git::Scms::Git::Commit) return source if source.git_repo == git_repo raise 'Not same Git repository' end git_repo.commitize(source).if_present do |v| ::Avm::Git::Scms::Git::Commit.new(self, v) end end
def commit_dirty(commit_info = nil)
-
(Avm::Git::Scms::Git::Commit, nil)-
Parameters:
-
commit_info(Avm::Scms::CommitInfo) --
def commit_dirty(commit_info = nil) return nil unless git_repo.dirty? commit_info = ::Avm::Scms::CommitInfo.assert(commit_info) commit_info = commit_info.message(COMMIT_DIRTY_DEFAULT_MESSAGE) if commit_info.message.blank? git_repo.command('add', '.').execute! run_commit(commit_info) head_commit end
def commit_if_change(commit_info = nil)
-
(Avm::Git::Scms::Git::Commit, nil)-
Parameters:
-
commit_info(Avm::Scms::CommitInfo) --
def commit_if_change(commit_info = nil) tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self, commit_info) tracker.start yield tracker.stop end
def head_commit
-
(Avm::Git::Scms::Git::Commit)-
def head_commit commit(git_repo.head) end
def reset_and_commit(commit_to_reset, commit_info)
-
(Avm::Git::Scms::Git::Commit)-
Parameters:
-
commit_info(Avm::Scms::CommitInfo) --
def reset_and_commit(commit_to_reset, commit_info) git_repo.command('reset', '--soft', commit(commit_to_reset).git_commit.id).execute! commit_dirty(commit_info) end