[3.8 Release] RC3 has been tagged

[ Original posting see [1] ]

From [1]:

...
Added:
    llvm/tags/RELEASE_380/rc3/ (props changed)
      - copied from r261685, llvm/branches/release_38/
...

The LLVM Git repositories have no "rc3" tag in "release_38" branch (as
an example llvm.git#release_38 see [2]).

Who is responsible for that or maybe better... can you activate the
responsible(s)?

Helpful is to add tags for both SVN and Git repositories synchronously.

Thanks!

Regards,
- Sedat -

[1] http://lists.llvm.org/pipermail/llvm-dev/2016-February/095756.html
[2] https://github.com/llvm-mirror/llvm/tree/release_38

I looked through some older emails and have CCed Anton.

I checked out from Git not knowing what rc3 is for llvm | clang |
compiler-rt, I will simply use realase_38 Git branch and then see.
Official (source) tarballs will take some time...

- Sedat -

[ Original posting see [1] ]

From [1]:
...
Added:
    llvm/tags/RELEASE_380/rc3/ (props changed)
      - copied from r261685, llvm/branches/release_38/
...

The LLVM Git repositories have no "rc3" tag in "release_38" branch (as
an example llvm.git#release_38 see [2]).

Who is responsible for that or maybe better... can you activate the
responsible(s)?

Helpful is to add tags for both SVN and Git repositories synchronously.

Thanks!

Regards,
- Sedat -

[1] http://lists.llvm.org/pipermail/llvm-dev/2016-February/095756.html
[2] https://github.com/llvm-mirror/llvm/tree/release_38

I looked through some older emails and have CCed Anton.

I checked out from Git not knowing what rc3 is for llvm | clang |
compiler-rt, I will simply use realase_38 Git branch and then see.
Official (source) tarballs will take some time...

- Sedat -

[ LLVM.git#release_38 ]

wearefam@fambox:~/src/llvm-toolchain/llvm-git$ LC_ALL=C git log -1
commit bb6f14e3581c78509405a3d415e72821db8a2066
Author: Quentin Colombet <qcolombet@apple.com>

[ Original posting see [1] ]

From [1]:
...
Added:
    llvm/tags/RELEASE_380/rc3/ (props changed)
      - copied from r261685, llvm/branches/release_38/
...

The LLVM Git repositories have no "rc3" tag in "release_38" branch (as
an example llvm.git#release_38 see [2]).

Who is responsible for that or maybe better... can you activate the
responsible(s)?

Helpful is to add tags for both SVN and Git repositories synchronously.

Thanks!

Regards,
- Sedat -

[1] http://lists.llvm.org/pipermail/llvm-dev/2016-February/095756.html
[2] https://github.com/llvm-mirror/llvm/tree/release_38

I looked through some older emails and have CCed Anton.

I checked out from Git not knowing what rc3 is for llvm | clang |
compiler-rt, I will simply use realase_38 Git branch and then see.
Official (source) tarballs will take some time...

- Sedat -

[ LLVM.git#release_38 ]

wearefam@fambox:~/src/llvm-toolchain/llvm-git$ LC_ALL=C git log -1
commit bb6f14e3581c78509405a3d415e72821db8a2066
Author: Quentin Colombet <qcolombet@apple.com>
Date: Mon Feb 22 22:27:47 2016 +0000

    [AArch64] Fix bug in prolog clobbering live reg when shrink wrapping.

    This adapts r261349 to the release branch.

    git-svn-id:
https://llvm.org/svn/llvm-project/llvm/branches/release_38@261586
91177308-0d34-0410-b5e6-96231b3b80d8

[ CLANG.git#release_38 ]

wearefam@fambox:~/src/llvm-toolchain/clang-git$ LC_ALL=C git log -1
commit b98cd9d6a300bcd4863a26786bb1b5d782dcecc0
Author: Hans Wennborg <hans@hanshq.net>
Date: Tue Feb 23 21:20:39 2016 +0000

    Merging r261669:
    ------------------------------------------------------------------------
    r261669 | aaronballman | 2016-02-23 10:55:15 -0800 (Tue, 23 Feb
2016) | 1 line

    Amends r252104 to evaluate the controlling expression in an
unevaluated context. This eliminates false-positive diagnostics about
null pointer dereferences (etc) in the controlling expression.
    ------------------------------------------------------------------------

    git-svn-id:
https://llvm.org/svn/llvm-project/cfe/branches/release_38@261684
91177308-0d34-0410-b5e6-96231b3b80d8

[ COMPILER-RT.git#release_38 ]

wearefam@fambox:~/src/llvm-toolchain/compiler-rt-git$ LC_ALL=C git log -1
commit 31769223eb782e7b03655810d00dfdec66467d51
Author: Hans Wennborg <hans@hanshq.net>
Date: Fri Feb 19 19:43:25 2016 +0000

    Merging r261148:
    ------------------------------------------------------------------------
    r261148 | samsonov | 2016-02-17 12:40:10 -0800 (Wed, 17 Feb 2016) | 1 line

    [TSan] PR26609: Fix two test cases.
    ------------------------------------------------------------------------

    git-svn-id:
https://llvm.org/svn/llvm-project/compiler-rt/branches/release_38@261359
91177308-0d34-0410-b5e6-96231b3b80d8

I have tagged them as "rc3" in my local Git repositories.

[ EXAMPLE ]

$ cd llvm-git

$ git tag 3.8.0rc3 bb6f14e3581c

$ PKGNAME="llvm" ; VER="3.8.0rc3" ; PREFIX="$PKGNAME-$VER" ;
TARBALL="$PREFIX.src.tar.xz"

This is the correct $PREFIX (missing dot-src):

$ PKGNAME="llvm" ; VER="3.8.0rc3" ; PREFIX="$PKGNAME-$VER.src" ;
TARBALL="$PREFIX.tar.xz"

- Sedat -

Git tags and SVN tags are completely different beasts (git tag is
simply a "second name" attached to revision, while on svn the tag
could be arbitrary different). There is no way to automate the process
- in general svn tag might not correspond (by contents) to any other
revision in the repository.

The only way to somehow emulate svn tags on git is to create a
separate branch on each tag, however, this is very redundant provided
that we're already having a release branch.

Git tags and SVN tags are completely different beasts (git tag is
simply a "second name" attached to revision, while on svn the tag
could be arbitrary different). There is no way to automate the process
- in general svn tag might not correspond (by contents) to any other
revision in the repository.

The only way to somehow emulate svn tags on git is to create a
separate branch on each tag, however, this is very redundant provided
that we're already having a release branch.

The release-announce to v3.8.0rc3 listed only one single SVN revision
- not sure this was for LLVM SVN.
The SVN revisions for clang (cfe) and compiler-rt were not announced.
For me this means to look at the SVN online repositories and check -
which is not very (Git-)user-friendly.

- Sedat -

SVN revisions are global to the repository (in SVN terms, llvm, cfe,
etc. are modules within the repository). To get the latest change in
the cfe and compiler-rt modules on the 3.8 branch, you'd need to look
for the last commit on the branch with revision <= the revision I
tagged at. It looks like you've found the right ones.

I agree this isn't very git user friendly, but as Anton pointed out it
seems tricky to get tags into the git mirror.

If you just want to build source tarballs at the tag, I'd recommend
using "svn export", as done in utils/release/export.sh.

Cheers,
Hans

Thanks for the detailed explanations.

BTW, I switched over from configure-and-make to cmake build-system.
( NOTE: With LLVM v3.9 configure-and-make will be removed (DEPRECATED). )

With parallel-compile-jobs = 1 this takes approx one hour longer.
Any idea?

Shall I open a new thread on this?

- Sedat -

build_llvm-toolchain.sh (3.47 KB)

I wasn't aware that such a thing is even possible - isn't an SVN tag associated with a set of file at specific revisions that you can check out?
If yes, would it be possible to organize the LLVM workflow so that whenever a tag is placed, everything is checked out from SVN, checked into git, and tagged in git?

Regards,
Jo

In practice, the svn tags we make don't contain arbitrary content
though, they are a copy of the contents on the branch at a specific
revision, and there is a git hash corresponding to it - it would just
be pretty fiddly to hook this up, I expect.

Thanks,
Hans