Commit graph

681 commits

Author SHA1 Message Date
Jakob Ackermann
5040b4d7f0 [WLGitBridgeIntegrationTest] ensure that we stop the started servers
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-04-26 23:56:47 +02:00
Shane Kilkelly
c3308e565b Add git, make, and curl to docker image 2019-04-26 15:29:44 +01:00
Jakob Ackermann
a517c15053 [docker] include the LICENSE file in the image
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-04-17 23:10:08 +02:00
Jakob Ackermann
2ebae69044 [docker] build the git-bridge in docker
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-04-17 13:45:21 +02:00
Jakob Ackermann
85a8e377fc [docker] use a base image that already contains maven and openjdk
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-04-17 11:21:41 +02:00
Shane Kilkelly
8f72cb89c8 Reject v1 ids earlier in the pipeline 2019-03-08 11:45:31 +00:00
Shane Kilkelly
788fad5ce7 Remove a deprecated method, no longer compatible with JGit 5.2 2019-03-06 11:43:27 +00:00
Shane Kilkelly
600aa8d9cf Do mvn clean before build.
We've had build issues be hidden by caching. So we should build from
clean each time, in immitation of the prod build process.
2019-03-06 11:41:59 +00:00
Shane Kilkelly
c1e7969342 Revert "Revert "Upgrade JGit dependency to 5.2.1""
This reverts commit 42b5a32670e43b307ec2b0a34380e373b16be1fe.
2019-03-06 10:59:40 +00:00
Shane Kilkelly
0943248334 Revert "Upgrade JGit dependency to 5.2.1"
This reverts commit c0d9fb961396aa285e7ebf563b707c9fb299776c.
2019-03-06 10:31:07 +00:00
Shane Kilkelly
6d9e8d38e9 Merge pull request #53 from overleaf/sk-refuse-v1-ids
Refuse to process project-ids that look like they come from v1
2019-03-06 10:17:17 +00:00
Shane Kilkelly
a517035e2c Refuse to process project-ids that look like they come from v1 2019-03-06 10:16:55 +00:00
Shane Kilkelly
845397639e Upgrade JGit dependency to 5.2.1 2019-03-04 10:15:34 +00:00
Shane Kilkelly
0f130096a2 Increase postback timeout to six minutes, to help users posting large payloads 2019-01-15 10:52:30 +00:00
Shane Kilkelly
4dc140aced Add integration test to cover imported-but-not-changed projects 2019-01-10 10:21:31 +00:00
Shane Kilkelly
4f1168a590 Add comments pointing to github issue 2019-01-09 14:24:04 +00:00
Shane Kilkelly
b8d252244c Tolerate case where there is no latest version timestamp in version info 2019-01-09 12:23:26 +00:00
Shane Kilkelly
ba8ba001d6 Fetch snapshots in edge-case where version-id is zero 2019-01-09 12:23:00 +00:00
Shane Kilkelly
779778fdb1 Use newUrl if supplied when v1 is deprecated 2019-01-08 09:47:01 +00:00
Shane Kilkelly
0d0c5458dd Handle when v1 is deprecated, print a message instead of an error 2019-01-07 11:54:44 +00:00
Shane Kilkelly
40add6985f Remove override of connect timeout 2018-12-17 09:39:19 +00:00
Shane Kilkelly
2195af88dd Set timeouts on Post requests too 2018-12-14 16:34:48 +00:00
Shane Kilkelly
46904bfe73 Set timeouts on http requests to 3 minutes, up from the default of 20 seconds. 2018-12-14 16:13:58 +00:00
Shane Kilkelly
0bc82e6936 Merge pull request #46 from overleaf/sk-increase-push-timeout
Change push timeout to three minutes
2018-12-14 09:46:46 +00:00
Shane Kilkelly
9ee39ae930 Wrap the generic repository-missing message correctly
Now appears to the client as:

