Bug in alternates

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

 



Hi - I had a bit of a hiccup with git yesterday - there's a bit of a story to 
it, which at the least might be amusing. There's script to reproduce at the 
bottom if you don't care for the story.

I had done a 
 git clone --reference Foo  git@host:Foo Foo.New
then after getting it right, I  did
 mv Foo Foo.old
 mv Foo.New Foo

Then I  had all these missing references, and I thought .. oh yeah, that's 
cause it can't find the references.. well I don't really know how to change 
that (I do now), but I want all the objects in that directory anyway for when 
I delete the Foo.old directory..
so I did a 

cd Foo
git fetch

.. so all was good for a while.. It was all there and hunky-dory.

Then.. the fated git gui  'garbage collect' dialogue appeared, and I thought, 
"why not", so I did.

At that point, git decided to pack all the references (yay) .. and then it 
said.. hmm.. are those available in my alternates .. let's see  
..Foo/.git/objects  .. yeah - all those objects are there.. so I can just 
remove that pack.

Woops. 

If you're not following the story, the Foo repo had itself as an alternate.

Include me in replies please- I'm not on the list.

//.ichael Geddes

Here's the script:
------------8<-----------testalt--------------
#!/bin/sh
mkdir testaltrep
cd testaltrep
git init 
for i in 1 2 3 4 5 6 7 8 9 ; do
  touch $i.txt
  git add $i.txt 
done
git commit -m "Commit" 
echo "$PWD/.git/objects" > .git/objects/info/alternates
# Seems like it has to be done like this to get it to repack.
git repack -adl && git repack -ad  && git repack -adl
if git checkout master   ; then
  echo OK
  ret=0
else
  echo BAD Unable to checkout reference
  ret=1
fi

cd ..
rm -rf testaltrep

exit ${ret}

--
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]