Prepare git_update_version.py for real usage.
authorMartin Liska <mliska@suse.cz>
Thu, 21 May 2020 09:51:32 +0000 (11:51 +0200)
committerMartin Liska <mliska@suse.cz>
Thu, 21 May 2020 09:51:32 +0000 (11:51 +0200)
* gcc-changelog/git_update_version.py: Prepare the script, the
only missing piece is pushing of the updated branches.

contrib/ChangeLog
contrib/gcc-changelog/git_update_version.py

index d3251afb6e74051a00b3bd3979e2c3723d098af5..51541f141768f735c0e32b882ca69e6b4acff35c 100644 (file)
@@ -1,3 +1,8 @@
+2020-05-21  Martin Liska  <mliska@suse.cz>
+
+       * gcc-changelog/git_update_version.py: Prepare the script, the
+       only missing piece is pushing of the updated branches.
+
 2020-05-21  Martin Liska  <mliska@suse.cz>
 
        * gcc-changelog/git_commit.py: Support DR entries/
index f38e011df459e7f39c02611ade4ab83df85fa027..ee3989beb278a9def4c86f73025bedfb017706d5 100755 (executable)
@@ -24,8 +24,7 @@ from git import Repo
 
 from git_repository import parse_git_revisions
 
-# TODO: remove sparta suffix
-current_timestamp = datetime.datetime.now().strftime('%Y%m%d sparta\n')
+current_timestamp = datetime.datetime.now().strftime('%Y%m%d\n')
 
 
 def read_timestamp(path):
@@ -36,11 +35,9 @@ def prepend_to_changelog_files(repo, folder, git_commit):
     if not git_commit.success:
         for error in git_commit.errors:
             print(error)
-        # TODO: add error message
-        return
+        raise AssertionError()
     for entry, output in git_commit.to_changelog_entries(use_commit_ts=True):
-        # TODO
-        full_path = os.path.join(folder, entry, 'ChangeLog.test')
+        full_path = os.path.join(folder, entry, 'ChangeLog')
         print('writting to %s' % full_path)
         if os.path.exists(full_path):
             content = open(full_path).read()
@@ -73,9 +70,10 @@ for ref in origin.refs:
             branch = repo.branches[name]
         else:
             branch = repo.create_head(name, ref).set_tracking_branch(ref)
+        print('=== Working on: %s ===' % branch, flush=True)
         origin.pull(rebase=True)
         branch.checkout()
-        print('=== Working on: %s ===' % branch)
+        print('branch pulled and checked out')
         assert not repo.index.diff(None)
         commit = branch.commit
         commit_count = 1
@@ -90,9 +88,8 @@ for ref in origin.refs:
         datestamp_path = os.path.join(args.git_path, 'gcc/DATESTAMP')
         if read_timestamp(datestamp_path) != current_timestamp:
             print('DATESTAMP will be changed:')
-            # TODO: set strict=True after testing period
             commits = parse_git_revisions(args.git_path, '%s..HEAD'
-                                          % commit.hexsha, strict=False)
+                                          % commit.hexsha)
             for git_commit in reversed(commits):
                 prepend_to_changelog_files(repo, args.git_path, git_commit)
             # update timestamp
@@ -101,5 +98,7 @@ for ref in origin.refs:
             repo.git.add(datestamp_path)
             repo.index.commit('Daily bump.')
             # TODO: push the repository
+            # repo.git.push('origin', branch)
         else:
             print('DATESTAMP unchanged')
+        print('branch is done\n', flush=True)