threads / discuss / 16016

how to configure Git to treat certain type of ascii files as binary files

Subject: how to configure Git to treat certain type of ascii files as binary files

## tl;dr

6 messages between Oct 22, 2008 and Oct 23, 2008.

replies: 5people: 4as markdown or json

Weiwei Shu· Oct 22, 2008, 21:58 UTC · lore
Hello everyone,

My first post in this mailing list. Could some one direct me to some document/manual pages to setup Git to treat ascii files as binary files? I'm using Git to do circuit schematics (SPICE files) versioning. I will not do any merging or editing stuff with external editors. The only way to change it is to use schematic capture GUIs (Cadence, ADS, etc). So I'd like to treat them as binary files to reduce the possibilities of messing them up.

I know it seems a little bit stupid to use Git to do such an easy job. But hey, it's the most eye-catching SCM software, isn't it?

-- 
Weiwei
--Hope Springs Eternal.
david@lang.hm· Oct 22, 2008, 22:13 UTC · re: Weiwei Shu · lore

Re: how to configure Git to treat certain type of ascii files as binary files

On Wed, 22 Oct 2008, Weiwei Shu wrote:
Show 12 quoted lines
> Hello everyone,
>
> My first post in this mailing list. Could some one direct me to some
> document/manual pages to setup Git to treat ascii files as binary
> files? I'm using Git to do circuit schematics (SPICE files)
> versioning. I will not do any merging or editing stuff with external
> editors. The only way to change it is to use schematic capture GUIs
> (Cadence, ADS, etc). So I'd like to treat them as binary files to
> reduce the possibilities of messing them up.
>
> I know it seems a little bit stupid to use Git to do such an easy job.
> But hey, it's the most eye-catching SCM software, isn't it?
unless you enable cr/lf handling git won't change ascii files.

what is it that you think needs to be done differently for these files than for any other files?

David Lang
Weiwei Shu· Oct 22, 2008, 22:35 UTC · re: david@lang.hm · lore

Re: how to configure Git to treat certain type of ascii files as binary files

Thanks David.

Well, for binary files, SCM tools (like subversion) usually work as "lock-modify-unlock" mode in which merging is not supported since the files are not human-readable. The schematics are ascii files, but I do not want them to be merged if I run "merge" command. Instead I'd like Git ask me to "look-and-replace". I know Git is not meant to do this kind of jobs. Just curious if it is able to be configured to work in that way.

On Wed, Oct 22, 2008 at 5:13 PM,  <david@lang.hm> wrote:
Show 22 quoted lines
> On Wed, 22 Oct 2008, Weiwei Shu wrote:
>
>> Hello everyone,
>>
>> My first post in this mailing list. Could some one direct me to some
>> document/manual pages to setup Git to treat ascii files as binary
>> files? I'm using Git to do circuit schematics (SPICE files)
>> versioning. I will not do any merging or editing stuff with external
>> editors. The only way to change it is to use schematic capture GUIs
>> (Cadence, ADS, etc). So I'd like to treat them as binary files to
>> reduce the possibilities of messing them up.
>>
>> I know it seems a little bit stupid to use Git to do such an easy job.
>> But hey, it's the most eye-catching SCM software, isn't it?
>
> unless you enable cr/lf handling git won't change ascii files.
>
> what is it that you think needs to be done differently for these files than
> for any other files?
>
> David Lang
>
-- 
Weiwei
--Hope Springs Eternal.
David Symonds· Oct 22, 2008, 22:13 UTC · re: Weiwei Shu · lore

Re: how to configure Git to treat certain type of ascii files as binary files

On Wed, Oct 22, 2008 at 2:58 PM, Weiwei Shu <shuww1980@gmail.com> wrote:
Show 7 quoted lines
> My first post in this mailing list. Could some one direct me to some
> document/manual pages to setup Git to treat ascii files as binary
> files? I'm using Git to do circuit schematics (SPICE files)
> versioning. I will not do any merging or editing stuff with external
> editors. The only way to change it is to use schematic capture GUIs
> (Cadence, ADS, etc). So I'd like to treat them as binary files to
> reduce the possibilities of messing them up.

Git doesn't futz with your file contents unless you explicitly ask it to, such as the CRLF-munging stuff. By default, all files are "binary".

Dave.
Jakub Narebski· Oct 22, 2008, 22:40 UTC · re: Weiwei Shu · lore

Re: how to configure Git to treat certain type of ascii files as binary files

"Weiwei Shu" <shuww1980@gmail.com> writes:
Show 10 quoted lines
> My first post in this mailing list. Could some one direct me to some
> document/manual pages to setup Git to treat ascii files as binary
> files? I'm using Git to do circuit schematics (SPICE files)
> versioning. I will not do any merging or editing stuff with external
> editors. The only way to change it is to use schematic capture GUIs
> (Cadence, ADS, etc). So I'd like to treat them as binary files to
> reduce the possibilities of messing them up.
> 
> I know it seems a little bit stupid to use Git to do such an easy job.
> But hey, it's the most eye-catching SCM software, isn't it?

First, git does not modify files unless you have core.crlf set, and even then it warns about irreversible transformations (core.safecrlf)

Second, using gitattributes you can set diff driver and merge driver; one of possibilities is to treat file as binary (binary diff and no using 3-way file merge).

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Weiwei Shu· Oct 23, 2008, 01:12 UTC · re: Jakub Narebski · lore

Re: how to configure Git to treat certain type of ascii files as binary files

Thanks Jakub. I'll read its manual and try to play with it. Thank all for replies!

On Wed, Oct 22, 2008 at 5:40 PM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 26 quoted lines
> "Weiwei Shu" <shuww1980@gmail.com> writes:
>
>> My first post in this mailing list. Could some one direct me to some
>> document/manual pages to setup Git to treat ascii files as binary
>> files? I'm using Git to do circuit schematics (SPICE files)
>> versioning. I will not do any merging or editing stuff with external
>> editors. The only way to change it is to use schematic capture GUIs
>> (Cadence, ADS, etc). So I'd like to treat them as binary files to
>> reduce the possibilities of messing them up.
>>
>> I know it seems a little bit stupid to use Git to do such an easy job.
>> But hey, it's the most eye-catching SCM software, isn't it?
>
> First, git does not modify files unless you have core.crlf set,
> and even then it warns about irreversible transformations
> (core.safecrlf)
>
> Second, using gitattributes you can set diff driver and merge driver;
> one of possibilities is to treat file as binary (binary diff and no
> using 3-way file merge).
>
> --
> Jakub Narebski
> Poland
> ShadeHawk on #git
>
-- 
Weiwei
--Hope Springs Eternal.

← back to recent threads