sonic-pi
https://github.com/sonic-pi-net/sonic-pi
C++
Code. Music. Live.
Rugged::Repository#checkout_tree
Updates files in the index and working tree to match the content of the
tree pointed at by the +treeish+.
The following options can be passed in the +options+ Hash:
:progress ::
A callback that will be executed for checkout progress notifications.
Up to 3 parameters are passed on each execution:
- The path to the last updated file (or +nil+ on the very first invocation).
- The number of completed checkout steps.
- The number of total checkout steps to be performed.
:notify ::
A callback that will be executed for each checkout notification types specified
with +:notify_flags+. Up to 5 parameters are passed on each execution:
- An array containing the +:notify_flags+ that caused the callback execution.
- The path of the current file.
- A hash describing the baseline blob (or +nil+ if it does not exist).
- A hash describing the target blob (or +nil+ if it does not exist).
- A hash describing the workdir blob (or +nil+ if it does not exist).
:strategy ::
A single symbol or an array of symbols representing the strategies to use when
performing the checkout. Possible values are:
:none ::
Perform a dry run (default).
:safe ::
Allow safe updates that cannot overwrite uncommitted data.
:recreate_missing ::
Allow checkout to recreate missing files.
:force ::
Allow all updates to force working directory to look like index.
:allow_conflicts ::
Allow checkout to make safe updates even if conflicts are found.
:remove_untracked ::
Remove untracked files not in index (that are not ignored).
:remove_ignored ::
Remove ignored files not in index.
:update_only ::
Only update existing files, don't create new ones.
:dont_update_index ::
Normally checkout updates index entries as it goes; this stops that.
:no_refresh ::
Don't refresh index/config/etc before doing checkout.
:disable_pathspec_match ::
Treat pathspec as simple list of exact match file paths.
:skip_locked_directories ::
Ignore directories in use, they will be left empty.
:skip_unmerged ::
Allow checkout to skip unmerged files (NOT IMPLEMENTED).
:use_ours ::
For unmerged files, checkout stage 2 from index (NOT IMPLEMENTED).
:use_theirs ::
For unmerged files, checkout stage 3 from index (NOT IMPLEMENTED).
:update_submodules ::
Recursively checkout submodules with same options (NOT IMPLEMENTED).
:update_submodules_if_changed ::
Recursively checkout submodules if HEAD moved in super repo (NOT IMPLEMENTED).
:disable_filters ::
If +true+, filters like CRLF line conversion will be disabled.
:dir_mode ::
Mode for newly created directories. Default: +0755+.
:file_mode ::
Mode for newly created files. Default: +0755+ or +0644+.
:file_open_flags ::
Mode for opening files. Default: <code>IO::CREAT | IO::TRUNC | IO::WRONLY</code>.
:notify_flags ::
A single symbol or an array of symbols representing the cases in which the +:notify+
callback should be invoked. Possible values are:
:none ::
Do not invoke the +:notify+ callback (default).
:conflict ::
Invoke the callback for conflicting paths.
:dirty ::
Invoke the callback for "dirty" files, i.e. those that do not need an update but
no longer match the baseline.
:updated ::
Invoke the callback for any file that was changed.
:untracked ::
Invoke the callback for untracked files.
:ignored ::
Invoke the callback for ignored files.
:all ::
Invoke the callback for all these cases.
:paths ::
A glob string or an array of glob strings specifying which paths should be taken
into account for the checkout operation. +nil+ will match all files.
Default: +nil+.
:baseline ::
A Rugged::Tree that represents the current, expected contents of the workdir.
Default: +HEAD+.
:target_directory ::
A path to an alternative workdir directory in which the checkout should be performed.Edit
git clone [email protected]:sonic-pi-net/sonic-pi.git
cd sonic-pi
open app/server/ruby/vendor/rugged-1.7.1/ext/rugged/rugged_repo.c
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Rugged--Repository-checkout_tree-for-pr
# Commit to gitgit add app/server/ruby/vendor/rugged-1.7.1/ext/rugged/rugged_repo.cgit commit -m "better docs for Rugged::Repository#checkout_tree"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-Rugged--Repository-checkout_tree-for-pr
hub pull-request
# Celebrate!