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

"svn add * --force" and global-ignores / svn:ignore property

From: Mailing List <mailinglist_at_perspectives.qc.ca>
Date: 2005-12-31 01:14:35 CET

Hi!

It would be nice if someone could see if the following are bugs, _features_ or if I'm missing something... seems weird to me...
1 - global-ignores rules which don't begin with a period (.) don't seem to be applied at the root level of the working directory on "svn add * --force".
2 - svn:ignore properties are ignored on "svn add * --force" (if global-ignores rules are (normally) applied with --force why svn:ignore properties aren't?).

If you need more information/clarification.. please don't hesitate!

Thanks for this wonderful tool!

Benjamin

#######################################
# Environment #
#######################################

$ svn --version
svn, version 1.2.3 (r15833)
   compiled Nov 24 2005, 14:06:36

Copyright (C) 2000-2005 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

$ uname -a
Linux nfty5600-01 2.4.32-20051202-01smp #1 SMP Fri Dec 2 18:36:59 EST 2005 i686 i686 i386 GNU/Linux

#######################################
## global-ignores rules ##
#######################################

## 123-dir 123.txt .123.txt .123-dir are added to global-ignores

$ cat ~/.subversion/config | grep 123
global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store ._* 123-dir 123.txt .123.txt .123-dir

$ svnadmin create test-ignore

$ mkdir test-ignore-working

$ svn co file:///tmp/test-ignore /tmp/test-ignore-working/
Checked out revision 0.

$ cd test-ignore-working/

$ mkdir .123-dir
$ mkdir -p abc-dir/abc-dir/
$ mkdir -p abc-dir/123-dir/
$ mkdir -p 123-dir/abc-dir/
$ mkdir -p 123-dir/123-dir/

$ touch .123.txt
$ touch 123.txt
$ touch abc.txt
$ touch abc-dir/123.txt
$ touch abc-dir/abc.txt
$ touch 123-dir/abc.txt
$ touch 123-dir/123.txt
$ touch abc-dir/123-dir/123.txt
$ touch abc-dir/123-dir/abc.txt
$ touch abc-dir/abc-dir/123.txt
$ touch abc-dir/abc-dir/abc.txt

$ find . | grep -v .svn
.
./.123-dir
./abc-dir
./abc-dir/abc-dir
./abc-dir/abc-dir/123.txt
./abc-dir/abc-dir/abc.txt
./abc-dir/123-dir
./abc-dir/123-dir/123.txt
./abc-dir/123-dir/abc.txt
./abc-dir/123.txt
./abc-dir/abc.txt
./123-dir
./123-dir/abc-dir
./123-dir/123-dir
./123-dir/abc.txt
./123-dir/123.txt
./.123.txt
./123.txt
./abc.txt

$ svn status --no-ignore
I .123-dir <= Perfect!
? abc-dir
I 123-dir <= Perfect!
I .123.txt <= Perfect!
I 123.txt <= Perfect!
? abc.txt

$ svn add * --force
A 123-dir <= Oups!?
A 123-dir/abc-dir <= Oups!?
A 123-dir/abc.txt <= Oups!?
A 123.txt <= Oups!?
A abc-dir
A abc-dir/abc-dir
A abc-dir/abc-dir/abc.txt
A abc-dir/abc.txt
A abc.txt

## NOTE: File/directory beginning with . (.123-dir and .123.txt) are ignored as expected...

$ svn status --no-ignore
I .123-dir <= Perfect!
I .123.txt <= Perfect!
I 123-dir/123-dir <= Perfect!
I 123-dir/123.txt <= Perfect!
A 123-dir <= Oups!?
A 123-dir/abc-dir <= Oups!?
A 123-dir/abc.txt <= Oups!?
I abc-dir/123-dir <= Perfect!
I abc-dir/123.txt <= Perfect!
A abc-dir <= Perfect!
I abc-dir/abc-dir/123.txt <= Perfect!
A abc-dir/abc-dir <= Perfect!
A abc-dir/abc-dir/abc.txt <= Perfect!
A abc-dir/abc.txt <= Perfect!
A 123.txt <= Oups!?
A abc.txt <= Perfect!

#########################################
## Now svn:ignore property test case ##
#########################################

$ touch ignore.txt
$ touch abc-dir/ignore.txt

$ svn status --no-ignore
I .123-dir
I .123.txt
? ignore.txt
I 123-dir/123-dir
I 123-dir/123.txt
A 123-dir
A 123-dir/abc-dir
A 123-dir/abc.txt
I abc-dir/123-dir
? abc-dir/ignore.txt
I abc-dir/123.txt
A abc-dir
I abc-dir/abc-dir/123.txt
A abc-dir/abc-dir
A abc-dir/abc-dir/abc.txt
A abc-dir/abc.txt
A 123.txt
A abc.txt

$ svn propset svn:ignore ignore.txt .
$ svn propset svn:ignore ignore.txt abc-dir

$ svn proplist . --verbose
Properties on '.':
  svn:ignore : ignore.txt

$ svn proplist abc-dir --verbose
Properties on 'abc-dir':
  svn:ignore : ignore.txt

$ svn status --no-ignore
I .123-dir
I .123.txt
I ignore.txt <= Perfect!
 M .
I 123-dir/123-dir
I 123-dir/123.txt
A 123-dir
A 123-dir/abc-dir
A 123-dir/abc.txt
I abc-dir/123-dir
I abc-dir/ignore.txt <= Perfect!
I abc-dir/123.txt
A abc-dir
I abc-dir/abc-dir/123.txt
A abc-dir/abc-dir
A abc-dir/abc-dir/abc.txt
A abc-dir/abc.txt
A 123.txt
A abc.txt

$ svn ci -m "initial ci"
Sending .
Adding 123-dir
Adding 123-dir/abc-dir
Adding 123-dir/abc.txt
Adding 123.txt
Adding abc-dir
Adding abc-dir/abc-dir
Adding abc-dir/abc-dir/abc.txt
Adding abc-dir/abc.txt
Adding abc.txt
Transmitting file data .....
Committed revision 1.

$ svn status --no-ignore
I .123-dir
I .123.txt
I ignore.txt <= Perfect!
I 123-dir/123-dir
I 123-dir/123.txt
I abc-dir/123-dir
I abc-dir/ignore.txt <= Perfect!
I abc-dir/123.txt
I abc-dir/abc-dir/123.txt

$ svn add * --force
A abc-dir/ignore.txt <= Oups!?
A ignore.txt <= Oups!?

$ svn status --no-ignore
I .123-dir
I .123.txt
I 123-dir/123-dir
I 123-dir/123.txt
I abc-dir/123-dir
I abc-dir/123.txt
I abc-dir/abc-dir/123.txt
A abc-dir/ignore.txt <= Oups!?
A ignore.txt <= Oups!?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Dec 31 01:16:22 2005

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