@@ -1002,6 +1002,51 @@ gets squashed into.
10021002
10031003Run affected tests before finalizing.
10041004
1005+ ### GitHub Actions Version Bumps (Dependabot)
1006+
1007+ The repository uses Dependabot to monitor GitHub Actions versions
1008+ (configured in ` .github/dependabot.yml ` ). When Dependabot proposes
1009+ version bumps, the resulting changes must be split by ownership layer,
1010+ because each layer is handled differently during rebases.
1011+
1012+ There are three ownership layers for workflows in this repository:
1013+
1014+ 1 . ** Upstream Git** : Core CI workflows and jobs that exist in the upstream
1015+ Git project (e.g., the core jobs in ` .github/workflows/main.yml ` ,
1016+ ` .github/workflows/check-whitespace.yml ` ).
1017+ 2 . ** Git for Windows** : Additional workflows and workflow sections added
1018+ by Git for Windows on top of upstream (e.g., GfW-specific jobs in
1019+ ` main.yml ` , ` .github/workflows/check-style.yml ` ,
1020+ ` .github/workflows/l10n.yml ` ).
1021+ 3 . ** Microsoft Git** : Fork-specific workflows added by the Microsoft Git
1022+ fork (e.g., ` .github/workflows/build-git-installers.yml ` ,
1023+ ` .github/workflows/release-*.yml ` ,
1024+ ` .github/workflows/scalar-functional-tests.yml ` ,
1025+ ` .github/workflows/vfs-functional-tests.yml ` ).
1026+
1027+ Ownership is determined ** per changed line/section** , not per file.
1028+ A single workflow file like ` main.yml ` contains sections owned by all
1029+ three layers. Use ` git blame ` or ` git log -L ` on the changed lines to
1030+ determine which downstream commit introduced them.
1031+
1032+ ** How to handle each layer:**
1033+
1034+ - ** Upstream Git** : Create standalone commits with rewritten commit
1035+ messages (not the auto-generated Dependabot text). The message must
1036+ include a risk analysis: what the new version changes, whether it
1037+ affects our usage, and any preconditions (e.g., minimum runner
1038+ version). These commits are intended to be submitted upstream via
1039+ GitGitGadget.
1040+ - ** Git for Windows** : Create ` fixup! ` commits targeting the Git for
1041+ Windows commit that introduced the affected workflow or section. Use
1042+ ` git log -L ` or ` git blame ` to find the right target.
1043+ - ** Microsoft Git** : Create ` fixup! ` commits targeting the Microsoft
1044+ Git commit that introduced the affected workflow or section.
1045+
1046+ When a single Dependabot update touches lines from multiple layers,
1047+ ** split the changes into separate commits** , one per layer. Each commit
1048+ follows the rules for its respective layer.
1049+
10051050### Common Adaptation Patterns
10061051
10071052** Struct field moves** : When upstream moves fields between structs, update
@@ -1094,12 +1139,30 @@ with a cast for `size_t` values.
10941139
10951140## Configuration Options
10961141
1097- | Config | Purpose |
1098- |----------------------|--------------------------------------------|
1099- | `core.useGVFSHelper` | Enable GVFS helper for object fetching |
1100- | `gvfs.sharedCache` | Path to shared object cache directory |
1101- | `gvfs.cache-server` | URL of GVFS cache server |
1102- | `gvfs.fallback` | Whether to fall back to origin if CS fails |
1142+ ### GVFS-specific
1143+
1144+ | Config | Purpose |
1145+ |------------------------|--------------------------------------------|
1146+ | `core.useGVFSHelper` | Enable GVFS helper for object fetching |
1147+ | `gvfs.sharedCache` | Path to shared object cache directory |
1148+ | `gvfs.cache-server` | URL of GVFS cache server |
1149+ | `gvfs.fallback` | Whether to fall back to origin if CS fails |
1150+ | `gvfs.sessionKey` | Custom session key for GVFS HTTP headers |
1151+ | `gvfs.prefetchThreads` | Parallel index-pack processes for prefetch |
1152+
1153+ ### Rename detection and blame
1154+
1155+ These configuration options are downstream enhancements that do not
1156+ exist in upstream Git (yet).
1157+
1158+ | Config | Purpose |
1159+ |--------------------------|------------------------------------------|
1160+ | `diff.renameThreshold` | Min similarity for rename detection |
1161+ | `merge.renameThreshold` | Override for merges |
1162+ | `status.renameThreshold` | Override for status |
1163+ | `blame.renames` | Enable/disable rename following in blame |
1164+ | `blame.renameThreshold` | Min similarity for blame renames |
1165+ | `blame.renameLimit` | Limit on blame rename detection candidates |
11031166
11041167## Contributing to Upstream Git via GitGitGadget
11051168
0 commit comments