diff options
author | Dave Reisner <dreisner@archlinux.org> | 2014-07-31 11:40:58 -0400 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2014-07-31 11:40:58 -0400 |
commit | 0e2dbae33a788c92e1bcb3b4883d5be7ce2281be (patch) | |
tree | 579b2a0de0231abd53e87343ffd1633e08f67ee5 | |
parent | 2b7f3111546b0e6c364d23bcb15269f2b5dcf1a1 (diff) | |
download | asp32-0e2dbae33a788c92e1bcb3b4883d5be7ce2281be.tar.xz |
add 'untrack' verb
-rw-r--r-- | asp.in | 12 | ||||
-rw-r--r-- | man/asp.1.txt | 5 | ||||
-rw-r--r-- | remote.inc.sh | 6 |
3 files changed, 23 insertions, 0 deletions
@@ -63,6 +63,7 @@ Commands: log NAME Show revision history shortlog NAME Show revision history in short form update [NAME...] Update packages (update all tracked if none specified) + untrack NAME... Remove a package from the local repository EOF } @@ -156,6 +157,14 @@ gc() { git gc } +untrack() { + local pkgname=$1 remote + + package_init -n "$pkgname" remote || return 1 + + remote_untrack "$remote" "$pkgname" +} + disk_usage() { local usage read usage _ < <(du -sh "$ASPROOT/objects") @@ -235,6 +244,9 @@ case $action in gc) gc ;; + untrack) + map untrack "$@" + ;; help) usage exit 0 diff --git a/man/asp.1.txt b/man/asp.1.txt index 3a90780..f94fe8c 100644 --- a/man/asp.1.txt +++ b/man/asp.1.txt @@ -67,6 +67,11 @@ The following commands are understood: to the newest version. If no targets are provided, all locally known packages will be updated. +*untrack*:: + Remove a remote tracking branch from the local repository. Disk usage for + the removed package(s) may not be freed until garbage collection has taken + place. + Options ------- *-a* 'architecture':: diff --git a/remote.inc.sh b/remote.inc.sh index b125419..d2521bb 100644 --- a/remote.inc.sh +++ b/remote.inc.sh @@ -48,3 +48,9 @@ remote_get_url() { git ls-remote --get-url "$remote" } + +remote_untrack() { + local remote=$1 pkgname=$2 + + git branch -dr "$remote/packages/$pkgname" +} |