Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e09e1bd

Browse files
enhance: re-calculate local changes after branch changed
Signed-off-by: leo <longshuang@msn.cn>
1 parent e076cbf commit e09e1bd

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

‎src/Models/Watcher.cs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ private void Tick(object sender)
122122
var now = DateTime.Now.ToFileTime();
123123
var refreshCommits = false;
124124
var refreshSubmodules = false;
125+
var refreshWC = false;
125126

126127
var oldUpdateBranch = Interlocked.Exchange(ref _updateBranch, -1);
127128
if (oldUpdateBranch > 0)
@@ -130,6 +131,7 @@ private void Tick(object sender)
130131
{
131132
refreshCommits = true;
132133
refreshSubmodules = _repo.MayHaveSubmodules();
134+
refreshWC = true;
133135

134136
_repo.RefreshBranches();
135137
_repo.RefreshWorktrees();
@@ -140,13 +142,21 @@ private void Tick(object sender)
140142
}
141143
}
142144

143-
var oldUpdateWC = Interlocked.Exchange(ref _updateWC, -1);
144-
if (oldUpdateWC > 0)
145+
if (refreshWC)
145146
{
146-
if (now > oldUpdateWC)
147-
_repo.RefreshWorkingCopyChanges();
148-
else
149-
Interlocked.CompareExchange(ref _updateWC, oldUpdateWC, -1);
147+
Interlocked.Exchange(ref _updateWC, -1);
148+
_repo.RefreshWorkingCopyChanges();
149+
}
150+
else
151+
{
152+
var oldUpdateWC = Interlocked.Exchange(ref _updateWC, -1);
153+
if (oldUpdateWC > 0)
154+
{
155+
if (now > oldUpdateWC)
156+
_repo.RefreshWorkingCopyChanges();
157+
else
158+
Interlocked.CompareExchange(ref _updateWC, oldUpdateWC, -1);
159+
}
150160
}
151161

152162
if (refreshSubmodules)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /