版本分支(内部版本实验室)

来自BetaHeritage Wiki
跳到导航 跳到搜索

内部版本实验室,一般简单的称作 Lab 或 VBL(Virtual Build Lab,虚拟内部版本实验室)。其通常是指在 Windows 操作系统的一部分上工作的团队,或者是团队工作的源代码分支。在最开始的时候,内部版本实验室是一个专用房间,在此房间中安放了定期生产 Windows NT 官方内部版本的机器。在早期,整个项目仅有一个内部版本实验室,但是随着开发人员数量的不断增加,为操作系统不同部分工作的团队各自分配了自己的虚拟内部版本实验室,在其中还包括项目对应的分支作为构建代码的基础设施。这一直延续到源仓库(Source Depot)的分支名称,由于这一做法,使得此术语同时也用于团队本身和版本编译分支。分支名称构成内部版本标识的一部分,也是 Windows 内部版本编译的唯一标识。

尽管 Windows 始终都在编译内部版本,但是,内部版本号相同,修订版本号相同,版本之间却并不见得完全一样。此时区分这些版本的方法,就是这些内部版本编译分支。

一个完整 Windows 版本号的格式

现在的 Windows 版本标签格式通常是:

version.arch.lab.timestamp

这是 Windows 11 某个内部版本的版本号:Build 21380.1001,它的完整形式是:10.0.21380.1001.amd64fre.fs_dev6_flt.210511-1900

组成部分

通常,Windows 版本标签有如下几个组成部分:

  • 版本
格式为主版本号.次版本号.构建版本号.增量更新号(UBR),如10.0.21380.1001(主要和次要版本或增量更新号经常被省略)
  • 架构
即该版本针对的目标架构+构建类型(fre对于免费/零售构建,chk对于检查/调试构建,可省略)
    • 已知的目标平台标识符如下:
  1. x86 用于 32 位
  2. x64, amd64 用于 64 位
  3. ia64 用于安腾架构
  4. woa, arm 用于 ARM32
  5. arm64 用于 ARM64
  • 版本分支
  • 时间戳
即编译时间,格式为 YYMMDD-hhmm。版本标签后面可能跟有来自注册表的激活数据的散列,不过它不被认为是版本标签本身的一部分。

私有内部版本

与团队间编译的内部版本不一样,不是通过内部版本实验室机器构建的内部版本称作私有内部版本。这些版本通过在可执行文件的版本信息中设置 VS_FF_PRIVATEBUILD 文件标志,并通过在内部版本标识的编译分支部分中包含发起内部版本的人员或服务的帐户名进行标识。例如,Build 6.0.4067.private/lddm_dev_tech(davidmo).040212-1646 是由用户 davidmo 发起的私有内部版本。

实验室

自从 Windows XP 的开发启动以来至今,Microsoft 已经使用了多个分支系统,这些分支系统在实验室层次结构和命名方案方面均有所不同。但大多数方案都有一些共有的细节,例如均存在最顶级的主分支,或者使用特殊性质的分支表示重要的开发里程碑。

Whistler 和 Longhorn 重置前

最初,ntvbl 前缀用于实验室,尽管后来在 Windows XP 开发之初被更改为 Lab。最顶级的分支(有时称作“主干 trunk”)被称作 main,其集成了所有实验室的全部变化。在其之下,有数个被编号的实验室,每个实验室都在 Windows 操作系统中的一个单独部分工作,例如: Lab01:内核 Lab02:网络 Lab03:服务器 Lab04:终端服务 Lab06:用户界面设计 Lab07:Internet 信息服务/COM+ 这些实验室均拥有对应“_N”分支,作为处于主分支和实际分支之间的缓冲分支。例如,来自 main 的更改将会首先集成到缓冲分支 Lab06_N,之后再通过前向集成的过程将更改集成到 Lab06 中。这种缓冲分支是双向使用的,因此反过来同样适用,实验室首先将更改集成到“_N”分支中,之后再将这些更改集成到 main 中。 除了这些主要分支外,还有 idx(internal development workstation/server)分支,本分支的内部版本通常是针对 TAP 和 OEM 合作伙伴的再编译版本。但是也有例外,此分支的版本偶尔也会发布进行公共测试,例如 Windows XP Build 2257 或 Windows Longhorn Build 4074。 在 Windows XP 发布前,主干被分叉到 xpclient 分支,而原有的 main 分支则继续跟进 Windows Server 2003 的开发。在发布最终版本后,将会再创建新的分支进行更新、修补程序和 Service Pack 的开发。同样的,在 Windows Server 2003 发布前,主干同样分叉到 dnsrv

自 Longhorn 重置开始

