Skip to content
Snippets Groups Projects
Commit b85b4978 authored by Richard Hartmann's avatar Richard Hartmann
Browse files

Merge branch 'debian' into debian-squeeze

Conflicts:
	debian/changelog
	debian/control
parents cec5c3d5 f40284ae
No related branches found
No related tags found
No related merge requests found
PREFIX=/usr
manpages=vcsh.1
self=vcsh
manpages=$(self).1
all=test manpages
all: $(all)
install: all
install -d $(DESTDIR)$(PREFIX)/bin
install -m 0755 vcsh $(DESTDIR)$(PREFIX)/bin
install -m 0755 $(self) $(DESTDIR)$(PREFIX)/bin
install -d $(DESTDIR)$(PREFIX)/share/man/man1
install -m 0644 $(manpages) $(DESTDIR)$(PREFIX)/share/man/man1
install -d $(DESTDIR)$(PREFIX)/share/doc/vcsh
install -m 0644 README.md $(DESTDIR)$(PREFIX)/share/doc/vcsh
install -m 0644 doc/hooks $(DESTDIR)$(PREFIX)/share/doc/vcsh
install -d $(DESTDIR)$(PREFIX)/share/doc/$(self)
install -m 0644 README.md $(DESTDIR)$(PREFIX)/share/doc/$(self)
install -m 0644 doc/hooks $(DESTDIR)$(PREFIX)/share/doc/$(self)
install -d $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions
install -m 0644 _vcsh $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions
install -m 0644 _$(self) $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions
manpages: $(manpages)
vcsh.1: doc/vcsh.1.ronn
ronn < doc/vcsh.1.ronn > vcsh.1
$(self).1: doc/$(self).1.ronn
ronn < doc/$(self).1.ronn > $(self).1
clean:
rm -rf vcsh.1
rm -rf $(self).1
uninstall:
rm -rf $(DESTDIR)$(PREFIX)/bin/vcsh
rm -rf $(DESTDIR)$(PREFIX)/share/man/man1/vcsh.1
rm -rf $(DESTDIR)$(PREFIX)/share/doc/vcsh
rm -rf $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions/_vcsh
rm -rf $(DESTDIR)$(PREFIX)/bin/$(self)
rm -rf $(DESTDIR)$(PREFIX)/share/man/man1/$(self).1
rm -rf $(DESTDIR)$(PREFIX)/share/doc/$(self)
rm -rf $(DESTDIR)$(PREFIX)/share/zsh/vendor-completions/_$(self)
# Potentially harmful, used a non-standard option on purpose.
# If PREFIX=/usr/local and that's empty...
......
......@@ -15,7 +15,7 @@ community around the general idea of version controlling your (digital) life.
* IRC: #vcs-home on irc.oftc.net
* Mailing list: vcs-home@lists.madduck.net
* Mailing list: http://lists.madduck.net/listinfo/vcs-home
* Pull requests or issues on https://github.com/RichiH/vcsh
......@@ -98,7 +98,7 @@ To illustrate, this is what a possible directory structure looks like.
### available.d ###
The files you see in $XDG_CONFIG_HOME/mr/available.d are mr configuration files
The files you see in $XDG\_CONFIG\_HOME/mr/available.d are mr configuration files
that contain the commands to manage (checkout, update etc.) a single
repository. vcsh repo configs end in .vcsh, git configs end in .git, etc. This
is optional and your preference. For example, this is what a zsh.vcsh
......@@ -116,7 +116,7 @@ this repository and fork your own.
### config.d ###
$XDG_CONFIG_HOME/mr/available.d contains *all available* repositories. Only
$XDG\_CONFIG\_HOME/mr/available.d contains *all available* repositories. Only
files/links present in mr/config.d, however, will be used by mr. That means
that in this example, only the zsh, gitconfigs, tmux and vim repositories will
be checked out. A simple `mr update` run in $HOME will clone or update those
......@@ -130,11 +130,13 @@ this:
[DEFAULT]
jobs = 5
include = cat $XDG_CONFIG_HOME/mr/config.d/*
# Use if your mr does not have vcsh support in mainline, yet
include = cat /usr/share/mr/vcsh
include = cat ${XDG_CONFIG_HOME:-$HOME/.config}/mr/config.d/*
### repo.d ###
$XDG_CONFIG_HOME/vcsh/repo.d is the directory where all git repositories which
$XDG\_CONFIG\_HOME/vcsh/repo.d is the directory where all git repositories which
are under vcsh's control are located. Since their working trees are configured
to be in $HOME, the files contained in those repositories will be put in $HOME
directly.
......@@ -185,10 +187,10 @@ Make sure none of the following files and directories exist for your test
* ~/.gitignore.d
* ~/.mrconfig
* $XDG_CONFIG_HOME/mr/available.d/mr.vcsh
* $XDG_CONFIG_HOME/mr/available.d/zsh.vcsh
* $XDG_CONFIG_HOME/mr/config.d/mr.vcsh
* $XDG_CONFIG_HOME/vcsh/repo.d/mr.git/
* $XDG\_CONFIG\_HOME/mr/available.d/mr.vcsh
* $XDG\_CONFIG\_HOME/mr/available.d/zsh.vcsh
* $XDG\_CONFIG\_HOME/mr/config.d/mr.vcsh
* $XDG\_CONFIG\_HOME/vcsh/repo.d/mr.git/
All of the files are part of the template repository, the directory is where
the template will be stored.
......
2012-02-27 Richard Hartmann <richih.mailinglist@gmail.com>
* Refactor Makefile
* Fix license information in manpage
2012-02-15 Richard Hartmann <richih.mailinglist@gmail.com>
* Introduce `vcsh which`
* hooks will tell you when they are being executed
* Formatting & resilience improvements
* We have a changelog, now! (yay)
2012-02-03 Richard Hartmann <richih.mailinglist@gmail.com>
* Improve documentation
* More resilient error handling
* Add AUTHORS
2012-01-16 Richard Hartmann <richih.mailinglist@gmail.com>
* Introduce hook support
2011-12-27 Richard Hartmann <richih.mailinglist@gmail.com>
* Improve documentation
2011-12-26 Richard Hartmann <richih.mailinglist@gmail.com>
* Introduce and use .config/vcsh/config
* More verbose error handling
* Introduce `vcsh {list-tracked,list-tracked-by}`
* Introduce repo shortcuts (`vcsh zsh commit`)
* Rename `vcsh seed-gitignore` to `vcsh write-gitignore`
* Add license information
2011-11-29 Richard Hartmann <richih.mailinglist@gmail.com>
* Bugfixes
* Refactor error handling
* Make code more resilient
* Make vcsh play nice with mr
* Introduce vcsh mv and setup
2011-11-23 Richard Hartmann <richih.mailinglist@gmail.com>
* Bugfixes
* Minor refactoring of code
2011-11-22 Richard Hartmann <richih.mailinglist@gmail.com>
* Bugfixes
2011-11-20 Richard Hartmann <richih.mailinglist@gmail.com>
* Major refactoring of code
* Rewrite help files
* Bugfixes
2011-11-19 Richard Hartmann <richih.mailinglist@gmail.com>
* Bugfixes
* Improve XDG compability
2011-11-18 Richard Hartmann <richih.mailinglist@gmail.com>
* Yet more documentation improvements
* Makefile
* Heed already-defined ENV variables within vcsh
* Handle .gitignore.d/$repo automagically
2011-11-11 Richard Hartmann <richih.mailinglist@gmail.com>
* Major rewrite of all help files
* Addition of manpage
2011-10-27 Richard Hartmann <richih.mailinglist@gmail.com>
* Bugfixes
* Make help more verbose
* Improve INSTALL
2011-10-18 Richard Hartmann <richih.mailinglist@gmail.com>
* Fixed bug in vcsh clone & init
2011-10-17 Richard Hartmann <richih.mailinglist@gmail.com>
* Initial release
vcsh (0.20120227-1) unstable; urgency=low
* New upstream release
+ Refactor Makefile
+ Fix license information in manpage
* Packaging changes
+ Bump Standards-Version to 3.9.3 (no changes)
-- Richard Hartmann <richih.mailinglist@gmail.com> Mon, 27 Feb 2012 22:38:24 +0100
vcsh (0.20120215-1) unstable; urgency=low
* New upstream release
* Introduce `vcsh which`
* hooks will tell you when they are being executed
* Formatting & resilience improvements
-- Richard Hartmann <richih.mailinglist@gmail.com> Wed, 15 Feb 2012 21:16:45 +0100
vcsh (0.20120203-1~bpo60+1) squeeze-backports; urgency=low
* Rebuild for squeeze-backports.
......
......@@ -2,7 +2,7 @@ Source: vcsh
Maintainer: Richard Hartmann <richih.mailinglist@gmail.com>
Section: misc
Priority: optional
Standards-Version: 3.9.2
Standards-Version: 3.9.3
Build-Depends: debhelper (>= 7), git
Vcs-Git: git://github.com/RichiH/vcsh.git
Vcs-Browser: https://github.com/RichiH/vcsh
......
Available hooks are:
pre-command
post-command
pre-enter
post-enter
pre-run
......
......@@ -25,6 +25,8 @@ vcsh(1) - manage config files in $HOME via fake bare git repositories
`vcsh` setup <repo>
`vcsh` which <substring>
`vcsh` write-gitignore <repo>
`vcsh` <repo> <gitcommand>
......@@ -98,11 +100,14 @@ an interactive user.
* setup:
Set up repository with recommended settings.
* which <substring>:
Find <substring> in name of any tracked file.
* write-gitignore:
Write .gitignore.d/<repo> via git ls-files.
* <repo> <gitcommand>:
Shortcut to run `vcsh` on a repo. Will prepend `git` to <command> by itself.
Shortcut to run `vcsh` on a repo. Will prepend `git` to <command>.
* <repo>:
Shortcut to run `vcsh enter <repo>`.
......@@ -175,7 +180,7 @@ This manpage and `vcsh` itself were written by Richard "RichiH" Hartmann.
Copyright 2011-2012 Richard Hartmann <richih.mailinglist@gmail.com>
Licensed under the GNU GPL version 3 or higher.
Licensed under the GNU GPL version 2 or higher.
https://github.com/RichiH/vcsh
......
......@@ -35,6 +35,7 @@ help() {
run <repo> \\
<command> Use this repository
setup Set up repository with recommended settings
which <substring> Find substring in name of any tracked file
write-gitignore \\
<repo> Write .gitignore.d/<repo> via git ls-files
......@@ -100,7 +101,7 @@ To continue, type 'Yes, do as I say'"
for file in $files; do
rm -f $file || info "could not delete '$file', continuing with deletion"
done
rmdir "$GIT_DIR" || error "could not delete '$GIT_DIR'"
rm -r "$GIT_DIR" || error "could not delete '$GIT_DIR'"
}
enter() {
......@@ -183,6 +184,14 @@ use() {
export VCSH_DIRECTORY="$VCSH_REPO_NAME"
}
which() {
for VCSH_REPO_NAME in $(list); do
for VCSH_FILE in $(get_files); do
echo $VCSH_FILE | grep -q "$VCSH_COMMAND_PARAMETER" && echo "$VCSH_REPO_NAME: $VCSH_FILE"
done
done | sort -u
}
write_gitignore() {
use
cd "$VCSH_BASE" || fatal "could not enter '$VCSH_BASE'" 11
......@@ -219,12 +228,17 @@ if [ ! "x$VCSH_GITIGNORE" = 'xexact' ] && [ ! "x$VCSH_GITIGNORE" = 'xrecursive'
fi
if [ "$1" = 'clone' ]; then
[ -z $2 ] && fatal "$1: please specify a remote" 1
[ -z "$2" ] && fatal "$1: please specify a remote" 1
export VCSH_COMMAND="$1"
GIT_REMOTE="$2"
[ -n "$3" ] && VCSH_REPO_NAME="$3" || VCSH_REPO_NAME=$(basename "$GIT_REMOTE" .git)
export VCSH_REPO_NAME
export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
elif [ "$1" = 'which' ]; then
[ -z "$2" ] && fatal "$1: please specify a filename" 1
[ -n "$3" ] && fatal "$1: too many parameters" 1
export VCSH_COMMAND="$1"
export VCSH_COMMAND_PARAMETER="$2"
elif [ "$1" = 'delete' ] ||
[ "$1" = 'enter' ] ||
[ "$1" = 'init' ] ||
......@@ -284,5 +298,7 @@ done
verbose "$VCSH_COMMAND begin"
export VCSH_COMMAND=$(echo $VCSH_COMMAND | sed 's/-/_/g')
hook pre-command
$VCSH_COMMAND
hook post-command
verbose "$VCSH_COMMAND end, exiting"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment