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.
- IssueUpdate.php: use dynamically set field validators for dynamically
created fields; let relation_type0 and relation_issue0 exist at any time;
check the validity of a user selection and combine the various input fields
if possible; do the database updates for links; change the "change" format
for labels to a more precise structure and no longer trust on a leading
dash for removed labels
- IssueCreate.php: change the validator calls and field names
- Issue.php (getGroupedRelatedIssues): make it possible to return only a
flat list of integers for easier processing
- 17AddIssueRelations.php: migrate the previous serialized "changes" format
for issue comments to the new, more structured format (up and down)
- js-autocomplete.html: add support for multiple input fields
- view.html: output relation changes and wrap the related issues stanzas into
paragraphs
- NEWS.mdtext: note the addition and the need for a specific version of Pluf
- 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)
- actually query data for the incoming query
- exclude the current issue from being linked with itself
- allow multiple issues to be given in the second input field
- add the form fields to the ticket update view as well
- 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)
Main test infrastructure is there, still lots of functionality left
for testing. Fixed a possible bug in the SCM interface already:
Pluf_HTTP_Response_NotFound needs a request instance as ctor argument,
which we don't have at this point, therefor we just throw an exception.
- create an interface that describes the basic methods
- let the real stdio class implement this interface
- inject the stdio instance into IDF_Scm_Monotone and do not
create it in the constructor
- ensure in IDF_Scm_Monotone_ZipRender that we get the proper
constructor arguments
On a slighly unrelated note, make _getAuthOptions() in the stdio
implementation private.
Indefero's version is now noted in src/IDF/version.php;
just before a release is made, the '-dev' is removed and
after the release is made, the version should be increased and
'-dev' should be added back to denote that the development
for the next version started.
The revision identifier is automatically set when an archive
is created and is based on the revision that the archive creator
gave to git-archive(1). If people follow development, we try to
get the current deployed version with git-log(1) and if that
fails as well, the revision is determined to be 'unknown'.
Version and revision are then rendered as HTML meta tags in
the header of each template. (All this is done by the new
{appversion} tag.)
Added a template for getting a controlled log; in parseLog, changed the regular
expression to match the pattern used in the template (fixes issues 507 and 508).