Changeset - 415cc651bd83
[Not reviewed]
default
0 1 0
Thomas De Schampheleire - 7 years ago 2018-09-22 21:29:22
thomas.de_schampheleire@nokia.com
docs: upgrade: add section on updating git hooks

Commit 39bdf0ab2862 has changed the Git hooks. When upgrading Kallithea to
this commit, but not explicitly reinstalling the Git hooks, pushing to Git
repos will fail.

Add a section to the documentation to explain that a reinstall of the hooks
may be needed, and how to do it.
1 file changed with 20 insertions and 2 deletions:
0 comments (0 inline, 0 general)
docs/upgrade.rst
Show inline comments
 
@@ -128,70 +128,88 @@ Then compare it with your old config fil
 
First, run the following command to see your current database version::
 

	
 
    alembic -c my.ini current
 

	
 
Typical output will be something like "9358dc3d6828 (head)", which is
 
the current Alembic database "revision ID". Write down the entire output
 
for troubleshooting purposes.
 

	
 
The output will be empty if you're upgrading from Kallithea 0.3.x or
 
older. That's expected. If you get an error that the config file was not
 
found or has no ``[alembic]`` section, see the next section.
 

	
 
Next, if you are performing an *upgrade*: Run the following command to
 
upgrade your database to the current Kallithea version::
 

	
 
    alembic -c my.ini upgrade head
 

	
 
If you are performing a *downgrade*: Run the following command to
 
downgrade your database to the given version::
 

	
 
    alembic -c my.ini downgrade 0.4
 

	
 
Alembic will show the necessary migrations (if any) as it executes them.
 
If no "ERROR" is displayed, the command was successful.
 

	
 
Should an error occur, the database may be "stranded" half-way
 
through the migration, and you should restore it from backup.
 

	
 
Enabling old Kallithea config files for Alembic use
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 

	
 
Kallithea configuration files created before the introduction of Alembic
 
(i.e. predating Kallithea 0.4) need to be updated for use with Alembic.
 
Without this, Alembic will fail with an error like this::
 

	
 
    FAILED: No config file 'my.ini' found, or file has no '[alembic]' section
 

	
 
If Alembic complains specifically about a missing ``alembic.ini``, it is
 
likely because you did not specify a config file using the ``-c`` option.
 
On the other hand, if the mentioned config file actually exists, you
 
need to append the following lines to it::
 

	
 
    [alembic]
 
    script_location = kallithea:alembic
 

	
 
Your config file should now work with Alembic.
 

	
 

	
 
7. Rebuild the Whoosh full-text index
 
7. Update Git repository hooks
 
------------------------------
 

	
 
It is possible that an upgrade involves changes to the Git hooks installed by
 
Kallithea. As these hooks are created inside the repositories on the server
 
filesystem, they are not updated automatically when upgrading Kallithea itself.
 

	
 
To update the hooks of your Git repositories:
 

	
 
* Go to *Admin > Settings > Remap and Rescan*
 
* Select the checkbox *Install Git hooks*
 
* Click the button *Rescan repositories*
 

	
 
.. note::
 
    Kallithea does not use hooks on Mercurial repositories. This step is thus
 
    not necessary if you only have Mercurial repositories.
 

	
 

	
 
8. Rebuild the Whoosh full-text index
 
-------------------------------------
 

	
 
It is recommended that you rebuild the Whoosh index after upgrading since
 
new Whoosh versions can introduce incompatible index changes.
 

	
 

	
 
8. Start the Kallithea web application
 
9. Start the Kallithea web application
 
--------------------------------------
 

	
 
This step once again depends entirely on the web server software used to
 
serve Kallithea.
 

	
 
Before starting the new version of Kallithea, you may find it helpful to
 
clear out your log file so that new errors are readily apparent.
 

	
 
.. note::
 
    If you're using Celery, make sure you restart all instances of it after
 
    upgrade.
 

	
 

	
 
.. _virtualenv: http://pypi.python.org/pypi/virtualenv
0 comments (0 inline, 0 general)