]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'origin' of http://lilypond.org/vc/lilypond into master-hanwen
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 28 Oct 2006 23:14:51 +0000 (01:14 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 28 Oct 2006 23:14:51 +0000 (01:14 +0200)
Conflicts:

ChangeLog
buildscripts/git-update-changelog.py

ChangeLog
buildscripts/git-update-changelog.py
lily/grob.cc

index d408e7759b26fc189535ad18b78b78a57a5f7bc4..87844cc382fc99ba7134eb84808395a72ea43c40 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,29 +1,63 @@
-2006-10-28  Han-Wen Nienhuys   <hanwen@lilypond.org>
+2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
 
-       git commit 64179afe25bf5723fe9bb5a6631799c050d12de2
+       * buildscripts/git-update-changelog.py (main): write .msg and cvs command.
+
+       * scm/define-grobs.scm: 
+       separation-items have width
+       
+       * VERSION: 
+       bump version
+       
+       * .gitignore: 
+       * Documentation/topdocs/NEWS.tely: 
+       * lily/separating-group-spanner.cc: 
+       * lily/slur-engraver.cc: 
+       * lily/slur-scoring.cc: 
+       * scm/define-grobs.scm: 
+       * input/regression/slur-clef.ly:
+       add breakableSeparationItem to extra encompass for slurs. This
+       fixes slur/clef slur/key collisions etc. Should fix #49
        
+       * lily/include/slur-scoring.hh: 
+       * lily/slur-scoring.cc: 
+       Use X of separation item as slur start. Fixes #120
+
+2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * buildscripts/git-update-changelog.py (changelog_body): don't
+       write committishes.
+
+       * lily/grob.cc: add avoid-slur
+
+2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * emacsclient.patch: 
+       * server.el.patch: 
+       move server/emacsclient to elisp/
+
+       * buildscripts/git-update-changelog.py (Commit.note_del_file):
+       apply patches too
+
+       * elisp/server.el.patch: 
+       move emacs patches.
+
+       * elisp/emacsclient.patch: 
+       emacsclient too.
+
        * buildscripts/git-update-changelog.py: 
        ignore ChangeLog
 
-       git commit 614460c52e72c96824da0a583297123e510f6fff
-       
        * .gitignore: 
        update
 
-       git commit 6ca40e8913957dd9fa510855ae1c4efacde09603
-       
        * ChangeLog: 
        * buildscripts/git-update-changelog.py: 
        script to update ChangeLog with Git messages.
 
-       git commit ef70710d3cf52502900408aa1f55a2354ed4e8ab
-       
        * lily/beam-engraver.cc: 
        * input/regression/rest-pitched-beam.ly: 
        don't set callback if staff-position set. Fixes #126.
 
-       git commit 6dcaa230251aa4f95e4153bd4de021c65207b798
-       
        * lily/bar-number-engraver.cc: 
        * lily/beam.cc: 
        * lily/fingering-engraver.cc: 
        * lily/tie.cc: 
        internal_get_property_data() using ly_symbol2scm()
 
-       git commit 914e47b38f98b87c2622a5bbd8237ca97f97da34
-       
        * stepmake/stepmake/generic-targets.make: 
        create .gitignore in outdir.
 
-       git commit 122da86232bb745d50cddbd893e3cc48c3af6216
-       
        * .gitignore: 
        new file.
 
 
 2006-10-26  Graham Percival  <gpermus@gmail.com>
 
-       * Documentation/user/ {basic-, global}: minor changes from mailist.
+       * Documentation/user/{basic-, global}: minor changes from mailist.
 
 2006-10-26  Erlend Aasland  <erlenda@gmail.com>
 
        * flower/include/std-vector.hh
        * flower/include/array.hh (concat): Globally change to insert ().
 
-       
        * flower/include/std-vector.hh
        * flower/include/parray.hh
        * flower/include/array.hh (elem, elem_ref): Globally replace by
        * lily/staff-performer.cc (initialize): add tempo/name to
        audio_staff_
 
-
 2005-08-26  Graham Percival  <gpermus@gmail.com>
 
        * Documentation/user/advanced.itely: add text-only example.
index a2c3e5356ee28645afef542873a5c62d989b2065..d1492cf5d882d74204499bb94a428d7370f30c80 100644 (file)
@@ -1,5 +1,6 @@
 #!/usr/bin/python
 
+import sys
 import time
 import os
 import re
@@ -8,6 +9,12 @@ import optparse
 def read_pipe (x):
     print 'pipe', x
     return os.popen (x).read ()
+def system (x):
+    print x
+    return os.system (x)
+    
+class PatchFailed(Exception):
+    pass
 
 class Commit:
     def __init__ (self, dict):
@@ -16,34 +23,51 @@ class Commit:
                   'author',
                   'committish'):
             self.__dict__[v] = dict[v]
-
-        # Sat Oct 28 18:52:30 2006 +0200
         
         self.date = ' '.join  (self.date.split (' ')[:-1])
         self.date = time.strptime (self.date, '%a %b %d %H:%M:%S %Y')
-
+        
         m = re.search ('(.*)<(.*)>', self.author)
-        self.email = m.group (2)
-        self.name = m.group (1)
-
+        self.email = m.group (2).strip ()
+        self.name = m.group (1).strip ()
+        self.diff = read_pipe ('git show %s' % self.committish)
+        
     def touched_files (self):
