threads / bug / 1739

cg-update (cogito-0.13) bug: changed heads

Subject: cg-update (cogito-0.13) bug: changed heads

## tl;dr

5 messages between Sep 6, 2005 and Sep 7, 2005.

replies: 4people: 3as markdown or json

H. Peter Anvin· Sep 6, 2005, 21:01 UTC · lore

I just found a bug in cogito-0.13, at least to the best of my understanding of the situation.

Simplified, the problem looks like this: two sides, A and B, pull from repository C. The head of this pull we call 0.

Now commit 1 is added to A. B pulls commit 1 from A, not though C. Later, A pushes commit 1 to C.

Next time B tries to pull from C, cg-update will not advance refs/heads/origin, even though C now has a new head. Thus, B will think that C is in a different state than it actually is.

This has, for me, broken safeguards of the form "make sure you're merged before you pull."

	-hpa
Petr Baudis· Sep 6, 2005, 23:17 UTC · re: H. Peter Anvin · lore

Re: cg-update (cogito-0.13) bug: changed heads

Dear diary, on Tue, Sep 06, 2005 at 11:01:25PM CEST, I got a letter where "H. Peter Anvin" <hpa@zytor.com> told me that...

Show 12 quoted lines
> I just found a bug in cogito-0.13, at least to the best of my 
> understanding of the situation.
> 
> Simplified, the problem looks like this: two sides, A and B, pull from 
> repository C.  The head of this pull we call 0.
> 
> Now commit 1 is added to A.  B pulls commit 1 from A, not though C. 
> Later, A pushes commit 1 to C.
> 
> Next time B tries to pull from C, cg-update will not advance 
> refs/heads/origin, even though C now has a new head.  Thus, B will think 
> that C is in a different state than it actually is.

So, C surely has its head updated? Does cg-update "fail" silently, or does it utter anything?

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
If you want the holes in your knowledge showing up try teaching
someone.  -- Alan Cox
H. Peter Anvin· Sep 6, 2005, 23:23 UTC · re: Petr Baudis · lore

Re: cg-update (cogito-0.13) bug: changed heads

Petr Baudis wrote:
Show 20 quoted lines
> Dear diary, on Tue, Sep 06, 2005 at 11:01:25PM CEST, I got a letter
> where "H. Peter Anvin" <hpa@zytor.com> told me that...
> 
>>I just found a bug in cogito-0.13, at least to the best of my 
>>understanding of the situation.
>>
>>Simplified, the problem looks like this: two sides, A and B, pull from 
>>repository C.  The head of this pull we call 0.
>>
>>Now commit 1 is added to A.  B pulls commit 1 from A, not though C. 
>>Later, A pushes commit 1 to C.
>>
>>Next time B tries to pull from C, cg-update will not advance 
>>refs/heads/origin, even though C now has a new head.  Thus, B will think 
>>that C is in a different state than it actually is.
> 
> 
> So, C surely has its head updated? Does cg-update "fail" silently, or
> does it utter anything?
> 

C has its head updated, yes. cg-update says "Branches already fully merged."

	-hpa
H. Peter Anvin· Sep 7, 2005, 01:36 UTC · re: H. Peter Anvin · lore

Re: cg-update (cogito-0.13) bug: changed heads

H. Peter Anvin wrote:
Show 7 quoted lines
>>
>> So, C surely has its head updated? Does cg-update "fail" silently, or
>> does it utter anything?
> 
> C has its head updated, yes.  cg-update says "Branches already fully 
> merged."
> 

OK, now later in the day I could not reproduce this on another box. Either the situation was different enough, or I did something else wrong.

	-hpa
Junio C Hamano· Sep 7, 2005, 02:17 UTC · re: H. Peter Anvin · lore

Re: cg-update (cogito-0.13) bug: changed heads

"H. Peter Anvin" <hpa@zytor.com> writes:
> H. Peter Anvin wrote:
>>>
> OK, now later in the day I could not reproduce this on another box. 
> Either the situation was different enough, or I did something else wrong.

One thing that comes to mind, which may or may not be relevant to your situation, is which branch you were on when you ran cg-update. I cannot speak for Pasky and I do not use Cogito, but the 'git fetch' and 'git pull' commands that come with core GIT used to have a funny interaction of fetch attempting to update the branch head ref if your working tree happened to be on that branch, which was fixed some time ago.

← back to recent threads