You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Hinote, Scotty (MSFC-IS40)[NICS]" <wi...@nasa.gov> on 2013/12/12 20:25:04 UTC

help with svn:ignore

Hi All,

I am using Subversion 1.6.11-10 on Red Hat Enterprise 5.8. The repository is strictly for RANCID and I recently renamed several files in my repository with the "svn move" command. After making these changes I found that I can no longer see the file history for the renamed files in my repository viewer, OpenGrok. I have checked out an updated copy of the repository and cleared the OpenGrok caches but still cannot see historical revisions. I executed an "svn log" for the repo with the following results.

------------------------------------------------------------------------
r2044 | rancid | 2013-12-11 17:38:10 +0000 (Wed, 11 Dec 2013) | 1 line
new router
------------------------------------------------------------------------
r2043 | rancid | 2013-12-10 22:31:13 +0000 (Tue, 10 Dec 2013) | 1 line
updates
------------------------------------------------------------------------
r2042 | rancid | 2013-12-10 20:56:41 +0000 (Tue, 10 Dec 2013) | 1 line
updates
------------------------------------------------------------------------
r2041 | rancid | 2013-12-10 20:34:13 +0000 (Tue, 10 Dec 2013) | 1 line
set svn:ignores
------------------------------------------------------------------------
r3 | rancid | 2013-12-10 19:04:29 +0000 (Tue, 10 Dec 2013) | 1 line
new

Newer revisions show updates or new router (new file) and there is history for all revisions past r2041. I executed "svn propdel svn:ignore --revprop -r 2041 file:///opt/rancid/archives/SVN/CISCO/<file:///\\opt\rancid\archives\SVN\CISCO\>" and received a message of "property 'svn:ignore' deleted from repository revision 2041". I then update my RANCID working copy on the server with "svn update" and check out the changes for OpenGrok but I still cannot see historical changes. The changes are in the repository because I can execute "svn cat file:///opt/rancid/archives/SVN/CISCO/configs/router1 -r1663" to see the historical file.

Can someone help me find a way to remove the svn:ignore that has been set at revision 2041?

Thank you,
Scotty

Re: help with svn:ignore

Posted by Thorsten Schöning <ts...@am-soft.de>.
Guten Tag Hinote, Scotty (MSFC-IS40)[NICS],
am Donnerstag, 12. Dezember 2013 um 21:38 schrieben Sie:

> I then moved the files with my Perl script.

You should provide the lines which implement the rename and the
commit of the deleted and newly added files.

> It appears from the
> output of "svn log -v file:///opt/rancid/archives/SVN/CISCO/" that
> r1 - r3 is when RANCID created the repo using rancid-cvs and r2041
> is where I moved the files.

Did you use svn log on the files moved to get their history? Execute
svn help log and have a look at --stop-on-copy.

> I have another server that I also renamed files on using "svn move"
> but I moved the files one at a time instead of with a script. This
> server reports svn:ignores at revisions after moves were executed
> even though I did not restore a backup.

svn:ignore surely is not your problem, it doesn't affect the output or
generation of history in any way. It's only purpose is to specify to
ignore unadded files in a working copy and therefore prevent
accidental commits of binary files etc.

> Are there some additional flags I should be using with svn move?

Doesn't seem so, but it essential to commit both delete and add of the
renamed file in the same commit.

> When manually moving or moving with the script the command is the
> same "svn move /path/old_name /path/new_name". I do not see any stop
> on copy in the svn log output that OpenGrok would pick up on.

stop-on-copy is an argument to svn log, you won't see it in any
output, just the results may not be what you expect. Besides that, it
seems that OpenGrok is able to handle renames, but your version may
simply have bugs:

https://github.com/OpenGrok/OpenGrok/issues/694
https://github.com/OpenGrok/OpenGrok/issues/4

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail:Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow


RE: help with svn:ignore

Posted by "Hinote, Scotty (MSFC-IS40)[NICS]" <wi...@nasa.gov>.
Hi Bob,

I appreciate the reply. A few more details that may help.

I wrote a Perl script to move the files from the old name to the new name. During the first round there were some issues with renaming so I had to restore a backup of the repository. I created a new directory then restored my dump file from the previous day. After restoring the dump I moved the restored directory into the correct path for RANCID then moved the logs and SVN directories.

/usr/libexec/rancid/rancid-cvs
svnadmin load /opt/rancid/archives/SVN/ < /opt/svn_backups/restore.dump
svn co file:///opt/rancid/archives/SVN/
mv archives archives.new
mv SVN archives
cd archives.new
mv logs/ ../archives
mv SVN/ ../archives

I then moved the files with my Perl script. It appears from the output of "svn log -v file:///opt/rancid/archives/SVN/CISCO/" that r1 - r3 is when RANCID created the repo using rancid-cvs and r2041 is where I moved the files. Maybe I am not restoring the repository correctly but RANCID needs a working copy locally on the server to run its jobs which is why I checked out the repo then moved the SVN and logs dir.

I have another server that I also renamed files on using "svn move" but I moved the files one at a time instead of with a script. This server reports svn:ignores at revisions after moves were executed even though I did not restore a backup.

Server 1
--
Restored backup
Moved files with Perl script
svn:ignores set

Server 2
--
No backup restored
Moved files one at a time
svn:ignores set

