Code Monkey home page Code Monkey logo

redmine-libsvn's Introduction

Redmine Libsvn Plugin

This plugin overrides default Redmine Subversion adapter to make it use
Libsvn instead of calling svn command line client.

Requirements

This plugin requires Libsvn Ruby bindings. On Debian based
distributions, they are provided by the libsvn-ruby package.

Installation and Setup

Instructions can be found on Redmine online documentation :
http://www.redmine.org/wiki/redmine/Plugins

Usage

Once the plugin is installed, all subversion repositories are accessed
through Libsvn bindings.

Simple benchmark

user system total real
libsvn 0.150000 0.020000 0.170000 ( 0.230447)
svn command 8.150000 0.480000 8.750000 ( 8.987669)

redmine-libsvn's People

Contributors

pplr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

redmine-libsvn's Issues

rake redmine:fetch_changesets error!

The plugin doesn't have catch exception in the method "def revisions", when the RedMine fetch a changeset of a non root directory, the ruby svn bindings returns an exception because the path doesn't exists in that revision.

To fix, i add the line "rescue" at the end of method "def revisions".

def revisions
...

  • rescue
    end

HTTPS Client Certificate

Hi,

Just installed the libsvn plugin for Redmine current trunk and it works well.
Thansk for the "trust unknown certificate" button, save patching the redmine svn adapter ;-)

Did you have a idea how to present the libsvn binding a Client Certificate to access a SVN repo only accessible via Client Certificates ?

migration fails with RM 1.2.1

When I run

rake db:migrate_plugins RAILS_ENV=production

I get:

rake aborted!
no such file to load -- svn/client

Used to work fine with previous Redmine versions.
Any ideas?
Thanks!

Works with ruby 1.9.x?

Hello,

Does works with ruby 1.9.x?
I don't want use with redmine, intending use in my personal project.

Thanks.

Problem with secured connection(https://) repository url

In my case subversion repository start with https://
then I trusted repository site's cretification.

But redmine(without redmine-libsvn plugin) does not working on https repository url
then I patch on my own
modified '/lib/redmine/scm/adapters/subversion_adapter.rb'
--no-auth-cache --non-interactive
to
--trust-server-cert --no-auth-cache --non-interactive
(http://www.redmine.org/wiki/redmine/FAQ#I-cant-browse-my-svn-repository-through-redmine)

and redmine(with redmine-libsvn plugin) does not working on https repository url too.
What should I do?

My error messages are :

Svn::Error::RaDavRequestFailed (C:\Projects\subversion-1.6.6\subversion\libsvn_ra_neon\util.c:604: Svn::Error::RaDavRequestFailed: OPTIONS of 'https://RedmineTest/svn/Test': Server certificate verification failed: issuer is not trusted (https://RedmineTest)):
D:/CI/Ruby/lib/ruby/site_ruby/1.8/svn/util.rb:86:in svn_client_info2' D:/CI/Ruby/lib/ruby/site_ruby/1.8/svn/util.rb:86:ininfo2'
D:/CI/Ruby/lib/ruby/site_ruby/1.8/svn/client.rb:446:in info' lib/redmine/scm/adapters/abstract_adapter.rb:162:inretrieve_root_url'
lib/redmine/scm/adapters/abstract_adapter.rb:54:in initialize' app/models/repository.rb:41:innew'
app/models/repository.rb:41:in scm' app/models/repository.rb:75:indefault_branch'
app/controllers/repositories_controller.rb:205:in find_repository' D:/CI/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:inservice'
D:/CI/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in run' D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:173:instart_thread'
D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:162:in start' D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:162:instart_thread'
D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:95:in start' D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:92:ineach'
D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:92:in start' D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:23:instart'
D:/CI/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'

Rendering rescues/layout (internal_server_error)

My
Subversion server 1.6.6
Subversion client 1.6.6
Ruby bindings for Subversion on Win32. (svn-win32-1.6.6_rb.zip) in http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100
and "run irb and test with: require ‘svn/core’" command result true

Doesn't work with Postgres

The plugin throws error 500 when I try to browse my repository. Running Redmine 0.9.6 and Postgres 8.4.4.

Processing RepositoriesController#show (for 1.2.3.4 at 2010-07-13 21:06:52) [GET]
Parameters: {"action"=>"show", "id"=>"myproject", "controller"=>"repositories"}

ActiveRecord::StatementInvalid (PGError: ERROR: operator does not exist: character varying = integer
LINE 1: ... FROM "changesets" WHERE ("changesets"."revision" IN (1189,1...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT * FROM "changesets" WHERE ("changesets"."revision" IN (1189,1188,1187,1186,1185,1184,1183,1182,1181,1180)) AND ("changesets".repository_id = 5) ORDER BY committed_on DESC, changesets.committed_on DESC, changesets.id DESC):
app/models/repository/subversion.rb:35:in `latest_changesets'

Adding single quotation marks around integers in the IN () part of the SELECT statement resolves the issue.

Could you please issue a patch that makes it possible to use with Postgres?

Thanks!

Diff output is backwards

After we started using the libsvn plugin we noticed our diff views were backwards. The text being added was in red and the text being removed was green. When I turned off the plugin it changed back to the correct view that redmine ships with.

Unable to view earlier versions of removed files

Removing a file and trying to view it from an earlier revision causes internal error.

Expected result: Show the history of the file
Observer result: Internal error

Steps to reproduce:

  1. Remove a file and commit the changes
  2. Navigate to redmine's repository-page and change to a specific revision (newest - 1)
  3. In the file view, click on the file you removed
    -> Internal error

URL should look something like this:
https://domain/redmine/projects/project_name/repository/revisions/revision_number/changes/filename

can't use it

I installed libsvn-ruby and this plugin.
but when I browse a repository, I got a 500 page, the production log shows:

53508 NameError (uninitialized constant Svn::Error::FsNotFound):
53509 app/models/repository.rb:63:in entries' 53510 app/controllers/repositories_controller.rb:72:inshow'
53511 /usr/lib/ruby/1.8/thread.rb:135:in `synchronize'
53512 public/dispatch.fcgi:24
53513
53514 Rendering /home/redmine/public/500.html (500 Internal Server Error)
how to fix it?

The plugin does not work well in development mode

Hi,
First, thanks a lot for this nice plugin !
I don't know if it is a problem with Redmine or the plugin itself, but when running Redmine in development mode, the libsvn adapter is only used on the first request received by the server. All other requests are processed by the 'shellout' adapter.

-- Emmanuel

Problems browsing empty repository

Causes a server error when browsing a repository from redmine 0.9.2 if the repository is new / has no files checked in. Checking in a file fixes this issue. It seems to be caused by calling a revision 1 which doesnt yet exist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.