largefiles: download missing subrepo revs when archiving
This is something plain hgsubrepos already do. Previously, an abort message
complained about an unknown revision.
hgweb: change IE canvas test (
issue3639)
suggested by Peter Hull
store: optimize _pathencode by checking the length of the unencoded path
If the input path is already longer than _maxstorepathlen, then we can skip
doing the basic encoding (encodedir, _encodefname and _auxencode) and directly
proceed to the hashed encoding. Those encodings, if at all, will make the path
only longer.
pathencode: skip encoding if input is already longer than maxstorepathlen
Calling basicencode may make the path longer, never shorter. If it's already
too long before, then we don't even need to basicencode it.
test-hybridencode: in practice, extensions aren't really unbound in length
due to the fact that we only get to encode files ending in .i and .d inside
the store
histedit-test: clarify the reason of a failure
There is multiple conflict during this test. This add a small comment that
highligh the reason of a particular failure.
histedit-test: make test-fold more verbose
This helps to check the validity of fold result and debug potential issue.
i18n-ja: synchronized with
f36f11f2bfce
lock: fixed race condition in trylock/testlock (
issue3506)
Suppose the following scenario:
1. Process A takes the lock (e.g. on commit).
2. Process B wants to grab the lock. Since lock file exists
the exception is raised. In the catch block the testlock
function is called.
3. Process A releases the lock.
4. Process B tries to read the lock file as a part of testlock
function. This results in OSError (ENOENT) and since we're
not inside the exception handler function this is propagated
and aborts the whole operation.
To fix this we now check in testlock function whether lock file
actually exists and if not (i.e. if readlock fails) we just return.