-
-
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
fi
Yeah 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 twoif
statements together and have just oneif
.What's the point of the symbolic link?