Module: Avm::Git::Scms::Git::Commits
- Defined in:
- lib/avm/git/scms/git/commits.rb
Instance Method Summary collapse
- #commit(source) ⇒ Avm::Git::Scms::Git::Commit?
- #commit_if_change(commit_info = nil) ⇒ Avm::Git::Scms::Git::Commit?
- #head_commit ⇒ Avm::Git::Scms::Git::Commit
- #reset_and_commit(commit_to_reset, commit_info) ⇒ Avm::Git::Scms::Git::Commit
Instance Method Details
#commit(source) ⇒ Avm::Git::Scms::Git::Commit?
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/avm/git/scms/git/commits.rb', line 9 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 |
#commit_if_change(commit_info = nil) ⇒ Avm::Git::Scms::Git::Commit?
22 23 24 25 26 27 |
# File 'lib/avm/git/scms/git/commits.rb', line 22 def commit_if_change(commit_info = nil) tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self, commit_info) tracker.start yield tracker.stop end |
#head_commit ⇒ Avm::Git::Scms::Git::Commit
30 31 32 |
# File 'lib/avm/git/scms/git/commits.rb', line 30 def head_commit commit(git_repo.head) end |
#reset_and_commit(commit_to_reset, commit_info) ⇒ Avm::Git::Scms::Git::Commit
36 37 38 39 |
# File 'lib/avm/git/scms/git/commits.rb', line 36 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 |