-
         files = []
         def note_file (x):
             files.append (x.group (1))
             return ''
-            
-        diff = read_pipe ('git show %s' % self.committish)
+
         re.sub ('\n--- a/([^\n]+)\n',
-                note_file, diff)
+                note_file, self.diff)
         re.sub('\n--- /dev/null\n\\+\\+\\+ b/([^\n]+)',
-               note_file, diff)
+               note_file, self.diff)
 
         return files
 
-def parse_commit_log (log):
-    print log
+    def apply (self, add_del_files):
+        def note_add_file (x):
+            add_del_files.append (('add', x.group (1)))
+            return ''
+        
+        def note_del_file (x):
+            add_del_files.append (('del', x.group (1)))
+            return ''
+        
+        re.sub('\n--- /dev/null\n\\+\\+\\+ b/([^\n]+)',
+               note_add_file, self.diff)
+        
+        re.sub('\n--- a/([^\n]+)\n\\+\\+\\+ /dev/null',
+               note_del_file, self.diff)
+
+        p = os.popen ('patch -f -p1 ', 'w')
+        p.write (self.diff)
+
+        if p.close ():
+            raise PatchFailed, self.committish
+        
     
+def parse_commit_log (log):
     committish = re.search ('^([^\n]+)', log).group (1)
     author = re.search ('\nAuthor:\s+([^\n]+)', log).group (1)
     date_match = re.search ('\nDate:\s+([^\n]+)', log)
@@ -67,6 +91,7 @@ def parse_add_changes (from_commit):
         return []
         
     commits = map (parse_commit_log, re.split ('\ncommit ', log))
+    commits.reverse ()
     
     return commits
 
@@ -76,44 +101,43 @@ def header (commit):
 
 def changelog_body (commit):
 
-    s = ''
-    s += "\ngit commit %s\n" % commit.committish    
     s += ''.join ('\n* %s: ' % f for f in commit.touched_files())
     s += '\n' + commit.message
     
     s = s.replace ('\n', '\n\t')
     s += '\n'
     return s
-        
-def find_last_checked_in_commit (log):
-    m = re.match ('^(\\d+-\\d+-\\d+)[^\n]+\n*\tgit commit ([a-f0-9]+)', log)
-    
-    if m:
-        return (m.group (1), m.group (2))
-
-    return None
-
-
-
 
 def main ():
-    p = optparse.OptionParser ("usage git-update-changelog.py --options")
+    p = optparse.OptionParser (usage="usage git-update-changelog.py [options]",
+                               description="""
+Apply GIT patches and update change log.
+
+Run this file from the CVS directory, with --git-dir 
+""")
     p.add_option ("--start",
                   action='store',
                   default='',
                   dest="start",
                   help="start of log messages to merge.")
+    
+    p.add_option ("--git-dir",
+                  action='store',
+                  default='',
+                  dest="gitdir",
+                  help="the GIT directory to merge.")
 
     (options, args) = p.parse_args ()
     
     log = open ('ChangeLog').read ()
 
     if not options.start:
-        (time, id) = find_last_checked_in_commit (log)
-        options.start = id
-
-        print 'processing commits from ', id, options.start
+        print 'Must set start committish.'  
+        sys.exit (1)
 
+    if options.gitdir:
+        os.environ['GIT_DIR'] = options.gitdir
+     
     commits = parse_add_changes (options.start)
     if not commits:
         return
@@ -124,8 +148,17 @@ def main ():
     first = header (commits[0]) + '\n'
     if first == log[:len (first)]:
         log = log[len (first):]
+
+    file_adddel = []
+    final_log = ''
     
     for c in commits:
+        print 'patch ', c.committish
+        try:
+            c.apply (file_adddel)
+        except PatchFailed:
+            break
+        
         if c.touched_files () == ['ChangeLog']:
             continue
         
@@ -135,19 +168,32 @@ def main ():
 
             new_log += header (last_commit)
 
-        new_log += changelog_body (c)  
+        new_log = changelog_body (c)  + new_log
         last_commit = c
+
+        final_log += self.message + '\n'
         
+        
+    for (op, f) in file_adddel:
+        if op == 'del':
+            system ('cvs remove %(f)s' % locals ())
+        if op == 'add':
+            system ('cvs add %(f)s' % locals ())
+
     new_log = header (last_commit) + new_log + '\n'
 
     log = new_log + log
+
     try:
         os.unlink ('ChangeLog~')
-    except IOError:
+    except OSError:
         pass
     
     os.rename ('ChangeLog', 'ChangeLog~')
     open ('ChangeLog', 'w').write (log)
+
+    open ('.msg','w').write (final_log)
+    print 'cvs commit -F .msg '
     
 main ()
     
index ecbaa74a579dbb3f603c26a5293c153c2097fe6e..28f665138cae691ac2bcd883e3be668ec63f0b08 100644 (file)
@@ -607,6 +607,7 @@ ADD_INTERFACE (Grob, "grob-interface",
               "Y-extent "
               "Y-offset "
               "after-line-breaking "
+              "avoid-slur "
               "axis-group-parent-X "
               "axis-group-parent-Y "
               "before-line-breaking "