Skip to contentSkip to conversation

git-gui: textconv not used on unstaged files

DISCUSSION Peter Oberndorfer 2 participants 4 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

Hi,

i am using a textconv filter to display .doc files as plain text.
It seems git gui does not use this textconv filter for displaying new unstaged files (other files? = _O)
It seems diff.tcl start_show_diff calls show_other_diff because of this. This manually loads the file and does not care about textconv filters.

Is this manual loading really necessary or can't we just ask git? If it is can it be modified to use the textconv filter?

Thanks,
Greetings Peter

.gitattributes:
*.doc diff=astextplain

gitconfig:
[diff "astextplain"]
textconv = astextplain

#1 lore raw
Quoted 11 lines · Peter Oberndorfer

Hi,

i am using a textconv filter to display .doc files as plain text.
It seems git gui does not use this textconv filter for displaying new unstaged files (other files? = _O)
It seems diff.tcl start_show_diff calls show_other_diff because of this. This manually loads the file and does not care about textconv filters.

Is this manual loading really necessary or can't we just ask git? If it is can it be modified to use the textconv filter?

Does anybody have a idea which git command
would output the diff of a untracked file against /dev/null? So I can show the textconved version of the file in git gui. (and not reinvent the code to apply textconv already in git)

Thanks,
Greetings Peter

Quoted 7 lines

.gitattributes:
*.doc diff=astextplain

gitconfig:
[diff "astextplain"]
textconv = astextplain

#2 lore raw
Quoted 2 lines · Peter Oberndorfer

Does anybody have a idea which git command would output the diff of a untracked file against /dev/null?

The "--no-index" option is meant as a bolt-on to let you use various features of "git diff" that is missing from other people's "diff" in a context where git does not know anything about that file. It should be usable even outside a git repository.

    $ git diff --no-index /dev/null new-file.txt

I do not know offhand (and didn't bother to check) if textconv applies, though. It does need access to a git repository as it reads from the $GIT_DIR/config to learn what to do.

#3 lore raw
Quoted 9 lines · Junio C Hamano
Quoted 2 lines · Peter Oberndorfer

Does anybody have a idea which git command would output the diff of a untracked file against /dev/null?

The "--no-index" option is meant as a bolt-on to let you use various features of "git diff" that is missing from other people's "diff" in a context where git does not know anything about that file. It should be usable even outside a git repository.

Quoted 5 lines
    $ git diff --no-index /dev/null new-file.txt

I do not know offhand (and didn't bother to check) if textconv applies, though. It does need access to a git repository as it reads from the $GIT_DIR/config to learn what to do.

Hi,

this seems to work when adding the --textconv option. I will try to see if I can modify git gui to use this command when clicking a unstaged file.

Thanks,
Greetings Peter