Skip to content

Commit 5c58b73

Browse files
committed
Ensures etag is updated on any changes
1 parent 9a2f123 commit 5c58b73

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/git/gitProviderService.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,6 @@ export class GitProviderService implements Disposable {
146146
});
147147
}
148148

149-
this._etag = Date.now();
150-
151149
this._onDidChangeProviders.fire({ added: added ?? [], removed: removed ?? [], etag: this._etag });
152150
}
153151

@@ -176,8 +174,6 @@ export class GitProviderService implements Disposable {
176174
});
177175
}
178176

179-
this._etag = Date.now();
180-
181177
this.clearAccessCache();
182178
this._reposVisibilityCache = undefined;
183179

@@ -346,10 +342,12 @@ export class GitProviderService implements Disposable {
346342
}
347343

348344
if (e.added.length) {
345+
this._etag = Date.now();
349346
void this.discoverRepositories(e.added);
350347
}
351348

352349
if (e.removed.length) {
350+
this._etag = Date.now();
353351
const removed: Repository[] = [];
354352

355353
for (const folder of e.removed) {
@@ -450,6 +448,7 @@ export class GitProviderService implements Disposable {
450448
provider,
451449
...disposables,
452450
provider.onDidChange(() => {
451+
this._etag = Date.now();
453452
Logger.debug(`GitProvider(${id}).onDidChange()`);
454453

455454
const { workspaceFolders } = workspace;
@@ -458,6 +457,7 @@ export class GitProviderService implements Disposable {
458457
}
459458
}),
460459
provider.onDidChangeRepository(async e => {
460+
this._etag = Date.now();
461461
Logger.debug(`GitProvider(${id}).onDidChangeRepository(e=${e.repository.toString()})`);
462462

463463
if (e.changed(RepositoryChange.Closed, RepositoryChangeComparisonMode.Any)) {
@@ -484,6 +484,7 @@ export class GitProviderService implements Disposable {
484484
this._onDidChangeRepository.fire(e);
485485
}),
486486
provider.onDidCloseRepository(e => {
487+
this._etag = Date.now();
487488
const repository = this._repositories.get(e.uri);
488489
Logger.debug(
489490
`GitProvider(${id}).onDidCloseRepository(e=${repository?.toString() ?? e.uri.toString()})`,
@@ -494,6 +495,7 @@ export class GitProviderService implements Disposable {
494495
}
495496
}),
496497
provider.onDidOpenRepository(e => {
498+
this._etag = Date.now();
497499
const repository = this._repositories.get(e.uri);
498500
Logger.debug(`GitProvider(${id}).onDidOpenRepository(e=${repository?.toString() ?? e.uri.toString()})`);
499501

@@ -505,6 +507,7 @@ export class GitProviderService implements Disposable {
505507
}),
506508
);
507509

510+
this._etag = Date.now();
508511
this.fireProvidersChanged([provider]);
509512

510513
// Don't kick off the discovery if we're still initializing (we'll do it at the end for all "known" providers)
@@ -514,6 +517,7 @@ export class GitProviderService implements Disposable {
514517

515518
return {
516519
dispose: () => {
520+
this._etag = Date.now();
517521
disposable.dispose();
518522
this._providers.delete(id);
519523

@@ -666,6 +670,7 @@ export class GitProviderService implements Disposable {
666670
this.updateContext();
667671

668672
if (added.length) {
673+
this._etag = Date.now();
669674
queueMicrotask(() => {
670675
void this.addRepositoriesToPathMap(added);
671676
// Defer the event trigger enough to let everything unwind
@@ -2154,6 +2159,7 @@ export class GitProviderService implements Disposable {
21542159
this.updateContext();
21552160

21562161
if (added.length) {
2162+
this._etag = Date.now();
21572163
queueMicrotask(() => {
21582164
void this.addRepositoriesToPathMap(added);
21592165
// Send a notification that the repositories changed

0 commit comments

Comments
 (0)