scmbreeze / scm_breeze

Adds numbered shortcuts to the output git status, and much more
https://madebynathan.com/2011/10/19/git-shortcuts-like-youve-never-seen-before/
MIT License
2.82k stars 192 forks source link

ll $e# incorrectly points to target of a symlink #275

Open HaleTom opened 5 years ago

HaleTom commented 5 years ago

This would be dangerous in the case where one expects to be deleting the symlink, but deletes the actual file.

% ll
-rw-r--r-- 1 ravi ravi 0 Aug 31 21:52 [1]  a b
-rw-r--r-- 1 ravi ravi 0 Sep  1 12:04 [2]  a & b
-rw-r--r-- 1 ravi ravi 0 Sep  2 16:40 [3]  bacspace
-rw-r--r-- 1 ravi ravi 0 Sep  1 13:41 [4]  double"
-rw-r--r-- 1 ravi ravi 0 Sep 14 17:15 [5]  file
-rw-r--r-- 1 ravi ravi 0 Sep  1 13:42 [6]  normal
-rw-r--r-- 1 ravi ravi 0 Sep  1 13:41 [7]  single'
lrwxrwxrwx 1 ravi ravi 4 Sep 14 18:09 [8]  symlink -> file
-rw-r--r-- 1 ravi ravi 0 Sep  1 13:40 [9]  $dollar
% echo $e8
/home/ravi/code/scm_breeze/tmp/file
%
ghthor commented 5 years ago

Ok. I've just confirmed this is coming from the ll $e# env variables, but not the gs $e# variables which makes sense.

$ ll
lrwxr-xr-x  1 wdrengwitz  staff   14 Oct 18 10:00 [1]  link -> scripts/target
$ echo $e2
/Users/wdrengwitz/src/shrc/scripts/target
$ gs
# On branch: master  |  [*] => $e*
#
➤ Untracked files
#
#      untracked: [1] link 
#      untracked: [2] scripts/target 
#
$ echo "$e11"
/Users/wdrengwitz/src/shrc/link