class Git::Base

def with_working(work_dir) # :yields: the Git::WorkingDirectory

:yields: the Git::WorkingDirectory
def with_working(work_dir) # :yields: the Git::WorkingDirectory
  return_value = false
  old_working = @working_directory
  set_working(work_dir) 
  Dir.chdir work_dir do
    return_value = yield @working_directory
  end
  set_working(old_working)
  return_value
end