Commit Graph

48 Commits

Author SHA1 Message Date
Toshi MARUYAMA ecc042dce1 scm: add new method "shell_quote_command" at abstract adapter (#8825).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6272 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-07-15 11:43:53 +00:00
Toshi MARUYAMA 34f838685b scm: catch all exceptions at adapter shellout() to fork scm command (#8510, #6713, #4725, #5404).
If scm command does not exist,
Linux JRuby 1.6.2 (ruby-1.8.7-p330) raises java.io.IOException in production environment.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6230 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-07-10 21:47:30 +00:00
Toshi MARUYAMA f2629db043 scm: replace RAILS_DEFAULT_LOGGER to Rails.logger at abstract adapter.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6122 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-06-22 23:42:37 +00:00
Toshi MARUYAMA 53b7af73b1 scm: replace RAILS_ROOT to Rails.root at lib/redmine/scm/adapters/abstract_adapter.rb.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6085 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-06-17 01:19:50 +00:00
Toshi MARUYAMA 283db475e1 scm: add log message of config/configuration.yml if scm command raise Errno::ENOENT exception (#7517, #4273).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6007 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-06-08 11:19:57 +00:00
Toshi MARUYAMA b2d04df37e scm: code clean up abstract adapter.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6006 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-06-08 11:19:13 +00:00
Toshi MARUYAMA 793accb14a scm: switch to use shell quote with parameter in abstract adapter target().
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5906 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-25 23:50:59 +00:00
Toshi MARUYAMA d57910c39e scm: move ScmCommandAborted class from git and cvs adapter to abstract adapter.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5901 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-25 16:14:15 +00:00
Toshi MARUYAMA 3d4a3315f6 scm: add "path_encoding" method in abstract adapter (#2274, #3462, #2664, #5251).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5863 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-21 02:16:51 +00:00
Toshi MARUYAMA e9e477426a scm: remove trailing white-spaces from abstract adapter source.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5672 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-06 13:48:36 +00:00
Toshi MARUYAMA 905a809774 scm: add "options" parameter in adapter entries().
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5638 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-04 14:11:25 +00:00
Toshi MARUYAMA 8df05b9a6d scm remove trailing white-spaces in abstract adapter.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5637 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-04 13:16:10 +00:00
Toshi MARUYAMA 32a9937d4e scm: code clean up abstract_adapter.rb.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5404 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-04-11 10:25:38 +00:00
Toshi MARUYAMA 0606dfdb62 scm: move :identifier from to attr_accessor in AbstractAdapter::Revision class.
All scms which support blame use identifier.
This commit remove the link of cvs blame revision.
Redmine can not handle cvs revision (e.g. 1.2) as changeset identifier.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5403 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-04-11 10:24:44 +00:00
Toshi MARUYAMA bac26830e5 scm: code clean up lib/redmine/scm/adapters/abstract_adapter.rb.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5381 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-04-10 08:11:18 +00:00
Toshi MARUYAMA d7aa303a5c scm: git: move saving changesets from adapter to model (#3396).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4959 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-02-28 04:46:42 +00:00
Toshi MARUYAMA 9937ac677f scm: update adapter initialize() to use path encoding (#2664, #2274).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4941 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-02-24 05:58:59 +00:00
Toshi MARUYAMA e51aeb5a40 scm: use "ASCII-8BIT" in IO.popen() in Ruby 1.9.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4938 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-02-24 04:03:16 +00:00
Toshi MARUYAMA 8963579be3 scm: add "scm_iconv" method for repository path encoding in abstract_adapter.rb (#2664, #2274).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4906 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-02-21 12:10:16 +00:00
Toshi MARUYAMA bd9a3a720c scm: space cleanup of lib/redmine/scm/adapters/abstract_adapter.rb.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4861 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-02-18 00:57:43 +00:00
Toshi MARUYAMA 8b98c05879 scm: use shell quote for scm command at adapter level (#7517, #4273).
"C:\Program Files\TortoiseHg\hg.exe" can be used in config/configuration.yml.

In Ruby 1.9 IO.popen, if cmd is an Array of String,
it will be used as the subprocess‘s argv bypassing a shell.

See http://www.ruby-doc.org/core/classes/IO.html

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4821 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-02-14 06:14:34 +00:00
Toshi MARUYAMA 2e1bcb2abf Changing revision label and identifier at SCM adapter level (#3724, #6092)
Contributed by Yuya Nishihara.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4613 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-01-02 09:45:05 +00:00
Jean-Philippe Lang 103698b371 Wraps changeset creation inside a single transation.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3469 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-02-21 14:38:34 +00:00
Jean-Philippe Lang b1a92b9b2e Fixed: Subversion password visible in development logs (#4448).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3251 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-26 16:20:22 +00:00
Jean-Philippe Lang cabf052127 Prevent undefined method `<=>' for nil:NilClass in AbstractAdapter (#4098).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2957 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-24 11:08:09 +00:00
Eric Davis c28b044d68 Added branch and tag support to the git repository viewer. (#1406)
Many thanks to Adam Soltys and everyone else who tested this patch.

* Updated git test repository so it has a branch with some differences from the master branch
* Moved redmine diff class into a module so as not to clash with diff-lcs gem which is required by grit
* Find changesets from all branches, not just master
* Got revision browsing working
* Got file actions working properly
* Allow browsing by short form of commit identifier
* Added a method to retrieve repository branches
* Allow browsing by branch names as well as commit numbers
* Handle the case where a git repository has no master branch
* Expand revision box and handle finding revisions by first 8 characters
* Added branches dropdown to repository show page
* Combined repository browse and show into a single action.  Moved branch/revision navigation into a partial.
* Renamed partial navigation -> breadcrumbs
* Made it so latest revisions list uses branch and path context
* Preserve current path when changing branch or revision
* Perform slightly more graceful error handling in the case of invalid repository URLs
* Allow branch names to contain periods
* Allow dashes in branch names
* Sort branches by name
* Adding tags dropdown
* Need to disable both branches and tags dropdowns before submitting revision form
* Support underscores in revision (branch/tag) names
* Making file history sensitive to current branch/tag/revision, adding common navigation to changes page
* Updated translation files to include labels for 'branch', 'tag', and 'view all revisions'
* Reenable fields after submit so they don't look disabled and don't stay disabled on browser back button
* Instead of dashes just use empty string for default dropdown value
* Individual entry views now sport the upgraded revision navigation
* Don't display dropdowns with no entries
* Consider all revisions when doing initial load
* Fixed bug grabbing changesets.  Thanks to Bernhard Furtmueller for catching.
* Always check the entire log to find new revisions, rather than trying to go forward from the latest known one
* Added some cleverness to avoid selecting the whole changesets table any time someone views the repository root
* File copies and renames being detected properly
* Return gracefully if no revisions are found in the git log
* Applied patch from Babar Le Lapin to improve Windows compatibility

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2840 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-08-15 22:41:40 +00:00
Jean-Philippe Lang a37f4b9cf6 Capture scm CLI stderr to log/scm.stderr.log when running in dev environment
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2128 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-12-12 16:07:14 +00:00
Jean-Philippe Lang dbf4438dda More detailed error message in log when scm command fails (#1682).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1757 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-08-25 12:31:53 +00:00
Jean-Philippe Lang 0d55652552 Fixes method name in AbstractAdapter.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1756 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-08-25 12:27:15 +00:00
Jean-Philippe Lang 116091a1d2 Fixes platform determination under JRuby (#1804).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1753 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-08-25 11:01:37 +00:00
Jean-Philippe Lang 622b6121f4 Fixes nil error when svn binary version is unknown (#1607).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1652 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-07-12 09:06:19 +00:00
Jean-Philippe Lang 12fbd06c02 Display svn properties in the browser, svn >= 1.5.0 only (#1581).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1627 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-07-05 08:59:04 +00:00
Jean-Philippe Lang ec0525d497 Move unified diff parser out of the scm abstract adapter so it can be reused for viewing attached diffs (#1403).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1513 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-06-08 16:28:42 +00:00
Jean-Philippe Lang e69b4647f2 Adds Filesystem adapter (patch #1393 by Paul R).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1508 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-06-08 15:40:24 +00:00
Jean-Philippe Lang aa9d04a4a7 Mercurial adapter improvements (patch #1199 by Pierre Paysant-Le Roux).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1499 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-06-07 09:19:50 +00:00
Jean-Philippe Lang a5ee8f8986 Fixed: SVN errors lead to svn username/password being displayed to end users (#1368).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1493 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-06-06 14:37:49 +00:00
Jean-Philippe Lang 891a71ad47 Fixed: new line at the end of a file is not displayed in diff.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1487 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-06-02 20:14:06 +00:00
Jean-Philippe Lang a73f68a185 Fixed: Links to repository directories don't work (#1119).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1365 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-04-27 10:12:15 +00:00
Jean-Philippe Lang 2c1e63720e SCM AbstractAdapter use shell_quote to more properly escape path (closes #838 by John Goerzen).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1238 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-03-12 23:00:11 +00:00
Jean-Philippe Lang 91dc13f4b2 Show explicit error message when the scm command failed (eg. when svn binary is not available).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1094 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-01-23 17:25:11 +00:00
Jean-Philippe Lang 832c7eaaa5 Fixed: undefined local variable or method 'log' in CvsAdapter when a cvs command fails.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1034 e93f8b46-1217-0410-a6f0-8f06a7374b81
2008-01-03 18:28:14 +00:00
Jean-Philippe Lang e219af1fbd Ignore empty diffs.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1014 e93f8b46-1217-0410-a6f0-8f06a7374b81
2007-12-19 20:11:44 +00:00
Jean-Philippe Lang ea35fff5bf SCM adapters: moved Errno::ENOENT exception rescuing to the abstract adapter.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1001 e93f8b46-1217-0410-a6f0-8f06a7374b81
2007-12-15 12:14:40 +00:00
Jean-Philippe Lang 8c65cc4712 Added Annotate/Blame view for Subversion, CVS and Mercurial repositories.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@947 e93f8b46-1217-0410-a6f0-8f06a7374b81
2007-12-02 20:58:02 +00:00
Jean-Philippe Lang ecfc40629f Quote subversion username and password in svn commands.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@852 e93f8b46-1217-0410-a6f0-8f06a7374b81
2007-10-19 17:59:59 +00:00
Jean-Philippe Lang 889d50089d Added syntax highlightment for repository files (using CodeRay).
Supported languages: c, ruby, rhtml, yaml, html, xml.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@644 e93f8b46-1217-0410-a6f0-8f06a7374b81
2007-08-15 20:20:18 +00:00
Jean-Philippe Lang ba1b857197 Added Darcs basic support.
Files in the repository can not be viewed or downloaded since Darcs doesn't support cat-like command.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@573 e93f8b46-1217-0410-a6f0-8f06a7374b81
2007-06-24 19:30:38 +00:00
Jean-Philippe Lang 438161ad1f Added basic support for CVS and Mercurial SCMs.
Browsing, changesets fetching and diff viewing are implemented.
Only tested with local repositories.

Thanks to Ralph Vater for CVS specific code.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@559 e93f8b46-1217-0410-a6f0-8f06a7374b81
2007-06-12 20:12:05 +00:00