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

Re: svn: Commit failed (details follow): 'file' is not under version control

From: Mark E. Hamilton <mhamilt_at_sandia.gov>
Date: Fri, 09 May 2008 13:15:00 -0600

Erik Huelsmann wrote:
>> I have a sparse working directory that contains a file which has been
>> ignored, and some sub-directories, some of which were updated and some of
>> which were checked out (so my working directory is disjoint so I can't just
>> do 'svn commit -m Test'.) I can get the status using a wildcard:
> The wildcard expands to a list of files including the unversioned
> file. If you run svn commit without the wildcard, the above should
> work.

In any working directory there are three classes of files; revisioned,
unrevisioned but ignored, and unrevisioned. The first two are known to
svn; the third are not. In my example everything that the wildcard
expands to is known to svn; the file it is complaining about is
unrevisioned but known (due to the svn:ignore property on the working

The 'svn status *' and 'svn update *' both understand these three
classes, so my question is why doesn't 'svn -m Test commit *'? Why
doesn't it ignore the ignored files? Is there a situation in which this
would be the wrong thing to do?

The 'svn commit' command w/o the wildcard won't work because my working
copy is disjoint; some of the directories (Sierra, Nbtools, aria) were
retrieved from the repository with a 'svn update', and some (ARPACK)
were retrieved a 'svn checkout'. Since the ARPACK directory is disjoint,
it would be ignored by 'svn -m Test commit'.

When I explicitly name all four directories on the command line, as in

svn -m Test commit ARPACK Nbtools Sierra aria

they are committed correctly in a single transaction. Doing it this way
is a solution, of course, but this is just a simple test case. When our
developers have many more directories in their working directory, having
to specify each one on the command line could be tedious. Wildcards
exist for making dealing with groups of large files easy.

However, to ensure the disjoint child was not causing the problem I
created a new working directory, checked out the trunk using
--depth=empty and only updated two sub-directories. I still get the same
error (though as you pointed out in this case 'svn commit' w/o the
wildcard would have worked)

% svn status *
I SNTools.project
M Sierra/Sierra.xml
M Sierra/Sierra_sn.xml
M aria/Apps_aria.C

% svn update *
At revision 40421.
At revision 40421.
At revision 40421.
At revision 40421.

% svn -m Test commit *
svn: Commit failed (details follow):
svn: '/var/scratch2/sierra_svn_votd/SNTools.project' is not under
version control

Mark E. Hamilton
Orion International Technologies, Inc.
Sandia National Laboratory, NM.
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-05-09 21:15:32 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.