vizion

Git/Subversion/Mercurial repository metadata parser

Apache-2.0 32 个版本
安装
npm install vizion
yarn add vizion
pnpm add vizion
bun add vizion
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'
   * }
   *
   */
});
版本列表
2.2.1 2021-01-29
2.2.0 2020-04-13
2.1.1 2020-04-12
2.1.0 2020-04-12
2.0.2 2018-07-20
2.0.1 2018-07-09
2.0.0 2018-03-26
1.0.0-beta1 2017-03-15
0.2.13 2016-07-13
0.2.12 2015-11-05
0.2.11 2015-06-23
0.2.10 2015-06-22
0.2.9 2015-06-05
0.2.8 2015-05-20
0.2.7 2015-04-24
0.2.6 2015-04-16
0.2.5 2015-04-09
0.2.4 2015-04-07
0.2.3 2015-01-05
0.2.2 2014-11-21
0.2.1 2014-11-17
0.2.0 2014-11-14
0.1.9 2014-11-14
0.1.8 2014-11-07
0.1.7 2014-11-04
0.1.6 2014-11-04
0.1.5 2014-11-04
0.1.4 2014-10-30
0.1.3 2014-10-30
0.1.2 2014-10-29
0.1.1 2014-10-29
0.1.0 2014-10-28