from the commit(s) from issue 633. The diff parser assumed a properly
formatted diff that denotes empty context lines with a single space in
the first column. This single space however was missing, because the
hg and git backends got the diff through PHP's exec() function and
this returns already line-splitted output, but - and this is the actual
problem - removes trailing whitespace at the end of each line, essentially
making " \n" only "\n". When splitting this string now again with
PREG_SPLIT_NO_EMPTY the empty line was completely lost in the diff output.
To make it clear that an empty line does not mark a context line now, but
should stop the diff parsing, the Diff parser now also defaults to 'false'
as line type.
This commit fixes issue 688.
of the command looked bogus: since each tag ref is prefixed by an iso date and
since commit 94da55d1 by hash, the whole string was of course sorted by this
date and later hash, but not the tag name. This should now make more sense.
- tags and branches with spaces are now properly parsed (issue 663)
- use --style instead of --template option of hg to include much more
output for the log command; use that to query the parent revisions of
a revision (if any) and also to query the actual changes of a revision
- make the log parser much more robust towards changes in the "header"
of the log output
- be explicit and expect only ssh-dss or ssh-rsa keys
- allow any character (even line breaks and whitespace) in the optional comment,
but shrink all of them to simple spaces (fixes issue 679)
- test the newly uploaded key against existing keys only by the base key data,
not the fully uploaded string (that might contain a changed comment line or
the like) to avoid duplicates; also only check the keys of the user for
duplicates, not all existing keys in the forge (if for whatever reason two
user accounts share a key)
- move "Binary section" into "Path section"
- make individual sections more prominent and therefor
easier to grasp / scan for
- fix the language and expand the explanations for a
couple of items
- remove the 'debug_scm' configuration variable
(it is used nowhere in the source and just confuses people)
- update the copyright
- remove the question mark from the default logo for simplification,
add a soft drop shadow to make the logo more visible on not so light
backgrounds
- display the project logo and the lock icon in the project list dropdown
- re-position the project title and display the lock icon (if needed)
on top of the main logo
The code now works best with uploaded logos of 32x32px^2; smaller logos
will be downsampled and repositioned on a best breed basis.
- add tests for getTree(), getChanges() and isCommitLarge()
- anonymize the test data somewhat
- return false instead of null for unknown revisions given to getChanges()
- test getRepositorySize() with a test file
- implement tests for inTags(), inBranches(), getFile(),
getCommit() and getExtraProperties()
- mark the static methods as untestable
- getPathInfo(), disambiguateRevision() and validateRevision() are done
- we no longer need to check / skip a format_version stanza for the extended
manifest (there is no such stanza outputted)