Permalink
Browse files

improve git and redmine libs

  • Loading branch information...
1 parent c199877 commit 686b6f15ac47e71bc1351f9b79414e57d2945281 @jalberto jalberto committed Nov 14, 2011
Showing with 35 additions and 22 deletions.
  1. +1 −0 Gemfile
  2. +2 −0 Gemfile.lock
  3. +27 −16 bin/ia
  4. +2 −4 lib/ia_git.rb
  5. +3 −2 lib/ia_redmine.rb
View
1 Gemfile
@@ -5,3 +5,4 @@ gem 'gli'
gem 'rainbow'
gem 'redmine_client'
gem 'simple_progressbar'
+gem 'highline'
View
2 Gemfile.lock
@@ -5,6 +5,7 @@ GEM
activesupport (= 2.3.14)
activesupport (2.3.14)
gli (1.3.4)
+ highline (1.6.2)
rainbow (1.1.1)
redmine_client (0.0.1)
activeresource (~> 2.3.0)
@@ -15,6 +16,7 @@ PLATFORMS
DEPENDENCIES
gli
+ highline
rainbow
redmine_client
simple_progressbar
View
43 bin/ia
@@ -164,6 +164,22 @@ command :drupal do |c|
end
end
+desc 'Manipula algunas de las caracteristicas de Drush'
+command :drush do |c|
+ c.desc 'Add drush alias'
+ c.switch [:a,:alias]
+
+ c.action do |global_options,options,args|
+
+ command?(options)
+
+ if options[:alias]
+ pinfo('Agregando alias a ~/.drush/')
+ drupal_rm_files(global_options[:pretend])
+ end
+ end
+end
+
desc 'Crear o modifica la estructura del repositorio svn'
long_desc 'El comando svn manipula el repositorio svn en el que se ejecuta. Se debe ejecutar en la raiz del repositorio'
# arg_name 'init [command[ command]*]'
@@ -188,28 +204,23 @@ end
desc 'Crear o modifica la estructura del repositorio git'
long_desc 'El comando git manipula el repositorio git en el que se ejecuta. Se debe ejecutar en la raiz del repositorio'
-# arg_name 'init [command[ command]*]'
command :git do |c|
- c.desc 'Crea estructura inicial en el repositorio.'
- c.arg_name 'Nombre del proyecto'
- c.flag [:i,:init]
+ c.desc 'Crea estructura inicial en el repositorio. Se debe ejecutar dentro del repo git del proyecto.'
+ c.switch [:i,:init]
- c.desc 'Configura el remote "upstream" del proyecto.'
+ c.desc 'Configura el remote "upstream" del proyecto. Se debe ejecutar dentro del repo git del proyecto.'
c.switch [:u,:upstream]
-
- #FIXME: Añadir comandos para:
- # * Añadir el remote origin
+
c.action do |global_options,options,args|
- raise "Necesitas especificar un comando y una opcion".color(:red) unless options.size >= 1
+ command?(options)
if options[:init]
- raise "El directorio actual ya es un repositorio".color(:red) if FileTest::directory?('.git')
- pinfo("Creando estructura Git para el proyecto #{options[:init]}...")
- git_scaffold(options[:init])
- git_set_upstream(options[:init]) if options[:upstream]
- elsif options[:upstream]
- raise "El directorio actual no es un repositorio".color(:red) unless FileTest::directory?('.git')
+ git?
projectname = File.split(Dir.pwd).last
+
+ git_scaffold(projectname)
+ git_set_upstream(projectname) if options[:upstream]
+ elsif options[:upstream]
git_set_upstream(projectname)
end
@@ -219,7 +230,7 @@ end
desc 'Interactua con Redmine usando un archivo en formato CSV'
long_desc 'Este comando usa un archivo CSV (exportado de uan hoja de calculo por ejemplo) para interactuar con un Redmine concreto. Necesita una url y una apikey configurada'
command :redmine do |c|
- c.desc 'Exporta un archivo CSV a Redmine usando REST'
+ c.desc 'Importa un archivo CSV a Redmine usando REST'
c.arg_name 'Archivo CSV para leer'
c.flag [:e,:export]
View
6 lib/ia_git.rb
@@ -37,11 +37,8 @@ def create_doc_branch
# Crea dos ramas: master (vacía) y doc (con los directorios de documentación)
# * projectname(String): nombre del proyecto
def git_scaffold(projectname)
- pinfo("Creando el repositorio local de git para #{projectname}",2)
- system("git init #{projectname}")
- Dir.chdir projectname
+ pinfo("Creando estructura Git para el proyecto #{projectname}...")
- create_empty_dir
system("git add .gitignore")
pinfo("Creando la estructura de la rama 'doc'",2)
@@ -51,6 +48,7 @@ def git_scaffold(projectname)
end
def git_set_upstream(projectname)
+ git?
pinfo("Configurando el repositorio remoto")
upstream_uri = "git@github.com:Emergya/#{projectname}.git"
system("git remote add upstream #{upstream_uri}")
View
5 lib/ia_redmine.rb
@@ -19,7 +19,7 @@ def redmine_export_csv(file, config)
data = []
- CSV.foreach(@csv_file, :col_sep => ';', :quote_char => '"', :headers => :first_row) do |row|
+ CSV.foreach(csv_file, :col_sep => ';', :quote_char => '"', :headers => :first_row) do |row|
data << row
end
@@ -32,7 +32,8 @@ def redmine_export_csv(file, config)
:fixed_version_id => row[4].to_i,
:estimated_hours => row[5].to_i,
:assigned_to_id => row[6].to_i,
- :parent_id => row[7].to_i
+ :parent_id => row[7].to_i,
+ :tracker => row[8].to_i
)
if issue.save

0 comments on commit 686b6f1

Please sign in to comment.