Commit Graph

682 Commits

Author SHA1 Message Date
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
Brenda Wallace
b4f8cf8c50 Corrected grammar in instructions. 2010-09-01 15:06:02 +02:00
Loïc d'Anterroches
f4dbabe8de Merge branch 'master' of git://projects.ceondo.com/indefero 2010-09-01 14:51:33 +02:00
Matthew Dawson
c5c7ebff04 Improved the wiki links to have better descripting links. 2010-09-01 14:50:04 +02:00
Thomas Keller
5d263e78e0 its dateago:"without", not dateago:"wihtout" 2010-08-31 21:17:09 +00:00
Thomas Keller
5f4e1da0c8 while there _should_ be really a custom application exception,
currently there is no such one
2010-08-31 21:07:31 +00:00
Thomas Keller
187365db76 IDF_Scm::isValidRevision() only ever takes one argument 2010-08-30 21:50:25 +00:00
Thomas Keller
e26a5c8cdf waiting usher instances should be stoppable as well 2010-08-30 21:29:42 +00:00
Thomas Keller
a384c60937 fix a PHP notice 2010-08-30 20:14:03 +00:00
Thomas Keller
6b4abac08e - PHP doesn't like the $var = <init> kind of initialization and
won't return variable references properly, so revert that change
  again
- since we're requiring 0.99 now, we also have to use au generate_key
  instead of au genkey
2010-08-30 13:46:05 +00:00
Thomas Keller
e789263068 - raise required mtn version to 0.99
- add '--key=' to the default mtn arguments in idf.php-dist
2010-08-30 12:58:52 +00:00
Thomas Keller
82aaf43d5d - initial work on a mtn-post-push script which updates IDF's timeline
when new revisions arrive. this still needs some more tests, but
  its a start.
- refactor out the monotonerc template from SyncMonotone.php and
  place it in a separate template file (access control hooks are
  still missing from there)
2010-08-30 11:20:47 +00:00
Thomas Keller
adae73080c simplify and harden the configuration file writeouts, didn't knew
file_put_contents was around for so long already...
2010-08-30 09:00:20 +02: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
af3df142d4 First attempt on a monotone plugin which creates a new database upon
project creation and adds the new server to the running usher instance.
If everything goes well, the usher instance is told to reload its
configuration, so the new server / database is picked up and started
automatically.
2010-08-28 23:10:08 +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
Loïc d'Anterroches
3eb0247b37 Fixed to correctly have a type text input. 2010-08-27 08:57:54 +02:00
Thomas Keller
7f32a5679d * removed type field in IDF_Key on request of Loic and automatically detect
and validate raw key data
* reworked the parseMonotoneKeyData() function to parse ssh and monotone keys
* tweak help texts and exception strings
2010-08-24 23:30:12 +02:00
Thomas Keller
a442fd588e Merge branch 'master' of github.com:tommyd3mdi/indefero-monotone 2010-08-24 22:57:52 +02:00
Thomas Keller
e7ce32fc26 Merge branch 'master' of git://projects.ceondo.com/indefero 2010-08-24 22:45:28 +02:00
Thomas Keller
f0a606e5cf * its IDF_Key, not IDF_Keys 2010-08-23 09:45:04 +02: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
e47d51d14c Add the possibility to save mtn public keys per user
* src/IDF/Key.php: new column "type" which is either "ssh" or "mtn";
  utility functions to query the mtn key name and id as well as
  all available key types for the current IDF installation
