Commit graph

505 commits

Author SHA1 Message Date
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