====== Atualização para IFRN/17.2 - 06/2017 ====== Dados gerais ^ ^ ^ |Branch Criada no IFCE|%%atualizacao_ifrn_05_2017 %%| |Tag Base do IFRN |master| |Data de início da atualização|05/2017| |Tag criada|ifce2017_05_1| Pacotes (/opt/suap/deploy/requirements.txt) ===== Passo 1 ===== Comandos iniciais git checkout -b atualizacao_ifrn_06_2017 git remote add suapifrn http://gitlab.ifrn.edu.br/cosinf/suap.git ----------------------- ===== Passo 2 ===== Baixar as atualizações do IFRN git fetch suapifrn Username for 'https://gitlab.ifrn.edu.br':\\ Password for 'https://ifce@gitlab.ifrn.edu.br': \\ Git fetch From http://gitlab.ifrn.edu.br/cosinf/suap b30242c..caaafcf afastamento_parcial -> suapifrn/afastamento_parcial * [new branch] ajustes_140617 -> suapifrn/ajustes_140617 * [new branch] avaliacao_cursos -> suapifrn/avaliacao_cursos * [new branch] chamado-41329 -> suapifrn/chamado-41329 * [new branch] chamado-41403 -> suapifrn/chamado-41403 * [new branch] chamado_39251 -> suapifrn/chamado_39251 bdd8f0e..e7b8e92 compensa_ch -> suapifrn/compensa_ch * [new branch] corrigir-suap-enap -> suapifrn/corrigir-suap-enap dabf236..b7cb9cd dados_abertos -> suapifrn/dados_abertos * [new branch] dados_abertos_cenario_3 -> suapifrn/dados_abertos_cenario_3 * [new branch] demanda-11-almox -> suapifrn/demanda-11-almox 7c4e1a0..e85da17 demanda-155 -> suapifrn/demanda-155 51ed833..e63c606 demanda-191 -> suapifrn/demanda-191 * [new branch] demanda-255 -> suapifrn/demanda-255 * [new branch] demanda-95 -> suapifrn/demanda-95 * [new branch] demanda-96 -> suapifrn/demanda-96 * [new branch] demanda-96-almox-nota -> suapifrn/demanda-96-almox-nota 7f28d6c..3d48bbf demanda_1 -> suapifrn/demanda_1 79a9bb3..8d4e579 demanda_105 -> suapifrn/demanda_105 f4450c9..3d040cc demanda_165 -> suapifrn/demanda_165 * [new branch] demanda_191 -> suapifrn/demanda_191 * [new branch] demanda_207 -> suapifrn/demanda_207 * [new branch] demanda_24 -> suapifrn/demanda_24 * [new branch] demanda_258 -> suapifrn/demanda_258 055faf1..12b14ab demanda_44 -> suapifrn/demanda_44 * [new branch] demanda_58 -> suapifrn/demanda_58 * [new branch] edu-chamado-36062 -> suapifrn/edu-chamado-36062 * [new branch] edu-demanda-175 -> suapifrn/edu-demanda-175 * [new branch] edu-demanda-238 -> suapifrn/edu-demanda-238 * [new branch] edu-desfazer-encerramento-estagio-docente -> suapifrn/edu-desfazer-encerramento-estagio-docente * [new branch] edu-frequencia-periodo -> suapifrn/edu-frequencia-periodo * [new branch] edu-solange -> suapifrn/edu-solange * [new branch] edu-suap-enap -> suapifrn/edu-suap-enap * [new branch] edu_plano_ensino -> suapifrn/edu_plano_ensino 344253f..8b3f9c4 eventos -> suapifrn/eventos * [new branch] gitlab-test -> suapifrn/gitlab-test 2d2ece4..2c9f5b3 master -> suapifrn/master * [new branch] nome_registro_tela_aluno -> suapifrn/nome_registro_tela_aluno be8a1e6..9a5e7a3 opendata_csv -> suapifrn/opendata_csv * [new branch] planv2 -> suapifrn/planv2 * [new branch] processo_eletronico_1.1 -> suapifrn/processo_eletronico_1.1 839fc65..db74bcd rh-pessoa-unica -> suapifrn/rh-pessoa-unica * [new branch] saude_0506174 -> suapifrn/saude_0506174 * [new branch] saude_230517 -> suapifrn/saude_230517 * [new branch] security_fix -> suapifrn/security_fix * [new branch] siorg_solicitante_pcdp -> suapifrn/siorg_solicitante_pcdp * [new branch] suap-enap -> suapifrn/suap-enap * [new branch] suap-enap-correca-bugs -> suapifrn/suap-enap-correca-bugs * [new branch] suap-enap-demandas-luis -> suapifrn/suap-enap-demandas-luis * [new branch] suap-enap-erro-4 -> suapifrn/suap-enap-erro-4 * [new branch] suap-enap-macros -> suapifrn/suap-enap-macros * [new tag] 17.2 -> 17.2 ===== Passo 3 ===== Fazer o merge da tag "suapifrn/17.2" com a branch "atualizacao_ifrn_06_2017" do IFCE e resolver os conflitos. git merge 17.2 Saída: CONFLICT (rename/add): Rename initial_data_04_tipo_conferencia.json->documento_eletronico/fixtures/initial_data_04_tipo_conferencia.json in 17.2. documento_eletronico/fixtures/initial_data_04_tipo_conferencia.json added in HEAD Adding as documento_eletronico/fixtures/initial_data_04_tipo_conferencia.json~HEAD instead Auto-merging suap/urls.py CONFLICT (content): Merge conflict in suap/urls.py Auto-merging suap/settings_sample.py CONFLICT (content): Merge conflict in suap/settings_sample.py Auto-merging suap/settings_base.py CONFLICT (content): Merge conflict in suap/settings_base.py Auto-merging rh/views.py Auto-merging rh/urls.py CONFLICT (content): Merge conflict in rh/urls.py Auto-merging rh/templates/servidor.html Auto-merging rh/permissions.xml Auto-merging rh/importador.py Auto-merging rh/forms.py CONFLICT (content): Merge conflict in rh/forms.py Auto-merging rh/fixtures/initial_data_areaconhecimento.json Auto-merging rh/admin.py CONFLICT (content): Merge conflict in rh/admin.py Auto-merging protocolo/views.py Auto-merging protocolo/urls.py CONFLICT (content): Merge conflict in protocolo/urls.py Auto-merging protocolo/models.py Auto-merging protocolo/forms.py Auto-merging projetos/views.py Auto-merging projetos/forms.py Auto-merging processo_eletronico/views.py CONFLICT (content): Merge conflict in processo_eletronico/views.py Auto-merging processo_eletronico/templates/processo_eletronico/visualizar_minuta.html Removing processo_eletronico/templates/processo_eletronico/previa_dados_include.html Auto-merging processo_eletronico/templates/listar_minutas_adicionar.html Auto-merging ponto/webservice.py Auto-merging ponto/views.py Auto-merging ponto/forms.py Auto-merging planejamento/templates/relatorio/resumo_executivo.html CONFLICT (content): Merge conflict in planejamento/templates/relatorio/resumo_executivo.html Auto-merging planejamento/templates/relatorio/planoacao.html Auto-merging planejamento/templates/relatorio/detalhamento.html Auto-merging planejamento/templates/relatorio/avaliar_acoes.html Auto-merging planejamento/templates/acompanhamento_sistemico.html Auto-merging planejamento/templates/acompanhamento_execucao.html Auto-merging planejamento/models.py CONFLICT (content): Merge conflict in planejamento/models.py Auto-merging patrimonio/views.py Auto-merging patrimonio/templates/cautela.html Auto-merging patrimonio/templates/carga.html Auto-merging patrimonio/permissions.xml Auto-merging patrimonio/models.py CONFLICT (content): Merge conflict in patrimonio/models.py Auto-merging ldap_backend/utils.py Auto-merging ldap_backend/models.py CONFLICT (content): Merge conflict in ldap_backend/models.py Auto-merging frota/templates/viagens.html Auto-merging frota/templates/relatorio_viagens_por_motorista.html Auto-merging frota/models.py Auto-merging frota/admin.py Auto-merging estagios/models.py Auto-merging estagios/forms.py Auto-merging documento_eletronico/utils.py CONFLICT (content): Merge conflict in documento_eletronico/utils.py Removing documento_eletronico/tests/test_fluxo_documento_publico.py Removing documento_eletronico/tests/test_documento_base.py Removing documento_eletronico/tests/_test_fluxo_documento_sigiloso.py Removing documento_eletronico/tests/_test_fluxo_documento_restritivo.py Auto-merging documento_eletronico/permissions.xml Auto-merging documento_eletronico/menu.json CONFLICT (content): Merge conflict in documento_eletronico/menu.json Auto-merging documento_eletronico/fixtures/initial_data_03_modelo_documento.json Auto-merging documento_eletronico/fixtures/initial_data_02_tipo_documento.json Auto-merging djtools/utils.py Auto-merging djtools/templatetags/filters.py Removing djtools/seguranca/__init__.py Auto-merging djtools/html/calendarios/__init__.py Auto-merging djtools/formfields.py Auto-merging deploy/requirements.txt CONFLICT (content): Merge conflict in deploy/requirements.txt Auto-merging contratos/templates/pendencias.html Auto-merging contratos/models.py CONFLICT (content): Merge conflict in contratos/models.py Auto-merging comum/views.py CONFLICT (content): Merge conflict in comum/views.py Auto-merging comum/urls.py Auto-merging comum/templates/index.html Auto-merging comum/templates/gerenciamento_grupo.html CONFLICT (content): Merge conflict in comum/templates/gerenciamento_grupo.html Auto-merging comum/static/comum/css/estilo.css Auto-merging comum/permissions.xml Auto-merging comum/models.py Auto-merging comum/forms.py CONFLICT (content): Merge conflict in comum/forms.py Auto-merging comum/admin.py CONFLICT (content): Merge conflict in comum/admin.py Auto-merging chaves/webservice.py Auto-merging centralservicos/views.py CONFLICT (content): Merge conflict in centralservicos/views.py Auto-merging centralservicos/urls.py Auto-merging centralservicos/templates/selecionar_servico_abertura_chamado.html CONFLICT (content): Merge conflict in centralservicos/templates/selecionar_servico_abertura_chamado.html Auto-merging centralservicos/models.py Auto-merging centralservicos/forms.py Auto-merging centralservicos/admin.py Auto-merging almoxarifado/views.py Auto-merging almoxarifado/templates/tela_requisicoes_pendentes.html CONFLICT (content): Merge conflict in almoxarifado/templates/tela_requisicoes_pendentes.html Auto-merging almoxarifado/templates/tela_requisicao_detalhe.html Auto-merging almoxarifado/templates/material_historico.html CONFLICT (content): Merge conflict in almoxarifado/templates/material_historico.html Auto-merging almoxarifado/templates/form_requisicao_resposta.html Auto-merging almoxarifado/templates/entrada.html CONFLICT (content): Merge conflict in almoxarifado/templates/entrada.html Auto-merging almoxarifado/relatorio.py Auto-merging almoxarifado/models.py Auto-merging almoxarifado/menu.json CONFLICT (content): Merge conflict in almoxarifado/menu.json Auto-merging almoxarifado/admin.py Auto-merging ae/webservice.py CONFLICT (content): Merge conflict in ae/webservice.py Auto-merging ae/views.py CONFLICT (content): Merge conflict in ae/views.py Auto-merging .gitignore Automatic merge failed; fix conflicts and then commit the result. ----------------------- ===== Passo 4 ===== Rodar o sync CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0029_calendarioqacademico, 0030_auto_20170606_1519 in comum; 0012_requisicaoalmoxuser_observacoes, 0013_merge in almoxarifado; 0058_auto_20170603_0951, 0057_servico_publico_tipousuario in centralservicos). To fix them run 'python manage.py makemigrations --merge' Foi resolvido com: delete from django_migrations where app = 'processo_eletronico'; delete from django_migrations where app = 'documento_eletronico'; delete from django_migrations where app = 'comum' and name = '0029_calendarioqacademico'; delete from django_migrations where app = 'centralservicos' and name = '0057_servico_publico_tipousuario'; delete from django_migrations where app = 'centralservicos' and name = '0056_servico_requer_nome_mae in centralservicos'; delete from django_migrations where app = 'almoxarifado' and name = '0010_auto_20161124_1051'; delete from django_migrations where app = 'almoxarifado' and name = '0011_auto_20161128_1319'; delete from django_migrations where app = 'almoxarifado' and name = '0012_auto_20170117_1406'; delete from django_migrations where app = 'almoxarifado' and name = '0013_merge'; truncate processo_eletronico_processo_classificacoes, documento_eletronico_documento_classificacao, documento_eletronico_classificacao, documento_eletronico_modelodocumento_classificacao, processo_eletronico_tipoprocesso_classificacoes, documento_eletronico_documento, documento_eletronico_assinaturadocumento, documento_eletronico_compartilhamentodocumentopessoa, documento_eletronico_compartilhamentodocumentosetor, documento_eletronico_documentodigitalizado, documento_eletronico_documentotexto, documento_eletronico_previa, documento_eletronico_registroacaodocumento, documento_eletronico_solicitacaoassinatura, documento_eletronico_solicitacaorevisao, processo_eletronico_documentoprocesso, processo_eletronico_previaprocesso, documento_eletronico_assinaturadigital, documento_eletronico_assinaturasenha, documento_eletronico_assinaturaprevia; drop table processo_eletronico_processo_classificacoes, documento_eletronico_documento_classificacao, documento_eletronico_classificacao, documento_eletronico_modelodocumento_classificacao, processo_eletronico_tipoprocesso_classificacoes, documento_eletronico_documento, documento_eletronico_assinaturadocumento, documento_eletronico_compartilhamentodocumentopessoa, documento_eletronico_compartilhamentodocumentosetor, documento_eletronico_documentodigitalizado, documento_eletronico_documentotexto, documento_eletronico_previa, documento_eletronico_registroacaodocumento, documento_eletronico_solicitacaoassinatura, documento_eletronico_solicitacaorevisao, processo_eletronico_documentoprocesso, processo_eletronico_previaprocesso, documento_eletronico_assinaturadigital, documento_eletronico_assinaturasenha, documento_eletronico_assinaturaprevia; drop table documento_eletronico_cabecalhorodapecampus, documento_eletronico_compartilhamentosetorpessoa, documento_eletronico_compartilhamentosetorsetor, documento_eletronico_modelodocumento, documento_eletronico_tipoconferencia, documento_eletronico_tipodocumento; drop table processo_eletronico_anexacao, processo_eletronico_apensamento, processo_eletronico_apensamentoprocesso, processo_eletronico_comentarioprocesso; drop table processo_eletronico_historicoprocesso, processo_eletronico_processo, processo_eletronico_processo_interessados, processo_eletronico_registroacaoprocesso, processo_eletronico_solicitacaociencia, processo_eletronico_tipoprocesso, processo_eletronico_tramite; E depois: python manage.py migrate rh python manage.py sync