Shane Kilkelly
ac4f4082c8
Use 404 code when rejecting invalid project id
2019-08-02 13:31:27 +01:00
Shane Kilkelly
76b349591c
Refactor to use new helper to send error response
2019-08-02 13:31:27 +01:00
Shane Kilkelly
b0ab2e07c5
Reject requests when the project uri begins with '/project'
2019-08-02 13:31:27 +01:00
Shane Kilkelly
abf525f43a
Update test to match new setup/teardown pattern
2019-08-01 16:34:49 +01:00
Shane Kilkelly
3fac2cc825
Merge pull request #59 from das7pad/tests/cleanup-resources
...
[tests] cleanup resources
2019-08-01 16:26:51 +01:00
Shane Kilkelly
88adce3a02
Use UUID in file url, not (encoded) file path.
...
This fixes a bunch of issues where funny characters in the file path
(spaces, unicode, etc) would cause the file server in this process to
respond with a 404 when asked for the file. The 404 would then cause
the push to fail.
Now we just use a UUID as an opaque and unambiguous identifier for each file.
2019-07-05 11:07:47 +01:00
Shane Kilkelly
a68afc2e28
Merge pull request #67 from overleaf/sk-dont-catch-throwable-swap-impl
...
Don't catch `Throwable` in swap-job, catch Exception
2019-06-13 12:11:01 +01:00
Shane Kilkelly
591617f996
Merge pull request #68 from overleaf/sk-fix-unicode-file-paths
...
Encode file path when building url, allows unicode
2019-06-13 12:10:55 +01:00
Shane Kilkelly
71df1b0a31
Encode file path when building url, allows unicode
2019-06-07 14:17:33 +01:00
Shane Kilkelly
28865e2956
Don't catch Throwable
in swap-job, catch Exception
2019-06-07 10:26:55 +01:00
Shane Kilkelly
552e0955da
Tell user to remove .git folder
2019-05-29 11:05:53 +01:00
Shane Kilkelly
545a9240d3
Merge pull request #61 from overleaf/spd-colon-passwords
...
GitBridge: Allow colons in passwords
2019-05-29 10:33:38 +01:00
Shane Kilkelly
b1d7a0cf63
Merge pull request #65 from overleaf/sk-handle-409-has-dot-git
...
Handle a 409 response with code=projectHasDotGit
2019-05-29 10:33:22 +01:00
Shane Kilkelly
b6fc48645a
Merge pull request #64 from overleaf/sk-skip-failing-projects-in-swap-job
...
Skip failing projects in swap job, and give up after a certain number
2019-05-29 10:33:06 +01:00
Shane Kilkelly
719f0c3661
Give up on projects that cannot be swapped, rather than spinning the loop forever
2019-05-29 10:20:37 +01:00
Shane Kilkelly
2492c95c0b
Handle a 409 response with code=projectHasDotGit
2019-05-29 10:18:49 +01:00
Shane Kilkelly
f237efa6d5
Log and trap/ignore gc errors during swap
2019-05-23 11:14:02 +01:00
Shane Kilkelly
c7d8c1c6b5
Run GC on a project at start of swap job.
...
When there is an exception during swap, add project name to log
2019-05-16 11:42:13 +01:00
Simon Detheridge
d51f2fecfc
Allow colons in passwords
...
bug: overleaf/issues#1393
2019-05-16 10:03:27 +01:00
Jakob Ackermann
a333aabfa9
[WLGitBridgeIntegrationTest] adjust the urls for the individual tests
...
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-04-26 23:56:54 +02:00
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
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
a517035e2c
Refuse to process project-ids that look like they come from v1
2019-03-06 10:16:55 +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
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
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
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
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
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