[GRASS-dev] cvs2svn questions

Hi,

there are a few questions listed here:
  http://grass.gdf-hannover.de/wiki/Migration_from_CVS_to_SVN

to address two of them:

1. remove deleted files in the Attic?

my suggestion would be keep them, unless they cause a big problem and waste huge amounts of space. Sometimes there is interesting stuff there or history as to why it changed.
Also, is it possible to check out older versions of the code from before the file was moved there if you delete the attic??

2. creation grass7 repo.

the suggestion in the wiki page is to run cvs2svn for grass6 twice.
why not copy it after? svn must have a way to clone a new repo from an old one. (but whatever is easier & cleaner)

How will we port changes between the GRASS 6.4 and GRASS 7 repositories?
When GRASS 7 opens is new development for GRASS 6 closed? (if two separate repos changes must be done in two place or abandoned in GRASS 6)
Are we planning that 6.4 will be the end of the 6.x line? Any reason for that not to be the case?

Hamish

Hamish wrote:

there are a few questions listed here:
  http://grass.gdf-hannover.de/wiki/Migration_from_CVS_to_SVN

to address two of them:

1. remove deleted files in the Attic?

my suggestion would be keep them, unless they cause a big problem and
waste huge amounts of space. Sometimes there is interesting stuff
there or history as to why it changed.

Also, is it possible to check out older versions of the code from
before the file was moved there if you delete the attic??

No. But (AFAICT) there's no straightforward way of getting those files
into a Subversion repository.

Most of the files which were in the attic are there for the same
reason.

Originally, 5.7 was an "overlay" on top of 5.3 (the "make mix" era).
When a file needed to be changed for 5.7, the modified version was
added to the 5.7 repository.

Sometimes, the changes were backported to 5.3, or 5.3 was updated in a
way which meant that 5.7 no longer needed a separate version of the
file, so the file was removed from the 5.7 repository. When "make mix"
was abandoned and the outstanding files were copied into the 5.7
repository, the earlier versions end up in the attic.

So, most of the files in the attic are versions from the early days of
5.7 which diverged temporarily from the 5.3 versions (files which
diverged permanently will still be there, rather than the 5.3
versions).

Those files are of no use to anyone other than an archeologist digging
up the prehistory of 6.x. IMHO, it isn't worth the effort of figuring
out how to preserve them.

2. creation grass7 repo.

the suggestion in the wiki page is to run cvs2svn for grass6 twice.
why not copy it after? svn must have a way to clone a new repo from an
old one. (but whatever is easier & cleaner)

How will we port changes between the GRASS 6.4 and GRASS 7
repositories?

In many cases, we won't. 7.x is likely to diverge fast enough that
patches made against 6.x often won't apply to 7.x. This is independent
of which version control system is used or how it's configured.

When GRASS 7 opens is new development for GRASS 6 closed? (if two
separate repos changes must be done in two place or abandoned in GRASS
6)

Are we planning that 6.4 will be the end of the 6.x line? Any reason
for that not to be the case?

Once 7.x starts, 6.x is a dead end. The main point of 7.x is to avoid
being tied down by compatibility with previous versions.

--
Glynn Clements <glynn@gclements.plus.com>

Hi,

2007/10/25, Glynn Clements <glynn@gclements.plus.com>:

Hamish wrote:

> there are a few questions listed here:
> http://grass.gdf-hannover.de/wiki/Migration_from_CVS_to_SVN
>
> to address two of them:
>
> 1. remove deleted files in the Attic?
>
> my suggestion would be keep them, unless they cause a big problem and
> waste huge amounts of space. Sometimes there is interesting stuff
> there or history as to why it changed.
>
> Also, is it possible to check out older versions of the code from
> before the file was moved there if you delete the attic??

No. But (AFAICT) there's no straightforward way of getting those files
into a Subversion repository.

Most of the files which were in the attic are there for the same
reason.

Originally, 5.7 was an "overlay" on top of 5.3 (the "make mix" era).
When a file needed to be changed for 5.7, the modified version was
added to the 5.7 repository.

Sometimes, the changes were backported to 5.3, or 5.3 was updated in a
way which meant that 5.7 no longer needed a separate version of the
file, so the file was removed from the 5.7 repository. When "make mix"
was abandoned and the outstanding files were copied into the 5.7
repository, the earlier versions end up in the attic.

So, most of the files in the attic are versions from the early days of
5.7 which diverged temporarily from the 5.3 versions (files which
diverged permanently will still be there, rather than the 5.3
versions).

Those files are of no use to anyone other than an archeologist digging
up the prehistory of 6.x. IMHO, it isn't worth the effort of figuring
out how to preserve them.

ok, then the Attic files can be removed, I guess. Take a look e.g. at

http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/grass6/display/d.erase/Attic/?root=grass

exactly this case.

> 2. creation grass7 repo.
>
> the suggestion in the wiki page is to run cvs2svn for grass6 twice.
> why not copy it after? svn must have a way to clone a new repo from an
> old one. (but whatever is easier & cleaner)

First the grass6 svn is created (trunk, selected branches and tags)
based on grass6 cvs, then grass7 svn based on grass6 HEAD (*only
trunk*, no branches, tags).

Martin

[snip]

--
Martin Landa <landa.martin@gmail.com> * http://gama.fsv.cvut.cz/~landa *