Class: Git::Si::GitControl
- Inherits:
-
Object
- Object
- Git::Si::GitControl
- Defined in:
- lib/git/si/git-control.rb
Constant Summary collapse
- @@default_git_binary =
'git'
- @@git_binary =
'git'
Class Method Summary collapse
- .add_command(*files) ⇒ Object
- .are_there_changes?(status_output) ⇒ Boolean
- .branch_command ⇒ Object
- .checkout_command(branch) ⇒ Object
- .commit_all_command ⇒ Object
- .commit_revision_command(revision) ⇒ Object
- .create_branch_command(branch) ⇒ Object
- .delete_branch_command(branch) ⇒ Object
- .delete_command(filename) ⇒ Object
- .git_binary=(binary) ⇒ Object
- .hard_reset_command ⇒ Object
- .init_command ⇒ Object
- .list_file_command(filename) ⇒ Object
- .log_command(*args) ⇒ Object
- .parse_current_branch(git_branches) ⇒ Object
- .parse_last_svn_revision(info) ⇒ Object
- .rebase_command(branch) ⇒ Object
- .show_branch_command(branch) ⇒ Object
- .stash_command ⇒ Object
- .status_command(*args) ⇒ Object
- .unstash_command ⇒ Object
Class Method Details
.add_command(*files) ⇒ Object
34 35 36 37 |
# File 'lib/git/si/git-control.rb', line 34 def self.add_command(*files) raise GitSiError.new("Add command requires filenames") if ( files.length == 0 ) "#{@@git_binary} add " + files.join(' ') end |
.are_there_changes?(status_output) ⇒ Boolean
39 40 41 |
# File 'lib/git/si/git-control.rb', line 39 def self.are_there_changes?(status_output) status_output.match(/^\s*[MADRC]/) end |
.branch_command ⇒ Object
81 82 83 |
# File 'lib/git/si/git-control.rb', line 81 def self.branch_command "#{@@git_binary} branch" end |
.checkout_command(branch) ⇒ Object
66 67 68 69 |
# File 'lib/git/si/git-control.rb', line 66 def self.checkout_command(branch) raise GitSiError.new("Checkout command requires branch name") if branch.empty? "#{@@git_binary} checkout #{branch}" end |
.commit_all_command ⇒ Object
48 49 50 51 |
# File 'lib/git/si/git-control.rb', line 48 def self.commit_all_command version = Git::Si::Version.version "#{@@git_binary} commit --allow-empty -am 'git-si #{version} atuned to current svn state'" end |
.commit_revision_command(revision) ⇒ Object
43 44 45 46 |
# File 'lib/git/si/git-control.rb', line 43 def self.commit_revision_command(revision) version = Git::Si::Version.version "#{@@git_binary} commit --allow-empty -am 'git-si #{version} svn update to version #{revision}'" end |
.create_branch_command(branch) ⇒ Object
71 72 73 74 |
# File 'lib/git/si/git-control.rb', line 71 def self.create_branch_command(branch) raise GitSiError.new("New branch command requires branch name") if branch.empty? "#{@@git_binary} branch #{branch}" end |
.delete_branch_command(branch) ⇒ Object
76 77 78 79 |
# File 'lib/git/si/git-control.rb', line 76 def self.delete_branch_command(branch) raise GitSiError.new("Delete branch command requires branch name") if branch.empty? "#{@@git_binary} branch -D #{branch}" end |
.delete_command(filename) ⇒ Object
108 109 110 111 |
# File 'lib/git/si/git-control.rb', line 108 def self.delete_command(filename) raise GitSiError.new("Remove file command requires filename") if filename.empty? "#{@@git_binary} rm -r #{filename}" end |
.git_binary=(binary) ⇒ Object
9 10 11 |
# File 'lib/git/si/git-control.rb', line 9 def self.git_binary=(binary) @@git_binary = binary && binary.length > 0 ? binary : @@default_git_binary end |
.hard_reset_command ⇒ Object
90 91 92 |
# File 'lib/git/si/git-control.rb', line 90 def self.hard_reset_command "#{@@git_binary} reset --hard HEAD" end |
.init_command ⇒ Object
99 100 101 |
# File 'lib/git/si/git-control.rb', line 99 def self.init_command "#{@@git_binary} init" end |
.list_file_command(filename) ⇒ Object
94 95 96 97 |
# File 'lib/git/si/git-control.rb', line 94 def self.list_file_command(filename) raise GitSiError.new("List file command requires filename") if filename.empty? "#{@@git_binary} ls-files #{filename}" end |
.log_command(*args) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/git/si/git-control.rb', line 21 def self.log_command(*args) command = "#{@@git_binary} log" if ( args.length > 0 ) command += " " + args.join(' ') end command end |
.parse_current_branch(git_branches) ⇒ Object
85 86 87 88 |
# File 'lib/git/si/git-control.rb', line 85 def self.parse_current_branch(git_branches) results = git_branches.match(/^\*\s+(\S+)/) return results[1] if results end |
.parse_last_svn_revision(info) ⇒ Object
29 30 31 32 |
# File 'lib/git/si/git-control.rb', line 29 def self.parse_last_svn_revision(info) results = info.match(/svn update to version (\d+)/i) return results[1] if results end |
.rebase_command(branch) ⇒ Object
61 62 63 64 |
# File 'lib/git/si/git-control.rb', line 61 def self.rebase_command(branch) raise GitSiError.new("Rebase command requires branch name") if branch.empty? "#{@@git_binary} rebase '#{branch}'" end |
.show_branch_command(branch) ⇒ Object
103 104 105 106 |
# File 'lib/git/si/git-control.rb', line 103 def self.show_branch_command(branch) raise GitSiError.new("Show branch command requires branch name") if branch.empty? "#{@@git_binary} show-ref refs/heads/#{branch}" end |
.stash_command ⇒ Object
53 54 55 |
# File 'lib/git/si/git-control.rb', line 53 def self.stash_command "#{@@git_binary} stash" end |
.status_command(*args) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/git/si/git-control.rb', line 13 def self.status_command(*args) command = "#{@@git_binary} status --porcelain" if ( args.length > 0 ) command += " " + args.join(' ') end command end |
.unstash_command ⇒ Object
57 58 59 |
# File 'lib/git/si/git-control.rb', line 57 def self.unstash_command "#{@@git_binary} stash pop" end |