Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date

6 messages, 3 authors, 2016-06-15 · open the first message on its own page

Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:45:11

Daniel Barkalow [off-list ref] writes:
That is actually to say that fetch should do it (pull calls fetch for that 
part), and I agree with that, assuming you've actually got that fetch 
config, of course.
Hmm, traditionally, an explicit refspec on the command line that does not
store overrides the configured ones that do store, and I've been using it
as a feature when I run test fetches.  If I do not like fetched result, I
can tell the other guy to fix his history and I do not have to contaminate
the history my tracking ref points at.  IOW, I use my tracking refs not
just "this is where the guy is", but "this is the last good one I fetched
from that guy".

I could be persuaded to use reflog (e.g. "git diff his@{1}..his") and
manual tagging (i.e. "git tag -f last-good-his his") myself, but this is
"I'd _tolerate_ such a change myself", certainly not "I am happy with that
change and I'd help you guys advocate it and try convincing others who
shared my expectations to switch to reglog and manual tagging."

Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date

From: ir0s <hidden>
Date: 2016-06-15 22:45:12

Sorry if you get this twice, oddly my first attempt to send this bounced.
Thank you for all the good advice however, none of it seemed to resolve my
issue.

Attempting to call:
$git push origin mybranch

Results in the same message: Everything up to date =/
I also tried to call $git fetch origin just in case, and doing a pull
doesn't return anything (which makes sense, no one pushed anything to the
branch -- although I seem to be the only one with this issue.)

Could my branch have somehow diverged from the origin remotebranch?

-- Irene


Junio C Hamano wrote:
Daniel Barkalow [off-list ref] writes:
quoted
That is actually to say that fetch should do it (pull calls fetch for
that 
part), and I agree with that, assuming you've actually got that fetch 
config, of course.
Hmm, traditionally, an explicit refspec on the command line that does not
store overrides the configured ones that do store, and I've been using it
as a feature when I run test fetches.  If I do not like fetched result, I
can tell the other guy to fix his history and I do not have to contaminate
the history my tracking ref points at.  IOW, I use my tracking refs not
just "this is where the guy is", but "this is the last good one I fetched
from that guy".

I could be persuaded to use reflog (e.g. "git diff his@{1}..his") and
manual tagging (i.e. "git tag -f last-good-his his") myself, but this is
"I'd _tolerate_ such a change myself", certainly not "I am happy with that
change and I'd help you guys advocate it and try convincing others who
shared my expectations to switch to reglog and manual tagging."

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
View this message in context: http://n2.nabble.com/Local-branch-ahead-of-tracked-remote-branch-but-git-push-claims-everything-up-to-date-tp736663p740444.html
Sent from the git mailing list archive at Nabble.com.

Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:45:12

ir0s venit, vidit, dixit 21.08.2008 17:35:
Sorry if you get this twice, oddly my first attempt to send this bounced.
Thank you for all the good advice however, none of it seemed to resolve my
issue.

Attempting to call:
$git push origin mybranch

Results in the same message: Everything up to date =/
I also tried to call $git fetch origin just in case, and doing a pull
doesn't return anything (which makes sense, no one pushed anything to the
branch -- although I seem to be the only one with this issue.)

Could my branch have somehow diverged from the origin remotebranch?

-- Irene
What do the following report:

git ls-remote origin
git ls-remote .
git log --pretty=oneline mybranch...origin/remotebranch

Michael

Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date

From: ir0s <hidden>
Date: 2016-06-15 22:45:12

Hi Michael,

Here are my results:

$ git ls-remote origin 
138ea08f9680a8def085b793c9cee70eed0e1f3b        HEAD
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/heads/master
75290a081feebcc4265825d017d9af07c7646951        refs/heads/remotebranch
f11c723119cd9938e91e1ed5328ef143fb477f15        refs/heads/mybranch
f11c723119cd9938e91e1ed5328ef143fb477f15        refs/heads/groups
...
There are a few more

Is it the case that mybranch somehow became a remote branch?

Here are the results for this one:
$ git log --pretty=oneline mybranch...origin/remotebranch
f11c723119cd9938e91e1ed5328ef143fb477f15 Merge branch 'remotebranch' of
gitosis@sorry.must.obfuscate.url.com:my-repo into mybranch
eb41bd8f4f43d483b4a58bc98386c468bb69173c Ticket #1032 
5e76a7c9bce92519b308c031357794904bf0f4a6 Ticket #1038 
cu5ceaf670c83f77c1b48e8d31a23456b744f1af0f Ticket #1044

Thank you!
-Irene


Michael J Gruber wrote:
ir0s venit, vidit, dixit 21.08.2008 17:35:
quoted
Sorry if you get this twice, oddly my first attempt to send this bounced.
Thank you for all the good advice however, none of it seemed to resolve
my
issue.

Attempting to call:
$git push origin mybranch

Results in the same message: Everything up to date =/
I also tried to call $git fetch origin just in case, and doing a pull
doesn't return anything (which makes sense, no one pushed anything to the
branch -- although I seem to be the only one with this issue.)

Could my branch have somehow diverged from the origin remotebranch?

-- Irene
What do the following report:

git ls-remote origin
git ls-remote .
git log --pretty=oneline mybranch...origin/remotebranch

