[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: commit fails, cleanup does not help

From: <kfogel_at_collab.net>
Date: 2005-12-22 18:04:46 CET

Susan Dittmar <S.Dittmar@eureca.de> writes:
> I'll try, as much as I remember.
>
> I moved a huge bunch of files into a new directory.
> There I processed some of them, which meant the creation of
> another bunch of files. I told svn to add those new files and to
> remove the now no longer used old files. For this removal I had
> to use the --force switch as the files had not been committed
> since being moved. I even removed some of those just-added files
> again when it turned out I did not need them, and had to use
> --force here too.
>
> I knew I really wanted to delete them, so I did not mind the intermediate
> steps not to be checked in. And then, after some more editing, I tried to
> commit.
>
> > By the way, when you write "ask svn about transactions", how exactly
> > did you do that? I'm not surprised the transaction wasn't there (it
> > probably got removed after the commit failed), I'm just trying to find
> > out everything you did.
>
> As the user owning the repository:
> svnadmin lstxns <repository>
>
> I'm not surprised either, but on the other hand screwed up transactions
> is the only reason for behaviour like this I fould described in the
> documentation. My fault, perhaps.
>
> > I can't guarantee to be able to help. It may be that the only advice
> > we are able to give is to do things over, in smaller stages.
>
> That would be a hell of a job :-(
>
> Thanks for your efforts,

Thanks for the detailed repost, Susan. No, I don't think what
happened is your "fault", but I also can't think of any great advice
to give you, especially without a way to reproduce the problem. I
wrote a script to try to reproduce it, based on your description of
what you did, but it seems to work fine. There must be some step I
haven't included:

#!/bin/sh

SVN=${HOME}/src/subversion/subversion/svn/svn
SVNADMIN=${HOME}/src/subversion/subversion/svnadmin/svnadmin

rm -rf dittmar
mkdir dittmar
cd dittmar

# URL=http://localhost/SOMETHING/repos
# URL=svn://localhost/SOMETHING/repos
URL=file:///`pwd`/repos

rm -rf repos wc

${SVNADMIN} create repos
${SVN} co -q ${URL}/ wc

cd wc
mkdir dirA
mkdir dirB
echo "This is file1.txt." > dirA/file1.txt
echo "This is file2.txt." > dirA/file2.txt
echo "This is file3.txt." > dirA/file3.txt
${SVN} add -q dirA dirB
${SVN} ci -q -m "Add initial content in r1."

${SVN} mv -q dirA/file1.txt dirB/file1.txt
${SVN} mv -q dirA/file2.txt dirB/file2.txt
${SVN} mv -q dirA/file3.txt dirB/file3.txt

# Create the derived ("processed") files from Susan's recipe.
echo "This is file1-new.txt." > dirB/file1-new.txt
echo "This is file2-new.txt." > dirB/file2-new.txt
echo "This is file3-new.txt." > dirB/file3-new.txt
${SVN} add -q dirB/file1-new.txt
${SVN} add -q dirB/file2-new.txt
${SVN} add -q dirB/file3-new.txt

# Remove the old files, which were just moved to this directory.
${SVN} rm --force -q dirB/file1.txt
${SVN} rm --force -q dirB/file2.txt
${SVN} rm --force -q dirB/file3.txt

# Remove some of the newly added files too.
${SVN} rm --force -q dirB/file1-new.txt
${SVN} rm --force -q dirB/file2-new.txt

echo ""
echo "Status just before commit:"
echo ""
${SVN} status

echo ""
echo "Try to commit:"
echo ""
${SVN} ci -m "Commit all those changes."

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sun Dec 25 00:50:32 2005

This is an archived mail posted to the Subversion Users mailing list.