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