[lkml]   [2008]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: git tree corrupt?

    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
    > 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://
    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

    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 <>
    Date: Sun Mar 2 12:38:17 2008 -0800

    Merge branch 'for-linus' of git://

    - 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

    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.


     \ /
      Last update: 2008-03-02 22:31    [W:0.027 / U:4.408 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site