which is better in practice, using CVS or SVN?

Asked by Peter Taylor

G'Day,

I'm starting out learning and using Java. I have installed Emma, ANT to start building a continuous integration process from scratch under Ubuntu. I'll be using Junit for debugging along the way.

The trouble is, I get conflicting ideas of using CVS or SVN for my repository or storage of my code changes and wanted to ask professionals in this field which is better as best practice.

I have seen replies of converting CVS to SVN and vica versa. I would like to stick to one that reliable enough to promote my code changes onto Sourgeforce.net when it is mature enough.

I am under the impression Sourgeforge.net is CVS only.

Any help is appreciated.

Thanks,
Peter.

Question information

Language:
English Edit question
Status:
Solved
For:
Back In Time Edit question
Assignee:
No assignee Edit question
Solved by:
Bart de Koning
Solved:
Last query:
Last reply:
Revision history for this message
Bart de Koning (bratdaking) said :
#1

Hey, not really the right place to ask this question, and I have only little
experience with VCS'es. But my first answer would be to say neither of them
(if I am correct SVN is the follow-up of CVS, but both have serious
limitations):
I, but backintime as well, use Bazaar (like all the code that is primarly
hosted on Launchpad), and I can highly recommend to have a look at it ->
http://bazaar-vcs.org/
It is really light-weight, very easy to handle, works excellent on Ubuntu
(Ubuntu is maintained on Bazaar :-)), and fully integrates with Launchpad,
my second recommendation (instead of sourgeforce). Launchpad is a nice place
to store code, anybody can download it and make their own branches (with
e.g. bug-fixes) that can easily be merged into the trunk again, it has a
nice bugmanagement system included, can manage your translations too, and at
a certain point, if it is ready to be used, you can setup a PPA to do the
distribution of packages for ubuntu systems, and last but not least if it is
not a commercial project it is for free!

Hope that answered your question and I hope I seriously changed your mind
;-)

Cheers,
Bart

2009/8/29 Peter Taylor <email address hidden>

> New question #81287 on Back In Time:
> https://answers.launchpad.net/backintime/+question/81287
>
> G'Day,
>
> I'm starting out learning and using Java. I have installed Emma, ANT to
> start building a continuous integration process from scratch under Ubuntu.
> I'll be using Junit for debugging along the way.
>
> The trouble is, I get conflicting ideas of using CVS or SVN for my
> repository or storage of my code changes and wanted to ask professionals in
> this field which is better as best practice.
>
> I have seen replies of converting CVS to SVN and vica versa. I would like
> to stick to one that reliable enough to promote my code changes onto
> Sourgeforce.net when it is mature enough.
>
> I am under the impression Sourgeforge.net is CVS only.
>
> Any help is appreciated.
>
> Thanks,
> Peter.
>
>
>
> --
> You received this question notification because you are an answer
> contact for Back In Time.
>

Revision history for this message
Peter Taylor (p-taylor24) said :
#2

Thanks Bart for replying to my message with some ideas and I MIGHT seriously change my mind if I could get Bazaar working on my Ubuntu though...

Here is the installation errors I am getting. It mentioned I need to submit a bug. I am not familiar with python at all. I did use the Synapatic Package Manager and still shows up as errors with similar messages. I couldn't copy from the Package Manager into here as the copy/paste function doesn't work.

Below is what is shown from my terminal.

