first commit
This commit is contained in:
commit
273e756521
2 files changed
+72
No files matched your search
@@ -0,0 +1,56 @@
|
|||||||
|
# Tools
|
||||||
|
|
||||||
|
Quelques outils personnels en Ruby.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Clonez le dépôt, par exemple dans `~/src/tools` :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone <url-du-depot> ~/src/tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Ajoutez ensuite le dossier `bin` au `PATH` dans `~/.bash_profile` :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
export PATH="$HOME/src/tools/bin:$PATH"
|
||||||
|
```
|
||||||
|
|
||||||
|
Puis ouvrez une nouvelle session ou rechargez le fichier :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
source ~/.bash_profile
|
||||||
|
```
|
||||||
|
|
||||||
|
## tools-git-update
|
||||||
|
|
||||||
|
`tools-git-update` parcourt uniquement les sous-dossiers directs du dossier courant et exécute :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git pull --ff-only
|
||||||
|
```
|
||||||
|
|
||||||
|
dans chaque sous-dossier contenant un dépôt Git.
|
||||||
|
|
||||||
|
Le script ne descend pas récursivement dans les sous-dossiers.
|
||||||
|
|
||||||
|
Git effectue la mise à jour uniquement si une avance rapide (*fast-forward*) est possible. En cas de divergence ou d'échec de la commande, le dépôt n'est pas fusionné automatiquement et le script affiche un avertissement.
|
||||||
|
|
||||||
|
### Utilisation
|
||||||
|
|
||||||
|
Placez-vous dans le dossier contenant les dépôts à mettre à jour :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd ~/src
|
||||||
|
tools-git-update
|
||||||
|
```
|
||||||
|
|
||||||
|
Exemple d'organisation :
|
||||||
|
|
||||||
|
```text
|
||||||
|
~/src/
|
||||||
|
├── easy-slack/
|
||||||
|
├── ecarte/
|
||||||
|
├── geckobreizh/
|
||||||
|
└── tools/
|
||||||
|
```
|
||||||
Executable
+16
@@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
Dir.children(Dir.pwd).sort.each do |entry|
|
||||||
|
path = File.join(Dir.pwd, entry)
|
||||||
|
|
||||||
|
next unless File.directory?(path)
|
||||||
|
next unless File.exist?(File.join(path, ".git"))
|
||||||
|
|
||||||
|
puts "\n==> #{entry}"
|
||||||
|
|
||||||
|
Dir.chdir(path) do
|
||||||
|
unless system("git", "pull", "--ff-only")
|
||||||
|
warn "Attention : #{entry} n'a pas été mis à jour."
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in new issue
Block a user