overleaf/services/git-bridge
Marc Egea i Sala 61a5c5870c Support for anonymous saved versions
This fixes a case when de API sends a version without user. There was a
bug allowing to create anonymous versions in the application and we
have to support the old data.

The problem here is that SnapshotInfo classes are inflated from json
via Gson. This method does not call any constructor and, since the json
does not include the ‘user’ key, the bridge crashes because we’re not
expecting null users.

I’m not happy with this fix, but is the minimum solution that does not
affect anything else.
2015-09-25 16:15:37 +01:00
..
.idea Joda-Time for ISO6801 timestamps. 2015-03-09 21:38:53 +00:00
bin (fix #9) Fix start-stop-daemon call by removing --name option. 2015-02-21 01:43:21 +00:00
src Support for anonymous saved versions 2015-09-25 16:15:37 +01:00
.gitignore Modifications to install script and deleted betamax jars. 2015-01-09 07:43:12 +00:00
install Took the sudo back out again. 2015-01-11 17:38:31 +00:00
LICENSE Initial commit 2014-11-01 16:02:22 +00:00
pom.xml Initial large refactor. 2015-03-09 22:41:55 +00:00
README.md Updated readme. 2015-01-10 12:55:57 +00:00
reinstall Took the sudo back out again. 2015-01-11 17:38:31 +00:00
uninstall Added reinstall script and changed script names. 2015-01-10 09:07:37 +00:00
writelatex-git-bridge.iml Joda-Time for ISO6801 timestamps. 2015-03-09 21:38:53 +00:00

writelatex-git-bridge

Required

  • maven (for building)
  • jdk-7 (for compiling and running)

Installation

Ubuntu

Run ./install to get dependencies, build, test, package, and make it a service.

Use sudo service wlgb start and sudo service wlgb stop to start and stop the server.

The configuration file will be at /etc/wlgb/config.json.

Run ./reinstall to test, package and install the current version if ./install has already been run.

Run ./uninstall to undo what ./install did.

Manually

Run mvn package to build, test, and package it into a jar at target/writelatex-git-bridge-1.0-SNAPSHOT-jar-with-dependencies.jar.

Use java -jar <path_to_jar> <path_to_config_file> to run the server.

Runtime Configuration

The configuration file is in .json format. There is an example at bin/config.json.

{
    "port" (int): the port number,
    "rootGitDirectory" (string): the directory in which to store git repos and the db/atts,
    "apiBaseUrl" (string): base url for the snapshot api,
    "username" (string, optional): username for http basic auth,
    "password" (string, optional): password for http basic auth,
    "postbackBaseUrl" (string): the postback url,
    "serviceName" (string): current name of writeLaTeX in case it ever changes
}

You have to restart the server for configuration changes to take effect.