Michael

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
View this message in context: http://n2.nabble.com/Local-branch-ahead-of-tracked-remote-branch-but-git-push-claims-everything-up-to-date-tp736663p740662.html
Sent from the git mailing list archive at Nabble.com.

Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date

From: ir0s <hidden>
Date: 2016-06-15 22:45:12

Sorry, and one more:
$ git ls-remote .
f11c723119cd9938e91e1ed5328ef143fb477f15         HEAD
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/heads/master
75290a081feebcc4265825d017d9af07c7646951        refs/heads/remotebranch
f11c723119cd9938e91e1ed5328ef143fb477f15         refs/heads/mybranch
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/remotes/origin/HEAD
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/remotes/origin/master
75290a081feebcc4265825d017d9af07c7646951       
refs/remotes/origin/remotebranch
f11c723119cd9938e91e1ed5328ef143fb477f15        
refs/remotes/origin/mybranch

Thank you!!
-Irene


Michael J Gruber wrote:
ir0s venit, vidit, dixit 21.08.2008 17:35:
quoted
Sorry if you get this twice, oddly my first attempt to send this bounced.
Thank you for all the good advice however, none of it seemed to resolve
my
issue.

Attempting to call:
$git push origin mybranch

Results in the same message: Everything up to date =/
I also tried to call $git fetch origin just in case, and doing a pull
doesn't return anything (which makes sense, no one pushed anything to the
branch -- although I seem to be the only one with this issue.)

Could my branch have somehow diverged from the origin remotebranch?

-- Irene
What do the following report:

git ls-remote origin
git ls-remote .
git log --pretty=oneline mybranch...origin/remotebranch

Michael

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
View this message in context: http://n2.nabble.com/Local-branch-ahead-of-tracked-remote-branch-but-git-push-claims-everything-up-to-date-tp736663p740670.html
Sent from the git mailing list archive at Nabble.com.

Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:45:12

ir0s venit, vidit, dixit 21.08.2008 18:53:
Hi Michael,

Here are my results:

$ git ls-remote origin 
138ea08f9680a8def085b793c9cee70eed0e1f3b        HEAD
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/heads/master
75290a081feebcc4265825d017d9af07c7646951        refs/heads/remotebranch
f11c723119cd9938e91e1ed5328ef143fb477f15        refs/heads/mybranch
f11c723119cd9938e91e1ed5328ef143fb477f15        refs/heads/groups
...
There are a few more

Is it the case that mybranch somehow became a remote branch?
It means that the repo "origin" has a branch called mybranch. From the
sha1 and the one in your other mail (git ls-remote .) we see that it is
identical with your local branch mybranch. It is most certainly the
result of a command

git push origin mybranch

which (in the absence of any relevant lines in .git/config) just
says that you push that branch into origin with the same name, creating
a branch there if there's none. You can get rid of it using "git push
origin :mybranch".

What you most probably wanted to do was

git push origin mybranch:remotebranch

which pushes your mybranch into the remotebranch of the origin repo.
(You can put this in the config for later pushes, git config
remote.origin.push mybranch:remotebranch).

On the other hand:

git push origin

only compares existing branches with matching names, which is why it
reported "up to date".

On yet another hand (I'm losing count):
When you switch to a tracking branch it is compared to its
corresponding remote, and your mybranch and origin/remotebranch clearly
differ:
Here are the results for this one: $ git log --pretty=oneline
mybranch...origin/remotebranch 
f11c723119cd9938e91e1ed5328ef143fb477f15 Merge branch 'remotebranch'
of gitosis@sorry.must.obfuscate.url.com:my-repo into mybranch 
eb41bd8f4f43d483b4a58bc98386c468bb69173c Ticket #1032 
5e76a7c9bce92519b308c031357794904bf0f4a6 Ticket #1038 
cu5ceaf670c83f77c1b48e8d31a23456b744f1af0f Ticket #1044
Now, this
f11c723119cd9938e91e1ed5328ef143fb477f15         HEAD
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/heads/master
75290a081feebcc4265825d017d9af07c7646951        refs/heads/remotebranch
f11c723119cd9938e91e1ed5328ef143fb477f15         refs/heads/mybranch
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/remotes/origin/HEAD
138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/remotes/origin/master
75290a081feebcc4265825d017d9af07c7646951       
refs/remotes/origin/remotebranch
f11c723119cd9938e91e1ed5328ef143fb477f15        
refs/remotes/origin/mybranch
from your other e-mail shows quite a zoo of branches you have locally
now. Two of them should probably not be there:

refs/remotes/origin/mybranch is the result of fetching/pulling from
origin after creating mybranch there by mistake.

refs/heads/remotebranch is a local branch named remotebranch. I don't
know where it came from, but git revlog may tell you more.

As a word of comfort: I'm quite new to git and find things confusing
sometimes, myself. But in the end I always found out that thinhs are the
way they are for a good reason.

You're thinking of "two places" to exchange information for a branch,
which is natural and confused me first, too. But realise that for a sane
workflow you need three:
- remotebranch at the other repo origin,
- your remotes/origin/remotebranch which pulls from origin's repo, and -
your local tracking branch mybranch which pulls or rebases from
remotes/origin/remotebranch at the time of your chosing.

You push from mybranch into the remotebranch of the origin repo.
That last one is the one that pushed you off ;) Seriously, that last leg
of the workflow triangle is not setup automatically (because you may not
have push access).

Cheers,
Michael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help