Skip to content

Commit 0a1e881

Browse files
authored
Merge pull request #367 from JohnstonCode/refresh-remote-changes
feat: Added config option to refresh remote change on refresh command
2 parents d075b51 + 9315033 commit 0a1e881

File tree

3 files changed

+22
-8
lines changed

3 files changed

+22
-8
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,4 @@ Example:
120120
|`svn.showUpdateMessage`|Show the update message when update is run|`true`|
121121
|`svn.remoteChanges.checkFrequency`|Set the interval in seconds to check changed files on remote repository and show in statusbar. 0 to disable|`300`|
122122
|`svn.sourceControl.hideUnversioned`|Hide unversioned files in Source Control UI|`false`|
123+
|`svn.refresh.remoteChanges`|Refresh remote changes on refresh command|`false`|

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,6 +789,11 @@
789789
"type": "boolean",
790790
"description": "Hide unversioned files in Source Control UI",
791791
"default": false
792+
},
793+
"svn.refresh.remoteChanges": {
794+
"type": "boolean",
795+
"description": "Refresh remote changes on refresh command",
796+
"default": false
792797
}
793798
}
794799
}

src/commands.ts

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import { Model } from "./model";
4040
import { Repository } from "./repository";
4141
import { Resource } from "./resource";
4242
import { Svn, svnErrorCodes } from "./svn";
43-
import IncommingChangeNode from "./treeView/nodes/incomingChangeNode";
4443
import IncomingChangeNode from "./treeView/nodes/incomingChangeNode";
4544
import { fromSvnUri, toSvnUri } from "./uri";
4645
import {
@@ -497,7 +496,16 @@ export class SvnCommands implements IDisposable {
497496

498497
@command("svn.refresh", { repository: true })
499498
public async refresh(repository: Repository) {
499+
const refreshRemoteChanges = configuration.get<boolean>(
500+
"refresh.remoteChanges",
501+
false
502+
);
503+
500504
await repository.status();
505+
506+
if (refreshRemoteChanges) {
507+
await repository.updateRemoteChangedFiles();
508+
}
501509
}
502510

503511
@command("svn.openResourceBase")
@@ -512,7 +520,7 @@ export class SvnCommands implements IDisposable {
512520

513521
@command("svn.openFile")
514522
public async openFile(
515-
arg?: Resource | Uri | IncommingChangeNode,
523+
arg?: Resource | Uri | IncomingChangeNode,
516524
...resourceStates: SourceControlResourceState[]
517525
): Promise<void> {
518526
const preserveFocus = arg instanceof Resource;
@@ -525,7 +533,7 @@ export class SvnCommands implements IDisposable {
525533
} else if (arg.scheme === "file") {
526534
uris = [arg];
527535
}
528-
} else if (arg instanceof IncommingChangeNode) {
536+
} else if (arg instanceof IncomingChangeNode) {
529537
const resource = new Resource(
530538
arg.uri,
531539
arg.type,
@@ -582,15 +590,15 @@ export class SvnCommands implements IDisposable {
582590

583591
@command("svn.openHEADFile")
584592
public async openHEADFile(
585-
arg?: Resource | Uri | IncommingChangeNode
593+
arg?: Resource | Uri | IncomingChangeNode
586594
): Promise<void> {
587595
let resource: Resource | undefined;
588596

589597
if (arg instanceof Resource) {
590598
resource = arg;
591599
} else if (arg instanceof Uri) {
592600
resource = this.getSCMResource(arg);
593-
} else if (arg instanceof IncommingChangeNode) {
601+
} else if (arg instanceof IncomingChangeNode) {
594602
resource = new Resource(arg.uri, arg.type, undefined, arg.props, true);
595603
} else {
596604
resource = this.getSCMResource();
@@ -631,14 +639,14 @@ export class SvnCommands implements IDisposable {
631639

632640
@command("svn.openChangeHead")
633641
public async openChangeHead(
634-
arg?: Resource | Uri | IncommingChangeNode,
642+
arg?: Resource | Uri | IncomingChangeNode,
635643
...resourceStates: SourceControlResourceState[]
636644
): Promise<void> {
637645
return this.openChange(arg, "HEAD", resourceStates);
638646
}
639647

640648
public async openChange(
641-
arg?: Resource | Uri | IncommingChangeNode,
649+
arg?: Resource | Uri | IncomingChangeNode,
642650
against?: string,
643651
resourceStates?: SourceControlResourceState[]
644652
): Promise<void> {
@@ -651,7 +659,7 @@ export class SvnCommands implements IDisposable {
651659
if (resource !== undefined) {
652660
resources = [resource];
653661
}
654-
} else if (arg instanceof IncommingChangeNode) {
662+
} else if (arg instanceof IncomingChangeNode) {
655663
const resource = new Resource(
656664
arg.uri,
657665
arg.type,

0 commit comments

Comments
 (0)