Skip to content

Commit 4761b34

Browse files
authored
Update tracking branch when refreshing status view (#1020)
Fixes #1015
1 parent 9463b43 commit 4761b34

File tree

5 files changed

+16
-5
lines changed

5 files changed

+16
-5
lines changed

NEWS.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Bug fixes:
1515

1616
- Fix wrapping of lines with multibyte characters. (#988)
1717
- Improve highlighting of search with $ regex. (#1000)
18+
- Update tracking branch when refreshing status view. (#1015)
1819

1920
tig-2.5.1
2021
---------

src/repo.c

+10
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#define REPO_INFO_SHOW_PREFIX "--show-prefix"
2424
#define REPO_INFO_SYMBOLIC_HEAD "--symbolic-full-name"
2525
#define REPO_INFO_RESOLVED_HEAD "HEAD"
26+
#define REPO_INFO_REMOTE "--abbrev-ref"
2627

2728
struct repo_info_state {
2829
const char **argv;
@@ -72,6 +73,10 @@ read_repo_info(char *name, size_t namelen, char *value, size_t valuelen, void *d
7273
add_ref(repo.head_id, name, repo.remote, repo.head);
7374
}
7475
state->argv++;
76+
77+
} else if (!strcmp(arg, REPO_INFO_REMOTE)) {
78+
string_ncopy(repo.remote, name, namelen);
79+
state->argv++;
7580
}
7681

7782
return SUCCESS;
@@ -103,11 +108,16 @@ load_repo_info(void)
103108
enum status_code
104109
load_repo_head(void)
105110
{
111+
const char *rev_parse_remote_argv[] = {
112+
"git", "rev-parse", REPO_INFO_REMOTE, "@{upstream}", NULL
113+
};
106114
const char *rev_parse_argv[] = {
107115
"git", "rev-parse", REPO_INFO_RESOLVED_HEAD,
108116
REPO_INFO_SYMBOLIC_HEAD, "HEAD", NULL
109117
};
110118

119+
memset(repo.remote, 0, sizeof(repo.remote));
120+
reload_repo_info(rev_parse_remote_argv);
111121
memset(repo.head, 0, sizeof(repo.head));
112122
memset(repo.head_id, 0, sizeof(repo.head_id));
113123
return reload_repo_info(rev_parse_argv);

test/main/all-arg-test

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ EOF
4646

4747
assert_equals 'detached.screen' <<EOF
4848
2009-02-13 23:31 +0000 Max Power * {max-power/mp/feature} WIP: featu
49-
2010-04-07 05:37 +0000 Max Power * [master] {origin/master} {max-pow
49+
2010-04-07 05:37 +0000 Max Power * [master] {max-power/master} {orig
5050
2010-03-29 17:15 +0000 Jørgen Thygesen Brahe * Commit 10 D
5151
2010-03-21 04:53 +0000 作者 * [HEAD] Commit 10 C
5252
2010-03-12 16:31 +0000 René Lévesque * <v2.0.1> Commit 10 B

test/reflog/default-test

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ test_tig reflog
2323
assert_equals 'reflog-default.screen' <<EOF
2424
HEAD@{0} [r1.1.2] [r1.1.x] <v1.1> checkout: moving from r1.0 to r1.1.2
2525
HEAD@{1} [r1.0] <v1.0> checkout: moving from master to r1.0
26-
HEAD@{2} [master] {origin/master} {max-power/master} {origin/HEAD} reset: moving
27-
HEAD@{3} [master] {origin/master} {max-power/master} {origin/HEAD} clone: from /
26+
HEAD@{2} [master] {max-power/master} {origin/HEAD} {origin/master} reset: moving
27+
HEAD@{3} [master] {max-power/master} {origin/HEAD} {origin/master} clone: from /
2828
2929
3030

test/refs/branch-checkout-test

+2-2
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ assert_equals 'refs-checked-out-branch.screen' <<EOF
7676
All references
7777
2010-03-04 04:09 +0000 A. U. Thor this_is_really_a_long_long_long_long_long_long_long_branch Comm
7878
2010-04-07 05:37 +0000 Max Power master Comm
79-
2010-04-07 05:37 +0000 Max Power origin/master Comm
8079
2010-04-07 05:37 +0000 Max Power origin/HEAD Comm
80+
2010-04-07 05:37 +0000 Max Power origin/master Comm
8181
2010-01-20 14:18 +0000 A. U. Thor this_is_really_a_long_long_long_long_long_long_long_tag Comm
8282
2009-12-17 12:49 +0000 René Lévesque v1.0 Comm
8383
[refs] 19455fa3642af6a6a7d527dd043caf5a70eaad2d - reference 1 of 6 100%
@@ -88,8 +88,8 @@ assert_equals 'refs-checked-out-tag.screen' <<EOF
8888
2010-01-20 14:18 +0000 A. U. Thor HEAD Comm
8989
2010-04-07 05:37 +0000 Max Power master Comm
9090
2010-03-04 04:09 +0000 A. U. Thor this_is_really_a_long_long_long_long_long_long_long_branch Comm
91-
2010-04-07 05:37 +0000 Max Power origin/master Comm
9291
2010-04-07 05:37 +0000 Max Power origin/HEAD Comm
92+
2010-04-07 05:37 +0000 Max Power origin/master Comm
9393
2010-01-20 14:18 +0000 A. U. Thor this_is_really_a_long_long_long_long_long_long_long_tag Comm
9494
[refs] 5cb3412a5e06e506840495b91acc885037a48b72 - reference 5 of 7 87%
9595
EOF

0 commit comments

Comments
 (0)