Files
@ 631e8000eae8
Branch filter:
Location: kallithea/rhodecode/lib/dbmigrate/versions/004_version_1_3_0.py - annotation
631e8000eae8
3.1 KiB
text/x-python
diff parser: match the header order of hg diff --git patches
The output might look like:
diff --git a/A b/B
old mode 100644
new mode 100755
rename from A
rename to B
--- a/A
+++ b/B
Such files were shown as 'modified binary file chmod 100644 => 100755' without
diff.
Now the chmod and diff will be shown ... but still not the rename.
Correct parsing of headers do require a better parser - one do not just use a
regexp.
The output might look like:
diff --git a/A b/B
old mode 100644
new mode 100755
rename from A
rename to B
--- a/A
+++ b/B
Such files were shown as 'modified binary file chmod 100644 => 100755' without
diff.
Now the chmod and diff will be shown ... but still not the rename.
Correct parsing of headers do require a better parser - one do not just use a
regexp.
5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 72c525a7e7ad 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad fa6ba6727475 fa6ba6727475 5b2cf21b1947 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad cf51bbfb120e 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad fa6ba6727475 fa6ba6727475 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 72c525a7e7ad 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 5b2cf21b1947 | import logging
import datetime
from sqlalchemy import *
from sqlalchemy.exc import DatabaseError
from sqlalchemy.orm import relation, backref, class_mapper
from sqlalchemy.orm.session import Session
from rhodecode.lib.dbmigrate.migrate import *
from rhodecode.lib.dbmigrate.migrate.changeset import *
from rhodecode.model.meta import Base
log = logging.getLogger(__name__)
def upgrade(migrate_engine):
""" Upgrade operations go here.
Don't create your own engine; bind migrate_engine to your metadata
"""
#==========================================================================
# Add table `users_group_repo_group_to_perm`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserGroupRepoGroupToPerm
UserGroupRepoGroupToPerm().__table__.create()
#==========================================================================
# Add table `changeset_comments`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import ChangesetComment
ChangesetComment().__table__.create()
#==========================================================================
# Add table `notifications`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import Notification
Notification().__table__.create()
#==========================================================================
# Add table `user_to_notification`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserNotification
UserNotification().__table__.create()
#==========================================================================
# Add unique to table `users_group_to_perm`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserGroupToPerm
tbl = UserGroupToPerm().__table__
cons = UniqueConstraint('users_group_id', 'permission_id', table=tbl)
cons.create()
#==========================================================================
# Fix unique constrain on table `user_logs`
#==========================================================================
from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserLog
tbl = UserLog().__table__
col = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'),
nullable=False, unique=None, default=None)
col.alter(nullable=True, table=tbl)
#==========================================================================
# Rename table `group_to_perm` to `user_repo_group_to_perm`
#==========================================================================
tbl = Table('group_to_perm', MetaData(bind=migrate_engine), autoload=True,
autoload_with=migrate_engine)
tbl.rename('user_repo_group_to_perm')
return
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
|