Re: kernel.org git tree corrupt?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Sun, 2 Mar 2008, Steve French wrote:
>
> In preparation for a merge request I do
>     cg-diff -m -r origin: | diffstat -p1
> (git diff -m -r origin: shows the same problem) and
>     cg-log -m -r origin:

First off, you really should lay off the cogito thing, it's pretty much 
guaranteed that any cogito usage will just be harder and less likely to be 
correct than just usign native git (and almost nobody will be able to help 
you any more - it's not like it's been maintained for the last year).

It *sounds* like your "origin" isn't what you expect it to be. 

> Was the linux-2.6.git rebuilt in the last four weeks with different 
> changeset numbers? Something seems to have drastically changed in the 
> kernel.org tree in the last few weeks.

Nope, nothing has been rebuilt, but there's been another merge window, so 
there's certainly been drastic changes.

> Doing "cg-log -m -r origin: fs/cifs" shows changesets that are already
> in linux-2.6.git (e.g. the vfs-wide changes to add path_put
> 1d957f9bf87da74f420424d16ece005202bbebd3 and
> 4ac9137858e08a19f29feac4e1f4df7c268b0ba5 )

In that case, your "origin" simply isn't updated, but points somewhere 
long back in history. I can only assume that cogito has done something 
wrong, like not been able to handle packed refs or something, and you have 
an updated tree but "origin" pointing to way back in the history.

> Ideas for another solution short of recloning and sorting through all
> of the last month or two of patches that affect this directory by
> hand?

Do this:

 - get rid of cogito (or at least make sure that it doesn't mess up the 
   following sequence)

 - look at your .git/config file to make sure that the remote branches are 
   sane. It should have something like this (and if it doesn't, add it):

	[remote "origin"]
		url = git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
		fetch = +refs/heads/*:refs/remotes/origin/*

	[branch "master"]
		remote = origin
		merge = refs/heads/master

 - look at your "origin" branch, and make sure it's a *remote* branch, not 
   the old-style local one. Ie it should *not* show up when you do a 
   plain

	git branch

   but it *should* show up (as both "origin/HEAD" and "origin/master") 
   when you do

	git branch -a

   and if it's a local branch (very possible, since you're using cogito 
   that may not even understand remote branches), then just blow it away 
   entirely with "git branch -D origin".

 - do "git fetch" to make sure that the remote branches are up-to-date

 - now do "git log origin" an it should show something recent like

	commit 038f2f725503b55ab76cfd2645915a85594710fe
	Merge: 8d07a67... 855c603...
	Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx>
	Date:   Sun Mar 2 12:38:17 2008 -0800
	
	    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux139
	...

 - and if it does, now you should be all good, and you can dothe normal 
   "gitk origin.." and see the commits that are in your tree but not in 
   mine.

Now your setup should be ok again. I *suspect* that what has happened is 
that you got a local "origin" branch - probably through cogito - that hid 
the remote one. 

		Linus
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux