You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Larry Martell <la...@gmail.com> on 2007/03/12 20:22:47 UTC

Can't commit because current already exists

We have a SVN repository on windows. Starting today, no one can commit.
Attempts to commit fail with:

Error Commit failed
Can't move 'H:\path\to\svn\repo\db\current.21.tmp' to
'H:\path\to\svn\repo\db\current':
Cannot create a file when that file already exists.

I tried running svnadmin recover - that said "Recovery completed.",
but it did not fix
the problem.

Right now I need to know how I can clean this up so developers can
commit again?
(And once that crisis is passed, I'd like to know how this happened.)

TIA!
-larry

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Can't commit because current already exists

Posted by Larry Martell <la...@gmail.com>.
On 3/12/07, Flavio Stanchina <fl...@stanchina.net> wrote:
> Larry Martell wrote:
> > We have a SVN repository on windows. Starting today, no one can commit.
> > Attempts to commit fail with:
> >
> > Error Commit failed
> > Can't move 'H:\path\to\svn\repo\db\current.21.tmp' to
> > 'H:\path\to\svn\repo\db\current':
> > Cannot create a file when that file already exists.
> > [...]
> > Right now I need to know how I can clean this up so developers can
> > commit again?
> > (And once that crisis is passed, I'd like to know how this happened.)
>
> Dump the repository, move away the original and load the dump in a fresh
> repo. Hopefully that should fix the problems.

Thanks for the advise. I will hold that in abeyance as a last resort.
But first I'd
like to see if I can recover or repair the repository (or at least
understand what
happened). I'm new to SVN, so please bear with me.

I noticed that the db dir in this repo has current.tmp, current.2.tmp,
current.3.tmp,  all the way up to current.22.tmp, whereas other repos
(ones we can commit to) only have current. What are all these other
current.*  files? Uncommitted transactions? I suspect their presence
is the cause of the problem.

As another data point, I also see that the files up to and including
current.11.tmp are older then current and have older revision
numbers in them, while current.12.tmp through current.22.tmp
are newer and have a higher revision number.

I tried running "svnadmin lstxn ..." on this repo - that returns:

2453-1

I thought that would be a transaction number that I could pass to svnlook and/or
rmtxns. But when I try something like this:

svnlook -t '2453-1' changed ....

It says:

svnlook: Reference to non-existent node '0.0.t2453-1' in filesystem ...

What does this output from lstxn mean? How can I use it?

> Then you might want to check what's different between the broken repo and
> the fresh one.
>
> <rant>
> That 'H:' drive letter makes me suspect that you're storing the repo on a
> network drive. I would rather do version control with pencil and paper than
> keep a repo on a network drive. If that's actually what you're doing, set
> up a server instead.
> </rant>

Yes, this repo is on a network drive. I agree with you completely, but I did not
set this up, and I don't (at this point) have the power to change that
- I am at new
client and this is only my third day. Also, they are using a FSFS repo, which
from what I have read works on a network drive.

Thanks!
-larry

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Can't commit because current already exists

Posted by Larry Martell <la...@gmail.com>.
On 3/30/07, igor vieira <im...@gmail.com> wrote:
>
>
>
> 2007/3/13, Larry Martell <la...@gmail.com>:
> >
> > On 3/13/07, Ryan Schmidt <subversion-2007a@ryandesign.com > wrote:
> > > On Mar 12, 2007, at 19:03, Larry Martell wrote:
> > >
> > > > I dumped the repo, and that ran successfully - it dumped up to
> > > > revision 3480,
> > > > which was the highest revision before this commit problem surfaced.
> > > >
> > > > I then tried to load the dump into a freshly created repo. This ran
> > > > up to rev
> > > > 1102, then it failed with:
> > > >
> > > > <<< Started new transaction, based on original revision 1103
> > > >     * editing path : Dynamic View.xml ... done.
> > > > svnadmin: Can't move
> > > >
> '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > > > current.tmp'
> > > > to
> '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > > > current':
> > > > File exists
> > > >
> > > > However when I look in the SubversionRepositoryRestored/db dir
> > > > there is not a
> > > > file called current.
> > > >
> > > > Anyone know what I can do to repair this repository??
> > >
> > > Try restoring to a local hard drive, not the networked drive.
> >
> > Yup, that was it! I copied the dump to a local drive and when I loaded it
> to a
> > local repo it loaded just fine.
> >
> > > If that works, then this would be a datapoint you can give to someone
> who has
> > > the power to change it, showing them that the networked drive is
> > > causing these problems.
> >
> > This incident was enough to convince them to allow me to move the repo
> > to a server.
> >
> > Thanks to all!!
> > -larry
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail:
> users-help@subversion.tigris.org
> >
> >
>
>
> Im having same problem. But it started today. Before it all plp can commit,
> add...
> We aren't using a server yet, and we acess repository by a vpn cliente with
> a network map drive.
> btw i didnt understand about this "move to local drive".

A local drive is one that is physically connected to your machine (as
opposed to a network drive, which is connected to a different machine
from yours, and is accessed over the network).

> If I need move to a server, only need set it up?? and it will works ok?

It will work OK if you set it up properly. I suggest you get and read a good
book on subversion.

-larry

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Can't commit because current already exists

Posted by igor vieira <im...@gmail.com>.
2007/3/13, Larry Martell <la...@gmail.com>:
>
> On 3/13/07, Ryan Schmidt <su...@ryandesign.com> wrote:
> > On Mar 12, 2007, at 19:03, Larry Martell wrote:
> >
> > > I dumped the repo, and that ran successfully - it dumped up to
> > > revision 3480,
> > > which was the highest revision before this commit problem surfaced.
> > >
> > > I then tried to load the dump into a freshly created repo. This ran
> > > up to rev
> > > 1102, then it failed with:
> > >
> > > <<< Started new transaction, based on original revision 1103
> > >     * editing path : Dynamic View.xml ... done.
> > > svnadmin: Can't move
> > > '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > > current.tmp'
> > > to '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > > current':
> > > File exists
> > >
> > > However when I look in the SubversionRepositoryRestored/db dir
> > > there is not a
> > > file called current.
> > >
> > > Anyone know what I can do to repair this repository??
> >
> > Try restoring to a local hard drive, not the networked drive.
>
> Yup, that was it! I copied the dump to a local drive and when I loaded it
> to a
> local repo it loaded just fine.
>
> > If that works, then this would be a datapoint you can give to someone
> who has
> > the power to change it, showing them that the networked drive is
> > causing these problems.
>
> This incident was enough to convince them to allow me to move the repo
> to a server.
>
> Thanks to all!!
> -larry
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
Im having same problem. But it started today. Before it all plp can commit,
add...
We aren't using a server yet, and we acess repository by a vpn cliente with
a network map drive.
btw i didnt understand about this "move to local drive".
If I need move to a server, only need set it up?? and it will works ok?

tks for help.

Igor.

Re: Can't commit because current already exists

Posted by igor vieira <im...@gmail.com>.
2007/3/13, Larry Martell <la...@gmail.com>:
>
> On 3/13/07, Ryan Schmidt <su...@ryandesign.com> wrote:
> > On Mar 12, 2007, at 19:03, Larry Martell wrote:
> >
> > > I dumped the repo, and that ran successfully - it dumped up to
> > > revision 3480,
> > > which was the highest revision before this commit problem surfaced.
> > >
> > > I then tried to load the dump into a freshly created repo. This ran
> > > up to rev
> > > 1102, then it failed with:
> > >
> > > <<< Started new transaction, based on original revision 1103
> > >     * editing path : Dynamic View.xml ... done.
> > > svnadmin: Can't move
> > > '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > > current.tmp'
> > > to '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > > current':
> > > File exists
> > >
> > > However when I look in the SubversionRepositoryRestored/db dir
> > > there is not a
> > > file called current.
> > >
> > > Anyone know what I can do to repair this repository??
> >
> > Try restoring to a local hard drive, not the networked drive.
>
> Yup, that was it! I copied the dump to a local drive and when I loaded it
> to a
> local repo it loaded just fine.
>
> > If that works, then this would be a datapoint you can give to someone
> who has
> > the power to change it, showing them that the networked drive is
> > causing these problems.
>
> This incident was enough to convince them to allow me to move the repo
> to a server.
>
> Thanks to all!!
> -larry
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
Im having same problem. But it started today. Before it all plp can commit,
add...
We aren't using a server yet, and we acess repository by a vpn cliente with
a network map drive.
btw i didnt understand about this "move to local drive".
If I need move to a server, only need set it up?? and it will works ok?

tks for help.

Igor Max.

Re: Can't commit because current already exists

Posted by Larry Martell <la...@gmail.com>.
On 3/13/07, Ryan Schmidt <su...@ryandesign.com> wrote:
> On Mar 12, 2007, at 19:03, Larry Martell wrote:
>
> > I dumped the repo, and that ran successfully - it dumped up to
> > revision 3480,
> > which was the highest revision before this commit problem surfaced.
> >
> > I then tried to load the dump into a freshly created repo. This ran
> > up to rev
> > 1102, then it failed with:
> >
> > <<< Started new transaction, based on original revision 1103
> >     * editing path : Dynamic View.xml ... done.
> > svnadmin: Can't move
> > '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > current.tmp'
> > to '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/
> > current':
> > File exists
> >
> > However when I look in the SubversionRepositoryRestored/db dir
> > there is not a
> > file called current.
> >
> > Anyone know what I can do to repair this repository??
>
> Try restoring to a local hard drive, not the networked drive.

Yup, that was it! I copied the dump to a local drive and when I loaded it to a
local repo it loaded just fine.

> If that works, then this would be a datapoint you can give to someone who has
> the power to change it, showing them that the networked drive is
> causing these problems.

This incident was enough to convince them to allow me to move the repo
to a server.

Thanks to all!!
-larry

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Can't commit because current already exists

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 12, 2007, at 19:03, Larry Martell wrote:

> I dumped the repo, and that ran successfully - it dumped up to  
> revision 3480,
> which was the highest revision before this commit problem surfaced.
>
> I then tried to load the dump into a freshly created repo. This ran  
> up to rev
> 1102, then it failed with:
>
> <<< Started new transaction, based on original revision 1103
>     * editing path : Dynamic View.xml ... done.
> svnadmin: Can't move
> '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/ 
> current.tmp'
> to '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/ 
> current':
> File exists
>
> However when I look in the SubversionRepositoryRestored/db dir  
> there is not a
> file called current.
>
> Anyone know what I can do to repair this repository??

Try restoring to a local hard drive, not the networked drive. If that  
works, then this would be a datapoint you can give to someone who has  
the power to change it, showing them that the networked drive is  
causing these problems.

I had initially thought that the problem was permissions: that  
somehow the "current" file had gotten written by a different user  
than usual, and now the usual user couldn't replace it. But the fact  
that you see the problem when restoring a database dump, all as one  
user, suggests that the network drive may be the problem.


-- 

To reply to the mailing list, please use your mailer's Reply To All  
function


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Can't commit because current already exists

Posted by Larry Martell <la...@gmail.com>.
On 3/12/07, Flavio Stanchina <fl...@stanchina.net> wrote:
> Larry Martell wrote:
> > We have a SVN repository on windows. Starting today, no one can commit.
> > Attempts to commit fail with:
> >
> > Error Commit failed
> > Can't move 'H:\path\to\svn\repo\db\current.21.tmp' to
> > 'H:\path\to\svn\repo\db\current':
> > Cannot create a file when that file already exists.
> > [...]
> > Right now I need to know how I can clean this up so developers can
> > commit again?
> > (And once that crisis is passed, I'd like to know how this happened.)
>
> Dump the repository, move away the original and load the dump in a fresh
> repo. Hopefully that should fix the problems.

No joy :-(

I dumped the repo, and that ran successfully - it dumped up to revision 3480,
which was the highest revision before this commit problem surfaced.

I then tried to load the dump into a freshly created repo. This ran up to rev
1102, then it failed with:

<<< Started new transaction, based on original revision 1103
     * editing path : Dynamic View.xml ... done.
svnadmin: Can't move
'/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/current.tmp'
to '/cygdrive/h/Engineering/EA/SubversionRepositoryRestored/db/current':
File exists

However when I look in the SubversionRepositoryRestored/db dir there is not a
file called current.

Anyone know what I can do to repair this repository??

-larry

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Can't commit because current already exists

Posted by Flavio Stanchina <fl...@stanchina.net>.
Larry Martell wrote:
> We have a SVN repository on windows. Starting today, no one can commit.
> Attempts to commit fail with:
> 
> Error Commit failed
> Can't move 'H:\path\to\svn\repo\db\current.21.tmp' to
> 'H:\path\to\svn\repo\db\current':
> Cannot create a file when that file already exists.
> [...]
> Right now I need to know how I can clean this up so developers can
> commit again?
> (And once that crisis is passed, I'd like to know how this happened.)

Dump the repository, move away the original and load the dump in a fresh
repo. Hopefully that should fix the problems.

Then you might want to check what's different between the broken repo and
the fresh one.

<rant>
That 'H:' drive letter makes me suspect that you're storing the repo on a
network drive. I would rather do version control with pencil and paper than
keep a repo on a network drive. If that's actually what you're doing, set
up a server instead.
</rant>

-- 
Ciao, Flavio

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org