From cd1725137538da25a892bba5848291b51417c871 Mon Sep 17 00:00:00 2001 From: Stephen Haberman Date: Tue, 24 Jun 2008 12:15:58 -0500 Subject: [PATCH] Putting the comments back. --- server/update-prefer-rebase | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/server/update-prefer-rebase b/server/update-prefer-rebase index f46f5f2..5ae3d84 100644 --- a/server/update-prefer-rebase +++ b/server/update-prefer-rebase @@ -1,4 +1,36 @@ #!/bin/sh +# +# Watches for merges that had only local merges (e.g. should have been rebases). +# +# If they are introducing non-merge commits /and/ merge commits, it could +# look like one of two ways. This way: +# +# * --- B --- * --- oldrev +# \ \ +# new --- new --- newrev +# +# They basically had an un-shared local dev branch (probably by making a +# merge) and instead should have done a rebase. Also, if they did: +# +# * --- B --- * --- oldrev +# \ \ +# new --- new --- new -- newrev +# +# We should try and catch them--where the merge happened previously to +# them doing more work in the newrev commit. +# +# But if it looks like: +# +# * --- B --- * --- oldrev +# \ \ +# old --- new --- newrev +# +# Then they had a pre-shared branch that cannot be rebased and so they +# were correct in doing a merge to tie "old" and "oldrev" together. +# +# Also, we obviously have to be okay with: +# +# * --- * --- * --- oldrev --- new --- new --- newrev # Command line refname="$1" -- 2.39.5