Running Kallithea on Windows

Angel Ezquerra ezquerra at gmail.com
Tue Feb 9 14:58:46 UTC 2016


Hi,

I am trying to setup Kallithea on a windows server and I have a few
questions. This email will be a bit long because I have many questions
and I'd like to give you some context first. If you want to just skip
to the questions you can find them below. But first, some context:

- Our main motivation to use Kallithea (at this point) is to gain the
ability to perform code reviews on our code.

- We also wonder if Kallithea might have better performance that the
existing "plain" mercurial server.

Our current setup is as follows:
- We have an Apache-based (WSGI) mercurial server, running on a
Windows Server machine.
    - The mercurial server is a "plain" mercurial server that we have
customized a bit:
        - We have added a header to every mercurial server web page,
containing links to our issue tracker and to our customized TortoiseHg
(we use the web.MOTD setting to do this).
        - The header also has a link to open a dialog to  create a
repository and also to create a "link" (an NTFS junction) to an
existing repository

- We have over 1.500 mercurial repositories, organized in multiple
directories (and directories within directories, etc). To give you an
idea, the root contains 27 directories (corresponding to several
groups, projects, etc)
    - Some of the repos are pretty big (hundreds of megabytes) as they
contain binary files (I have no control over this, unfortunately).
    - May of our repositories contain subrepos.
    - In order to avoid duplication and to share the same components
among multiple projects we often create "repository links", which are
NTFS junctions (akin to Unix soft links)
    - We found that with that many repositories it is not practical to
use mercurial's "recursive path" definitions (i.e. using "**") to let
the server find the repos. It is just way too slow. That is why
instead we keep a list of every repository on our server, which is
automatically updated when someone creates a new repository or link
through our custom dialogs, and also by a script that runs every 15
minutes (in case an admin creates a repository manually)

So now the questions:

1. Is it possible to configure Kallithea as a "code review" only tool,
disabling both push and, above all, pull access?

2. How well does Kallithea support subrepos? It seems that Kallithea
does not find subrepos when it scans for repositories, but maybe I
missed something...

3. How well would Kallithea coexist with our existing mercurial server
if they both pointed to the same repositories? That is, if we
configure Kallithea to look for repositories on the same location that
the existing mercurial server looks for them, would there be any
problems? In theory mercurial creates locks to avoid problems with
concurrent repository access. Should this work?
    - The reason I wonder this is that, at least for now, I'd rather
not replace our server with Kallithea, but add it as an alternative
interface. This would give people some time to tray it and give me
feedback.

4. Is there a way to configure the Kallithea interface, other than
manually modifying the HTML templates? In particular, is there a way
to add some sort of banner to every page server by Kallithea (to add
links to our issue tracker, our TortoiseHg installer, and so on)?
    - Also, is there a way to "brand" our server (e.g. adding our
company logo, changing the colors to our corporate colors, etc?)

5. How fast can we expect Kallithea to be with our environment (in
particular with the number of repositories that we have)?
    - Should we expect the "raw  Kallithea" server to perform well or
should we investigate integrating it with our Apache server, or
perhaps using some other server (ISS, etc)?

6. How is the code review information stored by Kallithea?
    - Can be exported somehow? Can it be copied into a new Kallithea server?

7. What would be the best way to run Kallithea as a service on
Windows? There might be some page that explains this. If so just let
me know.

Thanks a lot!

Angel


More information about the kallithea-general mailing list