Re: Empty Index lines

2017-12-07 Thread Branko Čibej
On 08.12.2017 00:50, Alexey Neyman wrote:
> Hi,
>
> Is it possible to get rid of the lots of "Index:" headers in the
> output of the 'svn diff' where there is no actual difference between
> the files? I think this started with SVN 1.9 - 1.7 definitely did not
> do that, and neither did 1.8, as far as I remember.

I couldn't agree more, these index lines are a pain. Happens with
current 1.8.x, 1.9.x and trunk.

I've been looking through the diff code and /somehow/ we get the
contents-changed flag wrong. It doesn't matter if we're using the
internal diff code or an external command, the results are the same; and
it also doesn't matter if it's a wc-to-wc diff, a repo-to-wc diff or a
repo-to-repo diff.

The code is of course a tangled maze of twisty passages.

-- Brane



Re: Moving CVS to SVN - multiple repositories with different permissions

2017-12-07 Thread Bo Berglund
On Thu, 7 Dec 2017 23:05:23 +0100, Branko ?ibej 
wrote:

>I really, really recommend you try do do the conversion on the VM you
>found. If it's using an IPv6 network address, well then, change the
>address. It's not rocket science.
>
Right you are,
this is what I ended up with after trying to build cvsnt from sources
on both Ubuntu 16.04.3 and an RPi3 with Raspbian Jessie. Both failed
in the make step, I was able to get some stuff cleared away but
finally gave up.

The Ubuntu10 box lacked SSH so I could not connect with PuTTY and
sftp, but I managed to install SSH in a roundabout way and the sftp
also started working.
So now I am using this old Ubuntu10 box for my conversions.

See my new thread about the cvs2svn symbol conversion errors.

-- 
Bo Berglund
Developer in Sweden



Empty Index lines

2017-12-07 Thread Alexey Neyman

Hi,

Is it possible to get rid of the lots of "Index:" headers in the output 
of the 'svn diff' where there is no actual difference between the files? 
I think this started with SVN 1.9 - 1.7 definitely did not do that, and 
neither did 1.8, as far as I remember.


For example, I copied Linux kernel from one path to another and now 'svn 
diff' shows the Index: line on each copied path, e.g.


$ svn di arch/x86 | head -20
Index: arch/x86/.gitignore
===
Index: arch/x86/Kbuild
===
Index: arch/x86/Kconfig
===
Index: arch/x86/Kconfig.cpu
===
Index: arch/x86/Kconfig.debug
===
Index: arch/x86/Makefile
===
Index: arch/x86/Makefile.um
===
Index: arch/x86/Makefile_32.cpu
===
Index: arch/x86/boot/.gitignore
===
Index: arch/x86/boot/Makefile
===


As you might imagine, this bloats the patch considerably and effectively 
makes it unreviwable.


There is no changes in all these files, except that there is a parent 
directory that were copied.


$ svn info .
Path: .
Working Copy Root Path: /home/aneyman/work/WC
URL: $REPO/$PATH/linux-generic
Relative URL: ^/$PATH/linux-generic
Repository Root: $REPO
Repository UUID: 12b7edc4-22db-4a73-a48b-88f3acc8629e
Revision: 14230
Node Kind: directory
Schedule: add
Copied From URL: $REPO/$ORIGINAL_PATH
Copied From Rev: 14230
Moved From: $ORIGINAL_PATH_IN_WC
Last Changed Author: aneyman
Last Changed Rev: 14227
Last Changed Date: 2017-12-05 16:40:55 -0800 (Tue, 05 Dec 2017)

How to make SVN not emit this garbage?

Regards,
Alexey.



Re: Moving CVS to SVN - multiple repositories with different permissions

