Faheem Mitha <faheem@email.unc.edu> writes:
> However, my understanding is that the version of subdir/file1 in the
> working copy must not differ in content from the version in the repository
> (though it need not be at the same revision) for subversion to allow it to
> be deleted. I just did a test and confirmed this for myself. If I try to
> commit the deletion of a file in the working copy which is different from
> the version in the repository I get
>
> svn: Transaction is out of date
> svn: Commit failed (details follow):
> svn: out of date: `/thesis/trunk/rr.tex' in txn `12'
> svn: Your commit message was left in a temporary file:
> svn: '/home/faheem/cotmp/thesis/svn-commit.tmp'
>
> However, I can delete it as long as there are no differences, even if the
> revision numbers are different.
The rule is: if your working copy has an older version of a file than
the server does, you cannot commit changes to it, nor delete it.
But I'm using the term "version" very loosely here, a version of a
file is not the same as a revision! Revisions 23 through 29 of a file
might all be the *same* version -- absolutely identical. Within the
repository, revisions 23-29 all point to the exact same "version" of
the file (it's a shared node).
> So, I'm not sure what you mean in your second option by
>
> "* if a "new" file1 exists in HEAD, the server sends it".
>
> Is the assumption here that someone has restored/reverted the file in a
> new revision between your `svn delete' and 'svn up'? Or possibly a
> completely different file with the same name? This seems the obvious
> possibility, but I'm just checking in case of misunderstanding.
Yes, exactly. You deleted the file. And then somebody either
resurrected the same file, or added a new file by the same name.
> Are under-the-hood details like this documented anywhere outside the
> source code?
It depends on what details you're looking for. The sourcecode is full
of commentary, philosophy and design notes.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 6 15:06:20 2003