Class: Rake::ShipitTask::VC::Git

Inherits:
Object
  • Object
show all
Defined in:
lib/shipit/vc.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.accept?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/shipit/vc.rb', line 15

def self.accept?
	File.exist? ".git"
end

Instance Method Details

#are_local_diffs(ver) ⇒ Object



55
56
57
# File 'lib/shipit/vc.rb', line 55

def are_local_diffs(ver)
	`git diff --no-color #{ver}`.match(/\S/)
end

#commit(msg) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/shipit/vc.rb', line 19

def commit(msg)
	temp = Tempfile.open("COMMIT_MESSAGE")
	temp << msg
	temp.close

	system "git", "commit", "-a", "-F", temp.path
end

#exists_tagged_version(ver) ⇒ Object



34
35
36
# File 'lib/shipit/vc.rb', line 34

def exists_tagged_version(ver)
	!`git tag -l #{ver}`.empty?
end

#local_diff(file) ⇒ Object



51
52
53
# File 'lib/shipit/vc.rb', line 51

def local_diff(file)
	`git diff --no-color HEAD '#{file}'`
end

#precommitObject



27
28
29
30
31
32
# File 'lib/shipit/vc.rb', line 27

def precommit
	unknown = `git ls-files -z --others --exclude-per-directory=.gitignore --exclude-from=.git/info/exclude`
	if unknown.gsub!(/\0/, "\n")
		raise unknown
	end
end

#tag_version(ver, msg = nil) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/shipit/vc.rb', line 39

def tag_version(ver, msg=nil)
	msg = "Tagging version #{ver}." unless msg

	temp = Tempfile.open("COMMIT_MESSAGE")
	temp << msg
	temp.close

	tag = ver

	system "git", "tag", "-a", "-F", temp.path, tag
end