git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Something strange has happened to my git HEADs.

From
KHKrzysztof Halasa <khc@pm.waw.pl>
Date
Mar 15, 2008, 17:44 UTC
Message-ID
<m38x0j51bw.fsf@maximus.localdomain>
Hi,
Not sure what has happened but it was hardly expected:
1. I have individual bare git repos in ~/scm and ~/scm/linux-2.6 is one
of them (currently):

intrepid:~/scm/linux-2.6$ find -not -type d ./logs/HEAD ./logs/refs/heads/lirc ./logs/refs/heads/viafb ./logs/refs/heads/ixp4xx23 ./logs/refs/heads/linux-stable ./logs/refs/heads/wireless ./logs/refs/heads/ixp4xx-hss-chan-old ./logs/refs/heads/alpine ./logs/refs/heads/linux-test ./logs/refs/heads/linux-router-test ./logs/refs/heads/origin ./logs/refs/heads/ixp4xx-upstream ./logs/refs/heads/linux-router (and so on) ./config ./objects/********** ./description ./HEAD ./hooks/pre-rebase ./hooks/applypatch-msg ./hooks/update ./hooks/post-commit ./hooks/commit-msg ./hooks/pre-commit ./hooks/pre-applypatch ./hooks/post-receive ./hooks/post-update ./info/refs

Config file mostly contains:
[diff]
        renames = copies
[core]
        preferSymlinkRefs = true
(plus less relevant things).

intrepid:~/scm/linux-2.6$ cat HEAD ref: refs/heads/origin

There used to be a number of refs and heads but now they are all gone: intrepid:~/scm/linux-2.6$ find refs/ refs/ refs/heads refs/tags

2. Working dirs using this repo are in /usr/src/linux* and
/usr/src/linux-test is one of them, currently (.git dir):
lrwx 1      30 2007-10-09 00:55 config -> ~/scm/linux-2.6/config
lrwx 1      35 2007-08-24 18:33 description -> ~/scm/linux-2.6/description
-rw- 1     126 2008-02-01 21:39 FETCH_HEAD
lrwx 1      19 2008-03-15 17:52 HEAD -> refs/heads/eelogger
-rw- 1 2220597 2008-03-15 17:56 index
drwx 2    4096 2008-03-15 17:57 info
-rw- 1   21482 2008-03-15 17:57 info/refs
lrwx 1      28 2007-08-24 18:33 logs -> ~/scm/linux-2.6/logs
lrwx 1      31 2007-08-24 18:33 objects -> ~/scm/linux-2.6/objects
-rw- 1      41 2008-03-15 17:56 ORIG_HEAD
-rw- 1   17909 2008-03-15 17:56 packed-refs
lrwx 1      28 2007-08-24 18:33 refs -> ~/scm/linux-2.6/refs

What I did was (copy & paste): intrepid:/usr/src/linux-test$ git-status # On branch eelogger nothing to commit (working directory clean)

intrepid:/usr/src/linux-test$ git-rebase v2.6.24 First, rewinding head to replay your work on top of it... Checking out files: 100% (10213/10213), done. HEAD is now at 4991408... Linux 2.6.24 Applying I2C: Added eelogger driver - EEPROM kernel console logger Auto packing your repository for optimum performance. You may also run "git gc" manually. See "git help gc" for more information. Counting objects: 744096, done. Compressing objects: 100% (135615/135615), done. Writing objects: 100% (744096/744096), done. Total 744096 (delta 613061), reused 738324 (delta 607483) error: Ref refs/heads/eelogger is at 9465fea31dff47dee3d0e0018d7aa52d16e14c33 but expected e00e34771aac93479c4d939e4e5cceeca64b38f8 fatal: Cannot lock the ref 'refs/heads/eelogger'. Could not move back to refs/heads/eelogger

Now all references are gone, the objects seem to be packed correctly into one 230 MB file (there are some individual object files left, perhaps orphans).

I have been trying to use gitweb while git-rebase was operating but it wasn't able to find anything.

How could that happened? I did the same many times and never had anything like that, but perhaps the symlinks caused that? It never autopacked while rebasing.

/usr/src/linux-test/.git/info/refs seems to contain all the heads and tags (including the new eeprom head).

e00e34771aac93479c4d939e4e5cceeca64b38f8 is the old eelogger head 9465fea31dff47dee3d0e0018d7aa52d16e14c33 is the new (rebased) head

git-core-1.5.4.1-1.fc8, it's practically up-to-date Fedora 8 x86_64 SMP.

-- 
Krzysztof Halasa
Next: Krzysztof Halasa
Message 1 of 4 in “Something strange has happened to my git HEADs.”
  1. Krzysztof HalasaMar 15, 2008
  2. Krzysztof HalasaMar 15, 2008
  3. Junio C HamanoMar 15, 2008
  4. Krzysztof HalasaMar 15, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.