- Tag =
operation(:tag) do
arguments do |args|
args.annotated(:alias => true).a
args.signed(:alias => true).s
args.signed_as(nil, :alias => true).u
args.force(:alias => true).f
args.delete(:alias => true).d
args.verify(:alias => true).v
args.lines(1, :alias => true).n
args.list('*', :alias => true).l
args.contains.c
args.message(nil, :alias => true).m
args.file(nil, :alias => true).F
end
include WorkTreeRequirement
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
out
end
end
- Branch =
operation(:branch) do
arguments do |args|
args.color
args.no_color
args.remote(:alias => true).r
args.all(:alias => true).a
args.verbose.v
args.abbrev(7)
args.no_abbrev
args.merged
args.no_merged
args.contains
args.track
args.no_track
args.reflog(:alias => true).l
args.force(:alias => true).f
args.move(:alias => true).m
args.move!(:alias => true).M
args.delete(:alias => true).d
args.delete!(:alias => true).D
end
include WorkTreeRequirement
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
out
end
end
- ShowLog =
operation(:log) do
arguments do |args|
args.pretty(:medium)
args.abbrev_commit
args.oneline
args.encoding('UTF-8')
args << '--'
end
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
out
end
end
- ListTree =
operation(:ls_tree) do
arguments do |args|
args.directories(:alias => true).d
args.recursive(:alias => true).r
args.trace(:alias => true).t
args.long.l
args.zero(:alias => true).z
args.name_only
args.name_status
args.abbrev(40)
args.full_name
args.full_tree
end
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
out
end
end
- DiffIndex =
operation(:diff_index) do
arguments do |args|
args.cached
args.name_status
end
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
out
end
end
- ListFiles =
operation(:ls_files) do
arguments do |args|
args.zero(:alias => true).z
args.tags(:alias => true).t
args.vulgar(:alias => true).v
args.cached.c
args.deleted.d
args.others.o
args.ignored.i
args.stage.s
args.unmerge.u
args.killed.k
args.modified.m
args.exclude(nil).x
args.exclude_from(nil).X
args.exclude_per_directory(nil)
args.exclude_standard
args.error_unmatch
args.with_tree(nil)
args.full_name
args.abbrev(40)
args << '--'
end
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
out
end
end
- ResetIndex =
operation(:reset) do
arguments do |args|
args.mixed
args.soft
args.hard
args.merged
args.quiet(:alias => true).q
args.commit(:HEAD, :rude => true).c
args << '--'
end
include WorkTreeRequirement
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
Index.new environment
end
end
- ShowObject =
operation(:show) do
arguments do |args|
args.pretty(:medium)
args.abbrev_commit
args.oneline
args.encoding('UTF-8')
end
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
out
end
end
- AddToIndex =
operation(:add) do
arguments do |args|
args.dry_run.n
args.verbose.v
args.force.f
args.interactive.i
args.patch.p
args.edit.e
args.all.A
args.update.u
args.intent_to_add.N
args.refresh
args.ignore_errors
args << '--'
end
include WorkTreeRequirement
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
Index.new environment
end
end
- CommitIndex =
operation(:commit) do
arguments do |args|
args.all.a
args.interactive
args.signoff.s
args.verbose.v
args.untracked_files(:all).u
args.amend
args.reedit_message(nil).c
args.reuse_message(nil).C
args.file(nil).F
args.message(nil, :first => true).m
args.allow_empty
args.no_verify.n
args.edit.e
args.author nil
args.cleanup :default
args << '--'
args.include.i
args.only.o
end
include WorkTreeRequirement
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
name = /^\[(?:.*) (\S+)\]/.match(out).captures.first
Commit.with environment, :name => name
rescue
return out
end
end
- RemoveFromIndex =
operation(:rm) do
arguments do |args|
args.force.f
args.dry_run.n
args.recursive(:alias => true).r
args.cached
args.ignore_unmatch
args.quiet.q
args << '--'
end
include WorkTreeRequirement
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
Index.new environment
end
end
- InitializeRepository =
operation(:init) do
arguments do |args|
args.quiet.q
args.bare
args.template(nil)
args.shared(:umask, false)
end
def run(environment)
out, err = exec environment
err.empty? or raise V::ERROR, err
environment
end
end
- PushReferencesToRemote =
operation(:push) do
arguments do |args|
args.all
args.mirror
args.tags
args.dry_run
args.porcelain
args.receive_pack nil
args.repository nil
args.thin
args.no_thin
args.force.f
args.verbose.v
end
def run(environment)
exec environment
end
end