Bug 87830 - Can not create new repository / wrong command created
Summary: Can not create new repository / wrong command created
Status: RESOLVED FIXED
Alias: None
Product: cervisia
Classification: Applications
Component: general (show other bugs)
Version: 2.2
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Christian Loose
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-23 12:16 UTC by Martin Koller
Modified: 2004-08-23 16:04 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Koller 2004-08-23 12:16:55 UTC
Version:           2.2 (using KDE 3.3.0, compiled sources)
Compiler:          gcc version 3.2.3
OS:                Linux (i686) release 2.6.7

I want to create a new local repository.
Current working dir when starting cervisia is e.g. /tmp, that also means I have no sandbox open (if that matters).
I select Repository->Create and enter /tmp/XXX and get the following error

mkdir -p '/tmp/XXX' &&  -f -d '/tmp/XXX' init 
/bin/sh: line 1: -f: command not found
[Exited with status 127]

It seems the "cvs" command is missing ...
I have configured PATH to CVS executable as "cvs" and it is in my PATH (it is /usr/bin/cvs)

Trying to configure /usr/bin/cvs and rmdir /tmp/XXX and trying the same again, I get no output at all in cervisia but in the konsole from where I started cervisia:

DCOPRef: call 'cvsCommand()' on null reference error
DCOPReply<>: cast to 'QString' error

I now stop and start cervisia (trying from scratch with /usr/bin/cvs) leads to the same error:

mkdir -p '/tmp/XXX' &&  -f -d '/tmp/XXX' init 
/bin/sh: line 1: -f: command not found
[Exited with status 127]

BUT: When I first open an already existing sandbox and do the same again, it works!

mkdir -p '/tmp/XXX' && cvs -f -d '/tmp/XXX' init 
[Finished]


strange ...
Comment 1 Christian Loose 2004-08-23 16:04:13 UTC
CVS commit by cloose: 

Fix bug #87830: 
Always read the cvs client option from the configuration
file even when there is no sandbox open.

CCMAIL: 87830-done@bugs.kde.org


  M +6 -0      ChangeLog   1.135.2.1
  M +14 -4     cvsservice/repository.cpp   1.16.2.1


--- kdesdk/cervisia/cvsservice/repository.cpp  #1.16:1.16.2.1
@@ -49,4 +49,5 @@ struct Repository::Private
 
     void readConfig();
+    void readGeneralConfig();
 };
 
@@ -58,4 +59,6 @@ Repository::Repository()
     , d(new Private)
 {
+    d->readGeneralConfig();
+
     // other cvsservice instances might change the configuration file
     // so we watch it for changes
@@ -74,4 +77,5 @@ Repository::Repository(const QString& re
 {
     d->location = repository;
+    d->readGeneralConfig();
     d->readConfig();
 
@@ -196,4 +200,14 @@ void Repository::slotConfigDirty(const Q
 
 
+void Repository::Private::readGeneralConfig()
+{
+    KConfig* config = kapp->config();
+
+    // get path to cvs client programm
+    config->setGroup("General");
+    client = config->readPathEntry("CVSPath", "cvs");
+}
+
+
 void Repository::Private::readConfig()
 {
@@ -245,8 +259,4 @@ void Repository::Private::readConfig()
     // get program to start on the server side
     server = config->readEntry("cvs_server");
-
-    // get path to cvs client programm
-    config->setGroup("General");
-    client = config->readPathEntry("CVSPath", "cvs");
 }
 

--- kdesdk/cervisia/ChangeLog  #1.135:1.135.2.1
@@ -1,2 +1,8 @@
+2004-08-23  Christian Loose  <christian.loose@kdemail.net>
+
+        * Fix bug #87830: 
+          Always read the cvs client option from the configuration
+          file even when there is no sandbox open.
+
 2004-07-13  Andr