2009-05-04 4 views
2

J'utilise râteau pour copier un répertoire afin:dépendances Directory avec râteau

file copied_directory => original_directory do 
#copy directory 
end 

Cela fonctionne très bien, sauf quand quelque chose à l'intérieur des changements original_directory. Le problème est que la date du mod ne change pas dans le répertoire d'inclusion, ainsi rake ne sait pas recopier le répertoire. Y a-t-il un moyen de gérer cela? Malheureusement, ma configuration actuelle ne me permet pas de configurer des dépendances individuelles pour chaque fichier individuel dans répertoire_original.

Répondre

2

Vous pouvez utiliser rsync pour garder les 2 répertoires synchronisés comme indiqué ici: http://asciicasts.com/episodes/149-rails-engines

+0

Ce tutoriel utilise des tâches symboliques, donc rsync est exécuté à chaque fois (il n'y a pas de suivi de dépendance). L'exécution de rsync dans une tâche de fichier échouera exactement comme décrit par @ francisco-ryan-tolmasky-i. –

1

Vous n'avez pas besoin de connaître les fichiers à dépendre d'eux:

file copied_directory => FileList[original_directory, original_directory + "/**/*"] 
+0

Merci, votre suggestion m'a mis sur la bonne voie pour un problème similaire. Pour qu'il fonctionne avec rsync, j'ai dû toucher le 'copied_directory' afin que rake puisse détecter qu'il soit à jour et éviter d'exécuter rsync pour rien. –

Questions connexes