```
fatal: remote error: no git access
This Overleaf project currently has no git access, either because
the project does not exist, or because git access is not enabled
for the project.
```
2018-12-13 12:37:42 +00:00
Shane Kilkelly
abcaf8242e Include message along with error description lines 2018-12-13 12:37:21 +00:00
Shane Kilkelly
a766482a00 Remove stray import 2018-12-13 12:37:09 +00:00
Shane Kilkelly
bf7be6071d Handle GitUserException, with multiple lines of output 2018-12-13 11:41:07 +00:00
Shane Kilkelly
2f18feb136 Keep the default constructor for MissingRepositoryException 2018-12-13 11:40:08 +00:00
Shane Kilkelly
27e1152095 Fix wording of the generic-error when a repository is missing 2018-12-13 10:34:09 +00:00
Shane Kilkelly
a72146aa8d Better report to user on push timeout 2018-12-12 10:38:26 +00:00
Shane Kilkelly
3f85dc80f4 When user clone/pull/etc a project which doesn't exist, print a nice message
The old behaviour was to just show an equivalent of a 500 error.
This way, we catch the 404 from the API, and print an appropriate message
to the user.
2018-12-11 12:35:21 +00:00
Shane Kilkelly
c435eccc43 Change push timeout to three minutes 2018-12-11 09:24:09 +00:00
Shane Kilkelly
d22d5829bb Remove redundant try/catch around directory copy operation 2018-12-06 09:45:07 +00:00
Shane Kilkelly
67d365e661 Remove commas because grammer 2018-12-06 09:40:09 +00:00
Shane Kilkelly
6b8101d278 Init the new repo from existing repository, avoid creating files then deleting 2018-12-05 16:54:58 +00:00
Shane Kilkelly
8cb715014c More concise handling of optional migratedFromId in test 2018-12-05 15:00:00 +00:00
Shane Kilkelly
709cb0887c Remove old constructor without the migratedFromId param 2018-12-05 14:59:41 +00:00
Shane Kilkelly
925ebc2133 Check project state inside the lock 2018-12-05 14:58:51 +00:00
Shane Kilkelly
439d55d805 Update wording of the change-your-remote message shown to user 2018-12-05 10:42:58 +00:00
Shane Kilkelly
007dfe1420 Change new_remote to newRemote 2018-12-04 10:43:48 +00:00
Shane Kilkelly
8005ebf5d0 Remove test exception 2018-12-04 10:14:39 +00:00
Shane Kilkelly
c0b52c5851 Add 'please' to message shown to client for migrated project 2018-12-03 11:53:34 +00:00
Shane Kilkelly
326d0a0722 When a repo has migrated to v2, print message about updating remote 2018-12-03 11:49:06 +00:00
Shane Kilkelly
c553094a60 Add a test for when migrated-from project is not present 2018-12-03 10:13:10 +00:00
Shane Kilkelly
aa267a59da fix whitespace 2018-11-30 16:13:33 +00:00
Shane Kilkelly
267d324870 Alter the classloader workaround, and leave link to SO page describing the problem 2018-11-30 15:21:48 +00:00
Shane Kilkelly
dd2e9b6945 More closely match the semantics of projectExists 2018-11-29 11:39:56 +00:00
Shane Kilkelly
f852cd603d Use FileUtils to handle copying of migrated repository 2018-11-29 11:39:30 +00:00
Shane Kilkelly
1a646d3fd0 Add an integration test for migrating repository 2018-11-29 10:22:22 +00:00
Shane Kilkelly
8bdf7031c5 Fix log line 2018-11-28 14:17:30 +00:00
Shane Kilkelly
245cd67a39 Fix tests 2018-11-27 16:24:50 +00:00
Shane Kilkelly
b061608124 Re-instate tests 2018-11-27 16:24:40 +00:00
Shane Kilkelly
a524bfbac1 Minor cleanup 2018-11-27 16:07:42 +00:00
Shane Kilkelly
66fa946cb8 set timestamp on new record too 2018-11-27 16:07:26 +00:00
Shane Kilkelly
4f3021cca1 Speculative solution 2018-11-27 11:35:22 +00:00
Shane Kilkelly
19075f18bc Add migratedFromID property to GetDocResult 2018-11-22 12:01:28 +00:00
Shane Kilkelly
51957ab78b Update api base url 2018-11-12 11:23:04 +00:00
Shane Kilkelly
cf31ccbea0 Update to account for dev-env changes 2018-11-06 13:55:58 +00:00
Shane Kilkelly
d6c509496c Fix postback url 2018-10-25 15:27:22 +01:00
Shane Kilkelly
ad5515953b Add oauth-app sql to readme 2018-10-25 14:56:42 +01:00
Shane Kilkelly
b6a44fdd33 Add local conf file, for dev environment 2018-10-25 14:48:48 +01:00
Shane Kilkelly
f898f43b4e Correct instructions for starting service 2018-10-25 11:30:17 +01:00
Shane Kilkelly
ceb8d8ad16 Update readme with instructions on how to set up with dev-env 2018-10-25 11:28:19 +01:00
Shane Kilkelly
394fd17dfa Working docker setup 2018-10-15 11:06:18 +01:00
Shane Kilkelly
a1ac1bf17f Fix makefile, seems to work now 2018-10-08 10:57:20 +01:00
Shane Kilkelly
9ba5517915 Add git to docker packages 2018-10-08 10:41:26 +01:00
Shane Kilkelly
33dbbe49ff Add makefile and basic dockerfile 2018-10-08 10:36:20 +01:00
Michael Walker
b91390c025 Fix gc job leak in tests 2018-03-09 11:25:01 +00:00
Michael Walker
b5e7327410 Fix swap job leak in tests 2018-03-09 11:16:51 +00:00
Michael Walker
86f60519a1 Queue a garbage collection after generating commits 2018-03-09 11:12:54 +00:00
Michael Walker
3f1eb2b0c3 Revert "Revert "Update dependencies to latest stable versions"" 2018-02-27 11:51:02 +00:00
Michael Walker
e68271747b Revert "Update dependencies to latest stable versions" 2018-02-27 11:46:28 +00:00
Michael Walker
e81931ef35 Merge pull request #40 from overleaf/msw-delete-temp-files
Small code improvements around temporary files
2018-02-27 11:16:57 +00:00
Michael Walker
513e83fa00 Clean up temporary file if tarTo raises an exception 2018-02-26 16:30:08 +00:00
Michael Walker
ddc524b588 Log an error if a DeletingFileInputStream is open at finalization 2018-02-26 14:48:18 +00:00
Michael Walker
55cb41f5b2 Use DeletingFileInputStream in tar method 2018-02-26 14:19:02 +00:00
Michael Walker
a627c7e9b3 Drop use of deprecated interface 2018-02-09 16:01:05 +00:00
Michael Walker
9bb7576f0b Replace com.ning/async-http-client with new package
Notice at:
https://github.com/ning/async-http-client
2018-02-09 16:00:58 +00:00
Michael Walker
7a01c054da Replace commons-lang/commons-lang with new package
Notice at:
https://mvnrepository.com/artifact/commons-lang/commons-lang
2018-02-09 14:45:18 +00:00
Michael Walker
c2b8e09f58 Update dependencies 2018-02-09 14:44:41 +00:00
Michael Walker
016281df3d Update test dependencies 2018-02-09 11:52:38 +00:00
Michael Walker
88d2a9523f Update maven plugins 2018-02-09 11:52:32 +00:00
Michael Walker
8b32084c5b Add links to mvnrepository for all dependencies 2018-02-09 11:47:42 +00:00
Michael Walker
c5e184f7cc Make mockito-core a test dependency 2018-02-09 11:38:19 +00:00
Michael Walker
1ca63e1ba1 Return a generic summary from MissingRepositoryException.getMessage 2018-02-07 14:25:04 +00:00
Michael Walker
4c237e84f5 Rename disabled project test 2018-02-07 13:27:31 +00:00
Michael Walker
25ccfe28fe Rename protected project test 2018-02-07 13:27:19 +00:00
Michael Walker
77e3bc0d3b Remove unused constructor 2018-02-07 13:01:41 +00:00
Michael Walker
647cf24bb6 Use a List<String> rather than hard-coding newlines 2018-02-07 10:39:26 +00:00
Michael Walker
63e28fede1 Enable the "cannot clone a protected project" test 2018-02-07 10:10:16 +00:00
Michael Walker
994ad9a933 410 is no longer "disabled" 2018-02-07 10:10:09 +00:00
Michael Walker
bd8e8688c3 Make GENERIC_REASON consistent with web messages. 2018-02-07 10:06:28 +00:00
Michael Walker
f13324134f Give 'unauthorized' and 'missing' better names 2018-02-07 09:39:35 +00:00
Michael Walker
44d3ddd9aa Display a more specific message for v2 projects 2018-02-06 15:06:49 +00:00
Michael Walker
3a374e0ba7 Send the MissingRepositoryException message to the client 2018-02-06 14:23:21 +00:00
Michael Walker
82c0873743 Report all 4xx from write-latex API as MissingRepositoryException 2018-02-06 14:23:21 +00:00
Michael Walker
6ae6acd826 Rename DisabledRepositoryException to MissingRepositoryException 2018-02-06 14:23:21 +00:00
Michael Walker
5e08f6f5c6 Add a test for cloning disabled projects 2018-02-05 16:11:45 +00:00
Michael Walker
20a748f14e Explain to the user that their project is inaccessible 2018-02-05 13:35:58 +00:00
Michael Walker
8b4c29ec83 Throw an exception if the API returns 410 2018-02-05 12:16:09 +00:00
Winston Li
90e3417aec Add tests for UrlResourceCache content lengths 2018-01-17 09:47:31 +00:00
Winston Li
6c71c2cb97 Add ning http headers class 2018-01-17 09:47:31 +00:00
Winston Li
34e558ab63 Create noop db store and test file 2018-01-17 09:47:31 +00:00
Winston Li
4e7636c94a Decouple http client from UrlResourceCache 2018-01-17 09:47:31 +00:00
Winston Li
ae65212f19 Create http client facade 2018-01-17 09:47:31 +00:00
Winston Li
11ee9c62a3 Update README for repoStore option 2018-01-17 09:46:40 +00:00
Michael Walker
1e4ef0cc5b Fully implement max file size
- add `repoStore.maxFileSize` key to config
- use maxFileSize in ResourceCache on both header path and blob
  download path
