Re: Issue with svn log --diff option
Hello, First, Stefan, thanks for your quick answer. You're right, Subversion 1.7.4 log --diff works better. But copy operation support is still limited. Here is a quick description of my repository status: $ svn log resources/favicon.ico r429 | B | 2010-06-15 14:35:13 +0200 (mar, 15 jun 2010) | 1 line r388 | B | 2010-03-05 16:52:29 +0100 (ven, 05 mar 2010) | 2 lines r288 | B | 2009-08-28 11:18:37 +0200 (ven, 28 aoû 2009) | 1 line r98 | A | 2008-02-25 12:17:51 +0100 (lun, 25 fév 2008) | 2 lines The file has been moved from different location with copy operations in revision 288 and then 429. $ svn log --diff resources/favicon.ico - is able to generate the diff for 388-429 move - fails to generate the diff for 98-288 move with the error message: svn: E160013: Diff target 'REPO/resources/favicon.ico' was not found in the repository at revisions '287' and '288' So I would say the diff option is able to pass through one copy operation but not two copy operations. I hope my description is enough to create a test case to confirm/invalidate my hypothesis. Regards, Yves Martin Le 27 mars 2012 19:25, Stefan Sperling s...@elego.de a écrit : If you can reproduce it with 1.7.4, can you please try to provide an example 'svn log' invocation against a public Subversion repository (for instance, http://svn.apache.org/repos/asf) that shows the problem?
Re: Understanding PySvn – Where to start from?
Am 27.03.2012 19:00, schrieb Mark Phippard: If you are on Windows you should install TortoiseSVN (and the command line client). Since at least 1.7, TortoiseSVN also packages the command line tools, so you don't have to install them separately. 1. Install TSVN 2. Open a command prompt and type svn --version to check if the commandline tools are properly installed. 3. Take a look at the online version of the SVN book. In its examples it uses the commandline client. After you went through the examples of the book you will have an overview of how to use SVN. Doing that with the commandline or any other client shouldn't be a problem then. Concerning other clients, my experience is that there are many while only a handful of them are actually in a state where you can use them. When picking a client, there is always the chance that you picked one of those that don't work properly, which can combine with your noobness to a very frustrating experience. My suggestion: Install TSVN and subscribe to its users' mailinglist for further guidance. Uli ** Domino Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932 ** Visit our website at http://www.dominolaser.com ** Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder anderweitig benutzt werden. E-Mails können durch Dritte gelesen werden und Viren sowie nichtautorisierte Änderungen enthalten. Domino Laser GmbH ist für diese Folgen nicht verantwortlich. **
Re: Issue with svn log --diff option
Yves Martin ymartin1...@gmail.com writes: $ svn log resources/favicon.ico r429 | B | 2010-06-15 14:35:13 +0200 (mar, 15 jun 2010) | 1 line r388 | B | 2010-03-05 16:52:29 +0100 (ven, 05 mar 2010) | 2 lines r288 | B | 2009-08-28 11:18:37 +0200 (ven, 28 aoû 2009) | 1 line r98 | A | 2008-02-25 12:17:51 +0100 (lun, 25 fév 2008) | 2 lines The file has been moved from different location with copy operations in revision 288 and then 429. $ svn log --diff resources/favicon.ico - is able to generate the diff for 388-429 move - fails to generate the diff for 98-288 move with the error message: svn: E160013: Diff target 'REPO/resources/favicon.ico' was not found in the repository at revisions '287' and '288' So I would say the diff option is able to pass through one copy operation but not two copy operations. I hope my description is enough to create a test case to confirm/invalidate my hypothesis. It handles multiple moves, but there is a problem somewhere: svnadmin create repo svn co file://`pwd`/repo wc echo zig wc/f svn add wc/f svn ci -mm wc svn mv wc/f wc/g echo zag wc/g svn ci -mm wc svn mv wc/g wc/h echo zog wc/h svn ci -mm wc svn mv wc/h wc/i echo zug wc/i svn ci -mm wc $ svn log --diff file://`pwd`/repo/i r4 | pm | 2012-03-28 09:47:37 +0100 (Wed, 28 Mar 2012) | 1 line m Index: h === --- h (.../h) (revision 3) +++ h (.../i) (revision 4) @@ -1 +1 @@ -zog +zug r3 | pm | 2012-03-28 09:45:04 +0100 (Wed, 28 Mar 2012) | 1 line m Index: g === --- g (.../g) (revision 2) +++ g (.../h) (revision 3) @@ -1 +1 @@ -zag +zog r2 | pm | 2012-03-28 09:45:02 +0100 (Wed, 28 Mar 2012) | 1 line m Index: f === --- f (.../f) (revision 1) +++ f (.../g) (revision 2) @@ -1 +1 @@ -zig +zag r1 | pm | 2012-03-28 09:45:00 +0100 (Wed, 28 Mar 2012) | 1 line m svn: E160013: Diff target 'file:///home/pm/sw/subversion/obj/repo/i' was not found in the repository at revisions '0' and '1' -- Philip
RE: Which is the most used/best Windows Subversion server distribution?
Hello Mark ( others), thank you for the answers. I am searching SVN server software. pre-packaged solutions preferred/required (without python stuff if possible). As previously mentioned the bottom of page http://subversion.apache.org/packages.html shows 5 server packages. I need a comparison and recommendation which package to select for a.) Linux as server platform b) Windows as server platform Is there a rough market share estimation? The server should later be accessible from Eclipse or TortoiseSVN Client No VisualStudio integretion necessary Can you give me some hints? Ben On Mon, 26 Mar 2012 09:30:06 +0100, Cooke, Mark wrote: -Original Message- From: Nico Kadel-Garcia [mailto:nka...@gmail.com] Sent: 24 March 2012 03:14 To: Ben Stover Cc: Subversion Users Subject: Re: Which is the most used/best Windows Subversion distribution? On Fri, Mar 23, 2012 at 10:56 PM, Ben Stover bxsto...@yahoo.co.uk wrote: When I go to the download page for the Subversion binaries for WindowsOS: http://subversion.apache.org/packages.html Then there are 5 different packages: CollabNet (supported and certified by CollabNet; requires registration) SlikSVN (32- and 64-bit client MSI; maintained by Bert Huijben, SharpSvn project) VisualSVN (client and server; supported and maintained by VisualSVN) WANdisco (32- and 64-bit client and server; supported and certified by WANdisco) Win32Svn (32-bit client, server and bindings, MSI and ZIPs; maintained by David Darj) What are the differences between them? It Depends(tm). Some are supposed to be IDE's, such as SlikSVN and VisualSVN. But the most commonly used, and probably best, Subversion for Windows is TortoiseSVN. The very good GUI and the well integrated behavior with Windows interfaces make it very easy to use, Another popular Windows command line tool suite is in CygWin, which is the compiltion envionment for many Windows tools. Which one is the best supported/most compatible? Which one is the most widely used in WinOS world? In my obvservatoin, TortoiseSVN, which is GUI based. As Nico already said it depends. You do not say exactly what you want... Most importantly are you looking to setup repositories (you want the server stuff) or just connect to existing ones (just the client)? If you need the server stuff, do you want to configure it all yourself (Alagazam includes lots of bindings for python etc) or go for a pre-packaged solution (look for Bitnami or WANdisco's uberSVN)? If just the client, then do you want it integrated with Visual Studio (Slik and Visual) or just to work through Explorer (TortoiseSVN) or just the command line (also Tortoise if you select the command line tools in the setup app or alagazam or WANDdisco or)? Hope that starts to explain the differences between them! ~ mark c
RE: Which is the most used/best Windows Subversion server distribution?
[convention on this list is to answer in line to make the thread easier to follow] On Mon, 26 Mar 2012 09:30:06 +0100, Cooke, Mark wrote: -Original Message- From: Nico Kadel-Garcia [mailto:nka...@gmail.com] Sent: 24 March 2012 03:14 To: Ben Stover Cc: Subversion Users Subject: Re: Which is the most used/best Windows Subversion distribution? On Fri, Mar 23, 2012 at 10:56 PM, Ben Stover bxsto...@yahoo.co.uk wrote: When I go to the download page for the Subversion binaries for WindowsOS: http://subversion.apache.org/packages.html Then there are 5 different packages: CollabNet (supported and certified by CollabNet; requires registration) SlikSVN (32- and 64-bit client MSI; maintained by Bert Huijben, SharpSvn project) VisualSVN (client and server; supported and maintained by VisualSVN) WANdisco (32- and 64-bit client and server; supported and certified by WANdisco) Win32Svn (32-bit client, server and bindings, MSI and ZIPs; maintained by David Darj) What are the differences between them? It Depends(tm). Some are supposed to be IDE's, such as SlikSVN and VisualSVN. But the most commonly used, and probably best, Subversion for Windows is TortoiseSVN. The very good GUI and the well integrated behavior with Windows interfaces make it very easy to use, Another popular Windows command line tool suite is in CygWin, which is the compiltion envionment for many Windows tools. Which one is the best supported/most compatible? Which one is the most widely used in WinOS world? In my obvservatoin, TortoiseSVN, which is GUI based. As Nico already said it depends. You do not say exactly what you want... Most importantly are you looking to setup repositories (you want the server stuff) or just connect to existing ones (just the client)? If you need the server stuff, do you want to configure it all yourself (Alagazam includes lots of bindings for python etc) or go for a pre-packaged solution (look for Bitnami or WANdisco's uberSVN)? If just the client, then do you want it integrated with Visual Studio (Slik and Visual) or just to work through Explorer (TortoiseSVN) or just the command line (also Tortoise if you select the command line tools in the setup app or alagazam or WANDdisco or)? Hope that starts to explain the differences between them! ~ mark c -Original Message- From: Ben Stover [mailto:bxsto...@yahoo.co.uk] Sent: 28 March 2012 12:47 To: Subversion Users Cc: Nico Kadel-Garcia; Cooke, Mark Subject: RE: Which is the most used/best Windows Subversion server distribution? Hello Mark ( others), thank you for the answers. I am searching SVN server software. pre-packaged solutions preferred/required (without python stuff if possible). As previously mentioned the bottom of page http://subversion.apache.org/packages.html shows 5 server packages. I need a comparison and recommendation which package to select for a.) Linux as server platform b) Windows as server platform Is there a rough market share estimation? The server should later be accessible from Eclipse or TortoiseSVN Client No VisualStudio integretion necessary Can you give me some hints? Ben OK, I can only give some pointers as my background is a self-install on Windoze. My understanding for linux is to go with whatever your package provider already has for you (I use ubuntu at home and just followed one of the many how tos on the net). However, take a look at WANdisco's uberSVN which (AFAIK) aims to deal with installation / setup issues for you (for free). For windows I would suggest looking up the BitNami subversion stack (Victoria from BitNami seems to be pretty responsive to questions on this list) and/or WANdisco's uberSVN again. Ooo, it looks like BitNami provide support for *nix too (http://bitnami.org/stack/subversion)... No idea about market share as such and any properly configured server will work for any client you choose to use. Good luck and let us know what works best for you. ~ mark c
Re: svn 1.7: how to recover from a lost pristine file
Johan Corveleyn jcor...@gmail.com writes: For some reason, I lost a pristine file [*] in a 1.7 working copy. I'm trying to recover from this without having to throw away my entire working copy. So far I'm unsuccessful. Any help is appreciated. svn-1.7 is SlikSVN 1.7.4 (On Windows 7, 64bit): [[[ C:\Work\WC-rootsvn-1.7 update -r0 the\file\with\missing\pristine.java svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted C:\Work\WC-rootsvn-1.7 cleanup the\file\with\missing svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup svn: E720002: Can't open file 'C:\Work\WC-root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn-base': The system cannot find the file specified. ]]] (the fact that the working copy is locked to begin with, was because a normal 'svn update' failed because of the missing pristine, with svn: E155004: There are unfinished work items in 'C:\Work\WC-root'; run 'svn cleanup' first., which is why I first found out about the problem) Anything I can do to investigate further? Use the sqlite3 utility sqlite3 .svn/wc.db select * from work_queue These may show something: sqlite3 wc/.svn/wc.db select * from nodes where local_relpath = '/the/file/with/missing/pristine.java' sqlite3 wc/.svn/wc.db select * from nodes where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' sqlite3 wc/.svn/wc.db select * from pristine where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' Depending on what the work_queue shows you may be able to further corrupt your working copy and then recover by doing this: sqlite .svn/wc.db delete from work_queue svn up -r0 file IMPORTANT! Deleting the work_queue does generally make the working copy invalid, it is then up to you to ensure it returns to a valid state. -- Philip
Re: Which is the most used/best Windows Subversion server distribution?
On Wed, Mar 28, 2012 at 7:46 AM, Ben Stover bxsto...@yahoo.co.uk wrote: thank you for the answers. I am searching SVN server software. pre-packaged solutions preferred/required (without python stuff if possible). Just curious, but why the Python concern. You might want to run hook scripts someday, so having Python support can be handy for this. As previously mentioned the bottom of page http://subversion.apache.org/packages.html shows 5 server packages. The differences are just packaging. Any software listed is just someone that has compiled the source for you. Some might have used different versions of dependencies etc., but in general that should not matter. You should decide if you want to just get plain binaries and then configure everything yourself. Or do you want a package that adds additional software that makes it easier to manage. Subversion Edge, the product I manage is one such distribution. It includes all of the Apache and Subversion binaries, plus the ViewVC repository browser. It also includes a web UI to configure and manage the server. There are other similar packages like UberSVN and VisualSVN. You can get Subversion Edge here: http://www.open.collab.net/products/subversion/getit.html I need a comparison and recommendation which package to select for a.) Linux as server platform b) Windows as server platform I would choose the server OS based on your own preference and competencies when it comes to managing a server. Which one are you going to be better at managing in terms of backup and recovery, patching, tuning etc. The server should later be accessible from Eclipse or TortoiseSVN Client No VisualStudio integretion necessary No matter what server option you choose, the actual SVN server will be identical. All SVN servers will support all of these clients and more (whether you want them to or not :) ) -- Thanks Mark Phippard http://markphip.blogspot.com/
Re: svn 1.7: how to recover from a lost pristine file
On Wed, Mar 28, 2012 at 2:12 PM, Philip Martin philip.mar...@wandisco.com wrote: Johan Corveleyn jcor...@gmail.com writes: For some reason, I lost a pristine file [*] in a 1.7 working copy. I'm trying to recover from this without having to throw away my entire working copy. So far I'm unsuccessful. Any help is appreciated. svn-1.7 is SlikSVN 1.7.4 (On Windows 7, 64bit): [[[ C:\Work\WC-rootsvn-1.7 update -r0 the\file\with\missing\pristine.java svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted C:\Work\WC-rootsvn-1.7 cleanup the\file\with\missing svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup svn: E720002: Can't open file 'C:\Work\WC-root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn-base': The system cannot find the file specified. ]]] (the fact that the working copy is locked to begin with, was because a normal 'svn update' failed because of the missing pristine, with svn: E155004: There are unfinished work items in 'C:\Work\WC-root'; run 'svn cleanup' first., which is why I first found out about the problem) Anything I can do to investigate further? Use the sqlite3 utility sqlite3 .svn/wc.db select * from work_queue Thanks for your help, Philip. $ sqlite3 .svn/wc.db select * from work_queue 1|(file-install trunk/rootdir/the/file/with/missing/pristine.java 1 0 1 1) These may show something: sqlite3 wc/.svn/wc.db select * from nodes where local_relpath = '/the/file/with/missing/pristine.java' sqlite3 wc/.svn/wc.db select * from nodes where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' Both of the above show the same: 1|the/file/with/missing/pristine.java|0|the/file/with/missing|1|trunk/rootdir/the/file/with/missing/pristine.java|176219|normal|||file|(svn:eol-style native)||$sha1$6d6e0892990e945b03a15b8e518dbef26848dc75||175563|1332375850493000|username|56722|1332709446087164|| sqlite3 wc/.svn/wc.db select * from pristine where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' That shows nothing. Depending on what the work_queue shows you may be able to further corrupt your working copy and then recover by doing this: sqlite .svn/wc.db delete from work_queue svn up -r0 file IMPORTANT! Deleting the work_queue does generally make the working copy invalid, it is then up to you to ensure it returns to a valid state. Heh :-). I'll give it a try (I'll wait a while, in case you have something more to add given my feedback ...). Is this a situation from which svn could ultimately become self-healing? -- Johan
Re: svn 1.7: how to recover from a lost pristine file
On Wed, Mar 28, 2012 at 3:08 PM, Johan Corveleyn jcor...@gmail.com wrote: On Wed, Mar 28, 2012 at 2:12 PM, Philip Martin philip.mar...@wandisco.com wrote: Johan Corveleyn jcor...@gmail.com writes: For some reason, I lost a pristine file [*] in a 1.7 working copy. I'm trying to recover from this without having to throw away my entire working copy. So far I'm unsuccessful. Any help is appreciated. svn-1.7 is SlikSVN 1.7.4 (On Windows 7, 64bit): [[[ C:\Work\WC-rootsvn-1.7 update -r0 the\file\with\missing\pristine.java svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted C:\Work\WC-rootsvn-1.7 cleanup the\file\with\missing svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup svn: E720002: Can't open file 'C:\Work\WC-root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn-base': The system cannot find the file specified. ]]] (the fact that the working copy is locked to begin with, was because a normal 'svn update' failed because of the missing pristine, with svn: E155004: There are unfinished work items in 'C:\Work\WC-root'; run 'svn cleanup' first., which is why I first found out about the problem) Anything I can do to investigate further? Use the sqlite3 utility sqlite3 .svn/wc.db select * from work_queue Thanks for your help, Philip. $ sqlite3 .svn/wc.db select * from work_queue 1|(file-install trunk/rootdir/the/file/with/missing/pristine.java 1 0 1 1) These may show something: sqlite3 wc/.svn/wc.db select * from nodes where local_relpath = '/the/file/with/missing/pristine.java' sqlite3 wc/.svn/wc.db select * from nodes where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' Both of the above show the same: 1|the/file/with/missing/pristine.java|0|the/file/with/missing|1|trunk/rootdir/the/file/with/missing/pristine.java|176219|normal|||file|(svn:eol-style native)||$sha1$6d6e0892990e945b03a15b8e518dbef26848dc75||175563|1332375850493000|username|56722|1332709446087164|| sqlite3 wc/.svn/wc.db select * from pristine where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' That shows nothing. Depending on what the work_queue shows you may be able to further corrupt your working copy and then recover by doing this: sqlite .svn/wc.db delete from work_queue svn up -r0 file IMPORTANT! Deleting the work_queue does generally make the working copy invalid, it is then up to you to ensure it returns to a valid state. Hm, no luck: [[[ $ sqlite3 .svn/wc.db delete from work_queue $ sqlite3 .svn/wc.db select * from work_queue nothing C:\Work\WC-rootsvn-1.7 up -r0 the/file/with/missing/pristine.java svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup yay! this time 'svn cleanup' completes, let's try again C:\Work\WC-rootsvn-1.7 up -r0 the/file/with/missing/pristine.java Updating 'the\file\with\missing\pristine.java': svn: E720002: Can't open file 'C:\Work\WC-root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn-base': The system cannot find the file specified. at this point, a work-queue item has been created again $ sqlite3 .svn/wc.db select * from work_queue 2|(file-install the/file/with/missing/pristine.java 1 0 1 1) ]]] Any other suggestions? -- Johan
Re: svn 1.7: how to recover from a lost pristine file
Johan Corveleyn jcor...@gmail.com writes: Thanks for your help, Philip. $ sqlite3 .svn/wc.db select * from work_queue 1|(file-install trunk/rootdir/the/file/with/missing/pristine.java 1 0 1 1) These may show something: sqlite3 wc/.svn/wc.db select * from nodes where local_relpath = '/the/file/with/missing/pristine.java' sqlite3 wc/.svn/wc.db select * from nodes where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' Both of the above show the same: 1|the/file/with/missing/pristine.java|0|the/file/with/missing|1|trunk/rootdir/the/file/with/missing/pristine.java|176219|normal|||file|(svn:eol-style native)||$sha1$6d6e0892990e945b03a15b8e518dbef26848dc75||175563|1332375850493000|username|56722|1332709446087164|| sqlite3 wc/.svn/wc.db select * from pristine where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' That shows nothing. That really is broken. By the time the file-install wq item exists there should be a pristine row with the checksum as well as the pristine file. So just adding the missing file would not be enough, you need to add the pristine row as well. You might be able to restore the missing file. Probably easiest to checkout a temporary copy of the parent using --depth=empty, then update the one file required. Now in the temporary wc sqlite3 .svn/wc.db select * from pristine should show the required row. In the broken wc sqlite3 .svn/wc.db insert into pristine values (sha1, null, size, 1, md5) then copy/move the pristine file itself from the temporary wc to the broken wc. Depending on what the work_queue shows you may be able to further corrupt your working copy and then recover by doing this: sqlite .svn/wc.db delete from work_queue svn up -r0 file IMPORTANT! Deleting the work_queue does generally make the working copy invalid, it is then up to you to ensure it returns to a valid state. Heh :-). I'll give it a try (I'll wait a while, in case you have something more to add given my feedback ...). You have the checksum in the nodes row, so you will probably need to delete that nodes row as well. Is this a situation from which svn could ultimately become self-healing? I suppose it might get fixed as a side-effect of somebody implementing optional pristine but generally wq items are not supposed to fail. -- Philip
RE: svn 1.7: how to recover from a lost pristine file
-Original Message- From: Johan Corveleyn [mailto:jcor...@gmail.com] Sent: woensdag 28 maart 2012 15:47 To: Philip Martin Cc: users@subversion.apache.org Subject: Re: svn 1.7: how to recover from a lost pristine file On Wed, Mar 28, 2012 at 3:08 PM, Johan Corveleyn jcor...@gmail.com wrote: On Wed, Mar 28, 2012 at 2:12 PM, Philip Martin philip.mar...@wandisco.com wrote: Johan Corveleyn jcor...@gmail.com writes: For some reason, I lost a pristine file [*] in a 1.7 working copy. I'm trying to recover from this without having to throw away my entire working copy. So far I'm unsuccessful. Any help is appreciated. svn-1.7 is SlikSVN 1.7.4 (On Windows 7, 64bit): [[[ C:\Work\WC-rootsvn-1.7 update -r0 the\file\with\missing\pristine.java svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted C:\Work\WC-rootsvn-1.7 cleanup the\file\with\missing svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup svn: E720002: Can't open file 'C:\Work\WC- root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn- base': The system cannot find the file specified. ]]] (the fact that the working copy is locked to begin with, was because a normal 'svn update' failed because of the missing pristine, with svn: E155004: There are unfinished work items in 'C:\Work\WC-root'; run 'svn cleanup' first., which is why I first found out about the problem) Anything I can do to investigate further? Use the sqlite3 utility sqlite3 .svn/wc.db select * from work_queue Thanks for your help, Philip. $ sqlite3 .svn/wc.db select * from work_queue 1|(file-install trunk/rootdir/the/file/with/missing/pristine.java 1 0 1 1) These may show something: sqlite3 wc/.svn/wc.db select * from nodes where local_relpath = '/the/file/with/missing/pristine.java' sqlite3 wc/.svn/wc.db select * from nodes where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' Both of the above show the same: 1|the/file/with/missing/pristine.java|0|the/file/with/missing|1|trunk/rootdi r/t he/file/with/missing/pristine.java|176219|normal|||file|(svn:eol-style native)||$sha1$6d6e0892990e945b03a15b8e518dbef26848dc75||175563|1332 375850493000|username|56722|1332709446087164|| sqlite3 wc/.svn/wc.db select * from pristine where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' That shows nothing. Depending on what the work_queue shows you may be able to further corrupt your working copy and then recover by doing this: sqlite .svn/wc.db delete from work_queue svn up -r0 file IMPORTANT! Deleting the work_queue does generally make the working copy invalid, it is then up to you to ensure it returns to a valid state. Hm, no luck: [[[ $ sqlite3 .svn/wc.db delete from work_queue $ sqlite3 .svn/wc.db select * from work_queue nothing C:\Work\WC-rootsvn-1.7 up -r0 the/file/with/missing/pristine.java svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup yay! this time 'svn cleanup' completes, let's try again C:\Work\WC-rootsvn-1.7 up -r0 the/file/with/missing/pristine.java Updating 'the\file\with\missing\pristine.java': svn: E720002: Can't open file 'C:\Work\WC- root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn- base': The system cannot find the file specified. at this point, a work-queue item has been created again $ sqlite3 .svn/wc.db select * from work_queue 2|(file-install the/file/with/missing/pristine.java 1 0 1 1) ]]] Any other suggestions? Maybe 'svn up --set-depth exclude X' instead of -r0. And then a 'svn up X' Bert
Re: svn 1.7: how to recover from a lost pristine file
On Wed, Mar 28, 2012 at 4:27 PM, Bert Huijben b...@qqmail.nl wrote: -Original Message- From: Johan Corveleyn [mailto:jcor...@gmail.com] Sent: woensdag 28 maart 2012 15:47 To: Philip Martin Cc: users@subversion.apache.org Subject: Re: svn 1.7: how to recover from a lost pristine file On Wed, Mar 28, 2012 at 3:08 PM, Johan Corveleyn jcor...@gmail.com wrote: On Wed, Mar 28, 2012 at 2:12 PM, Philip Martin philip.mar...@wandisco.com wrote: Johan Corveleyn jcor...@gmail.com writes: For some reason, I lost a pristine file [*] in a 1.7 working copy. I'm trying to recover from this without having to throw away my entire working copy. So far I'm unsuccessful. Any help is appreciated. svn-1.7 is SlikSVN 1.7.4 (On Windows 7, 64bit): [[[ C:\Work\WC-rootsvn-1.7 update -r0 the\file\with\missing\pristine.java svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted C:\Work\WC-rootsvn-1.7 cleanup the\file\with\missing svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup svn: E720002: Can't open file 'C:\Work\WC- root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn- base': The system cannot find the file specified. ]]] (the fact that the working copy is locked to begin with, was because a normal 'svn update' failed because of the missing pristine, with svn: E155004: There are unfinished work items in 'C:\Work\WC-root'; run 'svn cleanup' first., which is why I first found out about the problem) Anything I can do to investigate further? Use the sqlite3 utility sqlite3 .svn/wc.db select * from work_queue Thanks for your help, Philip. $ sqlite3 .svn/wc.db select * from work_queue 1|(file-install trunk/rootdir/the/file/with/missing/pristine.java 1 0 1 1) These may show something: sqlite3 wc/.svn/wc.db select * from nodes where local_relpath = '/the/file/with/missing/pristine.java' sqlite3 wc/.svn/wc.db select * from nodes where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' Both of the above show the same: 1|the/file/with/missing/pristine.java|0|the/file/with/missing|1|trunk/rootdi r/t he/file/with/missing/pristine.java|176219|normal|||file|(svn:eol-style native)||$sha1$6d6e0892990e945b03a15b8e518dbef26848dc75||175563|1332 375850493000|username|56722|1332709446087164|| sqlite3 wc/.svn/wc.db select * from pristine where checksum like '%6d6e0892990e945b03a15b8e518dbef26848dc75' That shows nothing. Depending on what the work_queue shows you may be able to further corrupt your working copy and then recover by doing this: sqlite .svn/wc.db delete from work_queue svn up -r0 file IMPORTANT! Deleting the work_queue does generally make the working copy invalid, it is then up to you to ensure it returns to a valid state. Hm, no luck: [[[ $ sqlite3 .svn/wc.db delete from work_queue $ sqlite3 .svn/wc.db select * from work_queue nothing C:\Work\WC-rootsvn-1.7 up -r0 the/file/with/missing/pristine.java svn: E155004: Working copy 'C:\Work\WC-root\the\file\with\missing' locked. svn: E155004: 'C:\Work\WC-root' is already locked. svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) C:\Work\WC-rootsvn-1.7 cleanup yay! this time 'svn cleanup' completes, let's try again C:\Work\WC-rootsvn-1.7 up -r0 the/file/with/missing/pristine.java Updating 'the\file\with\missing\pristine.java': svn: E720002: Can't open file 'C:\Work\WC- root\.svn\pristine\6d\6d6e0892990e945b03a15b8e518dbef26848dc75.svn- base': The system cannot find the file specified. at this point, a work-queue item has been created again $ sqlite3 .svn/wc.db select * from work_queue 2|(file-install the/file/with/missing/pristine.java 1 0 1 1) ]]] Any other suggestions? Maybe 'svn up --set-depth exclude X' instead of -r0. And then a 'svn up X' Cool! That actually worked. Well, after I cleared the work_queue again first, and ran cleanup. So the full recovery sequence was: $ sqlite3 .svn/wc.db delete from work_queue $ svn cleanup $ svn up --set-depth exclude X $ svn up X Thanks both for your help. Maybe this will help others running in the same situation ... -- Johan
RE: Which is the most used/best Windows Subversion server distribution?
-Original Message- From: Ben Stover [mailto:bxsto...@yahoo.co.uk] Sent: Wednesday, March 28, 2012 7:47 AM To: Subversion Users Cc: Nico Kadel-Garcia; Cooke, Mark Subject: RE: Which is the most used/best Windows Subversion server distribution? Hello Mark ( others), thank you for the answers. I am searching SVN server software. pre-packaged solutions preferred/required (without python stuff if possible). As previously mentioned the bottom of page http://subversion.apache.org/packages.html shows 5 server packages. I need a comparison and recommendation which package to select for a.) Linux as server platform b) Windows as server platform If you need active directory authentication, I'd recommend windows and VisualSVN server. I've never had too much luck getting Linux to authenticate with Active Directory (some successes but a lot of work). VisualSVN server is simple to setup and easy to work with in a primarily windows environment.
Re: svn 1.7: how to recover from a lost pristine file
Johan Corveleyn wrote on Wed, Mar 28, 2012 at 16:38:41 +0200: Thanks both for your help. Maybe this will help others running in the same situation ... Do you know what cause the pristine to disappear in the first place?
Re: svn 1.7: how to recover from a lost pristine file
On Wed, Mar 28, 2012 at 5:06 PM, Daniel Shahaf d...@daniel.shahaf.name wrote: Johan Corveleyn wrote on Wed, Mar 28, 2012 at 16:38:41 +0200: Thanks both for your help. Maybe this will help others running in the same situation ... Do you know what cause the pristine to disappear in the first place? No, not yet. When I have some more time I'll try to reproduce it. In the meantime, I experimented a bit more with '--set-depth exclude', just to see what happens when you do this on a modified file. It's interesting (but maybe this is all normal, can't say ... just interesting :-)): [[[ C:\WCecho test build.properties C:\WCsvn-1.7 st M build.properties C:\WCsvn-1.7 up --set-depth exclude build.properties Dbuild.properties C:\WCsvn-1.7 st ? build.properties C:\WCsvn-1.7 up build.properties Updating 'build.properties': C build.properties At revision 176270. Summary of conflicts: Tree conflicts: 1 ### argh, a tree conflict. Panic! :-) C:\WCsvn-1.7 st D C build.properties local unversioned, incoming add upon update Summary of conflicts: Tree conflicts: 1 ### let's try to recover from this. C:\WCsvn-1.7 resolve --accept=working build.properties Resolved conflicted state of 'build.properties' C:\WCsvn-1.7 st D build.properties ### hm, how do I get it back as un-deleted without losing my mods C:\WCsvn-1.7 add build.properties A build.properties C:\WCsvn-1.7 st RM build.properties ### cool! I've never seen 'RM' before. Anyway, this is not what I wanted :-( C:\WCcopy build.properties build.properties.bak 1 file(s) copied. C:\WCsvn-1.7 revert build.properties Reverted 'build.properties' C:\WCsvn-1.7 st ? build.properties.bak C:\WCcopy build.properties.bak build.properties Overwrite build.properties? (Yes/No/All): y 1 file(s) copied. C:\WCsvn-1.7 st ? build.properties.bak M build.properties ### phew, that's better ]]] So then I remembered there is a --force option for 'svn update'. That works out better: [[[ C:\WCecho test build.properties C:\WCsvn-1.7 st M build.properties C:\WCsvn-1.7 up --set-depth exclude build.properties Dbuild.properties C:\WCsvn-1.7 st ? build.properties C:\WCsvn-1.7 up --force build.properties Updating 'build.properties': Ebuild.properties Updated to revision 176272. C:\WCsvn-1.7 st M build.properties ]]] -- Johan
Re: Which is the most used/best Windows Subversion server distribution?
Hello, I am searching SVN server software. pre-packaged solutions preferred/required (without python stuff if possible). As previously mentioned the bottom of page http://subversion.apache.org/packages.html shows 5 server packages. I need a comparison and recommendation which package to select for a.) Linux as server platform b) Windows as server platform Is there a rough market share estimation? The server should later be accessible from Eclipse or TortoiseSVN Client No VisualStudio integretion necessary Can you give me some hints? For Windows environment you may consider VisualSVN Server: http://www.visualsvn.com/server/ The Standard Edition has neat management console and is really easy to setup (and there is no 'Python stuff' BTW). Standard Edition is free of charge and is available for commercial use. There is also the Enterprise version that provides additional features such as Active Directory Single Sign-On (that works *out-of-the-box* and doesn't require any additional setup!) and remote server administration. -- With best regards, Pavel Lyalyakin VisualSVN Team
RE: svn 1.7: how to recover from a lost pristine file
-Original Message- From: Johan Corveleyn [mailto:jcor...@gmail.com] Sent: woensdag 28 maart 2012 17:25 To: Daniel Shahaf Cc: Bert Huijben; Philip Martin; users@subversion.apache.org Subject: Re: svn 1.7: how to recover from a lost pristine file On Wed, Mar 28, 2012 at 5:06 PM, Daniel Shahaf d...@daniel.shahaf.name wrote: Johan Corveleyn wrote on Wed, Mar 28, 2012 at 16:38:41 +0200: Thanks both for your help. Maybe this will help others running in the same situation ... Do you know what cause the pristine to disappear in the first place? No, not yet. When I have some more time I'll try to reproduce it. In the meantime, I experimented a bit more with '--set-depth exclude', just to see what happens when you do this on a modified file. It's interesting (but maybe this is all normal, can't say ... just interesting :-)): [[[ C:\WCecho test build.properties C:\WCsvn-1.7 st M build.properties C:\WCsvn-1.7 up --set-depth exclude build.properties Dbuild.properties C:\WCsvn-1.7 st ? build.properties C:\WCsvn-1.7 up build.properties Updating 'build.properties': C build.properties At revision 176270. Summary of conflicts: Tree conflicts: 1 ### argh, a tree conflict. Panic! :-) C:\WCsvn-1.7 st D C build.properties local unversioned, incoming add upon update Summary of conflicts: Tree conflicts: 1 ### let's try to recover from this. C:\WCsvn-1.7 resolve --accept=working build.properties Resolved conflicted state of 'build.properties' Don't assume that svn resolve --accept=anything makes much sense for tree conflicts. Sorry. We accept this format as a way to accept the tree conflict, but it assumes that you did the actual resolving yourself. C:\WCsvn-1.7 st D build.properties ### hm, how do I get it back as un-deleted without losing my mods We don't have obstruction conflicts (yet), so an incoming file that is blocked by something unversioned is marked as deleted. This should really be some kind of obstruction conflict to make sure Subversion doesn't try to change the local file on other operations. Currently [D]eleted is the only state with that behavior. C:\WCsvn-1.7 add build.properties A build.properties This adds a replacement over your deleted file. So I would expect this C:\WCsvn-1.7 st RM build.properties And I think your settings automatically applied properties here. (The M is for properties modified) ### cool! I've never seen 'RM' before. Anyway, this is not what I wanted :-( Bert
RE: Which is the most used/best Windows Subversion server distribution?
Hello Mark ( others), thank you for the answers. I am searching SVN server software. pre-packaged solutions preferred/required (without python stuff if possible). As previously mentioned the bottom of page http://subversion.apache.org/packages.html shows 5 server packages. I need a comparison and recommendation which package to select for a.) Linux as server platform b) Windows as server platform Is there a rough market share estimation? The server should later be accessible from Eclipse or TortoiseSVN Client No VisualStudio integretion necessary Can you give me some hints? Ah... we have always used Colabnet's binaries. I recently started using subversion edge which is very easy to install and update. It was fairly easy to hook up to LDAP for authentication as well with the help of my IT department to get the LDAP path info correct. BOb Ben On Mon, 26 Mar 2012 09:30:06 +0100, Cooke, Mark wrote: -Original Message- From: Nico Kadel-Garcia [mailto:nka...@gmail.com] Sent: 24 March 2012 03:14 To: Ben Stover Cc: Subversion Users Subject: Re: Which is the most used/best Windows Subversion distribution? On Fri, Mar 23, 2012 at 10:56 PM, Ben Stover bxsto...@yahoo.co.uk wrote: When I go to the download page for the Subversion binaries for WindowsOS: http://subversion.apache.org/packages.html Then there are 5 different packages: CollabNet (supported and certified by CollabNet; requires registration) SlikSVN (32- and 64-bit client MSI; maintained by Bert Huijben, SharpSvn project) VisualSVN (client and server; supported and maintained by VisualSVN) WANdisco (32- and 64-bit client and server; supported and certified by WANdisco) Win32Svn (32-bit client, server and bindings, MSI and ZIPs; maintained by David Darj) What are the differences between them? It Depends(tm). Some are supposed to be IDE's, such as SlikSVN and VisualSVN. But the most commonly used, and probably best, Subversion for Windows is TortoiseSVN. The very good GUI and the well integrated behavior with Windows interfaces make it very easy to use, Another popular Windows command line tool suite is in CygWin, which is the compiltion envionment for many Windows tools. Which one is the best supported/most compatible? Which one is the most widely used in WinOS world? In my obvservatoin, TortoiseSVN, which is GUI based. As Nico already said it depends. You do not say exactly what you want... Most importantly are you looking to setup repositories (you want the server stuff) or just connect to existing ones (just the client)? If you need the server stuff, do you want to configure it all yourself (Alagazam includes lots of bindings for python etc) or go for a pre-packaged solution (look for Bitnami or WANdisco's uberSVN)? If just the client, then do you want it integrated with Visual Studio (Slik and Visual) or just to work through Explorer (TortoiseSVN) or just the command line (also Tortoise if you select the command line tools in the setup app or alagazam or WANDdisco or)? Hope that starts to explain the differences between them! ~ mark c
Re: relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message
On Thu, Mar 22, 2012 at 11:32 AM, Jason Wong jwong1m...@gmail.com wrote: Hello Daniel. I will give it a go and let you know what I find. Jason On Wed, Mar 21, 2012 at 1:39 AM, Daniel Shahaf danie...@elego.de wrote: Jason, I've learnt yesterday something new about the minfo-cnt corruption bug: it can manifest not only as absurdly high values (on the order of 2**70), but as far smaller wrong increments too (such as increment of 172 instead of of 0 on one occasion). Could you determine whether said bug has occurred in your history? You can do that by duplicating your repository using svnsync or dump|load, running dump-noderev.pl on / of both copies at the same revisions, and comparing the minfo-cnt values. I would be interested in knowing whether they are equal between the two copies. Thanks, Daniel Jason Wong wrote on Thu, Feb 16, 2012 at 11:42:42 -0800: ./dump-noderev.pl /repository / 61851 -- id: 0.0.r61851/33470 type: dir pred: 0.0.r61850/3844 count: 61818 text: 61851 32225 1232 1232 7555349571e297c23e647cc2441d5b8f cpath: / copyroot: 0 / minfo-cnt: 25685 -- Hello Daniel. The svnsync took a while to run once I got it going. I ran the command on the hotcopy I had made originally to keep the results consistant. I have run the following two commands: dump-noderev.pl /repo / dump-noderev.pl /mirror2 / Here are the outputs from the commands: dump-noderev.pl /repo / - id: 0.0.r62104/28771 type: dir pred: 0.0.r62103/28680 count: 62071 text: 62104 27520 1238 1238 ea635421e867454f9f7bc503c8160a2c cpath: / copyroot: 0 / minfo-cnt: 25707 - dump-noderev.pl /mirror2 / --- id: 0.0.r62104/6122 type: dir pred: 0.0.r62103/6039 count: 62104 text: 62104 4874 1235 1235 1f315ed2437ba5d70dba2587d9ef2d5a cpath: / copyroot: 0 / minfo-cnt: 25707 --- Is this in line with what you expected? Jason Wong.
Re: relation to minfo-cnt bug Re: predecessor count for the root node-revision is wrong message
Jason Wong wrote on Wed, Mar 28, 2012 at 11:49:20 -0700: dump-noderev.pl /repo / - id: 0.0.r62104/28771 type: dir pred: 0.0.r62103/28680 count: 62071 text: 62104 27520 1238 1238 ea635421e867454f9f7bc503c8160a2c cpath: / copyroot: 0 / minfo-cnt: 25707 - dump-noderev.pl /mirror2 / --- id: 0.0.r62104/6122 type: dir pred: 0.0.r62103/6039 count: 62104 text: 62104 4874 1235 1235 1f315ed2437ba5d70dba2587d9ef2d5a cpath: / copyroot: 0 / minfo-cnt: 25707 --- Is this in line with what you expected? It's in line with my expectations, insofar as on the mirror the 'count' is correct. It also indicates that you weren't bitten by the minfo-cnt part of this bug. As you know from the dev@ thread, Philip identified that part and fixed it too -- after my above email. Thanks again for your help in chasing down this bug. It was backported today towards 1.7.5 too. Cheers, Daniel
Picking up wrong libraries/dependencies
I'm hoping someone can help me understand how to handle this... I am attempting to install subversion on RHEL5. I have newer versions of apr, apr-util, neon and sqlite in independent directories: /shared/apr /shared/apr-util /shared/neon /shared/sqlite Now I am trying to compile subversion 1.7.4. I configure using this command: ./configure --prefix=/shared/svnprod/soft --with-apr=/shared/apr --with-apr-util=/shared/apr-util --with-apxs=/shared/svnprod/httpd/bin/apxs --with-sqlite=/shared/sqlite --with-neon=/shared/neon Compilation works. However, the difficulty I am running into is that I also have RHEL5 default versions of apr, apr-util, and sqlite on the server and, when I run the resulting executables, they are picking up the RHEL5 versions instead of the /shared versions. /shared/svnprod/soft/bin 1020$ ldd svn | grep apr libaprutil-1.so.0 = /usr/lib64/libaprutil-1.so.0 (0x2ab79c60b000) libapr-1.so.0 = /usr/lib64/libapr-1.so.0 (0x2ab79c847000 I've also tried creating and ld.conf.so.d file for subversion with: /shared/apr/lib /shared/apr-util/lib /shared/sqlite/lib and the result of that is that ldconfig ends up with both in the cache: /shared/svnprod/soft/bin 1023$ ldconfig -p | grep apr libgstdataprotocol-0.10.so.0 (libc6,x86-64) = /usr/lib64/libgstdataprotocol-0.10.so.0 libgstdataprotocol-0.10.so.0 (libc6) = /usr/lib/libgstdataprotocol-0.10.so.0 libaprutil-1.so.0 (libc6,x86-64) = /shared/apr-util/lib/libaprutil-1.so.0 libaprutil-1.so.0 (libc6,x86-64) = /usr/lib64/libaprutil-1.so.0 libaprutil-1.so.0 (libc6) = /usr/lib/libaprutil-1.so.0 libaprutil-1.so (libc6,x86-64) = /shared/apr-util/lib/libaprutil-1.so libapr-1.so.0 (libc6,x86-64) = /shared/apr/lib/libapr-1.so.0 libapr-1.so.0 (libc6,x86-64) = /usr/lib64/libapr-1.so.0 libapr-1.so.0 (libc6) = /usr/lib/libapr-1.so.0 libapr-1.so (libc6,x86-64) = /shared/apr/lib/libapr-1.so But subversion still runs into problems because it is using the wrong libraries. I get such errors as: /shared/svnprod/soft/bin 1025$ ./svn ./svn: symbol lookup error: /shared/svnprod/soft/lib/libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr How do I get subversion properly compiled and running to use the newer libraries. What am I missing? Thanks, Tom Hanstra -- Tom Hanstra Systems Administrator Hesburgh Libraries of Notre Dame Phone: (574)631-4686 213 Hesburgh Library Email: t...@nd.edu Notre Dame, IN 46556 Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that! Lewis Carroll - Through the Looking Glass
Subversion and MS Dynamics AX
Does anyone have experience using Subversion to manage source code and/or other changes within the Microsoft Dynamics environment (preferably Dynamics AX)? Bob Menschel Lead Systems Engineer HD Supply, Repair Remodel 1695 Eureka Road Roseville, CA 956611 Phone: 916-751-2329 (internal ext 62329) Fax: 866-504-2857 email: bob.mensc...@hdsupply.com website: http://www.HDSRR.com One Team, Driving Customer Success and Value Creation CONFIDENTIALITY NOTICE: This message is fo intended addressee(s) only, and may contain confidential, proprietary, or privileged information, exempt from disclosure, and subject to terms at http://www.hdsupply.com/email
RE: Merge bug -- svn:keywords and conflict resolution
I did not get any responses on this bug report, neither confirming nor denying. So I guess the next step is to file an issue? -Steve -Original Message- From: Varnau, Steve (Seaquest RD) Sent: Monday, March 26, 2012 10:26 AM To: users@subversion.apache.org Cc: Brackett, Faye Subject: Merge bug -- svn:keywords and conflict resolution Hello, We had some developers changing svn:keywords property, which caused merge conflicts for other people pulling in the changes via sync merges. The developers merging the change into their branch were surprised to get merge conflicts in files they had not changed. I figured out that svn merge was actually correct in flagging a conflict, but does not present the conflicting lines correctly. The presentation is not correct, since what is shown in the merged file as the right side of the merge does not match the file.merge-right.rREV file. We noticed the behavior in 1.7.3 command-line client on Linux, then reproduced it in 1.7.4 command-line on Windows. I could not find a relevant bug in the issues list. I admit that the scenario to get to the incorrect behavior is not something one would normally do intentionally. It involves removing a keyword from the svn:keywords property, while leaving the expanded keyword in the contents of the file. Shell script to reproduce is below. -Steve REPO=file:///work/repo svn co $REPO/trunk trunk cd trunk echo '$Date$ $Revision$' keyfile svn add keyfile svn propset svn:keywords 'Date Revision' keyfile svn ci -m 'initial keyfile' svn up cat keyfile# expanded keywords cd .. svn cp -m side branch $REPO/trunk $REPO/branches/br1 svn co $REPO/branches/br1 br1 cd trunk echo some changes keyfile svn ci -m new content cd ../br1 svn merge ^/trunk svn ci -m sync merge svn up cd ../trunk svn propset svn:keywords 'Id' keyfile # whoops, inadvertently replaced Date and Revision echo '$Id$' keyfile svn ci -m chg for Id keyword cd ../br1 svn merge --accept postpone ^/trunk # second sync merge flags a conflict # since the Date and Revision keywords are being removed from svn:keywords # Should the file content show the line from trunk (r6) or from branch (r5) ### Here's the bug -- why do both sides of conflict show same content? cat keyfile .working $Date: 2012-03-26 10:09:19 -0700 (Mon, 26 Mar 2012) $ $Revision: 5 $ === $Date: 2012-03-26 10:09:19 -0700 (Mon, 26 Mar 2012) $ $Revision: 5 $ .merge-right.r6 some changes $Id$ ### If we look at merge files, we see a different story cat keyfile.working $Date: 2012-03-26 10:09:19 -0700 (Mon, 26 Mar 2012) $ $Revision: 5 $ some changes cat keyfile.merge-left.r4 $Date$ $Revision$ some changes cat keyfile.merge-right.r6 $Date: 2012-03-26 10:09:18 -0700 (Mon, 26 Mar 2012) $ $Revision: 4 $ some changes $Id: keyfile 5 2012-03-26 17:09:19Z svarnau $