amp / bugs / 22.rb

require 'fileutils' do |b|
  dir  = "test_#{rand(1000)}"
  repo = nil # scoping
  b.number 22
  # hint, because the functionality isn't there
  b.desc   "`amp update` fails to switch between branches"
  b.setup do
    # Create the repo
    repo = dir, true
    # Add a file (Ampfile is automatically created upon repo initialization)
    repo.staging_area.add 'Ampfile'
    # Commit
    repo.commit :modified => ['Ampfile'], :message => 'initial commit'
    # Create a new branch
    repo.dirstate.branch = 'new_branch'
    # Save it
    repo.commit :message => 'added a new branch'
  b.success do
    # This here seems to be triggering a DelayedOpener, which the Hg version
    # doesn't... That should probably be fixed.
    repo.update 'default'
    repo[nil].branch == 'default' # repo[nil] is the working directory's changeset
  b.cleanup { FileUtils.rm_rf Dir['test_*'] } # destory all similar looking dirs