diff --git a/vcsh b/vcsh
index 8ca079a05fc232786ce6afaaac444a31c6590725..b0ffb64c3eee3e132be31ea945be20552308f7d9 100755
--- a/vcsh
+++ b/vcsh
@@ -110,17 +110,21 @@ list() {
 	done
 }
 
-#get_files() {
-#	return $(git ls-files)
-#}
-#
-#list_tracked_all() {
-#	use
-#	for repo in $(list); do
-#		files="$files $(get_files $repo)"
-#	done
-#	echo $files | sort -u
-#}
+get_files() {
+	export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git"
+	git ls-files
+}
+
+list_tracked() {
+	for VCSH_REPO_NAME in $(list); do
+		get_files
+	done | sort -u
+}
+
+list_tracked_by() {
+	use
+	git ls-files | sort -u
+}
 
 rename() {
 	git_dir_exists
@@ -187,7 +191,7 @@ if [ "$1" = 'clone' ]; then
 elif [ "$1" = 'delete' ] ||
      [ "$1" = 'enter' ] ||
      [ "$1" = 'init' ] ||
-     [ "$1" = 'list-tracked-all' ] ||
+     [ "$1" = 'list-tracked-by' ] ||
      [ "$1" = 'rename' ] ||
      [ "$1" = 'run' ] ||
      [ "$1" = 'seed-gitignore' ] ||
@@ -201,7 +205,8 @@ elif [ "$1" = 'delete' ] ||
 	[ "$VCSH_COMMAND" = 'rename' ]         && export GIT_DIR_NEW="$VCSH_BASE/$3.git"
 	[ "$VCSH_COMMAND" = 'run' ] && shift 2 && export VCSH_EXTERNAL_COMMAND="$*"
 	[ "$VCSH_COMMAND" = 'seed-gitignore' ]
-elif [ "$1" = 'list' ]; then
+elif [ "$1" = 'list' ] ||
+     [ "$1" = 'list-tracked' ]; then
 	export VCSH_COMMAND="$1"
 elif [ -n "$1" ]; then
 	export VCSH_COMMAND=run