29 lines
694 B
Text
29 lines
694 B
Text
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
default_path="$(sl config paths.default)"
|
||
|
|
url="${default_path%*.git}"
|
||
|
|
|
||
|
|
#
|
||
|
|
# "top % public()" => non-public commits in my stack
|
||
|
|
# "top" => from the top of my stack
|
||
|
|
# "% X" => except not in X
|
||
|
|
# "public()" => public commits
|
||
|
|
#
|
||
|
|
previous_bookmark_query=""
|
||
|
|
previous_bookmark=""
|
||
|
|
for i in $(sl log -r "top % public()" -T "{bookmarks} "); do
|
||
|
|
commits="$(sl log -r "::$i % public()$previous_bookmark_query")"
|
||
|
|
|
||
|
|
if [[ -z "$previous_bookmark" ]]; then
|
||
|
|
echo "$url/compare/$i"
|
||
|
|
else
|
||
|
|
echo "$url/compare/$previous_bookmark...$i"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "$commits"
|
||
|
|
sl push -f -r "$i" --to "remote/$i" 2>&1 | grep -E "[\+\*]"
|
||
|
|
|
||
|
|
previous_bookmark_query=" % ::$i"
|
||
|
|
previous_bookmark="$i"
|
||
|
|
done
|