Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

vizion

keymetrics6.1mApache-2.02.2.1

Git/Subversion/Mercurial repository metadata parser

git, svn, hg, subversion, mercurial, repository, parser, versioning, revision

readme

Repository parser

Git/Subversion/Mercurial repository metadata parser

[Build Status]

Example

var vizion = require('vizion');

/**
 * Grab metadata for svn/git/hg repositories
 */
vizion.analyze({
  folder : '/tmp/folder'
}, function(err, meta) {
  if (err) throw new Error(err);

  /**
   *
   * meta = {
   *   type        : 'git',
   *   ahead       : false,
   *   unstaged    : false,
   *   branch      : 'development',
   *   remotes     : [ 'http', 'http ssl', 'origin' ],
   *   remote      : 'origin',
   *   commment    : 'This is a comment',
   *   update_time : Tue Oct 28 2014 14:33:30 GMT+0100 (CET),
   *   url         : 'https://github.com/keymetrics/vizion.git',
   *   revision    : 'f0a1d45936cf7a3c969e4caba96546fd23255796',
   *   next_rev    : null,  // null if its latest in the branch
   *   prev_rev    : '6d6932dac9c82f8a29ff40c1d5300569c24aa2c8'
   * }
   *
   */
});

/**
 * Check if a local repository is up to date with its remote
 */
vizion.isUpToDate({
  folder : '/tmp/folder'
}, function(err, meta) {
  if (err) throw new Error(err);

  /**
   *
   * meta = {
   *   is_up_to_date    : false,
   *   new_revision     : '6d6932dac9c82f8a29ff40c1d5300569c24aa2c8'
   *   current_revision : 'f0a1d45936cf7a3c969e4caba96546fd23255796'
   * }
   *
   */
});

/**
 * Update the local repository to latest commit found on the remote for its current branch
 * - on fail it rollbacks to the latest commit
 */
vizion.update({
  folder : '/tmp/folder'
}, function(err, meta) {
  if (err) throw new Error(err);

  /**
   *
   * meta = {
   *   success           : true,
   *   current_revision  : '6d6932dac9c82f8a29ff40c1d5300569c24aa2c8'
   * }
   *
   */
});

/**
 * Revert to a specified commit
 * - Eg: this does a git reset --hard <commit_revision>
 */
vizion.revertTo({
  revision : 'f0a1d45936cf7a3c969e4caba96546fd23255796',
  folder   : '/tmp/folder'
}, function(err, data) {
  if (err) throw new Error(err);

  /**
   *
   * data = {
   *   success          : true,
   * }
   *
   */
});

/**
 * If a previous commit exists it checkouts on it
 */
vizion.prev({
  folder : '/tmp/folder'
}, function(err, meta) {
  if (err) throw new Error(err);

  /**
   *
   * meta = {
   *   success           : true,
   *   current_revision  : '6d6932dac9c82f8a29ff40c1d5300569c24aa2c8'
   * }
   *
   */
});

/**
 * If a more recent commit exists it checkouts on it
 */
vizion.next({
  folder : '/tmp/folder'
}, function(err, meta) {
  if (err) throw new Error(err);

  /**
   *
   * meta = {
   *   success           : false,
   *   current_revision  : '6d6932dac9c82f8a29ff40c1d5300569c24aa2c8'
   * }
   *
   */
});

changelog

2.2.0

  • remove lodash

2.1.1

  • upgrade lodash

2.1.0

2.0.2 ( Fri Jul 20 2018 10:26:40 GMT+0200 (CEST) )

Pull requests merged

  • Merge pull request #21 from medanat/master (f9150b5f)

2.0.1 ( Mon Jul 09 2018 17:48:24 GMT+0200 (CEST) )

Hot Fixes

  • return callback in case commit is null (bcbaeba9)

2.0.0 ( Mon Jul 09 2018 17:48:24 GMT+0200 (CEST) )

Bug Fixes

Refactor

  • refactor isUpdated (5f9b2fc5)
  • refactor tests + start refactoring git.js (18112787)
  • refactored some code for clarity purposes (10cf45cb)
  • refactoring code using now async (0c8dad10)

Test

Chore

  • update package version to 2.0.0 (1c712900)

Pull requests merged

  • Merge pull request #19 from keymetrics/refacto (70780da3)
  • Merge pull request #18 from dthdyver/master (4d96e6f2)
  • Merge pull request #14 from didil/master (3942cd8a)
  • Merge pull request #10 from keymetrics/cut_output (9242d3e4)
  • Merge pull request #9 from keymetrics/fix_local_branch (8ead4616)
  • Merge pull request #8 from keymetrics/git_timeout (073c9e52)
  • Merge pull request #5 from josser/master (aefcc36b)

0.2.12

  • Increase buffer size
  • Upgrade .travis.yml