- make failures during commit less fragile
2018-01-17 09:46:40 +00:00
John Lees-Miller
72f8fb553c Fix typos 2018-01-16 18:30:17 +00:00
Winston Li
6b94fcf1b4 Decouple Bridge from network, JGit from disk 2018-01-15 11:56:04 +00:00
Michael Walker
918e3d9975 Remove an unneeded import 2018-01-15 11:56:04 +00:00
Michael Walker
e437c14d72 Refactor ResourceFetcherTest 2018-01-15 11:56:04 +00:00
Michael Walker
1f35b6dec3 Raise an error if files exceed the max file size 2018-01-15 11:39:29 +00:00
Winston Li
806002f273 Path was static instead of final 2017-09-20 08:20:16 +01:00
Winston Li
705b88933c Fix log message 2017-09-20 08:20:16 +01:00
Michael Mazour
976419b2d2 More logging fields for unauthorized requests
When a request requires authentication, log username, IP address, and the status code returned by the auth attempt. Previously logged projectName only.
2017-09-08 10:15:45 +01:00
Michael Mazour
a3a41640b9 Merge pull request #26 from overleaf/custom-error-page
Simple Error Page to Replace Default
2017-09-06 06:53:57 +01:00
hugh-obrien
d9e368ac35 Add a JSON response instead of default error page
Use custom error handler instead of default that leaks server info.

