Mon application rails est dans un référentiel svn, mais plusieurs des plugins sont installés via git et ajoutés plus tard au svn repo. Comment puis-je mettre à jour ces plugins? Je n'arrive pas à mettre à jour script/plugin pour faire quoi que ce soit. Je voudrais vraiment mettre à jour activemerchant pour se débarrasser des avertissements de l'Inflector.Comment mettre à jour les plugins de rails installés via git mais dans un svn repo?
Répondre
Vous devriez juste pouvoir naviguer au répertoire du plugin et frapper: git pull
. Je suis assez sûr que script/install plugin
vérifie juste le code du repo git.
Si vous n'avez apporté aucune modification locale au plugin et que vous n'avez pas besoin de suivre les modifications que la mise à jour apportera, vous pouvez exécuter à nouveau script/plugin install
, en passant au --force
si nécessaire. Par exemple:
script/plugin install --force git://github.com/dchelimsky/rspec.git
fonctionne, mais il place le répertoire dans un état inconnu en termes de svn car il supprime simplement le répertoire vendeur/plugin/active_merchant et le réinstalle. – jcoby
Pour Git pour être en mesure de reconnaître le dépôt comme un dépôt Git, vous devrez ajouter le sous-répertoire .git
et tout sous à Subversion ainsi. Sinon, le plugin ressemblera à une autre pile de code source et Git dira que c'est "Pas un dépôt Git".
Ran dans la même situation et utilisé cette solution: avait un trombone installé comme un plugin assis dans un svn repo dans le cadre de mon application. Maintenant, je voulais utiliser la dernière version à la place et ne pas changer un peu le plugin paperclip afin que je puisse facilement le retirer de l'app/svn et l'installer comme un joyau à la place. terminé.
Si vous avez déjà une copie statique d'un plugin vérifié dans Subversion, il peut être difficile de le mettre à jour via script/plugin
, alors voici ce que je fais pour passer d'une installation statique à une extraction Git dans l'Subversion commettras:
git clone git://github.com/foo/bar.git ~/foobar
mv ~/foobar/.git rails_app/vendor/plugins/foobar/.git
rm -rf ~/foobar
cd rails_app/vendor/plugins
git reset --hard
Ensuite, assurez-vous d'ajouter .git
et tout ce qui a changé au projet Subversion et vous serez tout à jour. Vous pouvez utiliser d'autres commandes git pour extraire les mises à jour, les déplacer vers une branche différente, etc. Ensuite, il suffit de vérifier à nouveau les éléments une fois qu'ils sont dans l'état souhaité.
Une chose que je fais dans ce cas, je supprime le répertoire plugin puis je m'engage à SVN, cela va supprimer l'ancien plugin dans le repo. (Je le déplaçais habituellement dans un répertoire tmp, juste au cas où je le supprimerais plus tard une fois que le nouveau fonctionne correctement) Ensuite, je réinstalle la nouvelle version du plugin et je recommence. Facile.
ne fonctionne pas - Je reçois: fatale: Pas un référentiel git – jcoby
bien, que voulez-vous dire qu'ils ont été "installés par git". Si elles ne sont pas git repos, alors qu'est-ce que vous entendez par là? –
ils ont été installés à partir d'un repo git, mais sont hébergés dans le repo svn de mon application. si ça a du sens. voir http://www.activemerchant.org/ et regardez les instructions plugin/install. – jcoby