MakeMake The Dwarf Planet is a feed agregator.

Automatiser le nettoyage des branches Git avec un alias : Guide pratique

by Olivier Pons from Olivier Pons

Automatiser le nettoyage des branches Git avec un alias : Guide pratique

Travailler avec Git implique souvent de gérer de nombreuses branches, locales et distantes. Au fil du temps, il est courant que des branches distantes soient supprimées, laissant des branches locales obsolètes. Pour simplifier le nettoyage de ces branches, vous pouvez créer un alias Git qui automatise ce processus. Dans cet article, nous vous expliquons comment faire, ainsi que les avantages et les inconvénients de cette méthode.

Créer un alias Git pour nettoyer les branches locales

Voici la commande pour créer un alias Git nommé prune-all qui nettoie automatiquement les branches locales obsolètes :

git config --global alias.prune-all '!git fetch --prune && git branch -vv | grep ": gone]" | sed "s/^[[:space:]]*\([^[:space:]]*\).*/\1/" | xargs -r git branch -d'

Une fois cet alias configuré, vous pouvez simplement exécuter :

git prune-all

Cette commande va :

  1. Mettre à jour les références locales et supprimer les branches distantes supprimées (git fetch --prune).
  2. Identifier les branches locales qui n’ont plus de branche distante associée (git branch -vv | grep ": gone]").
  3. Extraire les noms de ces branches (sed).
  4. Supprimer les branches locales (xargs -r git branch -d).

Pourquoi utiliser cet alias ?

Cet alias offre plusieurs avantages :

  • Gain de temps : Plus besoin d’exécuter manuellement plusieurs commandes pour nettoyer les branches locales.
  • Automatisation : Le processus est entièrement automatisé, ce qui réduit les erreurs humaines.
  • Propreté du dépôt : Vous gardez votre dépôt local propre et synchronisé avec le dépôt distant.

Les précautions à prendre

Bien que cet alias soit très utile, il est important de comprendre ses limites et les risques potentiels :

  • Utilisation de git branch -d : L’alias utilise git branch -d pour supprimer les branches locales. Cela signifie que Git refusera de supprimer une branche si elle contient des commits non fusionnés. C’est une sécurité pour éviter de perdre du travail.
  • Risque de suppression accidentelle : Si vous utilisez git branch -D (avec un D majuscule) à la place de -d, les branches seront supprimées de force, même si elles contiennent des commits non fusionnés. Soyez prudent si vous modifiez l’alias pour utiliser -D.
  • Vérification manuelle : Avant d’exécuter l’alias, il peut être utile de vérifier les branches qui seront supprimées en exécutant :
git fetch --prune && git branch -vv | grep ": gone]"

Quand utiliser cet alias ?

Cet alias est particulièrement utile dans les situations suivantes :

  • Vous travaillez sur un projet avec de nombreuses branches, et vous voulez garder votre dépôt local propre.
  • Vous collaborez avec une équipe et les branches distantes sont fréquemment supprimées après fusion.
  • Vous voulez automatiser une tâche répétitive pour gagner du temps.

Conclusion

Créer un alias Git pour nettoyer les branches locales est une excellente façon d’automatiser une tâche fastidieuse et de garder votre dépôt propre. En utilisant git branch -d, vous ajoutez une couche de sécurité pour éviter de perdre du travail non fusionné. Cependant, soyez conscient des risques si vous décidez d’utiliser git branch -D à la place.

N’hésitez pas à essayer cet alias et à l’adapter à vos besoins. Bonne gestion de branches !

Vous avez des questions ou des suggestions ? Laissez un commentaire ci-dessous !

Lire la suite…

Écran Noir (Black Screen) – un outil simple mais utile

by Olivier Pons from Olivier Pons

Écran Noir (Black Screen) – Un outil simple mais utile

J’ai récemment ajouté une fonctionnalité simple mais pratique à mon site : une page « Écran Noir » accessible à l’adresse olivierpons.fr/black-screen.

