From a9e583593cf3d7badcc150ac149fd247691774f9 Mon Sep 17 00:00:00 2001 From: Aramis Sennyey Date: Wed, 23 Jul 2025 08:58:27 -0400 Subject: [PATCH 1/3] fix(rush): don't follow-tags on publish Signed-off-by: Aramis Sennyey --- libraries/rush-lib/src/logic/PublishGit.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/rush-lib/src/logic/PublishGit.ts b/libraries/rush-lib/src/logic/PublishGit.ts index ba70185efa1..7b008d86553 100644 --- a/libraries/rush-lib/src/logic/PublishGit.ts +++ b/libraries/rush-lib/src/logic/PublishGit.ts @@ -153,7 +153,6 @@ export class PublishGit { 'push', 'origin', `HEAD:${branchName || DUMMY_BRANCH_NAME}`, - '--follow-tags', '--verbose', ...(verify ? [] : ['--no-verify']) ] From 2546e2bea71b3abc1865d247c9d81610fbda3056 Mon Sep 17 00:00:00 2001 From: Aramis Sennyey Date: Wed, 23 Jul 2025 08:59:04 -0400 Subject: [PATCH 2/3] add changeset Signed-off-by: Aramis Sennyey --- .../sennyeya-blobless-clone_2025-07-23-12-58.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/changes/@microsoft/rush/sennyeya-blobless-clone_2025-07-23-12-58.json diff --git a/common/changes/@microsoft/rush/sennyeya-blobless-clone_2025-07-23-12-58.json b/common/changes/@microsoft/rush/sennyeya-blobless-clone_2025-07-23-12-58.json new file mode 100644 index 00000000000..8dc2cc125b4 --- /dev/null +++ b/common/changes/@microsoft/rush/sennyeya-blobless-clone_2025-07-23-12-58.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Improve performance for publishing on filtered clones.", + "type": "none", + "packageName": "@microsoft/rush" + } + ], + "packageName": "@microsoft/rush", + "email": "aramissennyeydd@users.noreply.github.com" +} \ No newline at end of file From 0f2c639bf6c62a2e5e0b666474b7d9f303fb3c65 Mon Sep 17 00:00:00 2001 From: Aramis Sennyey Date: Wed, 23 Jul 2025 09:12:28 -0400 Subject: [PATCH 3/3] don't follow tags on rush version not rush publish Signed-off-by: Aramis Sennyey --- libraries/rush-lib/src/cli/actions/VersionAction.ts | 4 ++-- libraries/rush-lib/src/logic/PublishGit.ts | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libraries/rush-lib/src/cli/actions/VersionAction.ts b/libraries/rush-lib/src/cli/actions/VersionAction.ts index b9300c30871..128864955d7 100644 --- a/libraries/rush-lib/src/cli/actions/VersionAction.ts +++ b/libraries/rush-lib/src/cli/actions/VersionAction.ts @@ -280,14 +280,14 @@ export class VersionAction extends BaseRushAction { } if (changeLogUpdated || packageJsonUpdated) { - await publishGit.pushAsync(tempBranch, !this._ignoreGitHooksParameter.value); + await publishGit.pushAsync(tempBranch, !this._ignoreGitHooksParameter.value, false); // Now merge to target branch. await publishGit.fetchAsync(); await publishGit.checkoutAsync(targetBranch); await publishGit.pullAsync(!this._ignoreGitHooksParameter.value); await publishGit.mergeAsync(tempBranch, !this._ignoreGitHooksParameter.value); - await publishGit.pushAsync(targetBranch, !this._ignoreGitHooksParameter.value); + await publishGit.pushAsync(targetBranch, !this._ignoreGitHooksParameter.value, false); await publishGit.deleteBranchAsync(tempBranch, true, !this._ignoreGitHooksParameter.value); } else { // skip commits diff --git a/libraries/rush-lib/src/logic/PublishGit.ts b/libraries/rush-lib/src/logic/PublishGit.ts index 7b008d86553..df0e63d48a8 100644 --- a/libraries/rush-lib/src/logic/PublishGit.ts +++ b/libraries/rush-lib/src/logic/PublishGit.ts @@ -143,7 +143,11 @@ export class PublishGit { ]); } - public async pushAsync(branchName: string | undefined, verify: boolean = false): Promise { + public async pushAsync( + branchName: string | undefined, + verify: boolean = false, + followTags: boolean = true + ): Promise { await PublishUtilities.execCommandAsync( !!this._targetBranch, this._gitPath, @@ -153,6 +157,7 @@ export class PublishGit { 'push', 'origin', `HEAD:${branchName || DUMMY_BRANCH_NAME}`, + ...(followTags ? ['--follow-tags'] : []), '--verbose', ...(verify ? [] : ['--no-verify']) ]