You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by kf...@collab.net on 2003/09/19 15:03:53 UTC
Re: All long commits fail
Torne Wuff <to...@wolfpuppy.org.uk> writes:
> I'm using svn 0.29 on win32, and am experiencing problems with long
> commits. My repository is on a local disk, accessed through ra_local
> (file:// url) and is not being used by anyone else (private).
>
> There are two problems, but I believe the first is already a known bug.
> I have a very large repository (7Gb, 270k files, 25k folders), and
> running a commit (or a number of other commands) in any directory near
> the top of the repository takes an extremely long time to complete, even
> when -N is given. I believe this is the known issue with locks being
> taken out on all child dirs.
Yes this sounds exactly like
http://subversion.tigris.org/issues/show_bug.cgi?id=1245
> However, this triggers another issue; once a commit has taken a certain
> length of time to run (seems to be a few mins but I've not tested
> thouroughly), the commit will usually fail. The exact command/response
> (executing a commit from the root of the working copy):
> F:\nt>svn commit -Nm"Update ignores"
> Sending .
> svn: Transaction is out of date
> svn: Commit failed(details follow):
> svn: out of date: `/nt' in txn `39'
>
> svn up and svn update -u both show the working copy as up to date.
> For this example it took over 10 minutes to get as far as printing
> 'sending', and another few minutes after that before the error. The only
> change that this command should be committing is a change to a property
> set on the current directory.
At first I thought this was
http://subversion.tigris.org/issues/show_bug.cgi?id=1431
but the symptom is different. In the above example, there were no
changes in the working copy other than a property change to "."?
Is anyone else using your repository, perhaps making changes down in
the tree (thus making the directories up near the top very likely to
be newer than what any given working copy has)?
If this reproduces
$ svn st -q
$ svn propset svn:ignore "...new value..." .
$ property `svn:ignore' set on ''
$ svn st -q
M .
$ svn ci -N -m "Update ignores."
*even* when no one else is using the repository at all from the start
of the recipe to the end, then yeah, I'd say there's a bug!
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: All long commits fail
Posted by Ben Collins-Sussman <su...@collab.net>.
Torne Wuff <to...@wolfpuppy.org.uk> writes:
> > You can't commit a propchange on a directory unless your working
> > directory is at HEAD.
>
> Ah, that would be it (tested it). That's odd, but, well, if that's the
> way it works, then that's the way it works.
Yup, it's explained at the end of chapter 2 in the svn book:
"However you make use of mixed-revisions in your working copy,
there are limitations to this flexibility.
First, you cannot commit the deletion of a file or directory which
isn't fully up-to-date. If a newer version of the item exists in
the repository, your attempt to delete will be rejected, to
prevent you from accidentally destroying changes you've not yet
seen.
Second, you cannot commit a metadata change to a directory unless
it's fully up-to-date. [...] A directory's working revision
defines a specific set of entries and properties, and thus
committing a property change to an out-of-date directory may
destroy properties you've not yet seen."
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: All long commits fail
Posted by Torne Wuff <to...@wolfpuppy.org.uk>.
On Fri, Sep 19 03 at 2:36:15PM -0500, Ben Collins-Sussman wrote:
> kfogel@collab.net writes:
> > > > $ svn st -q
> > > > $ svn propset svn:ignore "...new value..." .
> > > > $ property `svn:ignore' set on ''
> > > > $ svn st -q
> > > > M .
> > > > $ svn ci -N -m "Update ignores."
> > > >
> > > > *even* when no one else is using the repository at all from the start
> > > > of the recipe to the end, then yeah, I'd say there's a bug!
>
> I disagree.
>
> If you add a 'svn commit ./foo.c' as a step before your recipe above,
> it's perfectly possible for that recipe to fail.
>
> You can't commit a propchange on a directory unless your working
> directory is at HEAD.
Ah, that would be it (tested it). That's odd, but, well, if that's the
way it works, then that's the way it works. It does seem that issue
#1245 is the reason it takes so long for it to notice, so I'll just
hafta wait for a fix to that one =)
Torne
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: All long commits fail
Posted by Ben Collins-Sussman <su...@collab.net>.
kfogel@collab.net writes:
> Ben Collins-Sussman <su...@collab.net> writes:
> > I disagree.
> >
> > If you add a 'svn commit ./foo.c' as a step before your recipe above,
> > it's perfectly possible for that recipe to fail.
> >
> > You can't commit a propchange on a directory unless your working
> > directory is at HEAD.
>
> But why does it take X minutes to realize this? Your directory either
> is or isn't at head, should only take a sec for Subversion to find
> out...
>
> Oh, maybe because of issue #1245?
Hmmmm, yeah, possibly.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: All long commits fail
Posted by kf...@collab.net.
Ben Collins-Sussman <su...@collab.net> writes:
> I disagree.
>
> If you add a 'svn commit ./foo.c' as a step before your recipe above,
> it's perfectly possible for that recipe to fail.
>
> You can't commit a propchange on a directory unless your working
> directory is at HEAD.
But why does it take X minutes to realize this? Your directory either
is or isn't at head, should only take a sec for Subversion to find
out...
Oh, maybe because of issue #1245?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: All long commits fail
Posted by Ben Collins-Sussman <su...@collab.net>.
kfogel@collab.net writes:
> > > $ svn st -q
> > > $ svn propset svn:ignore "...new value..." .
> > > $ property `svn:ignore' set on ''
> > > $ svn st -q
> > > M .
> > > $ svn ci -N -m "Update ignores."
> > >
> > > *even* when no one else is using the repository at all from the start
> > > of the recipe to the end, then yeah, I'd say there's a bug!
I disagree.
If you add a 'svn commit ./foo.c' as a step before your recipe above,
it's perfectly possible for that recipe to fail.
You can't commit a propchange on a directory unless your working
directory is at HEAD.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: All long commits fail
Posted by kf...@collab.net.
Torne Wuff <to...@wolfpuppy.org.uk> writes:
> > If this reproduces
> >
> > $ svn st -q
> > $ svn propset svn:ignore "...new value..." .
> > $ property `svn:ignore' set on ''
> > $ svn st -q
> > M .
> > $ svn ci -N -m "Update ignores."
> >
> > *even* when no one else is using the repository at all from the start
> > of the recipe to the end, then yeah, I'd say there's a bug!
>
> Yes, it fails if I do that. BTW I am subscribed to the list so please do
> not CC me. (I know I should set mail-followup-to but I've not got around
> to working out how that works yet..)
Thanks. Can you file an issue with the precise repro recipe?
I've remembered not to CC you on this one, but no promises for next
time :-). You might also check if your mailreader can unify duplicate
copies of the same mail.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: All long commits fail
Posted by Torne Wuff <to...@wolfpuppy.org.uk>.
On Fri, Sep 19 03 at 10:03:53AM -0500, kfogel@collab.net wrote:
> Torne Wuff <to...@wolfpuppy.org.uk> writes:
> > However, this triggers another issue; once a commit has taken a certain
> > length of time to run (seems to be a few mins but I've not tested
> > thouroughly), the commit will usually fail. The exact command/response
> > (executing a commit from the root of the working copy):
> > F:\nt>svn commit -Nm"Update ignores"
> > Sending .
> > svn: Transaction is out of date
> > svn: Commit failed(details follow):
> > svn: out of date: `/nt' in txn `39'
> >
> > svn up and svn update -u both show the working copy as up to date.
> > For this example it took over 10 minutes to get as far as printing
> > 'sending', and another few minutes after that before the error. The only
> > change that this command should be committing is a change to a property
> > set on the current directory.
>
> At first I thought this was
>
> http://subversion.tigris.org/issues/show_bug.cgi?id=1431
>
> but the symptom is different. In the above example, there were no
> changes in the working copy other than a property change to "."?
There are other changes, but not in the current directory (hence -N). In
other situations, I have done recursive commits which also fail in the
same way.
> Is anyone else using your repository, perhaps making changes down in
> the tree (thus making the directories up near the top very likely to
> be newer than what any given working copy has)?
I am the only person who can log on to that machine; it's a local repo.
There are no changes other than in my working copy.
> If this reproduces
>
> $ svn st -q
> $ svn propset svn:ignore "...new value..." .
> $ property `svn:ignore' set on ''
> $ svn st -q
> M .
> $ svn ci -N -m "Update ignores."
>
> *even* when no one else is using the repository at all from the start
> of the recipe to the end, then yeah, I'd say there's a bug!
Yes, it fails if I do that. BTW I am subscribed to the list so please do
not CC me. (I know I should set mail-followup-to but I've not got around
to working out how that works yet..)
Torne
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org