Exclude file types from SVN diffs?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Exclude file types from SVN diffs?

Chris
Hi,

what's the best way to filter out a certain type of file from svn diff output without having to use external tools such as filterdiff?

The project I'm working with insists on storing a lot of data files in ascii format in the repo, but users don't want to see diffs for these files.
I was thinking of changing the svn:mime-type on these to e.g. octet-stream, but will that affect how the database on the server handles these as well? That is, it would be nice if the server could still treat these files as text files and compress changes, but that the diffs are not shown to users.

Another option would be if there's some way to add exclude-patterns to svn diff, e.g. something like "svn diff --exclude-filepatterns '*.ascii'". Is anything similar to that available?
Or a similar exclude-functionality that could look for specific svn properties "--exclude-files-with-properties myasciifileproperty" so I can force a property "myasciifileproperty" on all these files

BR,
  Chris
Reply | Threaded
Open this post in threaded view
|

Re: Exclude file types from SVN diffs?

Branko Čibej
On 06.11.2017 10:59, Chris wrote:
> Hi,
>
> what's the best way to filter out a certain type of file from svn diff output without having to use external tools such as filterdiff?
>
> The project I'm working with insists on storing a lot of data files in ascii format in the repo, but users don't want to see diffs for these files.
> I was thinking of changing the svn:mime-type on these to e.g. octet-stream, but will that affect how the database on the server handles these as well? That is, it would be nice if the server could still treat these files as text files and compress changes, but that the diffs are not shown to users.

The repository doesn't care if files are text or not; compression
(actually, binary delta storage) happens regardless. Specifically, the
server does not interpret the value of the svn:mime-type property in any
way.

> Another option would be if there's some way to add exclude-patterns to svn diff, e.g. something like "svn diff --exclude-filepatterns '*.ascii'". Is anything similar to that available?
> Or a similar exclude-functionality that could look for specific svn properties "--exclude-files-with-properties myasciifileproperty" so I can force a property "myasciifileproperty" on all these files

Nothing like that is available.

If you do set the MIME type to something that's not "text/*", 'svn diff'
will still show the diff headers for changed files but won't show the
diff contents.

There is another way you could solve this: by using the --diff-cmd
option and writing a tool that ignores cretain files. Diff headers will
still be printed, though.

-- Brane
Reply | Threaded
Open this post in threaded view
|

Re: Exclude file types from SVN diffs?

Chris
In reply to this post by Chris
Hi Brane, thanks for the reply.
 I'm ok with seeing the diff header as long as I don't have to see the content. I'll just change the mime-type of these files.

/Chris


--------------------------------------------
On Mon, 11/6/17, Branko Čibej <[hidden email]> wrote:

 Subject: Re: Exclude file types from SVN diffs?
 To: [hidden email]
 Date: Monday, November 6, 2017, 12:14 PM
 
 On 06.11.2017 10:59, Chris
 wrote:
 > Hi,
 >
 > what's the best way to filter out a
 certain type of file from svn diff output without having to
 use external tools such as filterdiff?
 >
 > The project I'm
 working with insists on storing a lot of data files in ascii
 format in the repo, but users don't want to see diffs
 for these files.
 > I was thinking of
 changing the svn:mime-type on these to e.g. octet-stream,
 but will that affect how the database on the server handles
 these as well? That is, it would be nice if the server could
 still treat these files as text files and compress changes,
 but that the diffs are not shown to users.
 
 The repository doesn't
 care if files are text or not; compression
 (actually, binary delta storage) happens
 regardless. Specifically, the
 server does
 not interpret the value of the svn:mime-type property in
 any
 way.
 
 >
 Another option would be if there's some way to add
 exclude-patterns to svn diff, e.g. something like "svn
 diff --exclude-filepatterns '*.ascii'". Is
 anything similar to that available?
 > Or
 a similar exclude-functionality that could look for specific
 svn properties "--exclude-files-with-properties
 myasciifileproperty" so I can force a property
 "myasciifileproperty" on all these files
 
 Nothing like that is
 available.
 
 If you do set
 the MIME type to something that's not
 "text/*", 'svn diff'
 will
 still show the diff headers for changed files but won't
 show the
 diff contents.
 
 There is another way you could solve this: by
 using the --diff-cmd
 option and writing a
 tool that ignores cretain files. Diff headers will
 still be printed, though.
 
 -- Brane