On 07/04/13 17:30, Kornel Benko wrote:
> Am Sonntag, 7. April 2013 um 09:00:47, schrieb Pavel Sanda <[email protected]>
>> Kornel Benko wrote:
>> > > What's the scenario causing the further problem ?
>>
>> Forget about obtaining from repo for a moment.
>> Just try src/lyx lib/doc/UserGuide.lyx. Do you see LyX detecting file as
>> being under git (e.g. look on app title).
>> Here it does not work anymore.
Ok, now I'm seeing the mines in the field, thanks.
Starting with -dbg lyxvc leads to:
VCBackend.cpp (1852): LyXVC: Checking if file is under git control for
`UserGuide.lyx'
VCBackend.cpp (43): doVCCommandCall: git status --porcelain "UserGuide.lyx" >
"/tmp/lyx_tmpdir.dT3684/lyxvcout.Ea3684"
VCBackend.cpp (1875): GIT control: disabled
Indeed, git status --porcelain for a file *existent-on-the-FS* and
existent-in-repo, as well as for a file non-existent on the FS and non-existent
in repo, are the same, namely NOTHING.
tommaso@mobiletom:~/lyx-trunk-ws/lyx$ git status --porcelain
lib/doc/UserGuide.lyx
tommaso@mobiletom:~/lyx-trunk-ws/lyx$
tommaso@mobiletom:~/lyx-trunk-ws/lyx$ git status --porcelain lib/doc/nonex.lyx
tommaso@mobiletom:~/lyx-trunk-ws/lyx$
In my first patch, I had proposed to use git ls-files instead, that,
differentiates among these:
tommaso@mobiletom:~/lyx-trunk-ws/lyx$ git ls-files lib/doc/UserGuide.lyx
lib/doc/UserGuide.lyx
tommaso@mobiletom:~/lyx-trunk-ws/lyx$ git ls-files lib/doc/nonex.lyx
tommaso@mobiletom:~/lyx-trunk-ws/lyx$
Now, as LyX depends on a zillion external tools in which no-one ever bothered
to create any --porcelain option giving any kind of guarantee whatsoever about
future usage nor output of the tools, I would be strongly inclined towards
dropping git status and using git ls-files, if it's the right thing in this
case..... UNLESS, comparing ls-files on recent versions of GIT and especially
the versions available in recent Linux distros, leads to completely
different/unpredictable results.
I guess for SVN the problem is different, let me look into it.
T.