* src/IDF/Migrations/16KeyType.php: needed migration script
* src/IDF/Plugin/SyncGit/Cron.php: ensure only SSH keys are handled
* adapt forms and templates accordingly
2010-08-11 23:48:09 +02:00
Thomas Keller
ce436cc6ec ensure the usher section is active when we browse it 2010-08-11 23:43:15 +02:00
Loïc d'Anterroches
3d1ac97dc3 Correctly uses the private/description from the template project. 2010-08-11 14:50:32 +02:00
Loïc d'Anterroches
7a2065c687 Fixed to correctly use the default values if the template project was not fully updated. 2010-08-11 14:42:06 +02:00
Loïc d'Anterroches
9e6c7dad88 Fixed to use the private status and the description from the template when creating a project. 2010-08-11 14:12:03 +02:00
Loïc d'Anterroches
4f23ea4dd5 Added the ability to create a new project with another one as template. 2010-08-11 13:58:41 +02:00
Thomas Keller
f25dbd8872 Merge branch 'master' of git://projects.ceondo.com/indefero 2010-08-07 23:42:13 +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
Mehdi Kabab
061c806588 Fixed issue 509, indefero wiki do not support strikethrough. 2010-07-25 13:37:05 +02:00
Thomas Keller
780267978d basic test setup works; added tests for isAvailable(), getBranches(),
getTags(), inTags(), inBranches(), getTree() and isValidRevision()
2010-06-30 00:42:09 +02:00
Thomas Keller
0ad7f47885 first, incomplete version of a basic monotone test driver 2010-06-29 16:00:53 +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
e46a6fa171 link from the changelog view to the changelog view again when another
revision is selected
2010-06-28 11:46:48 +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
a46fd28dae print the mtn master branch configuration in bold, because it is required
when monotone is selected as SCM
2010-06-26 00:18:52 +02:00
Thomas Keller
8decc383aa bugfix: do not validate the custom branch field in the project creation
formular if we should set the project up with another SCM
2010-06-26 00:07:56 +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
4fdf248cb6 Merge branch 'master' of github.com:tommyd3mdi/indefero-monotone 2010-06-24 02:07:44 +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
7303e9dd58 return the correct file name for dropped files from monotone's diff output 2010-06-23 15:58:07 +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
Denis
2e1a91622e Updated the Russian translations. 2010-06-17 20:03:52 +02:00
mainiak
4687355351 Updated the Czech translations. 2010-06-15 11:21:06 +02:00
Loïc d'Anterroches
38dd610319 Updated the German translations. 2010-06-15 11:18:13 +02:00
mainiak
a4408de74d Updated the Czech translations. 2010-05-27 20:20:53 +02:00
Loic d'Anterroches
7a952215aa Added a series of hooks to trigger backup jobs when files are uploaded/deleted. 2010-05-21 11:29:36 +02:00
Loic d'Anterroches
982b330739 Added the droping of the tags in the predelete to prevent some integrity issues. 2010-05-21 11:28:48 +02:00
Loic d'Anterroches
3e9229be5f Updated to set the subversion hooks at creation of the repository. 2010-05-20 10:42:51 +02:00
Loic d'Anterroches
ad6148cae7 Fixed issue 403, make the calcul of project's disk used space optionnal. 2010-05-19 10:55:50 +02:00
Loic d'Anterroches
2aebc0e099 Fixed to correctly populate the queue when no notifications are defined. 2010-05-18 15:10:43 +02:00
Loic d'Anterroches
06022bf378 Added the type of scm in the queue payload. 2010-05-18 14:31:01 +02:00
Vladimir Solomatin
430c9cb00e Fixed issue 467, exception when deleting an orphan git repo. 2010-05-17 19:40:26 +02:00
Loic d'Anterroches
89780b0317 Fixed ticket 466, Mac OS-friendly source viewing / syntax highlighting. 2010-05-17 12:53:17 +02:00
Loic d'Anterroches
c534894995 Added caching of the database, attachments and uploaded files to avoid calculating them each time. 2010-05-17 12:17:02 +02:00
Loic d'Anterroches
a91ce1600f Added a global configuration registry. 2010-05-17 10:29:00 +02:00
Loic d'Anterroches
04e7d7c99b Merge branch 'master' of git://projects.ceondo.com/indefero 2010-05-12 09:19:57 +02:00
mainiak
7ed69c7f4a Improved the Czech translations 2010-05-12 09:19:36 +02:00
Mehdi Kabab
8f914c44a1 Fixed issue 459, variables not defined for exec in PHP 5.3. 2010-05-11 10:13:38 +02:00
Loic d'Anterroches
28ce82c6f6 Improved to sort the Git tags by reverse chronological order. 2010-05-11 09:41:22 +02:00
Loic d'Anterroches
641a3b24a5 Fixed error in the queue addition. 2010-05-11 09:23:15 +02:00
Loic d'Anterroches
0d61866b89 Added initial work on the Czech translation. 2010-05-10 12:55:58 +02:00
Loic d'Anterroches
c1a477e7d0 Do nothing on webhook without an url. 2010-05-10 10:43:47 +02:00
Loic d'Anterroches
692d2e53b2 Changed the header name of the hmac to be generic. 2010-05-10 10:21:22 +02:00
Loic d'Anterroches
47acc73451 Added the webhooks. 2010-05-10 10:11:27 +02:00
Loic d'Anterroches
2f22d48dd0 Added the queue system to handle the webhooks and asynchronous events. 2010-05-06 10:27:08 +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
15a2bd90b3 Add support for monotone's diff header 2010-05-01 00:56:48 +02:00
Thomas Keller
c49a8204e0 Properly activate the correct branches / tags for the currently viewed revision 2010-04-30 02:38:45 +02:00
Thomas Keller
601e894935 Use the branch / tag name shortener in two other templates as well. 2010-04-30 02:11:40 +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
995f1a13c3 Add a new view modifier which allows the shortening of long strings such as branch or tag names. Use that in the tree view and display the full name in a title tag. 2010-04-29 23:35:57 +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
02603fd8fd disable archive generation for now, this is not possible with monotone as it is implemented now in IDF 2010-04-29 01:42:50 +02:00
Thomas Keller
af4f5aaeb0 make the path to the monotone executable configurable 2010-04-29 01:37:28 +02:00
Thomas Keller
f8012c37d1 from monotone 0.48 onwards the setup command creates its own internal database 2010-04-28 01:12:29 +02:00
Thomas Keller
5954cd0ad1 default to the master branch for the head / tip / main revision 2010-04-28 00:14:19 +02:00
Thomas Keller
5ef6e6c08f mtn still needs a local db and project setup if there is nothing beside an empty database remotely 2010-04-28 00:13:42 +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
18ba8d0ac5 Some more files from the initial work 2010-04-27 00:02:47 +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
d7843a55bd Updated the French translations. 2010-04-19 09:28:48 +02:00
Loic d'Anterroches
b7833b5d23 Updated to have the latest .pot file. 2010-04-19 09:27:37 +02:00
Loic d'Anterroches
0f617f8e09 Fixed to directly use a PHP internal function, thanks piouPiouM. 2010-04-19 09:16:56 +02:00
Loic d'Anterroches
fbc1fab68d Added the Mercurial hook connection to run on groupchange. 2010-04-19 09:14:29 +02:00
Loic d'Anterroches
10f08386f7 Fixed to have a simpler code. 2010-04-15 15:40:36 +02:00
Loic d'Anterroches
45fa309c07 Fixed to have a simpler code. 2010-04-15 15:38:03 +02:00
Loic d'Anterroches
2ad13a96f9 Added the changegroup hook for Mercurial.
This is the last commit for 1.0, yeah\!
2010-04-15 15:20:50 +02:00
Loic d'Anterroches
73f95de843 Fixed a stupid typo in the hook configuration check. 2010-04-15 10:48:39 +02:00
Loic d'Anterroches
42f561dc75 Added the subversion post commit hook. 2010-04-15 10:00:05 +02:00