Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(724)

Issue 1634923002: Add the possibility to keep several version of the VS toolchain. (Closed)

Created:
4 years, 11 months ago by Sébastien Marchand
Modified:
3 years, 8 months ago
Reviewers:
scottmg, brucedawson
CC:
chromium-reviews, dpranke+depot_tools_chromium.org, iannucci+depot_tools_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Add the possibility to keep several version of the VS toolchain. BUG= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=298557

Patch Set 1 #

Total comments: 2

Patch Set 2 : Update the timestamp logic. #

Total comments: 6

Patch Set 3 : Add some logic to remove the old toolchains. #

Total comments: 10

Patch Set 4 : Use the VS_VERSION file instead of the .timestamp one. #

Total comments: 4

Patch Set 5 : Address Scott's comments. #

Patch Set 6 : rebase #

Patch Set 7 : Fix nit #

Patch Set 8 : Use the VC dir to calculate the toolchain age #

Unified diffs Side-by-side diffs Delta from patch set Stats (+132 lines, -51 lines) Patch
M win_toolchain/get_toolchain_if_necessary.py View 1 2 3 4 5 6 7 8 chunks +131 lines, -50 lines 0 comments Download
M win_toolchain/package_from_installed.py View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 34 (5 generated)
Sébastien Marchand
What do you think of this approach ? This CL is really not finished (I ...
4 years, 11 months ago (2016-01-25 22:48:39 UTC) #2
scottmg
Yeah, that seems reasonable with a cap on how many get kept around. Does the ...
4 years, 11 months ago (2016-01-25 22:56:54 UTC) #4
brucedawson
On 2016/01/25 22:56:54, scottmg wrote: > Yeah, that seems reasonable with a cap on how ...
4 years, 11 months ago (2016-01-25 23:04:27 UTC) #5
scottmg
On 2016/01/25 23:04:27, brucedawson wrote: > On 2016/01/25 22:56:54, scottmg wrote: > > Yeah, that ...
4 years, 11 months ago (2016-01-25 23:07:31 UTC) #6
Sébastien Marchand
Thanks, I haven't looked at the .timestamp file yet so it probably end up at ...
4 years, 11 months ago (2016-01-25 23:09:42 UTC) #7
scottmg
This looks fine to me from what I can tell, but honestly it's very fiddly ...
4 years, 11 months ago (2016-01-25 23:12:53 UTC) #8
Sébastien Marchand
I've moved the timestamp to win_toolchain/{sha1}.timestamps (instead of just win_toolchain/.timestamps), another option would be to ...
4 years, 11 months ago (2016-01-27 21:35:20 UTC) #9
scottmg
https://codereview.chromium.org/1634923002/diff/20001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1634923002/diff/20001/win_toolchain/get_toolchain_if_necessary.py#newcode85 win_toolchain/get_toolchain_if_necessary.py:85: def CalculateHash(root, expected_hash=''): Can we get rid of the ...
4 years, 11 months ago (2016-01-27 21:46:12 UTC) #10
Sébastien Marchand
I've added some logic to remove the versions of the toolchain that haven't been used ...
4 years, 10 months ago (2016-01-28 22:01:15 UTC) #12
scottmg
https://codereview.chromium.org/1634923002/diff/60001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1634923002/diff/60001/win_toolchain/get_toolchain_if_necessary.py#newcode82 win_toolchain/get_toolchain_if_necessary.py:82: return os.path.join(root, os.pardir, '%s.timestamps' % sha1 if sha1 else ...
4 years, 10 months ago (2016-01-28 23:04:12 UTC) #13
Sébastien Marchand
I've switched to using the VS_VERSION file instead of the timestamp one (see my comment ...
4 years, 10 months ago (2016-02-01 19:29:29 UTC) #14
brucedawson
> It looks like the NtfsDisableLastAccessUpdate is set on my machine > (https://msdn.microsoft.com/en-us/library/ff794679(v=winembedded.60).aspx), I'm > ...
4 years, 10 months ago (2016-02-01 22:50:53 UTC) #15
scottmg
lgtm https://codereview.chromium.org/1634923002/diff/80001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1634923002/diff/80001/win_toolchain/get_toolchain_if_necessary.py#newcode299 win_toolchain/get_toolchain_if_necessary.py:299: valid_toolchains.append((os.path.getatime(version_file), d)) Let's use mtime here because it's ...
4 years, 10 months ago (2016-02-02 17:34:07 UTC) #16
Sébastien Marchand
Thanks, should I take any particular precaution before committing this ? (I've done a bunch ...
4 years, 10 months ago (2016-02-02 18:37:26 UTC) #17
scottmg
On 2016/02/02 18:37:26, Sébastien Marchand wrote: > Thanks, should I take any particular precaution before ...
4 years, 10 months ago (2016-02-02 19:14:42 UTC) #18
Sébastien Marchand
K, I'll do it tomorrow morning then (around 10AM EST, so 7AM PST), it'll re-download ...
4 years, 10 months ago (2016-02-02 19:18:28 UTC) #19
Sébastien Marchand
Dang ! I just realized that VS_VERSION isn't present in ee7d718ec60c2dc5d255bbe325909c2021a7efef and it's the version ...
4 years, 10 months ago (2016-02-02 19:38:25 UTC) #20
scottmg
On 2016/02/02 19:38:25, Sébastien Marchand wrote: > Dang ! I just realized that VS_VERSION isn't ...
4 years, 10 months ago (2016-02-02 19:44:37 UTC) #21
Sébastien Marchand
It works on my machine at least: >>> import os >>> os.path.getmtime('VC') 1454442210.566179 >>> os.path.getmtime('VC\\bin') ...
4 years, 10 months ago (2016-02-02 19:46:54 UTC) #22
scottmg
On 2016/02/02 19:46:54, Sébastien Marchand wrote: > It works on my machine at least: > ...
4 years, 10 months ago (2016-02-02 19:52:22 UTC) #23
Sébastien Marchand
Well, Syzygy hasn't been switched to the Win10 SDK, and I think that it's better ...
4 years, 10 months ago (2016-02-02 19:53:45 UTC) #24
scottmg
On 2016/02/02 19:53:45, Sébastien Marchand wrote: > Well, Syzygy hasn't been switched to the Win10 ...
4 years, 10 months ago (2016-02-02 20:01:02 UTC) #25
Sébastien Marchand
Done.
4 years, 10 months ago (2016-02-02 20:52:43 UTC) #26
scottmg
ps8 lgtm
4 years, 10 months ago (2016-02-02 21:09:38 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1634923002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1634923002/160001
4 years, 10 months ago (2016-02-03 14:57:14 UTC) #29
commit-bot: I haz the power
Committed patchset #8 (id:160001) as http://src.chromium.org/viewvc/chrome?view=rev&revision=298557
4 years, 10 months ago (2016-02-03 14:59:21 UTC) #31
brucedawson
A revert of this CL (patchset #8 id:160001) has been created in https://codereview.chromium.org/1669993002/ by brucedawson@chromium.org. ...
4 years, 10 months ago (2016-02-04 23:47:58 UTC) #32
scottmg
Darn, and I just redownloaded twice. That sucks. We can't fix it on the goma ...
4 years, 10 months ago (2016-02-04 23:50:19 UTC) #33
brucedawson
3 years, 8 months ago (2017-04-04 21:03:32 UTC) #34
Message was sent while issue was closed.
On 2016/02/04 23:50:19, scottmg wrote:
> Darn, and I just redownloaded twice. That sucks. We can't fix it on the goma
> side?

Note that this CL was *not* reverted. The revert was created but not landed.

Also note that this CL turns out to be very handy. It means then when we roll
the toolchain the compile and link command lines change, which makes ninja
automatically think those steps are dirty. In conjunction with
crrev.com/2780023002 (which gets gn analyze to build all targets when
vs_toolchain.py changes) this should make toolchain rolls clean and automatic.

Powered by Google App Engine
This is Rietveld 408576698