Qu’est-ce que c’est ?

Il s’agit simplement d’une page web complètement noire, sans aucun élément d’interface ou contenu visible. Elle a été conçue pour afficher un écran noir pur qui occupe la totalité de votre navigateur.

À quoi ça sert ?

Cette page peut être utilisée dans plusieurs situations pratiques :

  1. Présentations et conférences : Pour faire une pause entre deux diapositives ou temporairement masquer votre écran.
  2. Économie d’énergie : Un écran noir consomme moins d’énergie sur les écrans OLED/AMOLED.
  3. Réduction de la luminosité : Dans un environnement sombre, quand vous avez besoin d’une source de lumière minimale.
  4. Tests d’affichage : Pour vérifier les fuites de lumière ou la qualité du noir sur votre écran.
  5. Méditation ou concentration : Éliminer les distractions visuelles pendant une session de concentration.

Comment ça fonctionne ?

Techniquement, c’est une simple page HTML statique avec un fond noir qui occupe 100% de l’écran et désactive le défilement. Elle est servie directement par Nginx sans passer par WordPress.

Cette solution a été implémentée avec l’aide de Claude, l’assistant IA d’Anthropic, qui m’a guidé dans la configuration Nginx et la création du fichier HTML approprié.

N’hésitez pas à l’utiliser quand vous en avez besoin, c’est un petit outil sans prétention mais qui peut s’avérer étonnamment utile !

Lire la suite…

Problème pour demarrer un code avec Python

by Cavok from AFPy discuss

Bonjour, j’essaie de faire un suivi d’objet avec une webcam, et je recopie un code ,cependant quand j’essaie d’installer cv2 d’open cv, je n’obtiens que des erreurs…
étant débutant en python, je pense que quelque chose m’échappe,
je vous mets ce que j’ai à ma disposition (le forum dit que je peux n’en mettre qu’un seul, aussi j’ai regroupé 2 images )
Merci pour vos conseils

38 messages - 7 participant(e)s

Lire le sujet en entier

Lire la suite…

Tkinter et scrollbar

by vev from Linuxfr.org

Je suis content de mon code et je cherche à mettre plus d'équipes dorénavant.
Du coup, j'aurais besoin de rajouter une scrollbar sur la fenêtre principale; quelqu'un saurait faire?

https://framagit.org/vev/elo-lvgsports
"Elo LVGsports.py"

ps: pour faire marcher le code sur gnu/linux il faut changer le \ en / ligne 299
ps2: vous pouvez rajouter des joueurs dans le fichier "joueurs.json"
exemple avec 24 joueurs nommés 0001, 0002 etc..
{"0001": ["1500", "0", "0", "0", "aucun enregistrement"], "0002": ["1500", "0", "0", "0", "aucun enregistrement"], "0003": ["1500", "0", "0", "0", "aucun enregistrement"], "0004": ["1500", "0", "0", "0", "aucun enregistrement"], "0005": ["1500", "0", "0", "0", "aucun enregistrement"], "0006": ["1500", "0", "0", "0", "aucun enregistrement"], "0007": ["1500", "0", "0", "0", "aucun enregistrement"], "0008": ["1500", "0", "0", "0", "aucun enregistrement"], "0009": ["1500", "0", "0", "0", "aucun enregistrement"], "0010": ["1500", "0", "0", "0", "aucun enregistrement"], "0011": ["1500", "0", "0", "0", "aucun enregistrement"], "0012": ["1500", "0", "0", "0", "aucun enregistrement"], "0013": ["1500", "0", "0", "0", "aucun enregistrement"], "0014": ["1500", "0", "0", "0", "aucun enregistrement"], "0015": ["1500", "0", "0", "0", "aucun enregistrement"], "0016": ["1500", "0", "0", "0", "aucun enregistrement"], "0017": ["1500", "0", "0", "0", "aucun enregistrement"], "0018": ["1500", "0", "0", "0", "aucun enregistrement"], "0019": ["1500", "0", "0", "0", "aucun enregistrement"], "0020": ["1500", "0", "0", "0", "aucun enregistrement"],"0021": ["1500", "0", "0", "0", "aucun enregistrement"], "0022": ["1500", "0", "0", "0", "aucun enregistrement"], "0023": ["1500", "0", "0", "0", "aucun enregistrement"], "0024": ["1500", "0", "0", "0", "aucun enregistrement"]}

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Mettre en lien une scène 3D Blender et une interface GTK | wxPython grâce à UPBGE

