R: Apply stash

stash_apply {git2r} | R Documentation

## Apply stash

### Description

Apply a single stashed state from the stash list.

### Usage

    stash_apply(object = ".", index = 1)

### Arguments

`object` | path to a repository, or a `git_repository` object, or the stash `object` to pop. Default is a `path = '.'` to a reposiory.
`index` | The index to the stash to apply. Only used when `object` is a path to a repository or a `git_repository` object. Default is `index = 1`.

### Details

If local changes in the working directory conflict with changes in the stash then an error will be raised. In this case, the index will always remain unmodified and all files in the working directory will remain unmodified. However, if you are restoring untracked files or ignored files and there is a conflict when applying the modified files, then those files will remain in the working directory.

### Value

invisible NULL

### Examples

    ## Not run:
    ## Initialize a temporary repository
    path <- tempfile(pattern="git2r-")
    dir.create(path)
    repo <- init(path)

    # Configure a user
    config(repo, user.name="Alice", user.email="alice@example.org")

    # Create a file, add and commit
    writeLines("Hello world!", file.path(path, "test.txt"))
    add(repo, 'test.txt')
    commit(repo, "Commit message")

    # Change file
    writeLines(c("Hello world!", "HELLO WORLD!"), file.path(path, "test.txt"))

    # Create stash in repository
    stash(repo)

    # Change file
    writeLines(c("Hello world!", "HeLlO wOrLd!"), file.path(path, "test.txt"))

    # Create stash in repository
    stash(repo)

    # View stashes
    stash_list(repo)

    # Read file
    readLines(file.path(path, "test.txt"))

    # Apply latest git_stash object in repository
    stash_apply(stash_list(repo)[[1]])

    # Read file
    readLines(file.path(path, "test.txt"))

    # View stashes
    stash_list(repo)

    ## End(Not run)

[Package git2r version 0.25.1 Index]