1

I've building clang/llvm frequently on various systems following the "Getting Started" instructions (http://clang.llvm.org/get_started.html). The SVN folks are really into modularity but don't seem to use the SVN "externals" mechanism, so they require three separate checkouts (llvm, clang, compiler-rt) into a single source tree (with one optional: extra).

Every now and then I build an updated version by doing "svn up" in the source tree root ("llvm") and then rebuilding.

Today, for the first time, I wondered if I should be doing an "svn up" in each separate checkout sub-directory or whether SVN is smart enough to do "recursive updates for nested checkouts". Couldn't find an answer after searching a bit so I am here now.

Thanks!

Zoe
  • 27,060
  • 21
  • 118
  • 148
hippo-dancer
  • 67
  • 1
  • 5

2 Answers2

0

SVN is smart enough to do "recursive updates for nested checkouts"

AFAIK, outside the use of externals, SVN is not smart enough to know about nested checkouts.

TridenT
  • 4,879
  • 1
  • 32
  • 56
  • Thought of a simple way to verify this. I did "up" in the top-level of an older working copy that was not up-to-date. Several changes applied. Then cd'ed into tools/clang and did "up". Sure enough, many new updates applied (at the same revision level). – hippo-dancer Oct 16 '12 at 03:58
0
find . -name ".svn" -type d | xargs dirname | xargs svn update
Floern
  • 33,559
  • 24
  • 104
  • 119
user5406764
  • 1,627
  • 2
  • 16
  • 23
  • By the way, on MacOS you should replace the middle part with 'xargs -I {} dirname {}'.... That's a letter-I (eye) as the argument – user5406764 Jul 17 '17 at 17:17