-
-
Save dtrugman/ec4d40e7b05f01251e4c688ae62219fd to your computer and use it in GitHub Desktop.
| #!/bin/bash | |
| git-describe() { | |
| for dir in *; do | |
| [[ -d "$dir" ]] || continue | |
| [[ -d "$dir/.git" ]] || continue | |
| local branch="$(cd "$dir"; git rev-parse --abbrev-ref HEAD)" | |
| echo "$dir -> $branch" | |
| done | |
| } | |
| [[ "$0" == "$BASH_SOURCE" ]] && git-describe "$@" |
Thanks @aharonscada!
I wrote that some time ago and didn't consider changing anything before publishing ๐
Now, regarding the symbolic link, I took a moment to think about your question.
At first, the point of the symbolic link was to be able to run ls -l and see all the directories and the branches they point to.
But, come to think of it, the command could've simply printed the output for you, thus resulting in a single bash command rather than two.
So thanks for all the suggestions! It's definitely much better now!
Glad to help. FYI, for the if what I had in mind was
if [[ ! -d "$dir" ]] || [[ ! d "$dir/.git" ]]
then
continue
fiYeah I realized :) I prefer the shorter version where is very readable, so went with that...
We have different opinions about readability. But you're still young. :-) Take it easy --Aharon
As always, you are right ๐
Hi. Nice start. Some comments:
for dir in *; do-- no need for$(ls)||to join the conditions of the twoifstatements together and have just oneif.What's the point of the symbolic link?