I'm experiencing problems with a TortoiseSVN 1.6.10 client
(running on Windows XP SP3) and a Subversion 1.5.1.dfsg1 server
(running on Debian Lenny).
Since I cannot recreate the problem with a command-line "svn"
client on Linux, I'm suspecting a bug in TortoiseSVN.
I have a Java project in an SVN repository. Among other directories,
it has a "src" subdirectory for source code and a "build" subdirectory
for temporary files used by the build process, which sometimes comes
to contain identical and indentically named copies of ".java" files
from the "src" directory.
Both the "src" and "build" directories are under version control,
however, while the "src" directory tree contains files which are likewise,
the "build" directory only has subdirectories (e.g. "common", "desktop"
and "mobile") which are empty. It is version-controlled merely to ensure
that needed directories appear when a checkout is performed.
If a build script has introduced copies of ".java" files from "src"
into the "build" directory tree (e.g. "Main.java" has got copied from
"src/mobile/Main.java" to "build/mobile/Main.java") then, if I examine
the "build" directory's content with a TortoiseSVN-enabled instance
of Windows Explorer, the following can be seen:
1) TortoiseSVN shows these files in the "build" directory,
(of which another copy in the "src" directory really is version-controlled)
to be likewise version-controlled. It displays them with a green "in sync"
icon, and offers a context menu with SVN operation for them.
2) If I should mistakenly use the TortoiseSVN "Delete" command
on such a file, what gets actually deleted from the repository server,
is the corresponding file from the "src" directory, which definitely
should not happen.
During such a deletion, up to and including the point where I commit,
all dialogs which TortoiseSVN shows to me, indicate that the correct file
(from the "build" directory) is going to be deleted. Only when browsing
the repository later on did I discover the deletion from "src".
What seems wrong is that: a) TortoiseSVN allows me to perform
an SVN delete operation on a non-version-controlled file and
b) that the SVN server, upon receiving the commit command,
goes and deletes an identical copy of this file from the wrong directory.
If you need any help with recreating the conditions I describe, please tell.
I would gladly try finding it myself, but writing mostly in Java,
and TortoiseSVN would be a whole new environment for me,
so I suspect you can pinpoint this 100 times easier. :)
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-08-10 13:51:18 CEST