Commit Graph

161 Commits (9171bfd1abea5e00aea6a440c88919b3c31012a0)

Author SHA1 Message Date
Thomas Keller 97ea828532 Use a persistent cache through Pluf_Cache to speed up cert queries. 2010-10-04 15:42:21 +00:00
Thomas Keller d539eaf64b - _getLastChangeFor(): drop that, no longer needed
- getTree(), getPathInfo(): use the new extended manifest format
  and save the calls to query file sizes from contents as well
  as the calls to determine the revision in which a file changed
  at last
2010-10-04 15:22:57 +00:00
Thomas Keller 90edbf0d8b Tweak the basicio parser so that it properly handles multi-value
lines with hashes (lines like symbol [hash] [hash] are still not
handled, but aren't outputted from any command either as of now).
2010-10-04 15:20:53 +00:00
Thomas Keller 0c575ccc74 If a symbol is printed without a value list at the very end of a
basic_io dump, we might access a non-existing character position.
This has been fixed and the string length calculation is now only
done once.
2010-10-03 22:23:08 +00:00
Thomas Keller eebdc5ad12 IDF_Scm_Monotone::getCommit() separate the first line of a commit from the
rest and write the rest in full_message - just like we do it for log and
everything else. This is ugly, really ugly, because it assumes something
on the format of a commit message, which might not be true at all for
some project, but this is something Loic has to decide (see also issue 491
and issue 535)
2010-09-28 21:37:26 +00:00
Thomas Keller 29b8bf8a4e Some revisions might not carry a branch cert (yet), because they're
part of another branch whose certs haven't been pushed into the server
yet, so we need to skip these revisions while going back in time
for the changelog. The initial revision however must carry a branch
cert, otherwise we have nothing to "follow".
2010-09-15 08:46:10 +00:00
Thomas Keller 0f9f337e66 * configure whether or not to set remote client authentication for IDF -> remote_stdio
* hook into IDF_Project::preDelete, IDF_Key::postSave and IDF_Key::preDelete
* this is all not quite finished, but a big leap forward to completion
2010-09-13 00:53:24 +00:00
Thomas Keller 77cdbefe0c Added getter for the stdio instance 2010-09-13 00:50:16 +00:00
Thomas Keller f68bba1292 Be more careful when parsing value lists - in case we process the last
line of a stanza which does _not_ close with a newline, we're accessing
a not existing string index.
2010-09-12 23:18:58 +00:00
Thomas Keller 37d0ccc728 partially resolve issue 492 (at least for the monotone tree view) 2010-09-11 00:28:31 +02:00
Thomas Keller 21cdf60c31 Introduce a more subtle concept of validity when it comes to revision
indentifiers in IDF - the SCM function isValidRevision has been replaced
by a validateRevision() method which returns one of three states,
valid, invalid or ambiguous.
The source view can then act accordingly and display disambiguate view
for the latter, so the user can select for which revision he actually
wants to execute the requested action. Also, invalid revisions now lead
to another separate view, telling the user that it is invalid / does
not exist and pointing him optionally to the help page where he can read
further how to access his repository to push the first changes into.
(partially resolves issue 525)
2010-09-01 13:13:52 +00:00
Thomas Keller a384c60937 fix a PHP notice 2010-08-30 20:14:03 +00:00
Thomas Keller b648e6f7a7 - now that we have to configure usher's configuration file anyway,
we can skip the explicit configuration of its host and admin
  password, as we can directly read that from the configuration file
  itself
- expand the SyncMonotone plugin a bit to where this actually becomes
  useful, i.e.  create an accompanying key for each created database
  and also add some initial database-specific configuration
- update the config docs in idf.php-dist to reflect the changes and
  add more details about the inner workings of the SyncMonotone plugin
2010-08-29 23:01:25 +00:00
Thomas Keller 194dcad0e3 Don't check if the main branch is empty, but let the view code later
handle the case where a selector doesn't resolve to at least one
revision gracefully (see also issue 525).
2010-08-29 22:59:12 +00:00
Thomas Keller f2a9518b5c single quoted newlines of course will not work here... stupid me 2010-08-28 22:47:37 +00:00
Thomas Keller 593240b420 implement IDF_Scm_Monotone_BasicIO::compile() 2010-08-28 22:03:47 +00:00
Thomas Keller 8aae0f29d4 refactor the basicio parser into a separate utility class (we soon need a compiler part as well) 2010-08-28 14:06:17 +00:00
Thomas Keller 31e81118dd Follow IDFs coding standards and tweak opening curly braces as well as
quoting where possible
2010-08-13 11:21:07 +02:00
Thomas Keller de036920a4 * src/IDF/Middlewre.php: add a global template variable
"usherConfigured" to denote whether we render links to the usher
control functions in the forge administration
* src/IDF/Scm/Monotone.php: moved IDF_Scm_Monotone_Stdio into
separate file src/IDF/Scm/Monotone/Stdio.php
* src/IDF/Scm/Usher.php: new class to query and modify the state
of a running usher instance
* src/IDF/Views/Admin.php: add actions to query the list of
configured servers, edit their status, view their open connections
and control the state of the usher as a whole
* src/IDF/conf/idf.php-dist: optional usher configuration added;
mail address of monotone-users added; spelling changes
* src/IDF/conf/urls.php: added needed URLs for usher actions
* src/IDF/templates/idf/gadmin/base.html: usher links
2010-08-07 23:28:13 +02:00
Thomas Keller d2f0bac907 * Monotone.php: get inTags() and inBranches() correct - they need to
return a list with selectors as keys, otherwise the main menu won't
  link the active revision, but instead use the main branch
* changelog.html, tree.html: shorten the branch / tag output a bit
  (still ugly to have a fixed output like this, though), link tags
  by their selector, no longer by their revision ID. We loose some
  flexibility here, since tags could actually mark different
  revisions, which are now ignored
2010-06-29 09:59:49 +02:00
Thomas Keller 7cbc690890 use date instead of gmdate, monotone's dates are already UTC 2010-06-28 08:47:39 +02:00
Thomas Keller f3268b3d37 uh, we should really share one mtn instance per project and request... 2010-06-24 02:27:38 +02:00
Thomas Keller 1fd1e63043 * idf.php-dist: rework the documentation of the configuration options and
add two scenarios, one with a single, global database and one with
  multiple project databases and usher as proxy; add an option for additional
  command line options for the mtn process; remove the protocol type
  configuration option - we're handling this implicit with the new
  mtn_remote_url configuration
* Monotone.php: add the IDF user for ssh:// URIs; add support for remote_stdio
  and rework the command line stitching
2010-06-24 01:58:41 +02:00
Thomas Keller 5ce324f35f * clear the process environment and set LANG properly so we get english error codes and still keep utf8 compliant
* rename _read to _readStdout and introduce a generic _readStderr which reads from the other pipe on failure
2010-06-24 00:10:41 +02:00
Thomas Keller 9a8148079d prevent endless redirection if a requested branch does not exist, i.e. has no matching revisions 2010-06-23 00:22:10 +02:00
Thomas Keller 24762adecc improve error handling and reporting of the stdio process 2010-06-21 23:24:47 +02:00
Thomas Keller 2ee665ac96 Merge branch 'master' of git://projects.ceondo.com/indefero 2010-06-21 23:23:26 +02:00
Loic d'Anterroches 28ce82c6f6 Improved to sort the Git tags by reverse chronological order. 2010-05-11 09:41:22 +02:00
Thomas Keller e0b0a732b4 phpdoc improved; remove _getMasterBranch() method and implement the specific code directly in getMainBranch() 2010-05-02 01:31:30 +02:00
Thomas Keller 59ad0f5b11 * idf.php-dist: improve the document of the various mtn-related configure options; introduce an option to configure the protocole - separate from the url option, which we now name mtn_remote_host
* IDF_Project: optionally give getSourceAccessUrl() a commit argument, so a particular VCS module can determine a subset of revisions to pull for the specific revision which is browsed
* IDF_Scm_*: add the argument null'd for all VCS; implement a branch lookup for monotone
* tree.html: display the correct branch to clone under each revision tree
2010-05-02 00:56:04 +02:00
Thomas Keller 3b53ceedcd * Monotone.php (IDF_Scm_Monotone): basic_io values need to be unescaped; implement getChangeLog()
* Monotone.php (IDF_Scm_Monotone_Stdio): add support for multiple, equally named options
* Source.php, commit.html: split-off the global commit template (which had some separate code already for SVN) and adapt the left blocks for mtn to shorten branch and tag names just like we do everywhere else
2010-05-01 01:05:54 +02:00
Thomas Keller 445c90fefe Create a separate class which handles command streaming over mtn automate stdio. Use that everywhere instead of the direct system calls. 2010-04-30 02:03:58 +02:00
Thomas Keller b7ced5fa69 Do not shorten the changelog in the SCM model - thats a task for the view. 2010-04-29 23:38:28 +02:00
Thomas Keller cf22909722 * isAvailable(): check monotone's interface version and mark the interface as available if it matches (we might see later on if this alone is actually a good idea especially if we browse an empty database...)
* _getCerts(): implement a cert cache and make multiple cert values easily available
* getCommit(), getCommitLarge(), getFile(), getPathInfo(), testHash(): implement
* getTags(): save the first found revision id for a tag as key in the associative array to make tags actually browsable
2010-04-29 01:44:34 +02:00
Thomas Keller 94a5464155 * idf.php-dist: no need to configure a branch prefix any longer now that the project owner can define the master branch name
* Monotone.php: change accordingly to use the configured master branch name and fallback to all branches ("*") if noone is found
2010-04-27 23:28:52 +02:00
Thomas Keller 9fd4334dec Start on monotone support for indefero. The SCM backend is about 30% done, interesting pieces like getTree() are not finished yet. 2010-04-26 23:56:25 +02:00
Loic d'Anterroches 7b0ece42f0 Fixed to convert in utf-8 earlier in the process. 2010-03-26 20:40:50 +01:00
Loic d'Anterroches 64fb5b3bf0 Fixed issue 402, Project List shows '0 bytes' Repository size on Mac OS X. 2010-02-24 15:06:13 +01:00
Loic d'Anterroches 3a28fe9d28 Fixed ticket 208, added more logging in GitServe and Scm backend. 2010-02-17 21:57:28 +01:00
Loic d'Anterroches 73641a03d5 Fixed issues 368 and 354, access to files with special characters. 2010-01-20 22:33:53 +01:00
Ludovic Bellière 0b580ba2ec Fixed issue 314, Mercurial shows empty files in directories 2010-01-20 21:27:18 +01:00
Loic d'Anterroches ff4f8afde8 Added the support of the tags for Mercurial and Subversion. 2009-11-06 18:06:01 +01:00
Mehdi Kabab 8050463a12 Added ticket 271, support of the Git tags. 2009-11-06 16:12:54 +01:00
Loic d'Anterroches 3c46b7734f Added the ability to use the username of a user to link a git commit. 2009-11-06 15:58:21 +01:00
Loic d'Anterroches 37aa3d8b69 Fixed not to stat the size of a non existing repository. 2009-10-26 21:45:42 +01:00
Loic d'Anterroches c7aa91fc29 Fixed issue 304, cannot display source files with brackets in their names. 2009-10-09 08:46:14 +02:00
Loic d'Anterroches 06668db697 Fixed issue 304, cannot display source files with brackets in their names. 2009-10-06 21:28:37 +02:00
Loic d'Anterroches 37e0604647 Fixed bad conversion to support PHP 5.3, 2009-10-01 21:51:47 +02:00
David Feeney 4765ca2232 Fixed issue 282, Mercurial support in new projects. 2009-10-01 14:56:54 +02:00
Loic d'Anterroches 838645463d Remove the PHP 5.3 deprecated split function. 2009-09-24 20:40:22 +02:00
Loic d'Anterroches 25d7a5a776 Fixed issue 286, repository size fails on symlinks. 2009-09-21 09:58:29 +02:00
Loic d'Anterroches 6845f59150 Fixed variable used before being instanciated in the Mercurial backend. 2009-07-23 23:33:08 +02:00
Loic d'Anterroches 1a067ca107 Fixed crash of the Subversion backend when requesting a non existing revision. 2009-07-09 00:05:36 +02:00
Loic d'Anterroches c0dfd6b5dc Fixed issue 180, can't select branches containing / character in git projects. 2009-07-08 13:49:16 +02:00
Loic d'Anterroches 7d6cb22291 Fixed to have a better character encoding detection of the git log. 2009-07-03 10:23:49 +02:00
Loic d'Anterroches ad17d797b2 Fixed parsing error. 2009-07-02 19:38:52 +02:00
Loic d'Anterroches 2b1a741946 Fixed issue 245, ['idf_exec_cmd_prefix'] configuration variable is not available anymore. 2009-07-02 13:05:43 +02:00
Loic d'Anterroches fcefbe719f Fixed to better detect a bad commit. 2009-06-24 19:33:16 +02:00
Loic d'Anterroches 7d3f7e226c Fixed issue 238, missing return statement for the subversion backend. 2009-06-24 14:49:06 +02:00
Loic d'Anterroches 6cf4f00f92 Fixed to make the command portable on BSD/Solaris. 2009-06-19 21:37:39 +02:00
Loic d'Anterroches 25e296fbb6 Added the display of the repository size in the source subtab of a project. 2009-06-19 17:31:45 +02:00
Loic d'Anterroches a15107558c Fixed issue 235, need consistent use of file and fullpath in the SCM backend 2009-06-19 15:51:31 +02:00
Loic d'Anterroches fb66e1e98f Fixed to correctly parse the full message of an svn commit log. 2009-06-09 18:03:40 +02:00
Loic d'Anterroches e31d822d74 Fixed the case of a non-existing file. 2009-06-08 19:44:52 +02:00
Loic d'Anterroches 15cba014ba Fixed undefined variable. 2009-06-08 19:26:58 +02:00
Patrick Georgi 88a1bf9c94 Fixed issue 232, repository browser on SVN shows stacktraces 2009-06-08 13:21:03 +02:00
Loic d'Anterroches 1c8490be6b Fixed to get the same method definition as the parent class. 2009-05-28 00:30:10 +02:00
Loic d'Anterroches d98dda645e Pushed the constructor into the backend implementation. 2009-05-27 23:08:55 +02:00
Loic d'Anterroches 44ea8f1817 Added the getAuthAccessUrl method. 2009-05-27 22:54:26 +02:00
Loic d'Anterroches a53c6a1778 Fixes the case of an empty repository again. 2009-05-27 17:04:41 +02:00
Loic d'Anterroches b75286375e Fixes the case of an empty repository. 2009-05-27 16:59:25 +02:00
Loic d'Anterroches 88ce10b8e6 Fixed issue 227, timeline fails on SVN repositories. 2009-05-26 21:20:10 +02:00
Loic d'Anterroches 39699ba723 Fixed to correctly return false on non-existing commits. 2009-05-26 11:28:36 +02:00
Loic d'Anterroches 0fd0c40e89 Fixed to update to use the new method signature. 2009-05-25 15:19:22 +02:00
Loic d'Anterroches d31cd2aef4 Added the latest fixes for the new backend. 2009-05-25 14:18:48 +02:00
Loic d'Anterroches f55769a946 Improved the Mercurial backend. 2009-05-25 12:16:34 +02:00
Loic d'Anterroches a3f40447c0 Continued the refactoring of the Subversion backend. 2009-04-27 11:39:19 +02:00
Loic d'Anterroches cf5acfb669 Base refactor of the Subversion backend. 2009-04-26 11:57:21 +02:00
Loic d'Anterroches 7c502b1745 Continued the SCM backend refactor.
The new backend is near completion.
2009-04-25 16:24:40 +02:00
Loic d'Anterroches aab8720cac Added a DB backend for the Git blob info. 2009-04-21 17:45:35 +02:00
Loic d'Anterroches 86da0c0eed Added a first version of the new SCM backend. 2009-04-21 14:13:44 +02:00
Patrick Georgi 0efb0fec44 Fixed issue 199, some optimizations for SVN access. 2009-04-20 15:05:34 +02:00
Benjamin Jorand 04c2115fc2 Improved the source browser on large Mercurial repositories. 2009-04-07 11:19:07 +02:00
Loic d'Anterroches cfafdbfde4 Fixed issues 137 and 138, support of the git submodules. 2009-02-27 13:38:22 +01:00
Manuel Eidenberger 42c6f53fbc Added the ability to configure the paths to the SCM executables. 2009-02-25 14:28:14 +01:00
Loic d'Anterroches 6153cd0b13 Fixed issue 119, no environment for the shell_exec and exec calls.
For each call exec or shell_exec, I have added the ability to prepend a
string. For example '/usr/bin/env -i '.
2009-01-29 20:29:45 +01:00
Loic d'Anterroches f203f7d78f Fixed bad help message for the git access.
Git has 2 methods to access a repository, one with gitdaemon to do a
checkout and one with SSH to perform the push. We need to provide those
2 methods.
2009-01-26 17:58:58 +01:00
Loic d'Anterroches 037b9b78ae Fixed issue 106, crash with the cache and subversion. 2009-01-21 19:25:49 +01:00
Loic d'Anterroches e159185465 Restructured the control of the large commits. 2009-01-20 16:26:36 +01:00
Loic d'Anterroches df086f7a61 Improved Subversion and Mercurial backend performance. 2009-01-20 13:12:17 +01:00
Loic d'Anterroches 835eab9c24 Fixed issue 93 by preventing the display of a large commit diff.
Still needs to implement the equivalent for subversion and mercurial,
maybe with a simple command $scm->isCommitLarge($commit).
2009-01-17 18:46:26 +01:00
Loic d'Anterroches 61bc7a70b6 Solved most of issue 93 by not requesting diff content most of the time.
Still need to handle the display of a large commit in the individual
commit page.
2009-01-17 18:10:55 +01:00
Benjamin Jorand 7e7b5a4409 Fixed issue in the display of filename with spaces with Mercurial.
The Mercurial backend was not displaying correctly the filenames/folders
having spaces in them. It was troncating at the space.
2009-01-17 10:03:10 +01:00
Loic d'Anterroches a6c42120d8 Improved issue 93, memory usage.
I have been doing tracing of the memory usage using xdebug, now I am
normally below 15MB for the linux kernel instead of 35MB. Please test.
2009-01-06 22:56:02 +01:00
Loic d'Anterroches e6b19a695b Fixed issue 94, commands have changed in git 1.6. 2008-12-23 22:43:09 +01:00
Loic d'Anterroches 0a02916e81 Added a partial fix of issue 93 to limit memory exhaustion.
This is not perfect because it means that we cannot get the
corresponding commit message and author for each file in the tree view.
This is just a work around that will not affect most of the repositories
but the biggest ones with files not changes for a long time.

To fully fix this problem, one needs to build at each commit time a
cache table with the data of each commit (including the hash of each
file at each commit).
2008-12-23 22:29:11 +01:00
Julien Issler e535fbf5e1 Fixed issue 88, Mercurial support doesn't show all directories. 2008-12-17 09:02:45 +01:00
Loic d'Anterroches a1eeb12516 Added ticket 80, scm login integration with database login.
Based on the login for Subversion and the email address for git and
Mercurial.
2008-12-05 11:34:02 +01:00
Loic d'Anterroches 7cc244ec06 Fixed to avoid double slashes in the path to folders. 2008-12-03 20:58:06 +01:00
Loic d'Anterroches 83fd312c81 Added an exception when the scm command fails.
This will help the debugging for people.
2008-11-27 09:03:21 +01:00