Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/feross/git-pull-or-clone
Ensure a git repo exists on disk and that it's up-to-date
https://github.com/feross/git-pull-or-clone
clone git javascript nodejs pull repository
Last synced: 21 days ago
JSON representation
Ensure a git repo exists on disk and that it's up-to-date
- Host: GitHub
- URL: https://github.com/feross/git-pull-or-clone
- Owner: feross
- License: mit
- Created: 2017-04-28T01:30:20.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-29T12:25:57.000Z (over 1 year ago)
- Last Synced: 2024-10-10T09:43:15.518Z (28 days ago)
- Topics: clone, git, javascript, nodejs, pull, repository
- Language: JavaScript
- Size: 37.1 KB
- Stars: 52
- Watchers: 5
- Forks: 12
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# git-pull-or-clone [![ci][ci-image]][ci-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url]
[ci-image]: https://img.shields.io/github/workflow/status/feross/git-pull-or-clone/ci/master
[ci-url]: https://github.com/feross/git-pull-or-clone/actions
[npm-image]: https://img.shields.io/npm/v/git-pull-or-clone.svg
[npm-url]: https://npmjs.org/package/git-pull-or-clone
[downloads-image]: https://img.shields.io/npm/dm/git-pull-or-clone.svg
[downloads-url]: https://npmjs.org/package/git-pull-or-clone### Ensure a git repo exists on disk and that it's up-to-date
## Install
```
npm install git-pull-or-clone
```## Usage
```js
const gitPullOrClone = require('git-pull-or-clone')gitPullOrClone('[email protected]:feross/standard.git', '/path/to/destination', (err) => {
if (err) throw err
console.log('SUCCESS!')
})
```## API
### `gitPullOrClone(url, outPath[, options], callback)`
Ensure a git repo exists on disk and that it's up-to-date.
Clones the git repo specified by `url` to the path `outPath`. If the repo already exists on disk,
then a pull is performed to update the repo instead.The git repo is shallowly cloned by default. To make a complete clone, set `options.depth` to `Infinity`. If the git repo was previously cloned shallowly, it remains shallow.
When the operation is finished, `callback` is called. The first argument to `callback` is either
`null` or an `Error` object if an error occurred.## License
MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).