Friday, October 20, 2006

Off Topic :: GNU Arch (TLA) Commands Quick Reference

User identification

$ tla my-id  "John Doe <user@aol.com>"
$ tla my-id # to print currently set id

Create Archive

$ mkdir  ~/{archives}
$ tla make-archive user@aol.com--2006-quickref ~/{archives}/2006-quickref

Find Archives

$ tla archives                    # to print all available archives
$ tla whereis-archive user@aol.com--2006-quickref

Default Archive

$ tla  my-default-archive  user@aol.com--2006-quickref
$ tla my-default-archive # to print it
$ tla my-default-archive -d # to delete the preference

Provisioning Archive Space

$ tla archive-setup hello-world--mainline--1.0
$ tla categories # prints hello-world
$ tla branches hello-world # prints hello-world--mainline
$ tla versions hello-world--mainline # prints hello-world--mainline--1.0

Initializing before Import

$ cd ~/wd/hello-world
$ tla init-tree hello-world--mainline--1.0
$ tla tree-root # prints /home/jdoe/wd/hello-world
$ tla tree-version # prints user@aol.com--2006-quickref/hello-world--mainline--1.0
$ tla log-versions # prints user@aol.com--2006-quickref/hello-world--mainline--1.0
$ tla set-tree-version [new-version-name]
$ tla add-log-version [new-log-name]
$ tla remove-log-version [existing-log-name]

Checking Inventory

$ tla inventory --names --source  # to see what arch classifies as sources
$ tla inventory --source --ids # to see ids given by arch to sources
$ tla inventory --names --backups # to see what arch classifies as backups
$ tla inventory --junk | xargs rm # remove all what arch think is junk

Adding/Removing Files

$ tla add hw.c main.c
$ tla delete hw.c
$ mv hw.c hello.c
$ tla move hw.c hello.c
$ tla tree-lint # to see if all clean, tla won't import/ci from unclean directory

Import (Initial check in)

$ tla make-log                    # create log file and print its name
$ vim `tla make-log` # edit log in vim
$ tla import # copy working copy into archive
$ tla revisions hello-world--mainline--1.0 # prints base-0
$ tla revisions --summary --creator --date hello-world--mainline--1.0
$ tla log-revisions
$ tla logs hello-world--mainline--0.1 # prints base-0
$ tla logs --summary --creator --date hello-world--mainline--1.0
$ tla cat-log hello-world--mainline--1.0--base-0

Committing Changes

$ tla changes --diffs             # or (in tla 1.3) just "tla diff"
$ tla make-log # create log, required
$ tla commit # do it, creates patch-1
$ tla commit -s "Summary" -L "Log Message" # commit with log auto generated
$ tla revisions --summary hello-world--mainline--1.0 # last revision info
$ tla logs --summary hello-world--mainline--1.0 # last log entry info

Checking Out

$ tla my-default-archive          # check where is default archive is
$ tla whereis-archive user@aol.com--2006-example # display local/net path
$ tla categories # lists available project in default archive "hello-world"
$ tla branches hello-world # lists available branches of the project "*--mainline"
$ tla versions hello-world--mainline # lists available version of the branch "*--0.1"
$ tla revisions hello-world--mainline--0.1 # lists available revisions base-0 & patch-1
$ tla get hello-world--mainline--0.1 hello-world # check out most recent revision of into "hello-world" directory, or
$ tla get hello-world--mainline--0.1--base-0 hello-world # check out specific revision
$ ls # should list "hello-world"

Update (Replay)

$ tla undo              # back off local changes
$ tla replay # get latest patches from repository
$ tla redo # reapply local changes
$ tla update # all of three steps above with one command.

Networked Archives

$ tla register-archive lord@emf.net--2003b          
http://regexps.srparish.net/{archives}/lord@emf.net--2003b # HTTP, R/O
$ tla register-archive lord@regexps.com--2002
ftp://ftp.regexps.com/{archives}/lord@regexps.com--2002 # FTP, R/W
$ tla register-archive user@aol.com--2006
sftp://random.homeunix.org/home/jdoe/{archives}/2006-quickref # SFTP, R/W
$ tla my-default-archive [archive-name] # and the rest is just like described above

Mirroring (Locally) Network Archives

$ tla register-archive lord@emf.net--2003b-SOURCE $remote_location   # once
$ tla make-archive --mirror-from lord@emf.net--2003b-SOURCE $local_location # once
$ tla archive-mirror lord@emf.net--2003b # repeat to pull latest changes

Mirroring (Remotely) Local Archives

$ tla make-archive --mirror mine@somewhere.com $remote_location      # once
$ tla archive-mirror mine@somewhere.com # repeat to push latest changes

P.S. Made after this tutorial.

1 comment:

Anonymous said...

Рекомендую посетить сайт [url=http://theloveland.ru/]theloveland.ru[/url] Сайт входит в объединенный сервис знакомств, колоссально знаменитый в России , странах СНГ и Европе. Заходите, регистрируйтесь - здесь вас ожидают приятные знакомства, романтические встречи и настоящая дружба!!!