On a world where the popular way is to adopt Linux and Git I still would select Solaris and Mercurial as more specific and powerful alternatives.
Solaris 11.3 GA offers Mercurial 3.4 (still straight through from Selenic Consulting) while Solaris 11 Express offered the even older ancient version 1.3.1. Of course, that's crazy for the present time as they both can be considered relics! So I set to instate an upgraded version all by myself instead of waiting or relying on the official distribution of Solaris, which understandably is not strongly focused on this particular matter.
My goal is to achieve the following even under a legacy Solaris 11 Express 32-bits!
$ hg --version
Mercurial Distributed SCM (version 4.6)
(see https://mercurial-scm.org for more information)
Copyright (C) 2005-2018 Matt Mackall and others
This is free software; see the source for copying conditions.
There is NO warranty; not even for ... A PARTICULAR PURPOSE. (Wow!)
As usual, I begin by downloading the source-code tarball from the official web site and, once more, I perform the basic building strategy and general assumptions already detailed on one of my previous posts: Staged Building.
Personal notes and recipes, views and opinions.
If it must run, it runs on Solaris!
Showing posts with label RCS. Show all posts
Showing posts with label RCS. Show all posts
Thursday, May 31, 2018
Wednesday, May 30, 2018
Installing Docutils 0.14
I've recently built and installed Python version 2.7.15 on Solaris 11 Express. Soon after I was trying to install the latest version of Mercurial (4.6 at the time of this writing), but on the last moments I've got to know the required dependency on Docutils, a Python utility which positions itself as:
"Docutils is an open-source text processing system for processing plaintext documentation into useful formats, such as HTML, LaTeX, man-pages, open-document or XML. It includes reStructuredText, the easy to read, easy to use, what-you-see-is-what-you-get plaintext markup language."People seem to prefer, for obvious reasons I presume, the acronym ReST instead of the very long name ReStructuredText and I've visited the ReST Primer in order to know a little something about it and, well, OK, thank you. Anyway:
"This primer introduces the most common features of reStructuredText, but there are a lot more to explore. The Quick reStructuredText user reference is a good place to go next. For complete details, the reStructuredText Markup Specification is the place to go [1]."To install it:
Friday, April 4, 2014
Mercurial sample #1
There are excellent and comprehensive Mercurial references out there.
Nevertheless, it may be instructive to share my own learning process.
As an example I will take the NIS maps' source files directory tree:
This directory tree will turn into a Mercurial repository on the NIS master.
Of course, this repository will be central and sysadmins will have their own.
This will help organize the shared management by several sysadmins.
The first concern is with the directory tree permissions.
The trouble is to share the directory tree with all sysadmins.
Giving root (sudo) access to sysadmins is a security problem.
Creating a group for the sysadmins may hit system limits.
The natural solution in Solaris is to share a role.
So, adjust the directory tree owner and group:
(the mode was already set according to NIS maps' source files)
nis-1# chown -R nis:nis /var/share/nis
nis-1# ls -lh /var/nis/*
total ...
-rw-r----- 1 nis nis ... aliases
-rw-r----- 1 nis nis ... auto_home
-rw-r----- 1 nis nis ... auto_master
-rw-r----- 1 nis nis ... ethers
-rw-r----- 1 nis nis ... group
-rw-r----- 1 nis nis ... hosts
lrwxrwxrwx 1 root root ... ipnodes -> hosts
-rw-r----- 1 nis nis ... netgroup
-rw-r----- 1 nis nis ... netid
-rw-r----- 1 nis nis ... netmasks
-rw-r----- 1 nis nis ... networks
-rw-r----- 1 nis nis ... project
-rw-r----- 1 nis nis ... protocols
-rw-r----- 1 nis nis ... publickey
-rw-r----- 1 nis nis ... rpc
-rw-r----- 1 nis nis ... services
-r--r----- 1 nis nis ... sudoers
-rw-r----- 1 nis nis ... user_attr
/var/nis/acct:
total ...
-rw-r----- 1 nis nis ... passwd
-r-------- 1 nis nis ... shadow
/var/nis/rbac:
total ...
-rw-r----- 1 nis nis ... auth_attr
-rw-r----- 1 nis nis ... exec_attr
-rw-r----- 1 nis nis ... prof_attr
Log in as a user who has been granted the above role:
$ su - nis
Password:
Oracle Corporation SunOS 5.11 11.1 December 2013
$ who am i
user2 pts/1 ...
Go to the NIS sources directory and do some adjustment:
$ cd /var/nis
$ rm ipnodes
$ ln -s hosts ipnodes
Create the Mercurial repository and minimal configuration file:
$ hg init
$ hg root
/var/share/nis
$ cat ~/.hgrc
[ui]
username = NIS role
Create a baseline (the initial snapshot or changeset):
$ hg status
? acct/passwd
? acct/shadow
? aliases
? auto_home
? auto_master
? ethers
? group
? hosts
? ipnodes
? netgroup
? netid
? netmasks
? networks
? project
? protocols
? publickey
? rbac/auth_attr
? rbac/exec_attr
? rbac/prof_attr
? rpc
? services
? sudoers
? user_attr
$ hg add
adding acct/passwd
adding acct/shadow
adding aliases
adding auto_home
adding auto_master
adding ethers
adding group
adding hosts
adding ipnodes
adding netgroup
adding netid
adding netmasks
adding networks
adding project
adding protocols
adding publickey
adding rbac/auth_attr
adding rbac/exec_attr
adding rbac/prof_attr
adding rpc
adding services
adding sudoers
adding user_attr
$ hg status
A acct/passwd
A acct/shadow
A aliases
A auto_home
A auto_master
A ethers
A group
A hosts
A ipnodes
A netgroup
A netid
A netmasks
A networks
A project
A protocols
A publickey
A rbac/auth_attr
A rbac/exec_attr
A rbac/prof_attr
A rpc
A services
A sudoers
A user_attr
$ hg commit -m "Baseline"
$ hg summary
parent: 0:79f1ad4f096b tip
Baseline
branch: default
commit: (clean)
update: (current)
$ hg tip
changeset: 0:79f1ad4f096b
tag: tip
user: NIS role
date: Wed Apr 09 15:10:24 2014 -0300
summary: Baseline
Nevertheless, it may be instructive to share my own learning process.
As an example I will take the NIS maps' source files directory tree:
├── acct
│ ├── passwd
│ └── shadow
├── aliases
├── auto_home
├── auto_master
├── ethers
├── group
├── hosts
├── ipnodes -> hosts
├── netgroup
├── netid
├── netmasks
├── networks
├── project
├── protocols
├── publickey
├── rbac
│ ├── auth_attr
│ ├── exec_attr
│ └── prof_attr
├── rpc
├── services
├── sudoers
└── user_attr
This directory tree will turn into a Mercurial repository on the NIS master.
Of course, this repository will be central and sysadmins will have their own.
This will help organize the shared management by several sysadmins.
The first concern is with the directory tree permissions.
The trouble is to share the directory tree with all sysadmins.
Giving root (sudo) access to sysadmins is a security problem.
Creating a group for the sysadmins may hit system limits.
The natural solution in Solaris is to share a role.
So, adjust the directory tree owner and group:
(the mode was already set according to NIS maps' source files)
nis-1# chown -R nis:nis /var/share/nis
nis-1# ls -lh /var/nis/*
total ...
-rw-r----- 1 nis nis ... aliases
-rw-r----- 1 nis nis ... auto_home
-rw-r----- 1 nis nis ... auto_master
-rw-r----- 1 nis nis ... ethers
-rw-r----- 1 nis nis ... group
-rw-r----- 1 nis nis ... hosts
lrwxrwxrwx 1 root root ... ipnodes -> hosts
-rw-r----- 1 nis nis ... netgroup
-rw-r----- 1 nis nis ... netid
-rw-r----- 1 nis nis ... netmasks
-rw-r----- 1 nis nis ... networks
-rw-r----- 1 nis nis ... project
-rw-r----- 1 nis nis ... protocols
-rw-r----- 1 nis nis ... publickey
-rw-r----- 1 nis nis ... rpc
-rw-r----- 1 nis nis ... services
-r--r----- 1 nis nis ... sudoers
-rw-r----- 1 nis nis ... user_attr
/var/nis/acct:
total ...
-rw-r----- 1 nis nis ... passwd
-r-------- 1 nis nis ... shadow
/var/nis/rbac:
total ...
-rw-r----- 1 nis nis ... auth_attr
-rw-r----- 1 nis nis ... exec_attr
-rw-r----- 1 nis nis ... prof_attr
Log in as a user who has been granted the above role:
$ su - nis
Password:
Oracle Corporation SunOS 5.11 11.1 December 2013
$ who am i
user2 pts/1 ...
Go to the NIS sources directory and do some adjustment:
$ cd /var/nis
$ rm ipnodes
$ ln -s hosts ipnodes
Create the Mercurial repository and minimal configuration file:
$ hg init
$ hg root
/var/share/nis
$ cat ~/.hgrc
[ui]
username = NIS role
Create a baseline (the initial snapshot or changeset):
$ hg status
? acct/passwd
? acct/shadow
? aliases
? auto_home
? auto_master
? ethers
? group
? hosts
? ipnodes
? netgroup
? netid
? netmasks
? networks
? project
? protocols
? publickey
? rbac/auth_attr
? rbac/exec_attr
? rbac/prof_attr
? rpc
? services
? sudoers
? user_attr
$ hg add
adding acct/passwd
adding acct/shadow
adding aliases
adding auto_home
adding auto_master
adding ethers
adding group
adding hosts
adding ipnodes
adding netgroup
adding netid
adding netmasks
adding networks
adding project
adding protocols
adding publickey
adding rbac/auth_attr
adding rbac/exec_attr
adding rbac/prof_attr
adding rpc
adding services
adding sudoers
adding user_attr
$ hg status
A acct/passwd
A acct/shadow
A aliases
A auto_home
A auto_master
A ethers
A group
A hosts
A ipnodes
A netgroup
A netid
A netmasks
A networks
A project
A protocols
A publickey
A rbac/auth_attr
A rbac/exec_attr
A rbac/prof_attr
A rpc
A services
A sudoers
A user_attr
$ hg commit -m "Baseline"
$ hg summary
parent: 0:79f1ad4f096b tip
Baseline
branch: default
commit: (clean)
update: (current)
$ hg tip
changeset: 0:79f1ad4f096b
tag: tip
user: NIS role
date: Wed Apr 09 15:10:24 2014 -0300
summary: Baseline
Thursday, April 3, 2014
Mercurial's complementary tools
On Mercurial installation I've mentioned how Solaris Studio 12.3 integrates it.
Now I'd like to mention a few other tools that also go with Mercurial:
Use pkg info -r to check both them on the IPS repository.
To install, it suffices to emit the respective pkg install commands.
Name: editor/vim
Summary: Vi IMproved
Description: Vim is a clone of the Unix editor 'vi'.
It is a modal text editor with support for
syntax highlighting, ...
Category: Development/Editors (org.opensolaris.category.2008)
System/Text Tools (org.opensolaris.category.2008)
State: Installed
Publisher: solaris
Version: 7.3.600
Build Release: 5.11
Branch: 0.175.1.1.0.2.0
Packaging Date: October 23, 2012 05:15:31 PM
Size: 21.63 MB
FMRI: pkg://solaris/editor/vim@7.3.600,...
$ pkg info -r meld
Name: developer/meld
Summary: meld - graphical diff and merge tool
Description: Meld is a visual diff and merge tool.
You can compare two or three files and
edit them in place (diffs update dynamically).
You can compare two or three folders and
launch file comparisons.
You can browse and view a working copy
from popular version control systems
such such as CVS, Subversion, Bazaar-ng
and Mercurial.
Category: Applications/System Utilities
State: Installed
Publisher: solaris
Version: 1.4.0
Build Release: 5.11
Branch: 0.175.1.0.0.24.0
Packaging Date: September 4, 2012 05:16:52 PM
Size: 1.25 MB
FMRI: pkg://solaris/developer/meld@1.4.0,...
It's pretty much cosmetic but here's how they respectively look like:
Now I'd like to mention a few other tools that also go with Mercurial:
- vim (for syntax highlighting or patch files)
- meld (for a visual diff and merge tool)
- emacs (IPS package gnu-emacs)
Use pkg info -r to check both them on the IPS repository.
To install, it suffices to emit the respective pkg install commands.
Name: editor/vim
Summary: Vi IMproved
Description: Vim is a clone of the Unix editor 'vi'.
It is a modal text editor with support for
syntax highlighting, ...
Category: Development/Editors (org.opensolaris.category.2008)
System/Text Tools (org.opensolaris.category.2008)
State: Installed
Publisher: solaris
Version: 7.3.600
Build Release: 5.11
Branch: 0.175.1.1.0.2.0
Packaging Date: October 23, 2012 05:15:31 PM
Size: 21.63 MB
FMRI: pkg://solaris/editor/vim@7.3.600,...
$ pkg info -r meld
Name: developer/meld
Summary: meld - graphical diff and merge tool
Description: Meld is a visual diff and merge tool.
You can compare two or three files and
edit them in place (diffs update dynamically).
You can compare two or three folders and
launch file comparisons.
You can browse and view a working copy
from popular version control systems
such such as CVS, Subversion, Bazaar-ng
and Mercurial.
Category: Applications/System Utilities
State: Installed
Publisher: solaris
Version: 1.4.0
Build Release: 5.11
Branch: 0.175.1.0.0.24.0
Packaging Date: September 4, 2012 05:16:52 PM
Size: 1.25 MB
FMRI: pkg://solaris/developer/meld@1.4.0,...
It's pretty much cosmetic but here's how they respectively look like:
Wednesday, April 2, 2014
Back from 2014 vacation
Well, after two months, one of which dedicated to my vacation, I'm back.
Not that anyone cares, of course, but just to make sure I'll carry on.
Having this couple of months away was of great benefit to me.
On the other side, there's a backlog I intend to attack:
Not that everything will flow quickly and soon, after wall, every honest accomplishment almost always require hard work and I'm glad this is the path I've been always looking for.
Not that anyone cares, of course, but just to make sure I'll carry on.
Having this couple of months away was of great benefit to me.
On the other side, there's a backlog I intend to attack:
- A refined version of a 1st specialized C++ memory pool
- Advanced C++ smart pointers
- Further posts about Mercurial installation
- Further posts about DNS installation
- Further posts about SMF
Not that everything will flow quickly and soon, after wall, every honest accomplishment almost always require hard work and I'm glad this is the path I've been always looking for.
Wednesday, January 22, 2014
Mercurial help
After Mercurial installation one may need to browse some help.
But, above all, it's paramount to read:
The CLI consists on a long list of hg subcommands:
# hg -v help
Mercurial Distributed SCM
list of commands:
add:
add the specified files on the next commit
addremove:
add all new files, delete all missing files
annotate, blame:
show changeset information by line for each file
archive:
create an unversioned archive of a repository revision
backout:
reverse effect of earlier changeset
bisect:
subdivision search of changesets
bookmarks:
track a line of development with movable markers
branch:
set or show the current branch name
branches:
list repository named branches
bundle:
create a changegroup file
cat:
output the current or given revision of files
clone:
make a copy of an existing repository
commit, ci:
commit the specified files or all outstanding changes
copy, cp:
mark files as copied for the next commit
diff:
diff repository (or selected files)
export:
dump the header and diffs for one or more changesets
forget:
forget the specified files on the next commit
graft:
copy changes from other branches onto the current branch
grep:
search for a pattern in specified files and revisions
heads:
show current repository heads or show branch heads
help:
show help for a given topic or a help overview
identify, id:
identify the working copy or specified revision
import, patch:
import an ordered set of patches
incoming, in:
show new changesets found in source
init:
create a new repository in the given directory
locate:
locate files matching specific patterns
log, history:
show revision history of entire repository or files
manifest:
output the current or given revision of the project manifest
merge:
merge working directory with another revision
outgoing, out:
show changesets not found in the destination
parents:
show the parents of the working directory or revision
paths:
show aliases for remote repositories
phase:
set or show the current phase name
pull:
pull changes from the specified source
push:
push changes to the specified destination
recover:
roll back an interrupted transaction
remove, rm:
remove the specified files on the next commit
rename, move, mv:
rename files; equivalent of copy + remove
resolve:
redo merges or set/view the merge status of files
revert:
restore files to their checkout state
rollback:
roll back the last transaction (dangerous)
root:
print the root (top) of the current working directory
serve:
start stand-alone webserver
showconfig, debugconfig:
show combined config settings from all hgrc files
status, st:
show changed files in the working directory
summary, sum:
summarize working directory state
tag:
add one or more tags for the current or given revision
tags:
list repository tags
tip:
show the tip revision
unbundle:
apply one or more changegroup files
update, up, checkout, co:
update working directory (or switch revisions)
verify:
verify the integrity of the repository
version:
output version and copyright information
additional help topics:
config Configuration Files
dates Date Formats
diffs Diff Formats
environment Environment Variables
extensions Using Additional Features
filesets Specifying File Sets
glossary Glossary
hgignore Syntax for Mercurial Ignore Files
hgweb Configuring hgweb
merge-tools Merge Tools
multirevs Specifying Multiple Revisions
patterns File Name Patterns
phases Working with Phases
revisions Specifying Single Revisions
revsets Specifying Revision Sets
subrepos Subrepositories
templating Template Usage
urls URL Paths
global options:
-R --repository REPO repository root directory or
name of overlay bundle file
--cwd DIR change working directory
-y --noninteractive do not prompt, automatically
pick the first choice for
all prompts
-q --quiet suppress output
-v --verbose enable additional output
--config CONFIG [+] set/override config option
(use 'section.name=value')
--debug enable debugging output
--debugger start debugger
--encoding ENCODE set the charset encoding
(default: UTF-8)
--encodingmode MODE set the charset encoding mode
(default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
--version output version information and exit
-h --help display help and exit
[+] marked option can be specified multiple times
Of course man pages are available at HG(1).
For instance:
$ man hg
Mercurial Manual HG(1)
NAME
hg - Mercurial source code management system
SYNOPSIS
hg command [option]... [argument]...
DESCRIPTION
The hg command provides a command line
interface to the Mercurial system.
COMMAND ELEMENTS
...
OPTIONS
...
In addition there's a quick and cool HTTP option.
All that's required is to create an empty repository and start the server.
# cd /var/tmp
# hg init sample
# hg serve -d -p 8000 -R sample -A /tmp/access -E /tmp/error
Assume that the previous commands were given at the mercurial host.
Just point a web browser to http://mercurial:8000/help to get started.
The access log will immediately starting tracking activity.
# cat /tmp/access
192.168.0.100 ... "GET /help HTTP/1.1" 200 -
192.168.0.100 ... "GET /static/mercurial.js HTTP/1.1" 304 -
192.168.0.100 ... "GET /static/style-paper.css HTTP/1.1" 304 -
192.168.0.100 ... "GET /static/hgicon.png HTTP/1.1" 304 -
192.168.0.100 ... "GET /static/hglogo.png HTTP/1.1" 304 -
To stop the web server:
# pgrep -f 'hg serve -d -p 8000'
16737
# pkill -f 'hg serve -d -p 8000'
But, above all, it's paramount to read:
- Mercurial: The Definitive Guide (HTML)
- Mercurial: The Definitive Guide (Documentation)
The CLI consists on a long list of hg subcommands:
# hg -v help
Mercurial Distributed SCM
list of commands:
add:
add the specified files on the next commit
addremove:
add all new files, delete all missing files
annotate, blame:
show changeset information by line for each file
archive:
create an unversioned archive of a repository revision
backout:
reverse effect of earlier changeset
bisect:
subdivision search of changesets
bookmarks:
track a line of development with movable markers
branch:
set or show the current branch name
branches:
list repository named branches
bundle:
create a changegroup file
cat:
output the current or given revision of files
clone:
make a copy of an existing repository
commit, ci:
commit the specified files or all outstanding changes
copy, cp:
mark files as copied for the next commit
diff:
diff repository (or selected files)
export:
dump the header and diffs for one or more changesets
forget:
forget the specified files on the next commit
graft:
copy changes from other branches onto the current branch
grep:
search for a pattern in specified files and revisions
heads:
show current repository heads or show branch heads
help:
show help for a given topic or a help overview
identify, id:
identify the working copy or specified revision
import, patch:
import an ordered set of patches
incoming, in:
show new changesets found in source
init:
create a new repository in the given directory
locate:
locate files matching specific patterns
log, history:
show revision history of entire repository or files
manifest:
output the current or given revision of the project manifest
merge:
merge working directory with another revision
outgoing, out:
show changesets not found in the destination
parents:
show the parents of the working directory or revision
paths:
show aliases for remote repositories
phase:
set or show the current phase name
pull:
pull changes from the specified source
push:
push changes to the specified destination
recover:
roll back an interrupted transaction
remove, rm:
remove the specified files on the next commit
rename, move, mv:
rename files; equivalent of copy + remove
resolve:
redo merges or set/view the merge status of files
revert:
restore files to their checkout state
rollback:
roll back the last transaction (dangerous)
root:
print the root (top) of the current working directory
serve:
start stand-alone webserver
showconfig, debugconfig:
show combined config settings from all hgrc files
status, st:
show changed files in the working directory
summary, sum:
summarize working directory state
tag:
add one or more tags for the current or given revision
tags:
list repository tags
tip:
show the tip revision
unbundle:
apply one or more changegroup files
update, up, checkout, co:
update working directory (or switch revisions)
verify:
verify the integrity of the repository
version:
output version and copyright information
additional help topics:
config Configuration Files
dates Date Formats
diffs Diff Formats
environment Environment Variables
extensions Using Additional Features
filesets Specifying File Sets
glossary Glossary
hgignore Syntax for Mercurial Ignore Files
hgweb Configuring hgweb
merge-tools Merge Tools
multirevs Specifying Multiple Revisions
patterns File Name Patterns
phases Working with Phases
revisions Specifying Single Revisions
revsets Specifying Revision Sets
subrepos Subrepositories
templating Template Usage
urls URL Paths
global options:
-R --repository REPO repository root directory or
name of overlay bundle file
--cwd DIR change working directory
-y --noninteractive do not prompt, automatically
pick the first choice for
all prompts
-q --quiet suppress output
-v --verbose enable additional output
--config CONFIG [+] set/override config option
(use 'section.name=value')
--debug enable debugging output
--debugger start debugger
--encoding ENCODE set the charset encoding
(default: UTF-8)
--encodingmode MODE set the charset encoding mode
(default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
--version output version information and exit
-h --help display help and exit
[+] marked option can be specified multiple times
Of course man pages are available at HG(1).
For instance:
$ man hg
Mercurial Manual HG(1)
NAME
hg - Mercurial source code management system
SYNOPSIS
hg command [option]... [argument]...
DESCRIPTION
The hg command provides a command line
interface to the Mercurial system.
COMMAND ELEMENTS
...
OPTIONS
...
In addition there's a quick and cool HTTP option.
All that's required is to create an empty repository and start the server.
# cd /var/tmp
# hg init sample
# hg serve -d -p 8000 -R sample -A /tmp/access -E /tmp/error
Assume that the previous commands were given at the mercurial host.
Just point a web browser to http://mercurial:8000/help to get started.
The access log will immediately starting tracking activity.
# cat /tmp/access
192.168.0.100 ... "GET /help HTTP/1.1" 200 -
192.168.0.100 ... "GET /static/mercurial.js HTTP/1.1" 304 -
192.168.0.100 ... "GET /static/style-paper.css HTTP/1.1" 304 -
192.168.0.100 ... "GET /static/hgicon.png HTTP/1.1" 304 -
192.168.0.100 ... "GET /static/hglogo.png HTTP/1.1" 304 -
To stop the web server:
# pgrep -f 'hg serve -d -p 8000'
16737
# pkill -f 'hg serve -d -p 8000'
Tuesday, January 21, 2014
Mercurial installation
Mercurial is a Revision Control System.
Its CLI isn't installed by default.
$ pkg info -r mercurial
Name: developer/versioning/mercurial
Summary: The Mercurial Source Control Management System
Description: A fast, lightweight source control ...
Category: Development/Source Code Management
State: Not installed
Publisher: solaris
Version: 2.2.1
Build Release: 5.11
Branch: 0.175.1.0.0.24.0
Packaging Date: September 4, 2012 05:17:40 PM
Size: 713.77 kB
FMRI: pkg://...
Solaris Studio 12.3 comes "half-way" configured for Mercurial.
This is verified by accessing the Tools | Plugins menu.
Any attempt to use the Team menu gives the following diagnostic:
To remedy both issues it's necessary to install the required IPS package.
The installation is rather simple.
# pkg install mercurial
Packages to install: 2
Create boot environment: No
Create backup boot environment: No
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 2/2 531/531 2.7/2.7 813k/s
PHASE ITEMS
Installing new actions 599/599
Updating package state database Done
Updating image state Done
Creating fast lookup database Done
# hg --version
Mercurial Distributed SCM (version 2.2.1)
(see http://mercurial.selenic.com for more information)
Copyright (C) 2005-2012 Matt Mackall and others
This is free software; ...
There is NO warranty; ...
As an alternative, you may try to "externally" install from the source:
https://www.mercurial-scm.org/downloads
If going to use it under Solaris Studio 12.3, then restart the IDE.
For remote use, install it on both endpoints.
It may be worthy checking help options as a quick reference.
But Mercurial: The Definitive Guide by Bryan O'Sullivan is the book:
I've also found a few introductory videos by Brian Will quite worthwhile:
I would also recommend the following:
Its CLI isn't installed by default.
$ pkg info -r mercurial
Name: developer/versioning/mercurial
Summary: The Mercurial Source Control Management System
Description: A fast, lightweight source control ...
Category: Development/Source Code Management
State: Not installed
Publisher: solaris
Version: 2.2.1
Build Release: 5.11
Branch: 0.175.1.0.0.24.0
Packaging Date: September 4, 2012 05:17:40 PM
Size: 713.77 kB
FMRI: pkg://...
Solaris Studio 12.3 comes "half-way" configured for Mercurial.
This is verified by accessing the Tools | Plugins menu.
Any attempt to use the Team menu gives the following diagnostic:
To remedy both issues it's necessary to install the required IPS package.
The installation is rather simple.
# pkg install mercurial
Packages to install: 2
Create boot environment: No
Create backup boot environment: No
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 2/2 531/531 2.7/2.7 813k/s
PHASE ITEMS
Installing new actions 599/599
Updating package state database Done
Updating image state Done
Creating fast lookup database Done
# hg --version
Mercurial Distributed SCM (version 2.2.1)
(see http://mercurial.selenic.com for more information)
Copyright (C) 2005-2012 Matt Mackall and others
This is free software; ...
There is NO warranty; ...
As an alternative, you may try to "externally" install from the source:
https://www.mercurial-scm.org/downloads
If going to use it under Solaris Studio 12.3, then restart the IDE.
For remote use, install it on both endpoints.
It may be worthy checking help options as a quick reference.
But Mercurial: The Definitive Guide by Bryan O'Sullivan is the book:
- Mercurial: The Definitive Guide (HTML)
- Mercurial: The Definitive Guide (Documentation)
I've also found a few introductory videos by Brian Will quite worthwhile:
- Version Control with Mercurial (part 1 of 5)
- Version Control with Mercurial (part 2 of 5)
- Version Control with Mercurial (part 3 of 5)
- Version Control with Mercurial (part 4 of 5)
- Version Control with Mercurial (part 5 of 5)
I would also recommend the following:
Friday, January 17, 2014
Revision Control System
A Revision Control System (RCS) is at a premium.
Information and complexity are ever growing problems.
A single person can generate and use tons of information a day.
The need to manage changes is absolutely intrinsic to evolution.
Fortunately, there are tools to help with the challenge.
The two most traditional and famous tools are:
There are others as well, such as:
Fortunately, both Solaris 11 and Oracle Solaris Studio support Mercurial.
Actually, they support the more traditional CVS and SVN too.
I have started with Mercurial by listening to others' experience.
Then I've managed to learn a little more from a main reference:
Most think that a Revision Control System (RCS) is just developers.
System administrators usually don't take it to their own advantage.
Traditionally, this results on a nightmare of multiple copies of a file.
Even with a strict change management discipline errors can happen.
ZFS snapshots certainly help, but they aren't fine grained enough.
Perhaps one difficulty is the burden to cope with such a tool.
But the great news is that Mercurial is quite simple and effective.
A Revision Control System (RCS) is also know as a:
Information and complexity are ever growing problems.
A single person can generate and use tons of information a day.
The need to manage changes is absolutely intrinsic to evolution.
Fortunately, there are tools to help with the challenge.
The two most traditional and famous tools are:
There are others as well, such as:
Fortunately, both Solaris 11 and Oracle Solaris Studio support Mercurial.
Actually, they support the more traditional CVS and SVN too.
I have started with Mercurial by listening to others' experience.
Then I've managed to learn a little more from a main reference:
Mercurial: The Definitive Guide
By Bryan O'Sullivan
Version Control with Mercurial
By Brian Will
Most think that a Revision Control System (RCS) is just developers.
System administrators usually don't take it to their own advantage.
Traditionally, this results on a nightmare of multiple copies of a file.
Even with a strict change management discipline errors can happen.
ZFS snapshots certainly help, but they aren't fine grained enough.
Perhaps one difficulty is the burden to cope with such a tool.
But the great news is that Mercurial is quite simple and effective.
A Revision Control System (RCS) is also know as a:
- Source/Software Configuration/Control Management (SCM)
- Version Control System (VCS)
Subscribe to:
Posts (Atom)




