When re-execing git-annex, use current program location, rather than ~/.config/git-annex/program, when possible.
Most of the time, there will be no discreprancy between programPath and readProgramFile. But, the programFile might have been written by an old version of git-annex that is still installed, while a newer one is currently running. In this case, we want to run the same one that's currently running. This is especially important for things like the GIT_SSH=git-annex used for ssh connection caching. The only code that still uses readProgramFile directly is the upgrade code, which needs to know where the standalone git-annex was installed, in order to upgrade it.
This commit is contained in:
parent
b9275b65f9
commit
450ee53ab6
14 changed files with 28 additions and 25 deletions
|
@ -20,6 +20,7 @@ import Assistant.MakeRemote
|
|||
import Assistant.Sync
|
||||
import qualified Command.Sync
|
||||
import qualified Annex.Branch
|
||||
import Annex.Path
|
||||
import Annex.UUID
|
||||
import Logs.UUID
|
||||
import Annex.TaggedPush
|
||||
|
@ -27,7 +28,6 @@ import Annex.CatFile
|
|||
import Config
|
||||
import Git
|
||||
import qualified Git.Branch
|
||||
import Config.Files
|
||||
import qualified Types.Remote as Remote
|
||||
import qualified Remote as Remote
|
||||
import Remote.List
|
||||
|
@ -173,7 +173,7 @@ xmppPush cid gitpush = do
|
|||
installwrapper tmpdir = liftIO $ do
|
||||
createDirectoryIfMissing True tmpdir
|
||||
let wrapper = tmpdir </> "git-remote-xmpp"
|
||||
program <- readProgramFile
|
||||
program <- programPath
|
||||
writeFile wrapper $ unlines
|
||||
[ shebang_local
|
||||
, "exec " ++ program ++ " xmppgit"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue