sonic-pi

https://github.com/sonic-pi-net/sonic-pi

C++

Code. Music. Live.

Rugged::Index#diff

The first form returns a diff between the index and the current working
directory.

The second form returns a diff between the index and the given diffable object.
+diffable+ can either be a +Rugged::Commit+ or a +Rugged::Tree+.

The index will be used as the "old file" side of the diff, while the working
directory or the +diffable+ will be used for the "new file" side.

The following options can be passed in the +options+ Hash:

:paths ::
  An array of paths / fnmatch patterns to constrain the diff to a specific
  set of files. Also see +:disable_pathspec_match+.

:max_size ::
  An integer specifying the maximum byte size of a file before a it will
  be treated as binary. The default value is 512MB.

:context_lines ::
  The number of unchanged lines that define the boundary of a hunk (and
  to display before and after the actual changes). The default is 3.

:interhunk_lines ::
  The maximum number of unchanged lines between hunk boundaries before the hunks
  will be merged into a one. The default is 0.

:reverse ::
  If true, the sides of the diff will be reversed.

:force_text ::
  If true, all files will be treated as text, disabling binary attributes & detection.

:ignore_whitespace ::
  If true, all whitespace will be ignored.

:ignore_whitespace_change ::
  If true, changes in amount of whitespace will be ignored.

:ignore_whitespace_eol ::
  If true, whitespace at end of line will be ignored.

:ignore_submodules ::
  if true, submodules will be excluded from the diff completely.

:patience ::
  If true, the "patience diff" algorithm will be used (currenlty unimplemented).

:include_ignored ::
  If true, ignored files will be included in the diff.

:include_untracked ::
 If true, untracked files will be included in the diff.

:include_unmodified ::
  If true, unmodified files will be included in the diff.

:recurse_untracked_dirs ::
  Even if +:include_untracked+ is true, untracked directories will only be
  marked with a single entry in the diff. If this flag is set to true,
  all files under ignored directories will be included in the diff, too.

:disable_pathspec_match ::
  If true, the given +:paths+ will be applied as exact matches, instead of
  as fnmatch patterns.

:deltas_are_icase ::
  If true, filename comparisons will be made with case-insensitivity.

:include_untracked_content ::
  if true, untracked content will be contained in the the diff patch text.

:skip_binary_check ::
  If true, diff deltas will be generated without spending time on binary
  detection. This is useful to improve performance in cases where the actual
  file content difference is not needed.

:include_typechange ::
  If true, type changes for files will not be interpreted as deletion of
  the "old file" and addition of the "new file", but will generate
  typechange records.

:include_typechange_trees ::
  Even if +:include_typechange+ is true, blob -> tree changes will still
  usually be handled as a deletion of the blob. If this flag is set to true,
  blob -> tree changes will be marked as typechanges.

:ignore_filemode ::
  If true, file mode changes will be ignored.

:recurse_ignored_dirs ::
  Even if +:include_ignored+ is true, ignored directories will only be
  marked with a single entry in the diff. If this flag is set to true,
  all files under ignored directories will be included in the diff, too.

Source | Google | Stack overflow

Edit

git clone [email protected]:sonic-pi-net/sonic-pi.git

cd sonic-pi

open app/server/ruby/vendor/rugged-1.7.1/lib/rugged/index.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Rugged--Index-diff-for-pr


# Commit to git

git add app/server/ruby/vendor/rugged-1.7.1/lib/rugged/index.rbgit commit -m "better docs for Rugged::Index#diff"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Rugged--Index-diff-for-pr

hub pull-request


# Celebrate!