Are there some additional flags I should be using with svn move? When manually moving or moving with the script the command is the same "svn move /path/old_name /path/new_name". I do not see any stop on copy in the svn log output that OpenGrok would pick up on.

Thank you,
Scotty

-----Original Message-----
From: Bob Archer [mailto:Bob.Archer@amsi.com] 
Sent: Thursday, December 12, 2013 2:11 PM
To: Hinote, Scotty (MSFC-IS40)[NICS]; users@subversion.apache.org
Subject: RE: help with svn:ignore

> I am using Subversion 1.6.11-10 on Red Hat Enterprise 5.8. The repository is
> strictly for RANCID and I recently renamed several files in my repository with
> the "svn move" command. After making these changes I found that I can no
> longer see the file history for the renamed files in my repository viewer,
> OpenGrok. I have checked out an updated copy of the repository and
> cleared the OpenGrok caches but still cannot see historical revisions. I
> executed an "svn log" for the repo with the following results.
> 
> ------------------------------------------------------------------------
> r2044 | rancid | 2013-12-11 17:38:10 +0000 (Wed, 11 Dec 2013) | 1 line new
> router
> ------------------------------------------------------------------------
> r2043 | rancid | 2013-12-10 22:31:13 +0000 (Tue, 10 Dec 2013) | 1 line updates
> ------------------------------------------------------------------------
> r2042 | rancid | 2013-12-10 20:56:41 +0000 (Tue, 10 Dec 2013) | 1 line updates
> ------------------------------------------------------------------------
> r2041 | rancid | 2013-12-10 20:34:13 +0000 (Tue, 10 Dec 2013) | 1 line set
> svn:ignores
> ------------------------------------------------------------------------
> r3 | rancid | 2013-12-10 19:04:29 +0000 (Tue, 10 Dec 2013) | 1 line new
> 
> Newer revisions show updates or new router (new file) and there is history
> for all revisions past r2041. I executed "svn propdel svn:ignore --revprop -r
> 2041 file:///opt/rancid/archives/SVN/CISCO/" and received a message of
> "property 'svn:ignore' deleted from repository revision 2041". I then update
> my RANCID working copy on the server with "svn update" and check out the
> changes for OpenGrok but I still cannot see historical changes. The changes
> are in the repository because I can execute "svn cat
> file:///opt/rancid/archives/SVN/CISCO/configs/router1 -r1663" to see the
> historical file.
> 
> Can someone help me find a way to remove the svn:ignore that has been set
> at revision 2041?

You can't remove versioned properties. Changes to those properties are part of the history of the file/path just like the changes made to the file. It is not a revprop.
That said, svn ingnore doesn't affect stuff that is in the repository already. So, I don't think that is your problem. Also, the property affects when stuff is added.

When you did the move, did you commit both the ADD and the DELETE? You can verify by looking at the commit info.

Does OpenGrock perhaps automatically include a "--stop-on-copy" for the log command? 

BOb

RE: help with svn:ignore

Posted by Bob Archer <Bo...@amsi.com>.
> I am using Subversion 1.6.11-10 on Red Hat Enterprise 5.8. The repository is
> strictly for RANCID and I recently renamed several files in my repository with
> the "svn move" command. After making these changes I found that I can no
> longer see the file history for the renamed files in my repository viewer,
> OpenGrok. I have checked out an updated copy of the repository and
> cleared the OpenGrok caches but still cannot see historical revisions. I
> executed an "svn log" for the repo with the following results.
> 
> ------------------------------------------------------------------------
> r2044 | rancid | 2013-12-11 17:38:10 +0000 (Wed, 11 Dec 2013) | 1 line new
> router
> ------------------------------------------------------------------------
> r2043 | rancid | 2013-12-10 22:31:13 +0000 (Tue, 10 Dec 2013) | 1 line updates
> ------------------------------------------------------------------------
> r2042 | rancid | 2013-12-10 20:56:41 +0000 (Tue, 10 Dec 2013) | 1 line updates
> ------------------------------------------------------------------------
> r2041 | rancid | 2013-12-10 20:34:13 +0000 (Tue, 10 Dec 2013) | 1 line set
> svn:ignores
> ------------------------------------------------------------------------
> r3 | rancid | 2013-12-10 19:04:29 +0000 (Tue, 10 Dec 2013) | 1 line new
> 
> Newer revisions show updates or new router (new file) and there is history
> for all revisions past r2041. I executed "svn propdel svn:ignore --revprop -r
> 2041 file:///opt/rancid/archives/SVN/CISCO/" and received a message of
> "property 'svn:ignore' deleted from repository revision 2041". I then update
> my RANCID working copy on the server with "svn update" and check out the
> changes for OpenGrok but I still cannot see historical changes. The changes
> are in the repository because I can execute "svn cat
> file:///opt/rancid/archives/SVN/CISCO/configs/router1 -r1663" to see the
> historical file.
> 
> Can someone help me find a way to remove the svn:ignore that has been set
> at revision 2041?

You can't remove versioned properties. Changes to those properties are part of the history of the file/path just like the changes made to the file. It is not a revprop.
That said, svn ingnore doesn't affect stuff that is in the repository already. So, I don't think that is your problem. Also, the property affects when stuff is added.

When you did the move, did you commit both the ADD and the DELETE? You can verify by looking at the commit info.

Does OpenGrock perhaps automatically include a "--stop-on-copy" for the log command? 

BOb