在 Longhorn 的开发重置后,实验室层次结构迎来了全面改革,从而解决困扰在重置前大部分时间缺陷。与其让少量的常规虚拟内部版本实验室专注于 Windows 操作系统功能的一般范围,不如引入具有更多功能分支的新分层模型,这有助于减少分支间反向集成分支的代码量。Microsoft 还制定了更加严格的标准,将实验室的公共反向集成到主干中,此主干后来更名为 winmain,一直使用到 Windows 10 开发期间。 在 Windows 10 发布后的某个时候,主干分支被更名为 rsmain,之后在 Windows 源存储库转换为 Git 后又再度更名为 rsmaster,这可能符合Git将最顶级分支称为 master 分支的 Git 约定。在 2021 年 2 月后的某个时候,它又再次重命名回简单的 main。这是因为 master/slave 术语含有所谓的奴隶制内涵,为了声援“黑人的命也是命”运动,微软在版本分支中移除了这样的字段;这样做可能是为了效仿其他 Microsoft 项目。此实验室仍在编译客户端版本,即使它适用于服务器组件,因为在内部版本的构建过程中不区分客户端和服务器 SKU。

功能分支前缀

随着时间的推移,Microsoft 使用了多个前缀引用功能分支:

前缀 含义 对应版本
vbl 虚拟内部版本实验室 (Virtual Build Lab) Windows Vista
fbl 功能分支级别 (Feature Branch Level) Windows 7

Windows 8

Windows 8.1

Windows 10, version 1507

rs Redstone Windows 10 (version 1607 and later)
fs Fire Steel Windows 11, version 21H2


Windows 10 11 月更新(版本 1511)和Windows 10 周年更新(版本1607)使用各自发布分支前缀作为功能分支。此外,fs 分支与 rs 分支并行使用。

发布分支前缀

与之前的系统类似,主分支在发布之前被分叉,从而进行更新的开发。以下是已知前缀:

前缀 对应版本
vista

longhorn

lh

Windows Vista

Windows Server 2008

win7 Windows 7

Windows Server 2008 R2

win8 Windows 8

Windows Server 2012

winblue Windows 8.1

Windows Server 2012 R2

th1 Windows 10, version 1507
th2 Windows 10, version 1511
rs1 Windows 10, version 1607

Windows Server 2016

rs2 Windows 10, version 1703
rs3 Windows 10, version 1709
rs4 Windows 10, version 1803
rs5 Windows 10, version 1809

Windows Server 2019

19h1 Windows 10 (version 1903, 1909)
vb (Vibranium) Windows 10 (version 2004, 20H2, 21H2, 22H2)
mn (Manganese) Codename "Managanese"
fe (Iron) Codename "Iron"

Windows Server 2022

co (cobalt) Windows 11, version 21H2
ni (Nickel) Windows 11 (version 22H2 and later)
zn (Zinc) Codename "Zinc"

Windows Server, version 23H2

一般分支

以下列出的是 Windows 操作系统的主要分支

xpclient 分支

xpclient 分支见于 Windows XP Release Candidate 2~Release To Manufacturing 期间,这是 xp 的客户端版本。

Windows XP 的 Service Pack 分支

xpsp 分支出现在 Windows XP 的 Service Pack 1-3 包括 Beta 的版本号中。

Windows NT 6.0 重置后至 10.0(Windows Vista——Windows 11)分支列表

fbl_xx往往是各个实验室的推送版本,不同的fbl分支对应不同的实验室。以下分支带*的为猜测。

  • Windows NT 6.0
  • Windows NT 6.2
