darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.7k stars 1.14k forks source link

git pull for current master fails, rawspeed reference broken #16330

Closed pehar1 closed 8 months ago

pehar1 commented 8 months ago

Describe the bug

See title, tried several times since 8:00 UTC (last hour)

Steps to reproduce

Try :

git pull https://github.com/darktable-org/darktable.git
remote: Enumerating objects: 126, done.
remote: Counting objects: 100% (126/126), done.
remote: Compressing objects: 100% (46/46), done.
remote: Total 126 (delta 90), reused 112 (delta 80), pack-reused 0
Empfange Objekte: 100% (126/126), 52.61 KiB | 3.51 MiB/s, fertig.                                              
Löse Unterschiede auf: 100% (90/90), abgeschlossen mit 32 lokalen Objekten.                                    
Von https://github.com/darktable-org/darktable                                                                 
 * branch                  HEAD       -> FETCH_HEAD                                                            
Anfordern des Submoduls src/external/rawspeed                                                                  
Von https://github.com/darktable-org/rawspeed                                                                  
   a049b0b0..686394bc  develop    -> origin/develop                                                            
   1094acaa..154514e3  stable     -> origin/stable                                                             
fatal: Fehler am anderen Ende: upload-pack: not our ref 4d350a23ca2cbde7031b0a9be59a4addc01ae9a5               
Fehler während des Anforderns der Submodule:                                                                   
        src/external/rawspeed

Expected behavior

git pull should work without throwing error

Logfile | Screenshot | Screencast

No response

Commit

No response

Where did you obtain darktable from?

self compiled

darktable version

4.7.0+567~ga7328c6d28

What OS are you using?

Linux

What is the version of your OS?

Ubuntu 22.04

Describe your system?

No response

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

No response

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

No response

ralfbrown commented 8 months ago

Confirmed.

kmilos commented 8 months ago

Worked fine for me.

Did you update submodules?

victoryforce commented 8 months ago

@pehar1 Try git submodule update and repeat git pull after that.

pehar1 commented 8 months ago

Updating submodules is part of my standard workflow. In this case unfortunately it changes nothing. Had to create a completely fresh clone to get it work again. Identical behavior was observed on two different systems (coming from very different commits). Should I keep this issue open because there is still something to do on the developer side or should it be closed ?

victoryforce commented 8 months ago

Updating submodules is part of my standard workflow. In this case unfortunately it changes nothing. Had to create a completely fresh clone to get it work again.

It's still in my terminal buffer, so I can copy from there and show that this workaround works in the situation you described.

In any case, I suggest closing the issue, as this is a transient error state of the repository and no new commits will fix it. This issue could be useful in order to get advice on how to get out of this situation, now it can be closed.

ralfbrown commented 8 months ago

It was still failing for me just now, until I did a few iterations of fetches and updates, including a git submodule update --force src/external/rawspeed, after which git pull upstream master finally succeeded.

pehar1 commented 8 months ago
git submodule update --force src/external/rawspeed
git pull upstream master

I tried this on a third system having the identical problem. The first command succeeded, the second failed again. I am now asking myself: what is wrong with the procedure that I have been using (without errors) for years? It is now the second time that a git pull fails due to a broken reference. The first time was on 2023-12-17, back then the cause was the submodule integration. This is my procedure, what is wrong, what schould be changed ?

cd ~/darktable/master
git pull https://github.com/darktable-org/darktable.git
cd build
sudo make clean
cd ..
git submodule init
git submodule update
./build.sh --build-type Release 2>&1 | tee "../build-$(date +"%Y-%m-%d").log"
sudo mv /opt/darktable /opt/darktable-4.7.0-previous-version
sudo cmake --build "/home/ph/darktable/master/build" --target install -- -j12

Completely fresh cloning every time can only be a workaround.