chiark / gitweb /
Merge remote-tracking branch 'mdw/mdw/convert-script'
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 30 Apr 2014 17:34:39 +0000 (18:34 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 30 Apr 2014 17:36:21 +0000 (18:36 +0100)
"iwj's original" 8298cc36e3a7eef91f722e7115ea8b5a9366fb55
is actually identical to 8e04e8e83b27a61d1471c81de5f8aabe29dda30a
apart from the .gitignore

Conflicts:
convert

convert

diff --git a/convert b/convert
index 60b19980f597c7607261b4d9a8e85c0eb797eb4b..78d4ac367d25b10e40de389875e275556586948a 100755 (executable)
--- a/convert
+++ b/convert
@@ -43,7 +43,7 @@ graftmergein () {
        local branchname=branch-$desc
        mkdir -p .git/info
        local branchtip=`git rev-parse $branchname~0`
-       local oldparents=`git-log -n1 --pretty=format:%P $mergecommit`
+       local oldparents=`git log -n1 --pretty=format:%P $mergecommit`
        cat <<END >>.git/info/grafts
 $2 $oldparents $branchtip
 END
@@ -92,8 +92,19 @@ cat >$tmp/msg-filter <<'FEND'
 perl -ne '
                $out .= $_;
        END {
+               if ($out =~ /\*\*\* empty log message/) {
+                       ($out = `git diff $ENV{GIT_COMMIT}^ $ENV{GIT_COMMIT} -- changelog`)
+                          =~ s/\A.*\n\@\@ /\@\@ /s;
+               }
+               if ($out !~ /\n.*\n/) {
+                       $out = `fmt <<'\''EOF'\''
+$out
+EOF
+`;
+               }
                if ($out =~ m/^\@\@/s &&
-                   $out =~ m/^(?:\+ )?[^\@ ].*\w.*$/m) {
+                   ($out =~ m/^\+(?!u?adns).*\w.*$/m ||
+                    $out =~ m/^\-(?!u?adns).*\w.*$/m)) {
                        print $&, "\n\n" or die $!;
                }
                print $out or die $!;
@@ -102,11 +113,11 @@ perl -ne '
 FEND
 chmod +x $tmp/msg-filter
 
-git-filter-branch --msg-filter $tmp/msg-filter \
-       `git-show-ref | awk '{print $2}'`
+git filter-branch --msg-filter $tmp/msg-filter \
+       `git show-ref | awk '{print $2}'`
 
-git-show-ref | awk '{print $2}' | grep '^refs/original/' \
-       | xargs -n1 git-update-ref -d
+git show-ref | awk '{print $2}' | grep '^refs/original/' \
+       | xargs -n1 git update-ref -d
 
 rm -rf $tmp/converted
 mkdir $tmp/converted