分支 分支的意义
fbl_core1_kernel_cptx Windows Core 1 - Kernel - Computex
fbl_core1_kernel_ee Windows Core 1 - Kernel - Ecosystem Engineering*
fbl_core1_kernel_npc
fbl_core1_kernel_npc_ext
fbl_core1_mobile_dev Windows Core 1 - Mobile Platform Development
fbl_core1_mobile_dev_wp Windows Core 1 - Mobile Platform Development - Windows Phone
fbl_core1_soc Windows Core 1 - SoC
fbl_core1_soc_partner Windows Core 1 - SoC for Partners
fbl_core2_sfs Windows Core 2 - Storage & File Systems
fbl_core2_sfs_dev2 Windows Core 2 - Storage & File Systems Development
fbl_core2_sid_data Windows Core 2 - Security & Identity Data
fbl_core2_sid_dev Windows Core 2 - Security & Identity Development
fbl_dev_dp4 Development - Developer Preview 4*
fbl_dnt2_bus
fbl_dnt3_wireless Device and Networking Team - Wireless
fbl_eeap Ecosystem Engineering Access Program
fbl_fun_resp Fundamentals - Reliability, Security, and Privacy
fbl_grfx Graphics Platform
fbl_grfx_dev1 Graphics Platform Development
fbl_kits Windows Kits
fbl_ie_longhorn
fbl_loc Localization
fbl_srv Server
fbl_srv_wdacxml
fbl_uex User Experience
fbl_uex_cxe_dev User Experience - Core Experience Evolved Development
FBL_UEX_ICP User Experience - In Control of your PC
win8_gdr Windows 8 General Distribution Release
win8_gdr_phone Windows 8 General Distribution Release - Windows Phone
win8_gdr_soc Windows 8 General Distribution Release - SoC
win8_gdr_soc_cbt
win8_gdr_soc_intel Windows 8 General Distribution Release - Intel SoC
win8_gdr_soc_nv Windows 8 General Distribution Release - Nvidia SoC
win8_gdr_soc_ti Windows 8 General Distribution Release - Texas Instruments SoC
win8_rtm Windows 8 Release to Manufacturing
winmain Windows Main Lab
winmain_win8beta Windows 8 Beta
winmain_win8m1 Windows 8 Milestone 1
winmain_win8m2 Windows 8 Milestone 2
winmain_win8m3 Windows 8 Milestone 3
winmain_win8m3_d Windows 8 Milestone 3 Debugging*
winmain_win8m3_eeap Windows 8 Milestone 3 for Ecosystem Engineering Access Program
winmain_win8rc Windows 8 Release Candidate
  • Windows 10 Threshold 1
分支 分支的意义
fbl_1pd 1st Party Drivers
fbl_1pd_dev01 1st Party Drivers Development
fbl_1pdxd 通用桌面环境体验*
fbl_analog Analog Platform (Hololens)
fbl_aow Android on Windows
fbl_appmodel_dev03 UWP Application Model Development
fbl_awesome1501 2015年1月Insider Preview分支
fbl_bldsvc Build Service
fbl_cde Connected Device Experience
fbl_coin 通用接口*
fbl_comp 应用与硬件兼容性
fbl_coreinput 核心输入组
fbl_cortana Cortana
fbl_cortana_dev01 Cortana
fbl_dart_ent Developer Tools and Runtimes for Enterprise
fbl_debuggers(dbg) Windows Debugger (非实际lab)
fbl_desk Desktop User Experience
fbl_desk_dev02 Desktop User Experience Development
fbl_dice Device Interaction and Connection Experience
fbl_dnet Devices and Networking Experience
fbl_enf Ecosystem and Frameworks
fbl_epix Engineering Partner Infrastructure and Experience
fbl_epix_dev01 Engineering Partner Infrastructure and Experience Development
fbl_epix_kits Engineering Partner Infrastructure and Experience Kits
fbl_fasttrack Fast Track
fbl_feedback Feedback Hub
fbl_gdx_dev_p DirectX Graphics Development
fbl_grfx 图形平台
fbl_grfx_dev 图形平台
fbl_grfx_dev1 图形平台
fbl_grfx_dev_p 图形平台
fbl_hyp Virtualization
fbl_ie IE浏览器
fbl_ie_app_eal
fbl_ie_app_eal_ing
fbl_ie_stage_dev03 Internet Explorer Platform Development - Microsoft JScript
fbl_impressive Insider Preview
fbl_impressive_cxe Insider Preview - Customer Experience Engineering
fbl_impressive_mob Mobile Insider Preview
fbl_impressive_p1 Insider Preview
fbl_impressive_p1_p2 Insider Preview
fbl_impressive_srvr Server Insider Preview
fbl_iot Internet of Things
fbl_iot_client Internet of Things Client Application
fbl_kpg 内核平台组
fbl_kpg_kernel_wow Kernel Platform Group Windows On Windows
fbl_kpg_platarch Kernel Platform Group Platform Architecture
fbl_lad 授权与部署
fbl_maps 地图应用
fbl_marketplace One Store
fbl_marketplace_dev01 One Store
fbl_mediaplat 媒体平台
fbl_mediaplat_dev02 Media Platform Development
fbl_mgmt Operating System Management
fbl_mgmt_dev02 Operating System Management Development
fbl_mobcon 移动连接性*
fbl_mobs 移动服务*
fbl_mobs_dev02 移动服务*
fbl_msa 微软账户
fbl_net10_direct
fbl_net10_locnfc
fbl_net10_security
fbl_net10_stack
fbl_outlook Outlook
fbl_partner Partner
fbl_partner_eeap 工程师访问计划
fbl_partner_intelsoc Intel SoC Partner
fbl_partner_qc Qualcomm SoC Partner
fbl_partner_outXX 合作伙伴版本第XX号
fbl_photos 照片应用
fbl_ppi 灵敏触控(Surface Hub)
fbl_refactor_coresys ASPvNext
fbl_release 技术预览
fbl_release_currentfr Technical Preview - Current Flighting Release
fbl_release_kitp1 Technical Preview Kits
fbl_release_kitp1_kitp2 Technical Preview Kits
fbl_release_september 2014年9月技术预览更新
fbl_release_tp Technical Preview
fbl_sec 安全
fbl_sec_oss1_dev Operating System Security Development
fbl_sec_oss3 Operating System Security
fbl_sfp 文件保护*
fbl_shell1_dev_cde1 Windows Shell Development - Connected Device Experience
fbl_shell1_dev_cortana1 Windows Shell Development - Cortana
fbl_shell1_dev_desk Windows Shell Development - Desktop User Experience
fbl_shell1_dev_desk_a Windows Shell Development - Desktop User Experience
fbl_shellinput 外壳与输入*
fbl_siplat Silicon Platform
fbl_speech 语音平台
fbl_speech_mpc
fbl_spmi 安全包装管理接口
fbl_srv2_ci_mgmt_rel Windows管理框架
fbl_srv3_rds_clouddv_stable RemoteApp
fbl_srv5
fbl_waas Windows as a Service
fbl_wicore Windows核心*
fbl_xaml_dev02 XAML Development
th1 Windows Threshold 1 Main Lab
th1_d_bugfix
th1_escrow Windows Threshold 1 Escrow
th1_ldr Windows Threshold 1 Limited Distribution Release
th1_st1 Windows Threshold 1 Stage 1
th1_st1_apps Windows Threshold 1 Stage 1 Apps
th1_st1_apps_dev01 Windows Threshold 1 Stage 1 Apps Development
th1_st1_eeap Windows Threshold 1 Stage 1 for Ecosystem Engineering Access Program
th1_st1_winset
winmain Windows Main Lab
winmain_prs Windows Main Lab for Partners
winmain_prs_p1 Windows Main Lab for Partners
winmain_prs_p1_p2_p3 Windows Main Lab for Partners
winmain_wtr
  • Windows 10 Threshold 2
  • Windows 10 Redstone 1
  • Windows 10 Post-Redstone 1 至 Windows 11
