Re: Empty Index lines
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
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
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
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"
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