Module: V::Adapters::Git::Operations

Defined in:
lib/v/adapters/git/operations/tag.rb,
lib/v/adapters/git/operations/branch.rb,
lib/v/adapters/git/operations/show_log.rb,
lib/v/adapters/git/operations/list_tree.rb,
lib/v/adapters/git/operations/diff_index.rb,
lib/v/adapters/git/operations/list_files.rb,
lib/v/adapters/git/operations/reset_index.rb,
lib/v/adapters/git/operations/show_object.rb,
lib/v/adapters/git/operations/add_to_index.rb,
lib/v/adapters/git/operations/commit_index.rb,
lib/v/adapters/git/operations/remove_from_index.rb,
lib/v/adapters/git/operations/initialize_repository.rb,
lib/v/adapters/git/operations/push_references_to_remote.rb

Constant Summary collapse

Tag =
operation(:tag) do
  # 1.6.3.2
  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
  # 1.6.3.2
  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
    # <commit>
    args.track
    args.no_track
    args.reflog(:alias => true).l
    args.force(:alias => true).f
    # <branchname>
    # <startpoint>
    args.move(:alias => true).m
    args.move!(:alias => true).M
    # <oldbranch>
    # <newbranch>
    args.delete(:alias => true).d
    args.delete!(:alias => true).D
    # <branchname>
  end

  include WorkTreeRequirement
  def run(environment)
    out, err = exec environment
    err.empty? or raise V::ERROR, err

    out
  end

end
ShowLog =
operation(:log) do
  # 1.6.3.2
  arguments do |args|
    args.pretty(:medium)
    args.abbrev_commit
    args.oneline
    args.encoding('UTF-8')
    args << '--'
    # TODO: complete arguments ...
  end

  def run(environment)
    out, err = exec environment
    err.empty? or raise V::ERROR, err

    out
  end

end
ListTree =
operation(:ls_tree) do
  # 1.6.3.2
  arguments do |args|
    # TODO: check naming
    args.directories(:alias => true).d
    args.recursive(:alias => true).r
    # TODO: check naming
    args.trace(:alias => true).t
    args.long.l
    args.zero(:alias => true).z
    args.name_only
    # TODO: implement support for non abbrev aliases
    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
  # 1.6.3.2
  arguments do |args|
    # TODO: complete arguments ...
    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
  # 1.6.3.2
  arguments do |args|
    args.zero(:alias => true).z
    args.tags(:alias => true).t
    # TODO: understand v option
    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
  # 1.6.3.2
  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
  # 1.6.3.2
  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
  # 1.6.3.2
  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
  # 1.6.3.2
  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
  # 1.6.3.2
  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
  # 1.6.3.2
  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
  # 1.6.3.2
  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