Commit Graph

32 Commits

Author SHA1 Message Date
Thomas Keller
fe001abd26 Rework the way IDF's SCM interface provides downloadable snapshots.
Instead of returning a command which gets executed and which should
pass through / stream its output data to the client, we're just
returning an instance of Pluf_HTTP_Response. This is needed, because
some SCMs, most noticable monotone, have no locally executable command
to provide a snapshot archive (and probably never will for our kind
of setup).

We therefor added a little BSD-licensed class "ZipArchive" which allows
the creation of pkzip-compatible archives on the fly by letting it eat
the file contents directly feed from the (remote) stdio instance.
Download performance is ok and lies between 15K/s and 110K/s, but at
least we do no longer block the browser while we pre-generate the zip
file server-side.

Thanks to Patrick Georgi for all his work!
2010-10-30 21:52:40 +00: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
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
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
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
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
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
d98dda645e Pushed the constructor into the backend implementation. 2009-05-27 23:08:55 +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
Benjamin Jorand
04c2115fc2 Improved the source browser on large Mercurial repositories. 2009-04-07 11:19:07 +02: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
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
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
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
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