cvsknit (cvs-knit)
Powered by

FAQ [back to top]

General / Auto Knitting CVS Enhancement / Hand Knitting

What is cvsknit? ^

CvsKnit is a CVS automation suite to knit up
various CVS Repositories from existing source

This maybe useful if... This is a sub-project of minix-up project.

Where can I see a demo (via WWW)? ^

You can download test repositories here:

And you can check via WWW here:

Please explain "with their original release dates". ^

Cvsknit allows modifying each package's commit date (commit-date modification). This feature adds important information when the packages were released.

For example: (NOTE: These test repositories are now disappeared.)

STLtest03 (no modification)

STLtest04 (commit-date modification into each release dates)

Please explain "You'll need a VM or a destructable machine for a safety time trip.". ^

Cvsknit now implements commit-date modification by modifying the pc's system date. So you may need Virtual Machine or a destructable macine because your pc may explore several era at several times and this kind of trick will confuse your proper system X-)


Where's the general usage?^


   ck|cvsknit [options] command [command-options-and-arguments]

   -h    Show grobal help or command help
   -v    Show version and copyright notice
   -q    Quick and Quiet
   --cvs|--specialcmd 'cmd'
         Change special-command  name  instead of 'cvs'
   --CVS|--specialdir 'dir'
         Change special-directory name instead of 'CVS'


   auto    Knit it up automatically
   init    Create CVSROOT and modules in one line
           'cvsroot' Create individual CVSROOT and modules
           'cvsmod'  Create modules in specified repository   
   verify  Verify the checkout tree functionality
           'dir'   if they all are just directories and have
                   correct permission for you
           'cvs'   if they all have 'CVS' directories and
                   'CVS/{[Rr]oot|[Rr]epository|[Ee]ntries}' files
           'local' if their CVSROOT are ':local:' or not
   clean   Keep the checkout tree clean
           (default)     Remove files except CVS special ones
           '--hide'      Hide   CVS special files
           '--unhide'    Unhide CVS special files
           '--disinfect' Disinfect CVS file injection
                         (Remove CVS special files except
                          hidden ones, then '--rmdir')
           '--rmdir'     Remove empty CVS directries
           '--delete'    Delete directories if they are just
                         CVS directories.
   update  Cast 'cvs add / cvs remove' recursively
   log     Create 'cvs up' log, and transition log
           'cvsu|cvsuplog'      Logging "cvs up" log
           'transd|transdetect' Detect file transition by file name
   time    Modify the system date before commit
           'get'   Shows date
           'set'   Tweak the system date into date
           'reset' Reset the system date via NTP
   yarn    CVS Tag dying and feeding
           'dye'     Modify and validate string as a CVS tag
           'tagcast' Cast / Delete multiple tag with shorter log
           'commit'  Commit with shorter log
           'swing'   Swing to the specific branch, tag, or revision
   admin   Cast administrative effects
           'bin|binary' Change attributes as binary files
           'asc|ascii'  Change attributes as text files
   case    Run user-defined script for each case
      (Query) 'package' / 'branch' / 'tag' / 'time'
      (Phase) 'init' / loop 'pre' / 'clean' / 'extract' /
              'modify' / 'update' / 'analysis' / 'commit' /
              loop 'post' / 'close'

How to knit an CVS Repository? ^
  Please check our tutorial.

How to remove files in this checkout tree recursively?^

    $ ck clean .

How to remove "CVS" special directories recursively?^

    $ ck clean --disinf .

How to "cvs add" new ones / "cvs remove" removed ones recursively?^

    $ ck update .

    NOTE: All files are added with '-kb'(binary) by default.

How to log the changes before commit?^

    $ ck log cvsuplog
    $ less CVSUPLOG.txt

How to make file moving sure before commit?^

    $ ck log cvsuplog
    $ ck log transd
    $ rm -f CVSUPLOG.txt

How to add binary and ascii files as suffixes says.^

	  $ ck_update -I "*.html" -I "*.txt" .
	  $ ck_update --ascii .

	  $ ck_update .
	  $ ck_admin --entries null html/*.html text/*.txt

	  $ ck_update --dir .
	  $ cvs add html/*.html text/*.txt
	  $ cvs add -kb images/*.gif images/*.jpg
	  $ cvs rm
	  $ cvs -nq up  # Check




Copyright (C) 2002-2003 minix-up project. All rights reserverd.