- Use in API context
- Use in default/web context
- Add tests
2017-09-05 13:32:23 +01:00
Winston Li
f9307c7110 Check file size on tar input path and use stream copying instead of buffering fully 2017-08-02 21:40:00 +01:00
Winston Li
045eea8282 Add messages to precondition checks 2017-08-02 20:58:26 +01:00
Winston Li
fd743d1bf3 Fix #3705 2017-08-02 20:58:15 +01:00
Winston Li
ad687e5f58 Add failing test for #3705 2017-08-02 20:51:20 +01:00
Michael Walker
ced34d91d4 Delete temporary files created by Tar on close
The SwapJob creates temporary files indirectly through Tar.bz2.zip.
These files are deleted with File.deleteOnExit, but there is no other
deletion mechanism.  This means that temporary files will build up as
the git bridge runs, only being deleted when the JVM finally
terminates.

Instead, we can delete these temporary files as soon as they are no
longer needed.  The files are wrapped in a FileInputStream and not
directly exposed, so we can simply delete the underlying file when the
stream is closed, as then the file is inaccessible.
2017-07-14 12:08:50 +01:00
Winston Li
21b769170d Minor name change to keep swap job / s3 decoupled 2017-04-04 13:09:43 +01:00
Winston Li
5dcc4128b4 Remove sleep and reset jgit version 2017-02-17 15:57:09 +00:00
Winston Li
ee61d72e2e Implementation and tests of GC, GcJob, S3 files 2017-02-17 13:44:11 +00:00
Winston Li
8a8d308365 Remove old printing from failing test 2017-02-16 09:16:51 +00:00
Winston Li
f29c7395d2 Tests: fix config for git init and factor all git commands into method calls 2017-01-05 14:34:03 +00:00
Winston Li
034c064c25 Fix for zip unzip test 2017-01-05 13:21:15 +00:00
Winston Li
af49325b88 Make submodule test more verbose 2017-01-04 22:35:48 +00:00
Winston Li
9c63f06d4e Change InvalidGitRepository message 2016-12-22 13:40:12 +00:00
Winston Li
6d563ed40e Better javadoc, improve handling of submodules 2016-12-19 12:56:58 +00:00
Winston Li
76eb0a3200 Improve javadoc and logging 2016-12-17 16:09:01 +00:00
Winston Li
d3fd17aab5 Improve javadocs around swapping/repos 2016-12-17 15:20:08 +00:00
Winston Li
25a988daa3 Add JavaDoc, minor refactor 2016-10-09 21:13:11 +01:00
Winston Li
c23c11973a Add test confirming the dangling meta char exception is not thrown anymore (fix #1025) 2016-10-09 08:47:57 +01:00
Winston Li
d3eb737120 Ignore .gitignore files on git.overleaf.com repos (fix #1281) 2016-10-08 16:12:20 +01:00
Winston Li
a8bad0539c Create/delete larger files in df test 2016-09-19 10:07:46 +01:00
Winston Li
fe058e8695 Use df equivalent as default for calculating used space 2016-09-19 10:01:07 +01:00
Winston Li
9a0f18e516 Increase postback timeout to 60s 2016-09-19 09:34:45 +01:00
Winston Li
e9ffcfe19e Remove extra comma 2016-09-12 15:42:18 +01:00
Winston Li
00d512725a Fix "evicated" typo 2016-09-12 15:16:20 +01:00
Winston Li
9b78138314 Remove duplicate call to create the last_accessed index 2016-09-12 15:13:55 +01:00
Winston Li
a8c743cb9c Schedule next swap job after previous job finishes 2016-09-12 15:11:56 +01:00
Winston Li
d6f3682df4 Update README about running tests 2016-09-12 14:27:00 +01:00
Winston Li
d225b8cbd9 Add New Relic stuff 2016-09-06 09:13:34 +01:00
Winston Li
95a7cb2b8b Add check for last_accessed column in case adding failed due to an error rather than because it already exists 2016-09-06 09:13:20 +01:00
Winston Li
5c878ccc70 Put files in directories that weren't commited 2016-09-06 09:13:09 +01:00
Winston Li
ea803b53d8 Remove swap table and put last_accessed column in projects 2016-09-06 09:11:53 +01:00
Winston Li
2cdf254830 README formatting 2016-09-06 09:11:32 +01:00
Winston Li
a7ba5ef59b Ignore .idea and *.iml again. 2016-09-06 09:11:32 +01:00
Winston Li
523ea5139e Update example conf and README 2016-09-06 09:11:32 +01:00
Winston Li
eb77d166e2 Add checkDB to upgrade the DB 2016-09-06 09:11:32 +01:00
Winston Li
52e5d2921f Sanitise s3 info and fix for s3 2016-09-06 09:11:32 +01:00
Winston Li
9936fbe3c9 Implement and test the swap job, and add integration test 2016-09-06 09:11:32 +01:00
Winston Li
dd5694104d Delete the SnapshotRepositoryBuilder and WLBridgedProject abominations. Set accessed time after update and push. 2016-09-06 09:11:32 +01:00
Winston Li
c459cd57af Implement and test SwapJobImpl 2016-09-06 09:11:32 +01:00
Winston Li
a595acd0a6 Add and test GetNumProjects 2016-09-06 09:11:32 +01:00
Winston Li
4b014826d3 Add and test InMemorySwapStore 2016-09-06 09:11:32 +01:00
Winston Li
f036ff2c8b Add and test an SQL update for only setting a project's last_accessed if it's missing 2016-09-06 09:11:32 +01:00
Winston Li
9d19cdd261 Implement and test DBStore swap_table functionality 2016-09-06 09:11:32 +01:00
Winston Li
d2b628d904 Move stuff to bridge package 2016-09-06 09:11:32 +01:00
Winston Li
f3eb32e2ec Catch more exceptions in db init 2016-09-06 09:11:32 +01:00
Winston Li
cfc02bbcc8 Remove DB fluff layer 2016-09-06 09:11:32 +01:00
Winston Li
c3609803c0 Change DBStore to target a file 2016-09-06 09:11:32 +01:00
Winston Li
25fea8ef58 Implement bz2 support and test 2016-09-06 09:11:32 +01:00
Winston Li
8c0937511e Add implementations, implement S3SwapStore (with only tars), FSRepoStore, Tar and File utils, add tests 2016-09-06 09:11:32 +01:00
Winston Li
692b979098 Large refactor of parts into distinct components / interfaces 2016-09-05 15:45:57 +01:00
Winston Li
5b810b64ba Decouple jgit's Repository class from the Bridge 2016-09-05 15:45:57 +01:00
Winston Li
598ea8a6fb Ugrade jgit and jgit.http.server to 4.4.1.201607150455-r and fix tests 2016-08-20 13:22:07 +01:00
Winston Li
3389615ef6 Use better error message for problems building repo (#1576) 2016-08-20 12:15:34 +01:00
Marc Egea i Sala
d143baf489 Add more logging to commit action (#16) 2016-06-09 10:26:22 +01:00
Marc Egea i Sala
cb2e12d3b0 Merge pull request #15 from overleaf/handler-refactor
Put API handlers into their own namespace
2016-06-07 07:57:07 +01:00
John Lees-Miller
4fb9cbdf19 Restore a removed logging statement 2016-06-03 16:45:16 +01:00
John Lees-Miller
7cb82f3c18 Add tests for file content API 2016-06-03 16:22:10 +01:00
John Lees-Miller
42d1236063 Check for missing project before checking key 2016-06-03 16:11:31 +01:00
John Lees-Miller
1ac07526dc Reorganise postbacks and files under /api 2016-06-03 16:11:02 +01:00
Marc Egea i Sala
2a87513603 Merge pull request #14 from overleaf/performance-improvements
Build RepositoryObjectTreeWalker only once per commit
2016-06-03 15:46:32 +01:00
Marc Egea i Sala
f4d4ce0da1 Build RepositoryObjectTreeWalker only once per commit 2016-06-03 15:40:48 +01:00
John Lees-Miller
7ed93bc2cc Log to temp file when running tests 2016-06-03 11:47:25 +01:00
John Lees-Miller
64b49904e4 Use logback so we can use two log streams
We want all logs on stdout, for debugging, and warnings and errors
on stderr, for remote monitoring. The SLF4J SimpleLogger can't seem
to do this, but logback does, and we can still use the same SLF4J
interface.
2016-06-03 11:47:25 +01:00
John Lees-Miller
758bc3eb8c Add missing newline at end of file 2016-06-02 12:59:23 +01:00
John Lees-Miller
9c63ea6c93 Upgrade some testing dependencies 2016-06-02 12:41:24 +01:00
John Lees-Miller
13a75fdb95 Upgrade google http and oauth clients to 1.22.0 2016-06-02 12:26:58 +01:00
John Lees-Miller
c3725e3246 Upgrade async-http-client to 1.9.38 2016-06-02 12:22:14 +01:00
John Lees-Miller
dbaa78928e Upgrade sqlite-jdbc to 3.8.11.2 2016-06-02 12:13:17 +01:00
John Lees-Miller
bbde2d31d8 Upgrade gson to 2.6.2 2016-06-02 12:13:13 +01:00
John Lees-Miller
ad81e7a2ee Upgrade joda-time to 2.9.4 2016-06-02 12:01:35 +01:00
John Lees-Miller
1edaf5fe77 Upgrade to jetty 9.3.9 2016-06-02 11:57:04 +01:00
John Lees-Miller
465db49a22 Remove installation scripts
We now handle production deployment using some ansible playbooks based
on these scripts, so rather than having slightly different versions in
two places, I think it’s safer to remove them for now.
2016-06-02 10:39:21 +01:00
John Lees-Miller
8ea3ed5dbe Add IDEA project files
Using this .gitignore file to decide what to commit:
https://github.com/github/gitignore/blob/master/Global/JetBrains.gitigno
re
2016-06-02 10:15:14 +01:00
Marc Egea i Sala
6a57dd2d9b Improve indentation 2016-05-23 16:16:40 +01:00
Marc Egea i Sala
45254bf34a Add minimal git config to repos
The test don't pass unless a minimal configuration for Git is provided.
With this change, we don't rely on the final user to provide this
configuration.

Every time a repository is cloned on tests we're adding a configuration
only for that repository that's not going to clash with any other
configuration already set.
2016-05-23 15:59:24 +01:00
Winston Li
d582e3e1cf Remove and replace Util.sout and .serr 2016-04-18 11:03:55 +01:00
Winston Li
a409a15f07 Fix #1384, possibly #1174 too 2016-04-05 20:39:36 +01:00
Winston Li
bb619bfaf1 Add tests that reproduce #1384. 2016-04-05 04:17:15 +01:00
Winston Li
08f3497a9e Improve logging around main operations.
PostbackManager.java: check for actual postback promise before waiting.
2016-04-03 12:17:06 +01:00
Winston Li
ab09d044a8 Improve logging for catching #1174, and fix tests. 2016-04-01 05:23:59 +01:00
Winston Li
a4df78c73d Improve logging.
- Add sanitised Config and test
- Fix issue with file permissions
2016-03-31 06:35:09 +01:00
Winston Li
559b32a22f Integrate slf4j simple logger and change some messages. Declare some exceptions in tests 2016-03-11 09:46:03 +00:00
Marc Egea i Sala
7048032463 Exception to handle files too big to be processed 2016-02-04 10:22:18 +00:00
Marc Egea i Sala
b3e140ed40 Provide custom message on 401 errors 2016-01-19 10:44:03 +00:00
Winston Li
850cbcf0c6 Merge bug fixes with oauth2 skipping 2016-01-04 04:34:26 +00:00
Winston Li
53d3033b5c Implement auth skipping on non-protected projects 2016-01-04 04:14:50 +00:00
Winston Li
a9a74890d2 Delete stuff that should be gitignored 2016-01-04 02:53:40 +00:00
Marc Egea i Sala
866f7dedee Fix error log folder
Error log is stored under /var/log/err.log. This PR fixes it and stores the log under /var/log/wlgb/err.log
2015-11-30 11:06:00 +00:00
Marc Egea i Sala
dfb4835cc1 Merge pull request #6 from overleaf/version-update
Update local version after processing snapshots
2015-11-30 11:00:41 +00:00
John Lees-Miller
318e11deeb mock the persistent store with jmock 2015-11-24 12:06:43 +00:00
John Lees-Miller
e2574ab163 fix whitespace 2015-11-24 12:06:05 +00:00
John Lees-Miller
62749a0dab update to IDEA 15 2015-11-24 12:05:54 +00:00
John Lees-Miller
624c3e6af1 update to junit 4.12 to get jmock working
Also moved junit to the test scope.
2015-11-24 12:05:24 +00:00
Marc Egea i Sala
937d9c82b4 Update local version after processing snapshots 2015-11-23 16:24:22 +00:00
Marc Egea i Sala
6a25132f0c InteliJ IDEA project library files 2015-11-23 12:30:46 +00:00
Marc Egea i Sala
229ed1c09d Try to download file if it's not in the git tree 2015-11-23 09:36:24 +00:00
Marc Egea i Sala
18bb534f96 Handle 401 errors as ptorected projects 2015-11-19 10:40:07 +00:00
Winston Li
0156aa8c51 Update README.md 2015-10-25 13:58:40 +00:00
Winston Li
1872eba223 Implementation of OAuth2 2015-10-25 13:44:38 +00:00
Winston Li
c3db415ce7 Implement config changes and tests 2015-10-25 11:19:02 +00:00
Marc Egea i Sala
6ae47e8821 Bugfix: using statusElement and not codeElement again 2015-10-02 15:22:55 +01:00
Marc Egea i Sala
3970fb146c Handle response errors through Util.getCodeFromResponse
Centralizing the exceptions to provide more details on fail.
2015-09-30 10:45:58 +01:00
Marc Egea i Sala
8648f8bde7 Use WLUser to provide default name and email 2015-09-29 11:36:10 +01:00
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
Marc Egea i Sala
78c92e62b6 Loggin API response in order to figure out the use case for errors 2015-09-24 12:33:51 +01:00
Winston Li
70c963c38f Fix issue with pulling 2 new identical binary files with known name 2015-08-05 19:41:27 +01:00
Winston Li
4fbd6eaabe Fix issue with cloning multiple identical files and add test 2015-08-04 21:14:13 +01:00
Winston Li
34c2d7f613 Add test for f385cffd 2015-08-04 20:32:41 +01:00
Winston Li
f2701568f6 Fix issue with pulling a file identical to an existing file 2015-08-04 20:06:06 +01:00
John Lees-Miller
3ac0b0c2de avoid NPE if project directory does not exist; fixes #10 2015-04-26 21:00:28 -04:00
Winston Li
d697f75c77 pushFailsOnUnexpectedError integration test. 2015-03-10 12:14:10 +00:00
Winston Li
a0eb4b0946 pushFailsOnInvalidProject integration test. 2015-03-10 12:02:41 +00:00
Winston Li
c36a1de7c3 pushFailsOnInvalidFiles integration test. 2015-03-10 11:49:31 +00:00
Winston Li
105ab215b2 Bye travis. 2015-03-10 00:33:41 +00:00
Winston Li
896b00d4ac Add local repo config setting for travis. 2015-03-10 00:26:48 +00:00
Winston Li
7e803bb950 pushFailsOnSecondStageOutOfDate integration test. 2015-03-10 00:19:12 +00:00
Winston Li
d1156cb812 Remove exit code assertion from push failing as it is undefined. 2015-03-10 00:13:15 +00:00
Winston Li
9245037abf pushFailsOnFirstStageOutOfDate integration test. 2015-03-09 23:56:16 +00:00
Winston Li
4781a78926 canPushFilesSuccessfully integration test. 2015-03-09 23:37:58 +00:00
Winston Li
8f416cfd60 canPullDeletedNestedFiles integration test. 2015-03-09 23:22:40 +00:00
Winston Li
1de56ef76b canPullAModifiedNestedFile integration test. 2015-03-09 23:15:27 +00:00
Winston Li
f0f5333161 canPullADeletedBinaryFile integration test. 2015-03-09 23:08:53 +00:00
Winston Li
5e8e042ad2 canPullAModifiedBinaryFile integration test. 2015-03-09 23:02:57 +00:00
Winston Li
60ca2f1788 canPullAModifiedTexFile integration test. 2015-03-09 22:55:00 +00:00
Winston Li
5a00c84359 Refactor with deletion and tests. 2015-03-09 22:41:55 +00:00
Winston Li
8993702f69 Initial large refactor. 2015-03-09 22:41:55 +00:00
Winston Li
79307923ad Allow null directories in directory deletion methods. 2015-03-09 22:35:40 +00:00
Winston Li
83db4e6a10 Joda-Time for ISO6801 timestamps. 2015-03-09 21:38:53 +00:00
Winston Li
e7c1b29008 Change timestamp parsing to include milliseconds. 2015-03-09 21:29:03 +00:00
Winston Li
e6bdbe8f17 Fix the rest of the tests 2015-03-05 15:39:05 +00:00
Winston Li
5df8b2b65f Change 2 tests to launch git in separate process. 2015-03-05 15:21:28 +00:00
Winston Li
3d53226853 Use shared instance of AsyncHttpClient and close Stream in ResourceFetcher. 2015-02-24 10:30:39 +00:00