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
Benjamin Jorand
4bff745890
Fixed to finish the code cleaning.
2008-11-26 08:36:01 +01:00
Loic d'Anterroches
c02c52b14a
Fixed some call-time pass-by-reference warnings with PHP 5.2.6.
2008-11-25 21:18:12 +01:00
Loic d'Anterroches
39d015a586
Added a simpler way to configure the repositories.
2008-11-24 20:27:03 +01:00
Benjamin Jorand
08145b7b1c
Added the support of Mercurial.
2008-11-23 17:45:00 +01:00
Loic d'Anterroches
b94ca8215f
Fixed to not cache the getBlob call with git.
2008-11-21 21:47:43 +01:00
bohwaz
e01235caea
Fixed issue 57, bug dans la gestion SVN.
2008-11-18 11:23:09 +01:00
Loic d'Anterroches
adb5de13e2
Added a cache layer to cache the execution of the scm commands.
2008-11-07 23:54:40 +01:00
Loic d'Anterroches
c113c11da5
Added the display of the author of a commit in the source tree.
2008-11-07 14:32:22 +01:00
Nicolas Lassalle
bd15328758
[PATCH] Fixed issue 41 - View Source : Missing argument 2 for IDF_Scm_Svn::getBlob()
...
Created an unique method declaration in the tow scm backend.
Passed a more generic argument so that the scm backend could get the
correct data.
2008-09-12 12:26:51 +02:00
Loic d'Anterroches
2d271f6b69
Restructured one more time to be as SCM independent as possible.
...
The work is delegated as much as possible to the IDF_Scm_* classes.
2008-09-02 15:51:57 +02:00