mirror of
https://github.com/danog/gift.git
synced 2024-11-30 04:19:37 +01:00
Merge pull request #84 from asgoth/feature/checkout-pass-options
Pass options to checkout command
This commit is contained in:
commit
576e8d04f4
@ -193,9 +193,16 @@ Commit some changes.
|
|||||||
### `Repo#remove(files, callback)`
|
### `Repo#remove(files, callback)`
|
||||||
`git rm <files>`
|
`git rm <files>`
|
||||||
|
|
||||||
### `Repo#checkout(treeish, callback)`
|
### `Repo#checkout(treeish, [options], callback)`
|
||||||
`git checkout <treeish>`
|
`git checkout <treeish>`
|
||||||
|
|
||||||
|
Checkout a branch/commit/...
|
||||||
|
|
||||||
|
* `treeish` - Branch or treeish to checkout.
|
||||||
|
* `options` -
|
||||||
|
- `b` - `Boolean` to create a new branch
|
||||||
|
* `callback` - Receives `(err)`.
|
||||||
|
|
||||||
### `Repo#checkoutFile([files, options, ]callback)`
|
### `Repo#checkoutFile([files, options, ]callback)`
|
||||||
Checkout some files.
|
Checkout some files.
|
||||||
|
|
||||||
|
@ -365,8 +365,13 @@ module.exports = class Repo
|
|||||||
|
|
||||||
|
|
||||||
# Public: Checkout the treeish.
|
# Public: Checkout the treeish.
|
||||||
checkout: (treeish, callback) ->
|
#
|
||||||
@git "checkout", {}, treeish, callback
|
# options - The {Object} containing any of the options available to git checkout:
|
||||||
|
# :b - {Boolean) Creates a branch when it doesn't exist yet.
|
||||||
|
#
|
||||||
|
checkout: (treeish, options, callback) ->
|
||||||
|
[options, callback] = [{}, options] if !callback
|
||||||
|
@git "checkout", options, treeish, callback
|
||||||
|
|
||||||
# Public: Clean the git repo by removing untracked files
|
# Public: Clean the git repo by removing untracked files
|
||||||
#
|
#
|
||||||
|
@ -676,6 +676,51 @@ describe "Repo", ->
|
|||||||
status.files.should.not.have.a.property file
|
status.files.should.not.have.a.property file
|
||||||
status.files.should.not.have.a.property 'rawr.txt'
|
status.files.should.not.have.a.property 'rawr.txt'
|
||||||
|
|
||||||
|
describe "#checkout", ->
|
||||||
|
repo = null
|
||||||
|
head = null
|
||||||
|
git_dir = __dirname + "/fixtures/junk_checkout"
|
||||||
|
|
||||||
|
# given a fresh new repo
|
||||||
|
beforeEach (done) ->
|
||||||
|
fs.remove git_dir, (err) ->
|
||||||
|
return done err if err
|
||||||
|
fs.copy "#{__dirname}/fixtures/reset", "#{git_dir}", (err) ->
|
||||||
|
return done err if err
|
||||||
|
fs.rename "#{git_dir}/git.git", "#{git_dir}/.git", (err) ->
|
||||||
|
git.init git_dir, (err) ->
|
||||||
|
return done err if err
|
||||||
|
repo = git git_dir
|
||||||
|
done()
|
||||||
|
|
||||||
|
after (done) ->
|
||||||
|
fs.remove git_dir, (err) ->
|
||||||
|
done err
|
||||||
|
|
||||||
|
describe "an existing branch", ->
|
||||||
|
beforeEach (done) ->
|
||||||
|
repo.checkout "feature/foo", {b: true}, (err) ->
|
||||||
|
return done err if err?
|
||||||
|
repo.checkout "master", (err) ->
|
||||||
|
return done err if err?
|
||||||
|
repo.branch (err, _head) ->
|
||||||
|
head = _head
|
||||||
|
done err
|
||||||
|
|
||||||
|
it "should succeed", ->
|
||||||
|
head.name.should.equal "master"
|
||||||
|
|
||||||
|
describe "and create new branch", ->
|
||||||
|
beforeEach (done) ->
|
||||||
|
repo.checkout "feature/foo", {b: true}, (err) ->
|
||||||
|
return done err if err?
|
||||||
|
repo.branch (err, _head) ->
|
||||||
|
head = _head
|
||||||
|
done err
|
||||||
|
|
||||||
|
it "should succeed", ->
|
||||||
|
head.name.should.equal "feature/foo"
|
||||||
|
|
||||||
describe "#checkoutFile", ->
|
describe "#checkoutFile", ->
|
||||||
repo = null
|
repo = null
|
||||||
git_dir = __dirname + "/fixtures/junk_checkoutFile"
|
git_dir = __dirname + "/fixtures/junk_checkoutFile"
|
||||||
|
Loading…
Reference in New Issue
Block a user