You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Mihai Danila <vi...@gmail.com> on 2013/08/08 05:18:35 UTC

SVN update of child ignores files if preceded by update --depth immediates

With Subversion 1.6.5, 1.6.13, and I believe Subversion 1.7 also, I noticed
the following bug, which I first asked about on StackOverflow about and had
independently confirmed (
http://stackoverflow.com/questions/18114102/strange-svn-behavior-missing-files-when-using-depth-immediates-followed-by-dep
).

I will copy straight from there.


   - Repository:
      - Revision 0: empty
      - Revision 1: dir1/f1.txt
      - Revision 2: dir1/f1.txt, dir1/f2.txt, dir2/f3.txt

Your typical, right?
------------------------------

Now for the strangeness. I'm running these commands in the WC root.

   - Commands
      1. svn update -r1 - Update to revision 1 is successful, working copy
      looks good.
      2. svn update --depth immediates - All good, dir2 gets created and is
      empty, no other changes.
      3. svn update dir1 --set-depth infinity - SVN says OK, but
dir1/f2.txt just
      won't pop up in my working copy.
      4. svn update - just cause I'm getting anxious - nothing,
dir1/f2.txt still
      wont pop up.
      5. svn update -r1 - Error: dir1/f2.txt is not under version control
      (WHOA?)
      6. svn update - Now I get dir1/f2.txt in.

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Mihai Danila <vi...@gmail.com>.
Understood, thank you for this clarification.


On Thu, Sep 5, 2013 at 2:56 PM, Philip Martin <ph...@wandisco.com>wrote:

