# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 ##@creator: jclain ##@created: 27/04/2016 03:19 ##@modifier: jclain ##@changecount: 1 ##@tags: ##@title: uproject {{{ uproject: Outil pour gérer des projets USAGE uproject cmd [args] COMMANDS getvcs [dir] Afficher le type de VCS pour dir. getroot [dir] Si dir est un répertoire versionné, retourner le répertoire racine du projet versionné. getrepos [dir] Si dir est un répertoire versionné, retourner l'url du repository du projet versionné. geturl [dir] Si dir est un répertoire versionné, retourner son url dans le repository. fold [dir] unfold [dir] Utiliser uinc pour défaire (resp. refaire) toutes les inclusions des fichiers de dir. Cela nécessite qu'un fichier .udir soit configuré à la racine du projet avec uinc=true vcs [args] Appeler le gestionnaire de gestion approprié avec les arguments donnés. add files... Ajouter les fichiers files dans le gestionnaire de version. remove files... Supprimer les fichiers versionnés files. copy from to Copier le fichier versionné from vers le fichier to. move from to Renommer le fichier versionné from vers le fichier to. mkdir dir Créer un nouveau répertoire versionné. commit message [files...] Enregistrer les modifications (par défaut sur tous les fichiers modifiés) avec le commentaire message. status Afficher l'état des fichiers versionnés et non versionnés. update [-x] Mettre à jour la copie locale avec la copie sur le serveur. -x Ne pas mettre à jour les références externes (si appliquable) -n, --no-autoff Ne pas faire de fast-forward automatique pour toutes les branches traquées. Par défaut, s'il n'y a pas de modifications locales, essayer de fast-fowarder toutes les branches locales traquées. diff [options] Afficher les différences. -l Afficher les différences non commitées (par défaut) -c Afficher les différences en passe d'être commitées (si appliquable) -r REV Afficher les différences depuis la révision REV. -R Afficher les modifications effectuées depuis la dernière release. clone git@host:path/to/repo [destdir] Cloner un dépôt distant. Initialiser git annex si le dépôt contient des fichiers annexés. Récupérer aussi ces fichiers avec 'git annex get' crone git@host:path/to/repo [destdir] Créer un dépôt distant sur gitolite, puis le cloner develop release hotfix Démarrer le travail sur une branche respectivement de développement, de release, ou de correction de bugs. Lancer chaque commande avec --help pour les détails. Nécessite git. archive Créer une archive du projet courant. Nécessite git. annex [args] Lancer git annex avec les arguments spécifiés. xadd xunlock xdrop xwhereis xwebapp Chacune de ces commandes est un raccourci vers la commande correspondante de git annex, sans le préfixe 'x' xsync Sur un dépot où git-annex est activé, lancer 'git annex sync' si on est en mode indirect ou 'git annex sync --content' si on est en mode direct. Sur un dépôt où git-annex n'est pas activé, faire l'équivalent des commandes 'git add -A && git commit && git pull && git push' xcopy xmove xget Comme ci-dessus, mais si la commande s'exécute sans erreur, lancer aussi 'git annex sync' xinitial Sur un dépôt fraichement cloné, initialiser le dépôt avec 'annex init' s'il contient des fichiers annexés. Récupérer aussi ces fichiers avec 'annex get' xconfig-export [dir] Installer des hooks pour qu'un dépôt puisse être utilisé pour servir des fichiers, par exemple avec un serveur web. Plus précisément, un hook post-receive est créé avec la commande 'git annex merge', et un hook post-update est créé avec la commande 'git update-server-info' printml [-t TYPE] Afficher le modeline pour un fichier du type spécifié addml [-t TYPE] file Ajouter un modele pour le fichier spécifié, s'il n'en a pas déjà un. Si nécessaire, forcer le type du fichier au lieu de l'autodétecter new [options] file [template options] Créer un nouveau fichier à partir d'un modèle. Avant le nom du fichier, les options suivantes sont valides: -t TEMPLATE Spécifier le modèle de fichier à utiliser. Par défaut, le modèle à utiliser est déduit de l'extension ou du nom du fichier. -e Editer le fichier après l'avoir créé. Après le nom du fichier, toutes les options sont spécifiques au modèle utilisé pour créer le nouveau fichier. Utiliser l'option --help pour avoir une description des options disponibles. }}}