peter@peter-desktop:~$ bzr
bzr: ERROR: exceptions.IndentationError: unindent does not match any outer indentation level (configobj.py, line 1426)

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 716, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 855, in run_bzr
    debug.set_debug_flags_from_config()
  File "/usr/lib/python2.6/dist-packages/bzrlib/debug.py", line 37, in set_debug_flags_from_config
    value = c.get_user_option("debug_flags")
  File "/usr/lib/python2.6/dist-packages/bzrlib/config.py", line 175, in get_user_option
    return self._get_user_option(option_name)
  File "/usr/lib/python2.6/dist-packages/bzrlib/config.py", line 355, in _get_user_option
    value = self._get_parser().get_value(section, option_name)
  File "/usr/lib/python2.6/dist-packages/bzrlib/config.py", line 311, in _get_parser
    except configobj.ConfigObjError, e:
  File "/usr/lib/python2.6/dist-packages/bzrlib/lazy_import.py", line 106, in __getattribute__
    obj = _replace()
  File "/usr/lib/python2.6/dist-packages/bzrlib/lazy_import.py", line 89, in _replace
    obj = factory(self, scope, name)
  File "/usr/lib/python2.6/dist-packages/bzrlib/lazy_import.py", line 192, in _import
    module = __import__(module_python_path, scope, scope, [member])
  File "/usr/lib/python2.6/dist-packages/bzrlib/util/configobj/configobj.py", line 1426
     ( if ((self.ejcoding is not None) and

^
 IndentationError: unindent does not match any outer indentation level

bzr 1.13.1 on python 2.6.2 (linux2)
arguments: ['/usr/bin/bzr']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_AU.UTF-8'
plugins:
*** Bazaar has encountered an internal error.
    Please report a bug at https://bugs.launchpad.net/bzr/+filebug
    including this traceback, and a description of what you
    were doing when the error occurred.

Umm, how do I go about configuring and compiling Bazaar by the looks of the logs.

Thanks,
Peter.

Revision history for this message
Bart de Koning (bratdaking) said :
#3

Strange. How did you install bazaar? You only need the bzr package that is
maintained by Canonical (and therefore should work out of the box without
any recompiling or whatever, they make sure it just works), and you could
install the bzr-gtk package as well. The rest is only necessary if you need
additional plugins. What you could do is purge the bazaar you installed
already and use the command line:
sudo apt-get install bzr bzr-gtk
Then you can copy&paste any error messages you obtain...
Oh by the way, did you accidentally install any programmes by hand (without
the package manager)???

Cheers,
Bart

2009/9/1 Peter Taylor <email address hidden>

> Question #81287 on Back In Time changed:
> https://answers.launchpad.net/backintime/+question/81287
>
> Status: Answered => Open
>
> Peter Taylor is still having a problem:
> Thanks Bart for replying to my message with some ideas and I MIGHT
> seriously change my mind if I could get Bazaar working on my Ubuntu
> though...
>
> Here is the installation errors I am getting. It mentioned I need to
> submit a bug. I am not familiar with python at all. I did use the
> Synapatic Package Manager and still shows up as errors with similar
> messages. I couldn't copy from the Package Manager into here as the
> copy/paste function doesn't work.
>
> Below is what is shown from my terminal.
>
> peter@peter-desktop:~$ bzr
> bzr: ERROR: exceptions.IndentationError: unindent does not match any outer
> indentation level (configobj.py, line 1426)
>
> Traceback (most recent call last):
> File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 716, in
> exception_to_return_code
> return the_callable(*args, **kwargs)
> File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 855, in
> run_bzr
> debug.set_debug_flags_from_config()
> File "/usr/lib/python2.6/dist-packages/bzrlib/debug.py", line 37, in
> set_debug_flags_from_config
> value = c.get_user_option("debug_flags")
> File "/usr/lib/python2.6/dist-packages/bzrlib/config.py", line 175, in
> get_user_option
> return self._get_user_option(option_name)
> File "/usr/lib/python2.6/dist-packages/bzrlib/config.py", line 355, in
> _get_user_option
> value = self._get_parser().get_value(section, option_name)
> File "/usr/lib/python2.6/dist-packages/bzrlib/config.py", line 311, in
> _get_parser
> except configobj.ConfigObjError, e:
> File "/usr/lib/python2.6/dist-packages/bzrlib/lazy_import.py", line 106,
> in __getattribute__
> obj = _replace()
> File "/usr/lib/python2.6/dist-packages/bzrlib/lazy_import.py", line 89, in
> _replace
> obj = factory(self, scope, name)
> File "/usr/lib/python2.6/dist-packages/bzrlib/lazy_import.py", line 192,
> in _import
> module = __import__(module_python_path, scope, scope, [member])
> File
> "/usr/lib/python2.6/dist-packages/bzrlib/util/configobj/configobj.py", line
> 1426
> ( if ((self.ejcoding is not None) and
>
> ^
> IndentationError: unindent does not match any outer indentation level
>
> bzr 1.13.1 on python 2.6.2 (linux2)
> arguments: ['/usr/bin/bzr']
> encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_AU.UTF-8'
> plugins:
> *** Bazaar has encountered an internal error.
> Please report a bug at https://bugs.launchpad.net/bzr/+filebug
> including this traceback, and a description of what you
> were doing when the error occurred.
>
> Umm, how do I go about configuring and compiling Bazaar by the looks of
> the logs.
>
> Thanks,
> Peter.
>
> --
> You received this question notification because you are an answer
> contact for Back In Time.
>

Revision history for this message
Peter Taylor (p-taylor24) said :
#4

Hi Bart,

Pardon the delay.

Umm, to answer the installed question, I installed it after you suggested the name of the program Bazaar so I did a "sudo apt-get install bzr" after finding out that I did not have this installed when I put Ubuntu 9.04 - Januty on the PC. The errors repeats as mentioned in earlier mail. Then I used I used Synaptic Package Manager to do this and this didn't make any difference in resolving the same errors.

For the "by the way" question, I'm not sure what you may mean by "accidental" but yes I have installed other software from their "tar.gz" file from sourceforge to play around and try out such as java thinking rock and other bits without the need to use the synaptic package manager. Sometimes I thought I would have fun looking up different software than listed. I guess from the looks of things and line of thinking, this isn't a good idea

Anyway, here is the outcome of my install.
peter@peter-desktop:~$ sudo apt-get install bzr bzr-gtk
Reading package lists... Done
Building dependency tree
Reading state information... Done
bzr is already the newest version.
The following extra packages will be installed:
  bzr-dbus libeel2-2 libeel2-data python-nautilus
Suggested packages:
  bzr-loom bzr-search bzr-avahi
The following NEW packages will be installed:
  bzr-dbus bzr-gtk libeel2-2 libeel2-data python-nautilus
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
Need to get 445kB of archives.
After this operation, 3396kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://au.archive.ubuntu.com jaunty/universe bzr-dbus 0.1~bzr36-3 [18.2kB]
Get:2 http://au.archive.ubuntu.com jaunty/universe bzr-gtk 0.95.0+bzr629-1ubuntu1 [231kB]
Get:3 http://au.archive.ubuntu.com jaunty/main libeel2-data 2.26.0-0ubuntu2 [14.9kB]
Get:4 http://au.archive.ubuntu.com jaunty/main libeel2-2 2.26.0-0ubuntu2 [159kB]
Get:5 http://au.archive.ubuntu.com jaunty/universe python-nautilus 0.5.1-0ubuntu2 [21.6kB]
Fetched 445kB in 17s (25.8kB/s)
Selecting previously deselected package bzr-dbus.
(Reading database ... 222571 files and directories currently installed.)
Unpacking bzr-dbus (from .../bzr-dbus_0.1~bzr36-3_all.deb) ...
Selecting previously deselected package bzr-gtk.
Unpacking bzr-gtk (from .../bzr-gtk_0.95.0+bzr629-1ubuntu1_all.deb) ...
Selecting previously deselected package libeel2-data.
Unpacking libeel2-data (from .../libeel2-data_2.26.0-0ubuntu2_all.deb) ...
Selecting previously deselected package libeel2-2.
Unpacking libeel2-2 (from .../libeel2-2_2.26.0-0ubuntu2_i386.deb) ...
Selecting previously deselected package python-nautilus.
Unpacking python-nautilus (from .../python-nautilus_0.5.1-0ubuntu2_i386.deb) ...
Processing triggers for man-db ...
Setting up bzr (1.13.1-1) ...
Compiling /usr/lib/python2.6/dist-packages/bzrlib/util/configobj/configobj.py ...
Sorry: IndentationError: ('unindent does not match any outer indentation level', ('/usr/lib/python2.6/dist-packages/bzrlib/util/configobj/configobj.py', 1426, 44, ' ( if ((self.ejcoding is not None) and\n'))
pycentral: pycentral pkginstall: error byte-compiling files (666)
pycentral pkginstall: error byte-compiling files (666)
dpkg: error processing bzr (--configure):
 subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of bzr-stats:
 bzr-stats depends on bzr (>= 1.0); however:
  Package bzr is not configured yet.
dpkg: error processing bzr-stats (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of bzrtools:
 bzrtools depends on bzr (>= 1.13~); however:
  Package bzr is not configured yet.
 bzrtools depends on bzr (<< 1.14~); however:
  Package bzr is not configured yet.
dpkg: error processing bzrtools (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of bzr-dbus:
 bzr-dbus depends on bzr (>= 1.0); however:
  Package bzr is not configured yet.
dpkg: error processing bzr-dbus (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of bzr-gtk:
 bzr-gtk depends on bzr (>= 1.6~); however:
  PaNo apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                              No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                           No apport report written because MaxReports is reached already
                            No apport report written because MaxReports is reached already
                                                                                          ckage bzr is not configured yet.
dpkg: error processing bzr-gtk (--configure):
 dependency problems - leaving unconfigured
Setting up libeel2-data (2.26.0-0ubuntu2) ...
Setting up libeel2-2 (2.26.0-0ubuntu2) ...

Setting up python-nautilus (0.5.1-0ubuntu2) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 bzr
 bzr-stats
 bzrtools
 bzr-dbus
 bzr-gtk
E: Sub-process /usr/bin/dpkg returned an error code (1)

Happy to follow any suggestions to work out next, Bart?

Revision history for this message
Peter Taylor (p-taylor24) said :
#5

from my end, "by the way", Bart!

Here is the results from the purge and install part as you suggested I do which I forgot to include.

Shows up a segmentation fault. Possibly a compiler problem as I wanted to compile a gpp eariler, I'm not sure if this is the case.

Here is the results for your information.

peter@peter-desktop:~$ sudo apt-get purge bzr
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  bzr* bzr-dbus* bzr-gtk* bzr-stats* bzrtools*
0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.
5 not fully installed or removed.
After this operation, 20.3MB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 222771 files and directories currently installed.)
Removing bzr-stats ...
Removing bzr-gtk ...
Purging configuration files for bzr-gtk ...
Removing bzr-dbus ...
Removing bzrtools ...
Removing bzr ...
Purging configuration files for bzr ...
Processing triggers for man-db ...
Processing triggers for doc-base ...
Processing 1 removed doc-base file(s)...
Registering documents with scrollkeeper...
peter@peter-desktop:~$ sudo apt-get install bzr bzr-gtk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  bzr-dbus bzrtools
Suggested packages:
  bzr-svn python-pycurl python-kerberos bzr-loom bzr-search bzr-avahi librsvg2-bin graphviz
The following NEW packages will be installed:
  bzr bzr-dbus bzr-gtk bzrtools
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/5606kB of archives.
After this operation, 20.2MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Selecting previously deselected package bzr.
(Reading database ... 221561 files and directories currently installed.)
Unpacking bzr (from .../archives/bzr_1.13.1-1_i386.deb) ...
Selecting previously deselected package bzr-dbus.
Unpacking bzr-dbus (from .../bzr-dbus_0.1~bzr36-3_all.deb) ...
Segmentation fault
Selecting previously deselected package bzr-gtk.
Unpacking bzr-gtk (from .../bzr-gtk_0.95.0+bzr629-1ubuntu1_all.deb) ...
Selecting previously deselected package bzrtools.
Unpacking bzrtools (from .../bzrtools_1.13.0-1_all.deb) ...
Processing triggers for man-db ...
Processing triggers for doc-base ...
Processing 1 added doc-base file(s)...
Registering documents with scrollkeeper...
Setting up bzr (1.13.1-1) ...

Setting up bzr-dbus (0.1~bzr36-3) ...

Setting up bzr-gtk (0.95.0+bzr629-1ubuntu1) ...

Setting up bzrtools (1.13.0-1) ...

peter@peter-desktop:~$ bzr
Segmentation fault

looks like the bzr-dbus thing didn't work, what it is.

Good luck Bart. ;-)

Revision history for this message
Peter Taylor (p-taylor24) said :
#6

hmm, I discovered Bart that it works after typing bzr again after the segmentation fault.

peter@peter-desktop:~$ bzr
Bazaar -- a free distributed version-control tool
http://bazaar-vcs.org/

Basic commands:
  bzr init makes this directory a versioned branch
  bzr branch make a copy of another branch

  bzr add make files or directories versioned
  bzr ignore ignore a file or pattern
  bzr mv move or rename a versioned file

  bzr status summarize changes in working copy
  bzr diff show detailed diffs

  bzr merge pull in changes from another branch
  bzr commit save some or all changes
  bzr send send changes via email

  bzr log show history of changes
  bzr check validate storage

  bzr help init more help on e.g. init command
  bzr help commands list all commands
  bzr help topics list all help topics

is this normal after a segmentation fault!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!!?!?!?!??????? eh?

Revision history for this message
Best Bart de Koning (bratdaking) said :
#7

Hmm, nasty. It is not normal. I think you actually screwed up the system a
bit.
If there is a deb package of software, always try to install that through
the package manager (synaptic, or apt-get, or aptitude), because the package
manager keeps track of what is installed on your system. Not only to be able
to remove it cleanly and easily but also to keep track of versions and
conflicting software. And debs are maintained for a certain linux
distribution, so most of the time they work on that distribution without a
problem.

That is why it is not a good idea to install anything just by compiling it
yourself, if you do not know what would happen to the rest of your system.
And there is loads of software in the repositories (go to sources and open
also the multiverse), and if it is not, often there is a debian package for
the software somewhere else (might break your system though, but then there
is a chance you can undo it easily by just removing it again) or make the
package yourself (eg. by alienating a rpm -> packages from redhat). So often
compiling it yourself is not necessary...

For now, if you do not want to reinstall the whole system, my advise would
be to reinstall python, because there something gets mixed up a bit...

Good luck,
Bart

2009/9/2 Peter Taylor <email address hidden>

> Question #81287 on Back In Time changed:
> https://answers.launchpad.net/backintime/+question/81287
>
> Peter Taylor gave more information on the question:
> hmm, I discovered Bart that it works after typing bzr again after the
> segmentation fault.
>
> peter@peter-desktop:~$ bzr
> Bazaar -- a free distributed version-control tool
> http://bazaar-vcs.org/
>
> Basic commands:
> bzr init makes this directory a versioned branch
> bzr branch make a copy of another branch
>
> bzr add make files or directories versioned
> bzr ignore ignore a file or pattern
> bzr mv move or rename a versioned file
>
> bzr status summarize changes in working copy
> bzr diff show detailed diffs
>
> bzr merge pull in changes from another branch
> bzr commit save some or all changes
> bzr send send changes via email
>
> bzr log show history of changes
> bzr check validate storage
>
> bzr help init more help on e.g. init command
> bzr help commands list all commands
> bzr help topics list all help topics
>
> is this normal after a segmentation
> fault!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!!?!?!?!???????
> eh?
>
> You received this question notification because you are an answer
> contact for Back In Time.
>

Revision history for this message
Peter Taylor (p-taylor24) said :
#8

Thanks Bart de Koning, that solved my question.

Revision history for this message
Peter Taylor (p-taylor24) said :
#9

I confessed I was aware of initial installation issues I didn't think would cause problems but it does.

I have spend over 1 1/2 days using an alternative installation of Ubuntu again using USB bootup instead of a CD-ROM (which is from cheap quality) and it works with only two files stuffed compared the CD-ROM having major packages stuffed and failed to complete the configuration files.

Now I have done the 5 min Bazaar tests and it works exactly. I'll use this one now. So Thanks Bart, I have changed my mind.

Do you know does Bazaar can do an ANT once committed update Cruise Control?!?!?!