分支 分支的意义
19h1_release Windows 19H1 Release(Windows 10 和 Windows Server 版本 1903、Windows 10 和 Windows Server 版本 1909)
co_release Windows Cobalt Release(Windows 11)
fe_release Windows Iron Release(Windows Server 2022)
feature2 Windows 10 Mobile Feature 2 Release
feature2_prs Windows 10 Mobile Feature 2 Release for Partners
mn_release Windows Manganese Release
ni_release Windows Nickel Release(Windows 11 版本 22H2)
rs_analog
rs_analog_bev
rs_analog_devplat
rs_analog_domino
rs_analog_domino_dev1
rs_analog_domino_dev2
rs_analog_experiences
rs_analog_experiences_fod
rs_analog_experiences_pkg
rs_analog_runtime
rs_analog_shell
rs_analog_shell_cleanup
rs_analog2
rs_analog2_speech
rs_analog2_speech_audio
rs_analog2_speech_dev1
rs_analog2_speech_dev2
rs_analog2_speech_ox
rs_apps Apps
rs_apps_comms Apps - People, Phone & Messenger App
rs_apps_comms2 Apps - People, Phone & Messenger App
rs_apps_maps Apps - Maps App
rs_apps_maps_a Apps - Maps App
rs_apps_new
rs_apps_people Apps - People App
rs_apps_photos Apps - Photos App
rs_apps_tc
rs_apps_update Apps - Update
rs_apps_utils Apps - Utilities
rs_apps_validate Apps - Validate
rs_build Build
rs_build_dev100
rs_cpub Content Publishing
rs_cshell Composable Shell
rs_cshell_coreux Composable Shell - Core User Experience
rs_cshell_partner2
rs_cshell_partner2_dev
rs_cshell_partner3
rs_cshell_partner3_dev
rs_cshell_rs2 Composable Shell for Redstone 2
rs_cshell_rs2_mobile Composable Shell for Redstone 2 Mobile
rs_cshell_rs2_partner Composable Shell for Redstone 2 for Partners
rs_cshell_rs2_win32 Composable Shell for Redstone 2 Desktop
rs_devices
rs_edge Microsoft Edge
rs_edge_app Microsoft Edge App
rs_edge_app_arition Microsoft Edge Apparition*
rs_edge_app_eal Microsoft Edge Appeal*
rs_edge_app_lause Microsoft Edge Applause*
rs_edge_app_lique Microsoft Edge Applique*
rs_edge_app_lique_ice Microsoft Edge Applique Ice*
rs_edge_app_lique_refactor Microsoft Edge Applique Refactor*
rs_edge_app_ogee Microsoft Edge Appogee*
rs_edge_app_x
rs_edge_case
rs_es Engineering Systems
rs_es_analog
rs_es_buildexe
rs_es_cache
rs_es_cache_money
rs_es_debug
rs_es_debug_badev
rs_es_debug_dev
rs_es_debug_rel
rs_es_domino
rs_es_domino_auto
rs_es_domino_bat
rs_es_domino_hq
rs_es_git
rs_es_infra
rs_es_infra_red
rs_es_mbs
rs_es_mbs_dev9
rs_es_mbs_langonly
rs_es_mbs_tc
rs_es_media
rs_es_media_refresh
rs_es_mirror
rs_es_onecore
rs_es_onecore_dev
rs_es_ospilot
rs_es_ostools
rs_es_ostools_dev
rs_es_ostools_drop
rs_es_perf
rs_es_scm
rs_es_scm_dev1
rs_es_scm_dev2
rs_es_scm_ppe
rs_es_sign
rs_es_sign_dev
rs_es_sign_prs
rs_es_srcmgmt
rs_es_srcmgmt_dev1
rs_es_srcmgmt_dev2
rs_es_srcmgmt_git2
rs_es_srcmgmt_git2_bldsvc
rs_es_taef
rs_es_tdx
rs_es_ug
rs_es_xbox
rs_es2
rs_es2_dev100
rs_es2_tc
rs_fasttrack Fast Track
rs_fun Fundamentals
rs_fun_compat Fundamentals - Application Compatibility and Device Compatibility
rs_fun_compat_auto
rs_fun_compat_dev1 Fundamentals - Application Compatibility and Device Compatibility Development
rs_fun_compat_dev1_apr Fundamentals - Application Compatibility and Device Compatibility Development - Compatibility Appraiser
rs_fun_compat_dev1_apr1705 Fundamentals - Application Compatibility and Device Compatibility Development - Compatibility Appraiser - May 2017
rs_fun_compat_dev1_proto Fundamentals - Application Compatibility and Device Compatibility Development - Prototype
rs_fun_deploy Fundamentals - Deployment
rs_fun_deploy_dev1 Fundamentals - Deployment Development 1*
rs_fun_deploy_dev2 Fundamentals - Deployment Development 2*
rs_fun_deploy_dev3 Fundamentals - Deployment Development 2*
rs_fun_flight Fundamentals - Flighting
rs_fun_idt
rs_fun_idt
rs_fun_idt_dev1
rs_fun_isolate Fundamentals - Isolation*
rs_fun_phdi1
rs_fun_phdi1_dev01
rs_fun_phdi3
rs_fun_phdi4
rs_fun_phdi4_dev01
rs_fun_pkg
rs_fun_pkg_dev1
rs_fun_srvperf Fundamentals - Server Performance*
rs_fun_uup Fundamentals - Unified Update Platform*
rs_fun_uup_dev1 Fundamentals - Unified Update Platform Development*
rs_git
rs_git_analogrs3_perf Analog for Redstone 3*
rs_git_debug
rs_git_debug_badev
rs_git_debug_dev
rs_git_debug_dev_git
rs_git_sum
rs_git_sum_git
rs_git_sum_git_dev1
rs_git_sum_git_ppe
rs_git_sum_git_stable
rs_hololens HoloLens
rs_iot Internet of Things
rs_onecore_sigma Silicon, Graphics, Media and Audio
rs_shell_vcoreux Windows Shell - Core User Experience
rs_shell_vtextinput Windows Shell - Text Input Platform
rs_prerelease Insider Preview
rs_prerelease_flt Insider Preview Flighting
rs_prerelease_prs Insider Preview for Partners
rs_xbox Xbox
rs_xbox_nonxbox Xbox - Non-Xbox
rs2_release Windows Redstone 2 Release(Windows 10 版本 1703)
rs2_release_edu Windows Redstone 2 Release - Education*(Windows 10 版本 1703 教育分支)
rs3_release Windows Redstone 3 Release(Windows 10 和 Windows Server 版本 1709)
rs4_release Windows Redstone 4 Release(Windows 10 和 Windows Server 版本 1803)
rs5_release Windows Redstone 5 Release(Windows 10 和 Windows Server 版本 1809)
rsmaster
vb_release Windows Vibranium Release
WSDGauntlet