by phroy from AFPy discuss

Bonjour,
Une petite démo sur la possibilité d’avoir une fenêtre externe (GUI) pour interagir avec une scène 3D Blender grâce au moteur de jeu UPBGE.

J’utilise GTK3+ pour GNU/Linux et wxPython pour Windows. C’est tout à fait possible avec PySide, Kyvi, … tant que c’est en Python.

Le code est sur La Forge. C’est un projet de Lecteur 3D pour l’analyse cinématique des mécanismes (que j’utilise avec mes élèves en lycée).

5 messages - 3 participant(e)s

Lire le sujet en entier

Lire la suite…

V4L2 - Basculement de fréquence (PAL/NTSC)

by shingo from Linuxfr.org

Bonjour,

Je rencontre une difficulté concernant la capture vidéo via une carte USB. En particulier, lorsque je dois basculer la source entre PAL et NTSC, cela provoque un freeze de la carte. En interrogeant la carte avec v4l2-ctl, je constate que la fréquence et la résolution ne se mettent pas à jour correctement.

La seule solution que j'ai trouvée pour forcer la mise à jour est d'utiliser usbreset pour redémarrer la carte, mais cela présente plusieurs inconvénients :

  • Temps d'attente long : Le redémarrage de la carte est relativement lent.
  • Changement de chemin : Dans certains cas, après un redémarrage avec usbreset, le chemin de la carte peut changer, rendant l'accès compliqué.

L’objectif est donc de pouvoir redémarrer ou rafraîchir la carte rapidement après un basculement de fréquence, mais je fais face à un comportement imprévisible :

Lorsque je capture avec ffmpeg, un changement de fréquence génère souvent une erreur, entraînant l'arrêt du programme. Cependant, parfois l'enregistrement continue malgré une image figée ou noire, ce qui rend la situation encore plus complexe à gérer et m'oblige à surveiller en permanence la fréquence pour relancer ffmpeg.

Je cherche un moyen plus propre et plus rapide de redémarrer la carte sans avoir recours à usbreset. Idéalement, le processus devrait être plus réactif, car actuellement, après un redémarrage via usbreset, il faut de temps en temps attendre au moins cinq secondes avant que la carte soit réutilisable. De plus, il arrive que l'utilisation de usbreset donne un message d’erreur "no such device", alors que v4l2-ctl retourne les bonnes informations.

Mon idée est de détecter quand ffmpeg s'arrête, quelle qu'en soit la cause, puis utiliser usbreset pour redémarrer la carte et relancer l'enregistrement. Mais je cherche une alternative plus rapide et fiable que l’utilisation de usbreset, tout en minimisant les risques de changement du chemin de la carte.

Y a-t-il une méthode plus propre et plus rapide pour redémarrer ou rafraîchir la carte vidéo via du code Python ou C ? Existe-t-il une API ou une commande qui pourrait résoudre ce problème sans avoir besoin de redémarrer complètement la carte ?

Merci pour toute aide ou suggestion que vous pourrez fournir.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Cherche stage étudiant dev Python cet été - 1 mois

by jfhoup from AFPy discuss

Bonjour,

Mon fils est à la recherche d’un stage de dev en Python d’un mois cet été sur Paris. Pas forcément un dieu en programmation actuellement mais il a la volonté d’apprendre et il est par ailleurs très fort en maths (élève au lycée Louis Le Grand), ce qui peut aider pour certains types de projets.
Toutes les propositions sont les bienvenues.
cordialement,
JF

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…