dep-add | 2 +- lib.zsh.rc | 4 +--- recfile-export | 5 ++++- show | 5 ++++- tag-add | 4 +++- diff --git a/dep-add b/dep-add index 819a4667252484362b1d15a1c511e039ec048b74d5263937e80329867a8281bc..4e3c7a072a9057ae778ec33518efeb2fc054a515957ea98fa30b692f3fc3aa84 100755 --- a/dep-add +++ b/dep-add @@ -17,5 +17,5 @@ dst=$dst:a 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 diff --git a/lib.zsh.rc b/lib.zsh.rc index fcb1cd385fd6cb823a2ed8791e66450182193ece9ac08151d5a0df98ab85a19f..e4b582ba06148b347ba523054814dfef7be95e9386502ddffd3670f6198dc170 100644 --- a/lib.zsh.rc +++ b/lib.zsh.rc @@ -10,9 +10,7 @@ } [[ -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' diff --git a/recfile-export b/recfile-export index 429c17774407a68055e2b55b1eb7b9115b6e25eee9c135a5acee4607241a25d9..2d5f07083e660529eec731158cd7a871165ad41865b7d0491cb7570da36edf6d 100755 --- a/recfile-export +++ b/recfile-export @@ -9,7 +9,10 @@ print Issue: $issue 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: diff --git a/show b/show index b58f03ba54a788f19d1ae0c6ce71bc60c9113fb2fcc3294b45248413143aa98e..e405bdec3cfcd9475fa6d89d5bc20b47417454bf4f9cbd57f10d195c1fa85715 100755 --- a/show +++ b/show @@ -11,7 +11,10 @@ deps=(issues/$issue/deps/*(N)) [[ ${#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 diff --git a/tag-add b/tag-add index 60d144d731080c1d9cdb7334ebf6263dd179bb9e6b143fff4c4b020348344120..e6bf85d0f847f776a8431c6a89714808918676fe1d3fac06ab3522d72a364f55 100755 --- a/tag-add +++ b/tag-add @@ -15,6 +15,8 @@ tag=tags/$tag:t 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 }