MakeForce / svnx

Automatically exported from code.google.com/p/svnx
0 stars 0 forks source link

How to commit ignores? #120

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
- in a working copy, flag a file as ignored
- now yo uhave the option to commit the ignore but SVN will only show the 
directory and not the file where the ignore is written to (.svn/dir-prop-base).
- Trying to commit that will fail with an error:
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating

What version of the product are you using? On what operating system?
svnx 1.3b1 on OS X 10.6.4

Please provide any additional information below.
I tested this with a repository on Sourceforge (Pentagram)

Original issue reported on code.google.com by dominik....@gmail.com on 30 Oct 2010 at 2:23

GoogleCodeExporter commented 9 years ago
The svn:ignore property is stored on the parent directory of the item being 
ignored.

Are you sure you are not seeing this message because the item you are trying to 
commit is "out of date"?
Please supply the svn commit command used as displayed in the Info drawer of 
the Activity window.
[Remember to redact any sensitive info from the command first.]

Original comment by chris...@gmail.com on 30 Oct 2010 at 3:05

GoogleCodeExporter commented 9 years ago
The item I'm trying to commit is the ignore, nothing else.
Reverting, updatingthen again ignoreing and commiting doesn't change the error.
I do get this warning though, which seems to be another issue though, as I get 
this also with other commits that commit fine.
The whole output:

svn: warning: The depth of this commit is 'empty', but copied directories will 
regardless be committed with depth 'infinity'. You must remove unwanted 
children of those directories in a separate commit.
Sending        Users/MYUSERNAME/Code/SVN/Pentagram/trunk/system/macosx
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating

Original comment by dominik....@gmail.com on 30 Oct 2010 at 3:10

GoogleCodeExporter commented 9 years ago
Try alt-clicking the Update toolbar item & ensuring Depth=Infinity.

> The item I'm trying to commit is the ignore, nothing else.
By 'item' I meant file or folder.

Please supply the info I requested previously so I can see what you are 
actually telling svnX to do.
Which version of Subversion are you using?

Original comment by chris...@gmail.com on 30 Oct 2010 at 3:44

GoogleCodeExporter commented 9 years ago
Ok, now I'm baffled.
I alt clicked update, didn't need to change anything, updated, redid the ignore 
thing and now it was working.
I assure you I did this before and it wasn't working.
In the activity info it showed the same command (now I found the correct info, 
I thought the output window==activity window):
/opt/local/bin/svn commit 
/Users/MYUSERNAME/Code/SVN/Pentagram/trunk/system/macosx --non-interactive -m 
ignore plist.info --non-recursive

SVN 1.6.13

Feel free to close this issue then. Thanks for the help even though I'm still 
baffled why it worked now :)

Original comment by dominik....@gmail.com on 30 Oct 2010 at 4:00

GoogleCodeExporter commented 9 years ago
Well the warning message contains the clue: “svn: warning: The depth of this 
commit is 'empty', …”
It worked because updating via the custom update dialog explicitly sets the 
'depth'
whereas the simple update uses the default depth for that WC.
At some point, some how, the depth of your WC was set to 'empty'.  Hence the 
warning.

Note: The best place to get svnX support is 
<http://groups.google.com/group/svnx> .

Original comment by chris...@gmail.com on 30 Oct 2010 at 5:24

GoogleCodeExporter commented 9 years ago
I get this warning on every commit, though it only fails with ignores. Any idea 
how to permanent fix that? The previous version of svnx didn't give that 
warning.
Additional information, tje repository was checked out by rapidsvn. 

Original comment by dominik....@gmail.com on 30 Oct 2010 at 7:34

GoogleCodeExporter commented 9 years ago
Check the 'ambient depth' of your working copy.
If it is anything other than 'infinity' the Info command will display a line 
indicating its value.
If it does then use `svn update --set-depth=infinity` to restore it.
[SvnX's Update dialog may well gain this functionality in a future version.]

Original comment by chris...@gmail.com on 31 Oct 2010 at 12:32

GoogleCodeExporter commented 9 years ago
hmm, more things I don't get.
"svn info" does not give me any hint on the depth of my working copy, so it 
should be 'infinity'. But after the first commit of the ignore worked (as I 
wrote above), other ignores gave the same warning again. Only again doing the 
"alt+update", then ignoring and commiting worked (that was before your last 
message).

I've now tried `svn update --set-depth=infinity` but I cannot test whether the 
error still occurs or my team mates will have my scalp for mucking around with 
the repository :)
So until the next valid commit I have no clue whether `svn update 
--set-depth=infinity` did anything (svn info wasn't different before and after 
the command).

In the meantime, any idea what is going wrong? Does the normal update by svnx 
perhaps cause this?

Original comment by dominik....@gmail.com on 31 Oct 2010 at 12:29

GoogleCodeExporter commented 9 years ago
Well, it transpires that someone (hwright) has made a change in Subversion 
1.6.13 (r1002776) that prints this warning for every commit that specifies an 
explicit depth that is not 'infinity'.
SvnX uses '--non-recursive' (equal to '--depth=empty') explicitly so that it 
does not commit changes to non-selected children of selected folders.
This is just a (bad) warning.  You should be able to safely ignore it as long 
as the commit succeeds.
I suggest you complain about this on the dev@subversion.apache.org mail list.  
I intend to do the same.

Original comment by chris...@gmail.com on 31 Oct 2010 at 2:41

GoogleCodeExporter commented 9 years ago
Thanks for finding the culprit. If you complain at the subversion ML I don't 
think I will since my non technical explanation would probably only confuse 
people :)

Original comment by dominik....@gmail.com on 31 Oct 2010 at 2:52