GCC C++ Modules TS Branch in Git from the original Subversion service

Whereas

GCC for Modules TS is mastered in Subversion. It would be fun to have it copied and available in Git. Because that’s what the cool kids use nowadays.

Specimen

  • svn://gcc.gnu.org/svn/gcc/branches/c++-modules

References

Recipe

cd /…/vault/git/svn/org.gnu.gcc
mkdir c++-modules
svnadmin create c++-modules
cat > c++-modules/hooks/pre-revprop-change <<EOF
#!/bin/sh
exit 0;
EOF
chmod +x c++-modules/hooks/pre-revprop-change

svnsync init file:///…/vault/git/svn/org.gnu.gcc/c++-modules svn://gcc.gnu.org/svn/gcc/branches/c++-modules
# one line of output
# …quick…

svnsync sync file:///…/vault/git/svn/org.gnu.gcc/c++-modules
# …lots and lots of output…
# …long time passing…
# …think "five days" as 1 rev/sec is common and you need r25500…

cd /…/vault/git/clones
git svn clone file:///…/vault/git/svn/org.gnu.gcc/c++-modules -T trunk -b branches -t tags

Also, -s is the same as -T trunk -b branches -t tags

Previously,

Trip report: Summer ISO C++ standards meeting (Toronto) | Sutter’s Mill

Herb Sutter; Trip report: Summer ISO C++ standards meeting (Toronto); In His Blog entitled Sutter’s Mill; 2017-07-15.

Mentions

  • Concepts TS
    • “introducer syntax”
    • “terse/natural syntax”
  • Draft C++20
  • C++17
  • Modules TS
  • Coroutines TS
  • Networking TS
  • atomic_shared_ptr<T>
  • Latches
  • Barriers
  • Reflection
  • Library Evolution [Working Group]
  • SG1
  • CppCon

Something About…

  • several new containers
  • compile-time programming
  • metaclass programming

and…

  • modules
  • contracts

Definitions

“IS”
The “international standard” is core [of the] C++ standard.
a.k.a. “trunk.”
“TS”
The “technical specification” is a document separate from the main standard. Experimental features can start here before being put into the IS.
a.k.a. “beta branches.”
Current Status
See the actualities, below.

Who

  • Bjarne Stroustrup
  • Gabriel Dos Reis
  • Andrew Sutton

Referenced

Proposals
  • P0194compile-time reflection
  • P0244Unicode support
  • P0355date library
  • P0329Add designated initializers.
    e.g. struct A { int x; int y; int z; }; A b{.x = 1, .z = 2};
  • P0409Allow lambda capture [=, this].
  • P0428Allow template parameter lists on lambdas.
    e.g. auto f = []<typename T>(std::vector<T> vector) { /*…*/ };
Issues
  • BUG 311remove deprecated features

Previously

In His Blog

Actualities

Previously filled