2017-12-07 Thread Branko Čibej
On 06.12.2017 18:17, Bo Berglund wrote:
> On Wed, 06 Dec 2017 15:49:40 +0100, Bo Berglund
>  wrote:
>
>> Is there some way to move an installed package from an Ubuntu machine
>> to another more recent machine?
>> Then I could get cvs(nt) on Linux operational on my new Ubuntu 16.04.3
>> machine.
>> This would make the conversion using cvs2svn possible with an
>> executable that understands the cvsnt stuff.
> I tried the following:
> 1) Located the cvs program on the UBUNTU10 machine, it turned out to
> be symlinked to:
>   /usr/bin/cvsnt
> 2) I tar:ed the cvsnt file and sent it by ftp to my website
> 3) On the new server I used ftp to get the tar file back
> 4) Then I untared it to my home dir
> 5) Finally I tried to check if it would run:
> ~$ ls -l
> total 1352
> -rwxr-xr-x 1 bosse bosse 943676 Jan 17  2010 cvsnt
> -rw-rw-r-- 1 bosse bosse 431550 Dec  6 07:45 cvsnt.tar.gz
> ~$ ./cvsnt
> -bash: ./cvsnt: No such file or directory
> ~$ cvsnt
> cvsnt: command not found

It probably needs a bunch of shared libraries that it doesn't find on
your machine:

Try:

$ ldd ./cvsnt

and see what's missing. Even if you install the missing libraries,
there's a good chance nothing will work as expected, since ABI
compatibility is probably not guaranteed.

I really, really recommend you try do do the conversion on the VM you
found. If it's using an IPv6 network address, well then, change the
address. It's not rocket science.

-- Brane



First cvs2svn conversion, problem with "symbols"

2017-12-07 Thread Bo Berglund
Info:
OS on which conversion runs: Ubuntu10 (i386)
cvs2svn version = 2.5.0
repository source: cvsnt on Windows
cvs parser: cvsnt on ubuntu (this is why I am on ubuntu10)
python version: 2.6.5
cvsnt version on windows and ubuntu is the same.
options file: Example file edited as per suggestions

Problem:
I have taken one of our CVS repositories, which contains just 16
projects, as a test case for the full conversion to come later.
I used the options file approach so that I could use the automatic
listing of these projects.
What happens is that when I run the conversion after pass 1 (listing
all the ,v files) this is displayed:

Time for pass1 (CollectRevsPass): 4.491 seconds.
- pass 2 (CleanMetadataPass) -
Converting metadata to UTF8...
Done
Time for pass2 (CleanMetadataPass): 0.036 seconds.
- pass 3 (CollateSymbolsPass) -
ERROR: Problems determining how symbols should be converted:
It is not clear how the following symbols should be converted.
Use --symbol-hints, --force-tag, --force-branch, --exclude, and/or
--symbol-default to resolve the ambiguity.
'EAGLE2-version1' is a tag in 13 files, a branch in 0 files, a
trivial import in 0 files, a pure import in 0 files, and has commits
in 0 files in 0 files
'start' is a tag in 13 files, a branch in 0 files, a trivial
import in 0 files, a pure import in 0 files, and has commits in 0
files
--- and the list continues looking approximately as above ---

I have no idea what I should do about this, the "symbols" are just
tags on certain revisions in a number of files. Some tags might be
regular tags and some branch tags.
But that is normal in a CVS repository so what is it complaining about
and what should I do about it?

In the options file I have this at the end as suggested in the
documentation:

#Importing all projects in a CVS repository as separate projects

# 1)List all projects automatically
import os
cvs_repo_main_dir = '/home/bosse/CVSREPOS/Bosse'
projects = os.listdir(cvs_repo_main_dir)

# 2) Probably you don't want to convert CVSROOT:
projects.remove('CVSROOT')

# 3) Now loop projects and add to conversion list
for project in projects:
run_options.add_project(
cvs_repo_main_dir + '/' + project,
trunk_path=(project + '/trunk'),
branches_path=(project + '/branches'),
tags_path=(project + '/tags'),
)

# Change this option to True to turn on profiling of cvs2svn (for
# debugging purposes):
run_options.profiling = False

What should I do to handle the symbols issue?

-- 
Bo Berglund
Developer in Sweden