Sha256: 0c580db6484fc9a6e989ba018c4368801ef79ddee720e2e4a6ca9dd24e59f6e9

Contents?: true

Size: 872 Bytes

Versions: 1

Compression:

Stored size: 872 Bytes

Contents

module GitHelpers
	module GitSubmodules
		def foreach(commited: true, modified: true, untracked: true, recursive: false, &b)
			r=[]
			st=status
			st[:paths].each do |k,v|
				sub=v[:submodule]
				if sub
					sub_commited=v[:sub_commited]
					sub_modified=v[:sub_modified]
					sub_untracked=v[:sub_untracked]
					if (commited && sub_commited or modified && sub_modified or untracked && sub_untracked)
						b.call(k, v) if b
						r << k
					end

					if recursive
						# Dir.chdir(k) do
						# 	rec=GitDir.new.foreach(commited: commited, modified: modified, untracked: untracked, recursive: true, &b)
						# 	r+=rec
						# end
						GitDir.new(k).with_dir do |g|
							rec=g.foreach(commited: commited, modified: modified, untracked: untracked, recursive: true, &b)
							r+=rec.map {|sub| g.reldir+sub}
						end
					end
				end
			end
			r
		end
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
git_helpers-0.2 lib/git_helpers/submodules.rb