> Mihai Danila <vi...@gmail.com> writes:
>
> > Just to make sure, is this supposed to be doable in parallel in SVN 1.7,
> > because it doesn't seem to be doable?
> >
> > wc/objects/object1/ (1-2 dozen files)
> > wc/objects/object2/ (1-2 dozen files)
> > ...
> > wc/objects/objectN/ (1-2 dozen files)
> >
> > svn up wc/objects/object<i1>
> > svn up wc/objects/object<i2>
> > ...
> > svn up wc/objects/object<ik>
> >
> > (for a subset of the objects in that directory)
>
> svn up wc/objects/object2
>
> will lock the whole tree wc/objects so
>
> svn up wc/objects/object1
>
> in parallel will fail.  However
>
> svn up wc/objects/object1/*
> svn up wc/objects/object2/*
>
> will work in parallel.
>
> --
> Philip Martin | Subversion Committer
> WANdisco // *Non-Stop Data*
>

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Philip Martin <ph...@wandisco.com>.
Mihai Danila <vi...@gmail.com> writes:

> Just to make sure, is this supposed to be doable in parallel in SVN 1.7,
> because it doesn't seem to be doable?
>
> wc/objects/object1/ (1-2 dozen files)
> wc/objects/object2/ (1-2 dozen files)
> ...
> wc/objects/objectN/ (1-2 dozen files)
>
> svn up wc/objects/object<i1>
> svn up wc/objects/object<i2>
> ...
> svn up wc/objects/object<ik>
>
> (for a subset of the objects in that directory)

svn up wc/objects/object2

will lock the whole tree wc/objects so 

svn up wc/objects/object1

in parallel will fail.  However

svn up wc/objects/object1/*
svn up wc/objects/object2/*

will work in parallel.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Mihai Danila <vi...@gmail.com>.
Just to make sure, is this supposed to be doable in parallel in SVN 1.7,
because it doesn't seem to be doable?

wc/objects/object1/ (1-2 dozen files)
wc/objects/object2/ (1-2 dozen files)
...
wc/objects/objectN/ (1-2 dozen files)

svn up wc/objects/object<i1>
svn up wc/objects/object<i2>
...
svn up wc/objects/object<ik>

(for a subset of the objects in that directory)



On Thu, Sep 5, 2013 at 2:14 PM, Philip Martin <ph...@wandisco.com>wrote:

> Mihai Danila <vi...@gmail.com> writes:
>
> > That's exactly the problem. In SVN 1.6 I was able to run concurrent SVN
> > updates on different directories. Their separate databases were
> updateable
> > separately. In 1.7, this is no longer possible.
>
> Both 1.7 and 1.8 allow concurrent updates but the update targets have to
> be a bit further apart than 1.6.  Given a working copy layout:
>
>    wc/
>    wc/A/
>    wc/A/B/
>    wc/X/
>    wc/X/Y/
>
> With 1.6
>
>   svn up wc/A/B
>
> locks the whole tree for the explict target wc/A/B plus a lock on the
> parent directory wc/A, while 1.8 locks the whole tree for the parent
> wc/A.  The result is that both 1.6 and 1.8 allow
>
>   svn up wc/A/B
>   svn up wc/X/Y
>
> in parallel, but only 1.6 allows
>
>   svn up wc/A
>   svn up wc/X/Y
>
> in parallel, and neither allows
>
>   svn up wc/A
>   svn up wc/X
>
> in parallel.
>
> --
> Philip Martin | Subversion Committer
> WANdisco // *Non-Stop Data*
>

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Philip Martin <ph...@wandisco.com>.
Mihai Danila <vi...@gmail.com> writes:

> That's exactly the problem. In SVN 1.6 I was able to run concurrent SVN
> updates on different directories. Their separate databases were updateable
> separately. In 1.7, this is no longer possible.

Both 1.7 and 1.8 allow concurrent updates but the update targets have to
be a bit further apart than 1.6.  Given a working copy layout:

   wc/
   wc/A/
   wc/A/B/
   wc/X/
   wc/X/Y/

With 1.6

  svn up wc/A/B

locks the whole tree for the explict target wc/A/B plus a lock on the
parent directory wc/A, while 1.8 locks the whole tree for the parent
wc/A.  The result is that both 1.6 and 1.8 allow

  svn up wc/A/B
  svn up wc/X/Y

in parallel, but only 1.6 allows

  svn up wc/A
  svn up wc/X/Y

in parallel, and neither allows

  svn up wc/A
  svn up wc/X

in parallel.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Ben Reser <be...@reser.org>.
On 9/5/13 10:05 AM, Mihai Danila wrote:
> Can we simply fix the original issue in SVN 1.6 instead?

1.6 is no longer being supported as of the 1.8.x release.

https://subversion.apache.org/docs/release-notes/1.8.html#svn-1.6-deprecation

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Mihai Danila <vi...@gmail.com>.
That's exactly the problem. In SVN 1.6 I was able to run concurrent SVN
updates on different directories. Their separate databases were updateable
separately. In 1.7, this is no longer possible.

I would be happy to revert our application to using SVN 1.6, except that
1.6 has a problem, as explained at the root of this thread. The original
resolution recommended by you guys was to switch to 1.7, but we cannot do
that because of these newly found concurrency issues.

Can we simply fix the original issue in SVN 1.6 instead?




On Thu, Sep 5, 2013 at 12:40 PM, Bob Archer <Bo...@amsi.com> wrote:

>  You should be able to update from any path. I’m not sure if they can run
> “concurrently” though. ****
>
> ** **
>
> svn [PATH…]****
>
> ** **
>
> BOb****
>
> ** **
>
> ** **
>
> *From:* Mihai Danila [mailto:viridium@gmail.com]
> *Sent:* Wednesday, September 04, 2013 3:13 PM
> *To:* Philip Martin
> *Cc:* dev@subversion.apache.org
> *Subject:* Re: SVN update of child ignores files if preceded by update
> --depth immediates****
>
> ** **
>
> Philip,****
>
> ** **
>
> We have upgraded our working copies to SVN 1.7, but, unfortunately, the
> single ".svn" directory per working copy paradigm used by SVN 1.7 prevents
> us from running concurrent updates to different areas of our working copy.
> We get errors and locked working copies.****
>
> ** **
>
> Is it possible to fix SVN 1.6 so that we might use it and achieve our goal
> of updating different portions of the working copy concurrently? Or, is
> there some way to run concurrent updates on different areas of an SVN 1.7
> working copy that we are not aware of?****
>
> ** **
>
> Mihai****
>
> ** **
>
> ** **
>
> ** **
>
> On Mon, Aug 12, 2013 at 5:15 PM, Mihai Danila <vi...@gmail.com> wrote:*
> ***
>
> Thank you Philip. We will upgrade to a newer SVN version.****
>
> ** **
>
> ** **
>
> On Thu, Aug 8, 2013 at 1:34 PM, Philip Martin <ph...@wandisco.com>
> wrote:****
>
> Mihai Danila <vi...@gmail.com> writes:
>
> > With Subversion 1.6.5, 1.6.13, and I believe Subversion 1.7 also, I
> noticed
> > the following bug, which I first asked about on StackOverflow about and
> had
> > independently confirmed (
> >
> http://stackoverflow.com/questions/18114102/strange-svn-behavior-missing-files-when-using-depth-immediates-followed-by-dep
> > ).
> >
> > I will copy straight from there.
> >
> >****
>
> >    - Repository:
> >       - Revision 0: empty
> >       - Revision 1: dir1/f1.txt
> >       - Revision 2: dir1/f1.txt, dir1/f2.txt, dir2/f3.txt
> >
> > Your typical, right?
> > ------------------------------****
>
> >
> > Now for the strangeness. I'm running these commands in the WC root.
> >****
>
> >    - Commands
> >       1. svn update -r1 - Update to revision 1 is successful, working
> copy
> >       looks good.
> >       2. svn update --depth immediates - All good, dir2 gets created and
> is
> >       empty, no other changes.
> >       3. svn update dir1 --set-depth infinity - SVN says OK, but****
>
> > dir1/f2.txt just
> >       won't pop up in my working copy.****
>
> >       4. svn update - just cause I'm getting anxious - nothing,****
>
> > dir1/f2.txt still
> >       wont pop up.****
>
> >       5. svn update -r1 - Error: dir1/f2.txt is not under version control
> >       (WHOA?)
> >       6. svn update - Now I get dir1/f2.txt in.
>
> svnadmin create repo
> svnmucc -mm -U file://`pwd`/repo mkdir D1 put repo/format D1/f1
> svnmucc -mm -U file://`pwd`/repo put D1/f2 mkdir D2 put repo/format D2/f3
> svn co file://`pwd`/repo@1 wc
> svn up --depth immediates wc
> svn up --set-depth infinity wc/D1
> svn st -v wc
>
> With 1.7 and 1.8 the status shows
>
>                  2        2 pm           wc
>                  2        2 pm           wc/D1
>                  2        1 pm           wc/D1/f1
>                  2        2 pm           wc/D1/f2
>                  2        2 pm           wc/D2
>
> With 1.6 the status shows
>
>                  2        2 pm           wc
>                  2        2 pm           wc/D2
>                  2        2 pm           wc/D1
>                  2        1 pm           wc/D1/f1
>
> So this is a bug in 1.6 that is fixed in 1.7 and 1.8.
>
> --
> Philip Martin | Subversion Committer
> WANdisco | Non-Stop Data****
>
> ** **
>
> ** **
>

RE: SVN update of child ignores files if preceded by update --depth immediates

Posted by Bob Archer <Bo...@amsi.com>.
You should be able to update from any path. I'm not sure if they can run "concurrently" though.

svn [PATH...]

BOb


From: Mihai Danila [mailto:viridium@gmail.com]
Sent: Wednesday, September 04, 2013 3:13 PM
To: Philip Martin
Cc: dev@subversion.apache.org
Subject: Re: SVN update of child ignores files if preceded by update --depth immediates

Philip,

We have upgraded our working copies to SVN 1.7, but, unfortunately, the single ".svn" directory per working copy paradigm used by SVN 1.7 prevents us from running concurrent updates to different areas of our working copy. We get errors and locked working copies.

Is it possible to fix SVN 1.6 so that we might use it and achieve our goal of updating different portions of the working copy concurrently? Or, is there some way to run concurrent updates on different areas of an SVN 1.7 working copy that we are not aware of?

Mihai



On Mon, Aug 12, 2013 at 5:15 PM, Mihai Danila <vi...@gmail.com>> wrote:
Thank you Philip. We will upgrade to a newer SVN version.


On Thu, Aug 8, 2013 at 1:34 PM, Philip Martin <ph...@wandisco.com>> wrote:
Mihai Danila <vi...@gmail.com>> writes:

> With Subversion 1.6.5, 1.6.13, and I believe Subversion 1.7 also, I noticed
> the following bug, which I first asked about on StackOverflow about and had
> independently confirmed (
> http://stackoverflow.com/questions/18114102/strange-svn-behavior-missing-files-when-using-depth-immediates-followed-by-dep
> ).
>
> I will copy straight from there.
>
>
>    - Repository:
>       - Revision 0: empty
>       - Revision 1: dir1/f1.txt
>       - Revision 2: dir1/f1.txt, dir1/f2.txt, dir2/f3.txt
>
> Your typical, right?
> ------------------------------
>
> Now for the strangeness. I'm running these commands in the WC root.
>
>    - Commands
>       1. svn update -r1 - Update to revision 1 is successful, working copy
>       looks good.
>       2. svn update --depth immediates - All good, dir2 gets created and is
>       empty, no other changes.
>       3. svn update dir1 --set-depth infinity - SVN says OK, but
> dir1/f2.txt just
>       won't pop up in my working copy.
>       4. svn update - just cause I'm getting anxious - nothing,
> dir1/f2.txt still
>       wont pop up.
>       5. svn update -r1 - Error: dir1/f2.txt is not under version control
>       (WHOA?)
>       6. svn update - Now I get dir1/f2.txt in.

svnadmin create repo
svnmucc -mm -U file://`pwd`/repo mkdir D1 put repo/format D1/f1
svnmucc -mm -U file://`pwd`/repo put D1/f2 mkdir D2 put repo/format D2/f3
svn co file://`pwd`/repo@1 wc
svn up --depth immediates wc
svn up --set-depth infinity wc/D1
svn st -v wc

With 1.7 and 1.8 the status shows

                 2        2 pm           wc
                 2        2 pm           wc/D1
                 2        1 pm           wc/D1/f1
                 2        2 pm           wc/D1/f2
                 2        2 pm           wc/D2

With 1.6 the status shows

                 2        2 pm           wc
                 2        2 pm           wc/D2
                 2        2 pm           wc/D1
                 2        1 pm           wc/D1/f1

So this is a bug in 1.6 that is fixed in 1.7 and 1.8.

--
Philip Martin | Subversion Committer
WANdisco | Non-Stop Data



Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Mihai Danila <vi...@gmail.com>.
Philip,

We have upgraded our working copies to SVN 1.7, but, unfortunately, the
single ".svn" directory per working copy paradigm used by SVN 1.7 prevents
us from running concurrent updates to different areas of our working copy.
We get errors and locked working copies.

Is it possible to fix SVN 1.6 so that we might use it and achieve our goal
of updating different portions of the working copy concurrently? Or, is
there some way to run concurrent updates on different areas of an SVN 1.7
working copy that we are not aware of?

Mihai




On Mon, Aug 12, 2013 at 5:15 PM, Mihai Danila <vi...@gmail.com> wrote:

> Thank you Philip. We will upgrade to a newer SVN version.
>
>
>
> On Thu, Aug 8, 2013 at 1:34 PM, Philip Martin <ph...@wandisco.com>wrote:
>
>> Mihai Danila <vi...@gmail.com> writes:
>>
>> > With Subversion 1.6.5, 1.6.13, and I believe Subversion 1.7 also, I
>> noticed
>> > the following bug, which I first asked about on StackOverflow about and
>> had
>> > independently confirmed (
>> >
>> http://stackoverflow.com/questions/18114102/strange-svn-behavior-missing-files-when-using-depth-immediates-followed-by-dep
>> > ).
>> >
>> > I will copy straight from there.
>> >
>> >
>> >    - Repository:
>> >       - Revision 0: empty
>> >       - Revision 1: dir1/f1.txt
>> >       - Revision 2: dir1/f1.txt, dir1/f2.txt, dir2/f3.txt
>> >
>> > Your typical, right?
>> > ------------------------------
>> >
>> > Now for the strangeness. I'm running these commands in the WC root.
>> >
>> >    - Commands
>> >       1. svn update -r1 - Update to revision 1 is successful, working
>> copy
>> >       looks good.
>> >       2. svn update --depth immediates - All good, dir2 gets created
>> and is
>> >       empty, no other changes.
>> >       3. svn update dir1 --set-depth infinity - SVN says OK, but
>> > dir1/f2.txt just
>> >       won't pop up in my working copy.
>> >       4. svn update - just cause I'm getting anxious - nothing,
>> > dir1/f2.txt still
>> >       wont pop up.
>> >       5. svn update -r1 - Error: dir1/f2.txt is not under version
>> control
>> >       (WHOA?)
>> >       6. svn update - Now I get dir1/f2.txt in.
>>
>> svnadmin create repo
>> svnmucc -mm -U file://`pwd`/repo mkdir D1 put repo/format D1/f1
>> svnmucc -mm -U file://`pwd`/repo put D1/f2 mkdir D2 put repo/format D2/f3
>> svn co file://`pwd`/repo@1 wc
>> svn up --depth immediates wc
>> svn up --set-depth infinity wc/D1
>> svn st -v wc
>>
>> With 1.7 and 1.8 the status shows
>>
>>                  2        2 pm           wc
>>                  2        2 pm           wc/D1
>>                  2        1 pm           wc/D1/f1
>>                  2        2 pm           wc/D1/f2
>>                  2        2 pm           wc/D2
>>
>> With 1.6 the status shows
>>
>>                  2        2 pm           wc
>>                  2        2 pm           wc/D2
>>                  2        2 pm           wc/D1
>>                  2        1 pm           wc/D1/f1
>>
>> So this is a bug in 1.6 that is fixed in 1.7 and 1.8.
>>
>> --
>> Philip Martin | Subversion Committer
>> WANdisco | Non-Stop Data
>>
>
>

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Mihai Danila <vi...@gmail.com>.
Thank you Philip. We will upgrade to a newer SVN version.


On Thu, Aug 8, 2013 at 1:34 PM, Philip Martin <ph...@wandisco.com>wrote:

> Mihai Danila <vi...@gmail.com> writes:
>
> > With Subversion 1.6.5, 1.6.13, and I believe Subversion 1.7 also, I
> noticed
> > the following bug, which I first asked about on StackOverflow about and
> had
> > independently confirmed (
> >
> http://stackoverflow.com/questions/18114102/strange-svn-behavior-missing-files-when-using-depth-immediates-followed-by-dep
> > ).
> >
> > I will copy straight from there.
> >
> >
> >    - Repository:
> >       - Revision 0: empty
> >       - Revision 1: dir1/f1.txt
> >       - Revision 2: dir1/f1.txt, dir1/f2.txt, dir2/f3.txt
> >
> > Your typical, right?
> > ------------------------------
> >
> > Now for the strangeness. I'm running these commands in the WC root.
> >
> >    - Commands
> >       1. svn update -r1 - Update to revision 1 is successful, working
> copy
> >       looks good.
> >       2. svn update --depth immediates - All good, dir2 gets created and
> is
> >       empty, no other changes.
> >       3. svn update dir1 --set-depth infinity - SVN says OK, but
> > dir1/f2.txt just
> >       won't pop up in my working copy.
> >       4. svn update - just cause I'm getting anxious - nothing,
> > dir1/f2.txt still
> >       wont pop up.
> >       5. svn update -r1 - Error: dir1/f2.txt is not under version control
> >       (WHOA?)
> >       6. svn update - Now I get dir1/f2.txt in.
>
> svnadmin create repo
> svnmucc -mm -U file://`pwd`/repo mkdir D1 put repo/format D1/f1
> svnmucc -mm -U file://`pwd`/repo put D1/f2 mkdir D2 put repo/format D2/f3
> svn co file://`pwd`/repo@1 wc
> svn up --depth immediates wc
> svn up --set-depth infinity wc/D1
> svn st -v wc
>
> With 1.7 and 1.8 the status shows
>
>                  2        2 pm           wc
>                  2        2 pm           wc/D1
>                  2        1 pm           wc/D1/f1
>                  2        2 pm           wc/D1/f2
>                  2        2 pm           wc/D2
>
> With 1.6 the status shows
>
>                  2        2 pm           wc
>                  2        2 pm           wc/D2
>                  2        2 pm           wc/D1
>                  2        1 pm           wc/D1/f1
>
> So this is a bug in 1.6 that is fixed in 1.7 and 1.8.
>
> --
> Philip Martin | Subversion Committer
> WANdisco | Non-Stop Data
>

Re: SVN update of child ignores files if preceded by update --depth immediates

Posted by Philip Martin <ph...@wandisco.com>.
Mihai Danila <vi...@gmail.com> writes:

> With Subversion 1.6.5, 1.6.13, and I believe Subversion 1.7 also, I noticed
> the following bug, which I first asked about on StackOverflow about and had
> independently confirmed (
> http://stackoverflow.com/questions/18114102/strange-svn-behavior-missing-files-when-using-depth-immediates-followed-by-dep
> ).
>
> I will copy straight from there.
>
>
>    - Repository:
>       - Revision 0: empty
>       - Revision 1: dir1/f1.txt
>       - Revision 2: dir1/f1.txt, dir1/f2.txt, dir2/f3.txt
>
> Your typical, right?
> ------------------------------
>
> Now for the strangeness. I'm running these commands in the WC root.
>
>    - Commands
>       1. svn update -r1 - Update to revision 1 is successful, working copy
>       looks good.
>       2. svn update --depth immediates - All good, dir2 gets created and is
>       empty, no other changes.
>       3. svn update dir1 --set-depth infinity - SVN says OK, but
> dir1/f2.txt just
>       won't pop up in my working copy.
>       4. svn update - just cause I'm getting anxious - nothing,
> dir1/f2.txt still
>       wont pop up.
>       5. svn update -r1 - Error: dir1/f2.txt is not under version control
>       (WHOA?)
>       6. svn update - Now I get dir1/f2.txt in.

svnadmin create repo
svnmucc -mm -U file://`pwd`/repo mkdir D1 put repo/format D1/f1
svnmucc -mm -U file://`pwd`/repo put D1/f2 mkdir D2 put repo/format D2/f3
svn co file://`pwd`/repo@1 wc
svn up --depth immediates wc
svn up --set-depth infinity wc/D1
svn st -v wc

With 1.7 and 1.8 the status shows

                 2        2 pm           wc
                 2        2 pm           wc/D1
                 2        1 pm           wc/D1/f1
                 2        2 pm           wc/D1/f2
                 2        2 pm           wc/D2

With 1.6 the status shows

                 2        2 pm           wc
                 2        2 pm           wc/D2
                 2        2 pm           wc/D1
                 2        1 pm           wc/D1/f1

So this is a bug in 1.6 that is fixed in 1.7 and 1.8.

-- 
Philip Martin | Subversion Committer
WANdisco | Non-Stop Data