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

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

From: Mailing List <mailinglist_at_perspectives.qc.ca>
Date: 2005-12-31 19:58:21 CET

Hi Ryan!

Thanks for your reply!

>> 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?).
>
> I think you misunderstand how ignores are designed to work...
>
> [...]
>
> So when you say "svn add *" you're explicitly telling Subversion to
> add every file in the current directory, and Subversion will do so,
> even if those items were in one of your ignore lists.

I understand that... but with your explaination and more tests... I
think I begin to see why I get unexpected results (from my point of
view) with the use of the --force option ...

> I do not know what your use of "--force" is doing here; I have no
> experience with that option.

I want to use subversion as an incremental backup solution ( la
http://www.onlamp.com/pub/a/onlamp/2005/01/06/svn_homedir.html) ... and
add every new files/directories of the *working copy* in a quick and
dirty way, except specific files/directories (via global-ignores /
svn:ignore if possible).

In the Subversion book the following exemple is given:

"Normally, the command *svn add ** will skip over any directories that
are already under version control. Sometimes, however, you may want to
add every unversioned object in your working copy, including those
hiding deeper down. Passing the --force option makes *svn add* recurse
into versioned directories":

$ svn add * --force
A foo.c
A somedir/bar.c
A otherdir/docs/baz.doc
[...]

http://svnbook.red-bean.com/en/1.1/svn-book.html#svn-ch-9-sect-1.2-re-add

Tell me if I'm right... actually... on "svn add * --force" Subversion
applies the "add every file in the current directory" (by ignoring the
global-ignores rules / svn:ignore property according to the normal
behavior of "svn" add *") BUT apply the global-ignores rules when it
recurses AND ignores the svn:ignore property in any case (current
directory / "objects hiding deeper down").

> Note that your shell expands "*" to all items whose names do not
> begin with "." which explains why you didn't perceive a problem with
> items beginning with ".".

Hm...

$ svn mkdir foo
A foo
$ mkdir .123
$ mkdir foo/.123
$ svn st
? .123
? foo/.123
A foo
$ svn add * --force
A foo/.123
$ svn st
? .123
A foo
A foo/.123

Is foo/.123 is expected to be added while .123 is expected to be
ignored? From my understanding of the "svn add * --force" every object
(beginning or not with "." / current directory / "objects hiding deeper
down") should be added ... Am I wrong?

Benjamin

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Dec 31 20:00:41 2005

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