#!/usr/bin/ruby1.9.1
#-*- coding: utf-8 -*-

require 'rubygems'
require 'bundler'
Bundler.setup

require 'nos_oignons/git'
require 'nos_oignons/subscriptions'

if system('git rev-parse --quiet --verify HEAD >/dev/null')
  against = 'HEAD'
else
  # Initial commit: diff against an empty tree object
  against = '4b825dc642cb6eb9a060e54bf8d69288fbee4904'
end

IO.popen(['git', 'diff-index', '--cached', '--name-status', against]) do |io|
  NosOignons::Git.handle_modified_files(io) do |file|
    next unless file.start_with?("#{NosOignons::SUBSCRIPTIONS_ROOT}/")
    begin
      # Use empty ref to get the index
      NosOignons::Subscription.read_from_git('', file)
    rescue ArgumentError
      $stderr.puts "Désolé : #{file} n'a pas le bon format !"
      exit 1
    end
  end
end
