# How to ignore deleted files

6 messages from 2008-03-11 to 2008-03-11. Participants: Andreas Hildebrandt, Jakub Narebski, Santi Béjar, David Tweed, Sergio Callegari.
Thread: https://gitlist.dev/t/12638

## Andreas Hildebrandt, 2008-03-11 12:58

Subject: How to ignore deleted files
Message-ID: <47D68203.10905@bioinf.uni-sb.de>
URL: https://gitlist.dev/e/47D68203.10905%40bioinf.uni-sb.de

```
Dear all,

our git repository contains a number of .tar.gz - files that are
automatically extracted and then deleted during the build process.
Unfortunately, commiting any changes after that step will mark those
files as deleted and try to commit that to the repository. Is there any
way to tell git to ignore those files automatically (apart from changing
our build process not to use or not to delete those files)?

Sorry if I overlooked something obvious,

Andreas Hildebrandt

```

## Jakub Narebski, 2008-03-11 14:10

Subject: Re: How to ignore deleted files
Message-ID: <m3y78pxsf5.fsf@localhost.localdomain>
URL: https://gitlist.dev/e/m3y78pxsf5.fsf%40localhost.localdomain
In-Reply-To: <47D68203.10905@bioinf.uni-sb.de>

```
Andreas Hildebrandt <anhi@bioinf.uni-sb.de> writes:

> Dear all,
> 
> our git repository contains a number of .tar.gz - files that are
> automatically extracted and then deleted during the build process.
> Unfortunately, commiting any changes after that step will mark those
> files as deleted and try to commit that to the repository. Is there any
> way to tell git to ignore those files automatically (apart from changing
> our build process not to use or not to delete those files)?

I don't quite understand: are those .tar.gz files stored in _source_
repository? That would be a bit strange...

I guess that you have tried adding "*.tar.gz" to either .gitignore or
.git/info/excludes file?

Another solution would be (if they are truly needed to reside in
repository) to re-checkout them as a last part of build process /
after-build process.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

```

## Andreas Hildebrandt, 2008-03-11 14:53

Subject: Re: How to ignore deleted files
Message-ID: <47D69CE0.3030505@bioinf.uni-sb.de>
URL: https://gitlist.dev/e/47D69CE0.3030505%40bioinf.uni-sb.de
In-Reply-To: <m3y78pxsf5.fsf@localhost.localdomain>

```
Dear Jakub!

Jakub Narebski schrieb:
>> our git repository contains a number of .tar.gz - files that are
>> automatically extracted and then deleted during the build process.
>> Unfortunately, commiting any changes after that step will mark those
>> files as deleted and try to commit that to the repository. Is there any
>> way to tell git to ignore those files automatically (apart from changing
>> our build process not to use or not to delete those files)?
>>     
>
> I don't quite understand: are those .tar.gz files stored in _source_
> repository? That would be a bit strange...
>
>   

I absolutetly agree that it's strange. The main reason for this is that
we have some collections of data files (some of them pretty large) that
can be compressed pretty effectively. At compilation time, it is decided
if the files are needed or not. If so, they are extracted. In the end,
the .tar.gz files are deleted since they are no longer needed. In
addition, once a user obtained a checkout, the whole thing is supposed
to work without a further net connection, so downloading the files
during build is not really an option.

> I guess that you have tried adding "*.tar.gz" to either .gitignore or
> .git/info/excludes file?
>   
I did, but as far as I understand it, these only work for untracked
files, and the files themselves are tracked (from time to time, they
change and the idea was to track those changes). Or am I missing
something here?

btw: I just noted that

git-commit $(git-ls-files -m --exclude-from=.git/info/exclude)

with the correct entries in the exclude file seems to do pretty much
what I want it to do, namely finding all modifications apart from those
mentioned in the exclude file and commiting them. Would this be a sane
strategy to handle things before we can maybe some day re-structure our
build process?


Thanks a lot for your help!

Andreas Hildebrandt

```

## Santi Béjar, 2008-03-11 15:07

Subject: Re: How to ignore deleted files
Message-ID: <8aa486160803110807m277363d6kaf7e1dd401fc9e2f@mail.gmail.com>
URL: https://gitlist.dev/e/8aa486160803110807m277363d6kaf7e1dd401fc9e2f%40mail.gmail.com
In-Reply-To: <47D69CE0.3030505@bioinf.uni-sb.de>

```
On Tue, Mar 11, 2008 at 3:53 PM, Andreas Hildebrandt
<anhi@bioinf.uni-sb.de> wrote:
>
>  I absolutetly agree that it's strange. The main reason for this is that
>  we have some collections of data files (some of them pretty large) that
>  can be compressed pretty effectively. At compilation time, it is decided
>  if the files are needed or not. If so, they are extracted. In the end,
>  the .tar.gz files are deleted since they are no longer needed. In
>  addition, once a user obtained a checkout, the whole thing is supposed
>  to work without a further net connection, so downloading the files
>  during build is not really an option.

Maybe you can have a look to pristine-tar. From:

http://kitenet.net/~joey/code/pristine-tar/

pristine-tar can regenerate a pristine upstream tarball using only a
small binary delta file and a copy of the source which can be a
revision control checkout.

The package also includes a pristine-gz command, which can regenerate
a pristine .gz file.

The delta file is designed to be checked into revision control
along-side the source code, thus allowing the original tarball to be
extracted from revision control.

---------------------

So you can recreate the tar from files in a git branch.

Santi

```

## David Tweed, 2008-03-11 15:43

Subject: Re: How to ignore deleted files
Message-ID: <e1dab3980803110843u3fdf2189xf5931f1cb5526ff9@mail.gmail.com>
URL: https://gitlist.dev/e/e1dab3980803110843u3fdf2189xf5931f1cb5526ff9%40mail.gmail.com
In-Reply-To: <47D69CE0.3030505@bioinf.uni-sb.de>

```
On Tue, Mar 11, 2008 at 2:53 PM, Andreas Hildebrandt
<anhi@bioinf.uni-sb.de> wrote:
>  I absolutetly agree that it's strange. The main reason for this is that
>  we have some collections of data files (some of them pretty large) that
>  can be compressed pretty effectively. At compilation time, it is decided
>  if the files are needed or not. If so, they are extracted. In the end,
>  the .tar.gz files are deleted since they are no longer needed. In

This is probably a silly questions: why are you actually deleting the
tar.gz files? If they compress the data files well, then any storage
requirement for keeping them is dwarfed by the size of the unpacked
data files (presumably). If a minor tweak to your build process avoids
more complicated git scripting, that sounds a reasonable trade-off.

-- 
cheers, dave tweed__________________________
david.tweed@gmail.com
Rm 124, School of Systems Engineering, University of Reading.
"while having code so boring anyone can maintain it, use Python." --
attempted insult seen on slashdot

```

## Sergio Callegari, 2008-03-11 18:03

Subject: Git and pristine-tar
Message-ID: <loom.20080311T180018-539@post.gmane.org>
URL: https://gitlist.dev/e/loom.20080311T180018-539%40post.gmane.org
In-Reply-To: <8aa486160803110807m277363d6kaf7e1dd401fc9e2f@mail.gmail.com>

```
> Maybe you can have a look to pristine-tar. From:
> 
> http://kitenet.net/~joey/code/pristine-tar/
> 

I have just given a look to pristine tar.  If I understand correctly what it
does, I believe it would be very nice to have a pristine zip too. That should
do the job nicely with all opendocument files, making openoffice document
management with git very parsimonious on storage.

Am I correct?

```
