Fix splitting after using a squash merge.
Avery Pennarun committed
May 30, 2009 at 03:33 UTC
1a8c36dc5fdd8c439c65f18a91ad211050201fc8
1 file changed
+6
-2
git-subtree.sh
+6
-2
@@ -203,13 +203,17 @@ find_existing_splits()
203
dir="$1"
204
revs="$2"
205
git log --grep="^git-subtree-dir: $dir\$" \
206
- --pretty=format:'%s%n%n%b%nEND%n' $revs |
206
+ --pretty=format:'START %H%n%s%n%n%b%nEND%n' $revs |
207
while read a b junk; do
208
case "$a" in
209
- START) main="$b" ;;
209
+ START) main="$b"; sq="$b" ;;
210
git-subtree-mainline:) main="$b" ;;
211
git-subtree-split:) sub="$b" ;;
212
END)
213
+ if [ -z "$main" -a -n "$sub" ]; then
214
+ # squash commits refer to a subtree
215
+ cache_set "$sq" "$sub"
216
+ fi
217
if [ -n "$main" -a -n "$sub" ]; then
218
debug " Prior: $main -> $sub"
219
cache_set $main $sub