View Issue Details

IDProjectCategoryView StatusLast Update
0006049Spring engineLinuxpublic2018-10-05 22:54
ReporterThinkSome Assigned To 
PrioritylowSeverityfeatureReproducibilityalways
Status closedResolutionwon't fix 
Product Version104.0 +git 
Summary0006049: Building past engine versions and lobby compatibility & git_util_branch()
DescriptionWhen building maintenance engines, the git_util_branch functions sets branch name to HEAD instead of to maintenance, making engine incompatible for online play. At least as far as the version string is concerned.

Example of correct version: 104.0.1-730-g9af20e498 maintenance
Example of as-built version: 104.0.1-730-g9af20e498 HEAD

This happens because after checking out that commit from maintenance, we are in a detached HEAD state, i.e. on no branch. While it is possible to find maintenance as a branch that contains that commit, doing so is not reliable (I think fast-forwards break it):

$ git branch --contains HEAD
* (HEAD detached at 01ad9f9c6)
  maintenance

In this case it is easy, there is only HEAD and maintenance and the branch could be parsed out. However, since this is not reliable, branch name is already set in ebuild (will error out otherwise) and I had not found any better means of achieving it, I have temporarily decided to just replace the git rev-parse call with Set(${var} maintenance).

Does anyone have an idea of something that would work reliably? If not, you can just close this.
TagsNo tags attached.
Checked infolog.txt for Errors

Activities

abma

2018-10-05 12:17

administrator   ~0019381

not sure if correct, but sth. like this should work:

git checkout origin/maintenance -b maintenance

git reset --hard 9af20e498

Kloot

2018-10-05 15:59

developer   ~0019382

tell autohost admins to update more often or use buildbot binaries.

ThinkSome

2018-10-05 22:49

reporter   ~0019383

$ git checkout origin/maintenance -b maintenance
$ git reset --hard 9af20e498
does not, but
$ git checkout maintenance
$ git reset --hard 9af20e498
does (there are no remotes at all in the portage checkout), and
$ git rev-parse --abbrev-ref HEAD
maintenance

I will make the ebuild do it.

Issue History

Date Modified Username Field Change
2018-10-05 00:53 ThinkSome New Issue
2018-10-05 12:17 abma Note Added: 0019381
2018-10-05 15:59 Kloot Note Added: 0019382
2018-10-05 22:49 ThinkSome Note Added: 0019383
2018-10-05 22:54 Kloot Status new => closed
2018-10-05 22:54 Kloot Resolution open => won't fix