FrRedmineRepository
Version 5 (Mischa The Evil, 2010-10-14 05:19)
| 1 | 3 | yannick quenec'hdu | [[FrGuide]] |
|---|---|---|---|
| 2 | 3 | yannick quenec'hdu | |
| 3 | 1 | yannick quenec'hdu | h1. Dépôts |
| 4 | 1 | yannick quenec'hdu | |
| 5 | 1 | yannick quenec'hdu | h1. Informations générales |
| 6 | 1 | yannick quenec'hdu | |
| 7 | 1 | yannick quenec'hdu | Redmine supporte nativement l'intégration avec différents SCM: "Subversion":http://subversion.tigris.org/, "CVS":http://www.nongnu.org/cvs/, "Mercurial":http://www.selenic.com/mercurial/, "Darcs":http://darcs.net/, "Git":http://git.or.cz (as of r1236), et "Bazaar":http://bazaar-vcs.org/ (depuis r950). |
| 8 | 1 | yannick quenec'hdu | |
| 9 | 1 | yannick quenec'hdu | notez que vous devrez installer les binaires appropriés sur votre serveur Redmine et que vos binaires sont accessible depuis votre variable d'environnement PATH |
| 10 | 1 | yannick quenec'hdu | |
| 11 | 1 | yannick quenec'hdu | |*SCM*|*Testé avec*|*Commentaires*| |
| 12 | 1 | yannick quenec'hdu | |Subversion|1.3 & 1.4|1.3 ou plus requis| |
| 13 | 1 | yannick quenec'hdu | |CVS|1.12.12|1.12 requis, ne fonctionne pas avec CVSNT| |
| 14 | 1 | yannick quenec'hdu | |Mercurial|0.9.3| | |
| 15 | 1 | yannick quenec'hdu | |Bazaar|1.0.0.candidate.1| | |
| 16 | 1 | yannick quenec'hdu | |Darcs|1.0.7| | |
| 17 | 1 | yannick quenec'hdu | |Git|1.5.4.2|depuis r1236, prévu dans Redmine 0.7| |
| 18 | 1 | yannick quenec'hdu | |
| 19 | 1 | yannick quenec'hdu | Par exemple, si vous souhaitez accéder à un dépôt Subversion dans Redmine, vous devez installer les binaires svn sur l'hôte Redmine. |
| 20 | 1 | yannick quenec'hdu | |
| 21 | 1 | yannick quenec'hdu | h2. Lier un dépôt existant à un projet |
| 22 | 1 | yannick quenec'hdu | |
| 23 | 1 | yannick quenec'hdu | Dans la configuration du projet, vérifiez que le module 'Dépôt' est activé et allez sur l'onglet 'Dépôt'. |
| 24 | 1 | yannick quenec'hdu | Choisissez le SCM correspondant à votre dépôt et entrez le chemin ou l'URL de votre dépôt. |
| 25 | 1 | yannick quenec'hdu | |
| 26 | 2 | yannick quenec'hdu | *Important*: Lorsque vous parcourez le dépôt pour la première fois, Redmine récupère la description de tous les commits existants et les stocke en base de données. Cette opération est réalisée en une seule fois par dépôt, mais peut s'avérer très longue (allant même jusqu'au time out) si votre dépôt a des centaines de commits. |
| 27 | 1 | yannick quenec'hdu | |
| 28 | 1 | yannick quenec'hdu | Pour éviter cela, vous pouvez le faire hors ligne. |
| 29 | 1 | yannick quenec'hdu | Après avoir déclaré votre dépôt dans Redmine, lancez la commande suivante: |
| 30 | 1 | yannick quenec'hdu | |
| 31 | 1 | yannick quenec'hdu | ruby script/runner "Repository.fetch_changesets" -e production |
| 32 | 1 | yannick quenec'hdu | |
| 33 | 1 | yannick quenec'hdu | Tous les commits seront récupérés dans la base de données de Redmine. |
| 34 | 1 | yannick quenec'hdu | |
| 35 | 1 | yannick quenec'hdu | Depuis Redmdine 0.9.x, vous pouvez utiliser un lien pour exécuter fetch_changesets pour un projet spécifique ou sur la totalité. |
| 36 | 1 | yannick quenec'hdu | |
| 37 | 1 | yannick quenec'hdu | * http://redmine.example.com/sys/fetch_changesets (=> Récupère les changements pour tous les projets actifs) |
| 38 | 1 | yannick quenec'hdu | * http://redmine.example.com/sys/fetch_changesets?id=foo (=> Récupère les changements pour le projet _foo_ seulement) |
| 39 | 1 | yannick quenec'hdu | |
| 40 | 1 | yannick quenec'hdu | |
| 41 | 1 | yannick quenec'hdu | h3. Dépôt Subversion |
| 42 | 1 | yannick quenec'hdu | |
| 43 | 1 | yannick quenec'hdu | Les protocoles classiques sont supportés (cad. @http:@, @svn:@, @file:@), saisir seulement l'URL de votre dépôt. |
| 44 | 1 | yannick quenec'hdu | |
| 45 | 1 | yannick quenec'hdu | Exemple: |
| 46 | 1 | yannick quenec'hdu | |
| 47 | 1 | yannick quenec'hdu | <pre> |
| 48 | 1 | yannick quenec'hdu | http://hote/chemin/vers/le/depot |
| 49 | 1 | yannick quenec'hdu | </pre> |
| 50 | 1 | yannick quenec'hdu | |
| 51 | 1 | yannick quenec'hdu | Vous pouvez spécifier un nom d'utilisateur et un mot de passe si le dépôt requiert une authentification. |
| 52 | 1 | yannick quenec'hdu | |
| 53 | 1 | yannick quenec'hdu | Note: si vous souhaitez accéder au dépôt en utilisant @svn+ssh://@, vous aurez à configurer svn+ssh pour le rendre non interactif. |
| 54 | 1 | yannick quenec'hdu | Cela nécessite de configurer une paire de clefs publique/privée pour l'authentification ssh. |
| 55 | 1 | yannick quenec'hdu | |
| 56 | 1 | yannick quenec'hdu | h3. Dépôt CVS |
| 57 | 1 | yannick quenec'hdu | |
| 58 | 1 | yannick quenec'hdu | Saisir: |
| 59 | 1 | yannick quenec'hdu | |
| 60 | 1 | yannick quenec'hdu | * l'URL du dépôt (qui peut être soit un chemin ou une chaîne de connexion, exemple: @:pserver@). |
| 61 | 1 | yannick quenec'hdu | * le nom de module |
| 62 | 1 | yannick quenec'hdu | |
| 63 | 1 | yannick quenec'hdu | Exemple: |
| 64 | 1 | yannick quenec'hdu | |
| 65 | 1 | yannick quenec'hdu | :pserver:compte:motdepasse@hote:/chemin/vers/le/depot |
| 66 | 1 | yannick quenec'hdu | |
| 67 | 1 | yannick quenec'hdu | h3. Dépôt GIT |
| 68 | 1 | yannick quenec'hdu | |
| 69 | 1 | yannick quenec'hdu | h4. Configuration de l'environnement local |
| 70 | 1 | yannick quenec'hdu | |
| 71 | 1 | yannick quenec'hdu | Require |
| 72 | 1 | yannick quenec'hdu | |
| 73 | 1 | yannick quenec'hdu | Redmine requiert les dépôts *bare* et *local* pour permettre la navigation sur Redmine. |
| 74 | 1 | yannick quenec'hdu | |
| 75 | 2 | yannick quenec'hdu | Imaginez que vous voulez parcourir la liste des tâches du projet "Donebox": L'URL de son clone est @git://github.com/ook/donebox.git@. |
| 76 | 1 | yannick quenec'hdu | Sur le serveur qui exécute Redmine, créez un répertoire accessible à l'utilisateur qui exécute le serveur Redmine: |
| 77 | 1 | yannick quenec'hdu | |
| 78 | 1 | yannick quenec'hdu | <pre> |
| 79 | 1 | yannick quenec'hdu | $ sudo mkdir -p /var/redmine/git_repositories |
| 80 | 1 | yannick quenec'hdu | $ sudo chown rails:rails /var/redmine/git_repositories |
| 81 | 1 | yannick quenec'hdu | $ cd /var/redmine/git_repositories |
| 82 | 1 | yannick quenec'hdu | </pre> |
| 83 | 1 | yannick quenec'hdu | |
| 84 | 2 | yannick quenec'hdu | Note à la deuxième ligne: il change la propriété du répertoire nouvellement créé pour l'utilisateur @rails@ et le groupe @rails@. Bien sûr, vous devez le remplacer selon les paramètres de votre serveur (cela peut être @www-data@ @apache@ ou lorsque vous avez un très mauvais adminsys: @root@). Garder à l'esprit que cet utilisateur doit avoir les permissions en local pour exécuter la commande @git@. |
| 85 | 1 | yannick quenec'hdu | |
| 86 | 1 | yannick quenec'hdu | h4. Créer le dépôt bare |
| 87 | 1 | yannick quenec'hdu | |
| 88 | 1 | yannick quenec'hdu | Après les étapes précédentes ont été réalisées, il est temps de créer notre dépôt bare |
| 89 | 1 | yannick quenec'hdu | |
| 90 | 1 | yannick quenec'hdu | <pre> |
| 91 | 1 | yannick quenec'hdu | $ pwd |
| 92 | 1 | yannick quenec'hdu | /var/redmine/git_repositories |
| 93 | 1 | yannick quenec'hdu | $ git clone --bare git://github.com/ook/donebox.git donebox.git |
| 94 | 1 | yannick quenec'hdu | Initialized empty Git repository in /var/redmine/git_repositories/donebox.git/ |
| 95 | 1 | yannick quenec'hdu | remote: Counting objects: 401, done. |
| 96 | 1 | yannick quenec'hdu | remote: Compressing objects: 100% (246/246), done. |
| 97 | 1 | yannick quenec'hdu | remote: Total 401 (delta 134), reused 401 (delta 134) |
| 98 | 1 | yannick quenec'hdu | Receiving objects: 100% (401/401), 179.55 KiB | 185 KiB/s, done. |
| 99 | 1 | yannick quenec'hdu | Resolving deltas: 100% (134/134), done. |
| 100 | 1 | yannick quenec'hdu | $ cd donebox.git |
| 101 | 1 | yannick quenec'hdu | $ git remote add origin git://github.com/ook/donebox.git |
| 102 | 1 | yannick quenec'hdu | </pre> |
| 103 | 1 | yannick quenec'hdu | |
| 104 | 1 | yannick quenec'hdu | Votre dépôt est maintenant créé ! allez dans l"interface de configuration de votre projet dans Redmine et choisissez l'onglet Dépôt et sélectionner @git@ comme SCM, saisir dans "Path to .git directory" (dans notre exemple @/var/redmine/git_repositories/donebox.git/@) et sauver les paramètres. Jetez un oeil à votre onglet dépôt: Vous devriez maintenant être en mesure de naviguer dans votre répertoire avec succès |
| 105 | 1 | yannick quenec'hdu | |
| 106 | 1 | yannick quenec'hdu | Note: bien sûr, ce dépôt git sera pas mis à jour par lui-même. Vous aurez à récupérer le dépôt @git@ régulièrement à la main, mettre en place une tâche cron qui va exécuter la commande @fetch git@ automatiquement pour vous ou pour utiliser un hook post-receive, comme celui-ci: |
| 107 | 1 | yannick quenec'hdu | |
| 108 | 1 | yannick quenec'hdu | <pre> |
| 109 | 1 | yannick quenec'hdu | echo "Post receive-hook => updating Redmine repository" |
| 110 | 4 | yannick quenec'hdu | sudo -u my_redmine_user -p secret perl -we '`cd /redmine/repositories/my_repo.git && git fetch && git reset --soft refs/remotes/origin/master`' |
| 111 | 1 | yannick quenec'hdu | </pre> |
| 112 | 1 | yannick quenec'hdu | |
| 113 | 4 | yannick quenec'hdu | Note: pour la réinitialisation git, vous *avez besoin* de mettre à jour l'arbre git et de voir vos modifications dans la vue du dépôt. L'option _soft_ est nécessaire, si le dépôt Bare et l'option par défaut (mixte) ne fonctionne pas. car il n'y a pas d'arbre de travail. |
| 114 | 1 | yannick quenec'hdu | |
| 115 | 1 | yannick quenec'hdu | Si vous utilisez github, vous pouvez utiliser le [[Plugin_List#Github-Hook-plugin|Plugin Github Hook]] |
| 116 | 1 | yannick quenec'hdu | |
| 117 | 1 | yannick quenec'hdu | h4. Le Dépôt Bare avec Windows |
| 118 | 1 | yannick quenec'hdu | |
| 119 | 1 | yannick quenec'hdu | Si vous installez votre répertoire sur *Windows*, ajouter les éléments suivants : |
| 120 | 1 | yannick quenec'hdu | <pre>;%GIT_PATH%\cmd;%GIT_PATH%\bin;</pre> to your %%PATH%% environment variable. |
| 121 | 1 | yannick quenec'hdu | Where %%GIT_PATH%% is the install directory of Git (eg: _C:/Git_) |
| 122 | 1 | yannick quenec'hdu | |
| 123 | 1 | yannick quenec'hdu | h3. Dépôt Mercurial |
| 124 | 1 | yannick quenec'hdu | |
| 125 | 1 | yannick quenec'hdu | Pour synchroniser avec un dépôt Mercurial, vous devrez avoir un clone local du dépôt sur le même serveur que celui ou vous avez installé sur Redmine. |
| 126 | 2 | yannick quenec'hdu | Disons que vous avez mis dans Redmine /var/www/redmine.example.com/www et que vous mis votre dépôt mercurial dans /var/www/sources.example.com/repo/example, vous devez sélectionner *Mercurial* comme SCM, et saisir */var/www/sources.example.com/repo/example* dans la boîte de texte. |
| 127 | 1 | yannick quenec'hdu | |
| 128 | 1 | yannick quenec'hdu | Cela commencer à vérifier le dépôt Mercurial, et vous ne verrez pas les résultats immédiatement. Attendez quelques secondes (ou éventuellement minutes), puis cliquez sur l'onglet *dépôt* de votre projet (pas de vos paramètres de configuration). Vous devriez maintenant voir les résultats qui s'affichent. |
| 129 | 1 | yannick quenec'hdu | |
| 130 | 1 | yannick quenec'hdu | h3. Dépôt Bazaar |
| 131 | 1 | yannick quenec'hdu | |
| 132 | 2 | yannick quenec'hdu | Vous devez sélectionner *Bazaar* comme SCM, et saisir */home/username/bzr/repo/trunk* dans la boîte de texte Root directory" |
| 133 | 1 | yannick quenec'hdu | |
| 134 | 1 | yannick quenec'hdu | Vous devez être sur que _bzr_ and _bzrlib_ sont respectivement dans ENV['PATH'] et ENV['PYTHONPATH'] |
| 135 | 1 | yannick quenec'hdu | Exemple. éditer config/environment.rb et ajouter: |
| 136 | 1 | yannick quenec'hdu | |
| 137 | 1 | yannick quenec'hdu | <pre> |
| 138 | 1 | yannick quenec'hdu | ENV['PYTHONPATH'] = '/path/to/pythonlib' |
| 139 | 1 | yannick quenec'hdu | ENV['PATH'] = "#{ENV['PATH']}:/path/to/bzr/bin" |
| 140 | 1 | yannick quenec'hdu | </pre> |
| 141 | 1 | yannick quenec'hdu | |
| 142 | 1 | yannick quenec'hdu | h3. Dépôt Darcs |
| 143 | 1 | yannick quenec'hdu | |
| 144 | 5 | Mischa The Evil | TODO |
| 145 | 1 | yannick quenec'hdu | |
| 146 | 1 | yannick quenec'hdu | h2. Dépôt user-mapping |
| 147 | 1 | yannick quenec'hdu | |
| 148 | 5 | Mischa The Evil | TODO |