src=$src:a
mkdir -p $dst/deps
cd $dst/deps
-ln -f -s `relpath $src .`
+ln -f -s `relative $src:h`/$src:t
git add $src:t
[[ -d issues ]] || die You must run that command in directory with issues/
-relpath() {
- $PERL -mFile::Spec -le "print File::Spec->abs2rel(@ARGV)" $1:a $2:a
-}
+autoload -Uz relative
endash() {
$PERL -npe 's/(-+)/$1-/g ; s/ /-/g'
print Project: $issue:h
print Name: `print $issue:t | dedash`
for tag (`$root/tag-list $issue`) print Tag: $tag
-for dep (issues/$issue/deps/*(N)) print Depends: $(relpath $(realpath $dep) issues)
+for dep (issues/$issue/deps/*(N)) {
+ _dep=$(relative $(realpath $dep))
+ print Depends: ${_dep#issues/}
+}
print About:
sed "s/^/+ /" < issues/$issue/about
print Result:
[[ ${#deps} -eq 0 ]] || {
delim
print Depends on:
- for dep ($deps) print "\t"$(relpath $(realpath $dep) issues)
+ for dep ($deps) {
+ _dep=$(relative $(realpath $dep))
+ print "\t"${_dep#issues/}
+ }
}
delim
cat issues/$issue/about
tag=$tag:a
[[ -r $tag ]] || die Unknown tag
mkdir -p issues/$issue/tags
- ln -f -s `relpath $tag issues/$issue/tags` issues/$issue/tags/$tag:t
+ ln -f -s \
+ `cd issues/$issue/tags ; relative $tag:h`/$tag:t \
+ issues/$issue/tags/$tag:t
git add issues/$issue/tags/$tag:t
}