Symlink as an Organizational Tool

At most jobs you have many repositories. I like to clone them under ~/work. But, sometimes you have tasks that need to be performed only on repositories that your team owns. There are many ways to route a packet, but I settled on using symlinks and directories.

I created a directory ~/team and added symlinks for my team repos to the repo. So, the team directory looked something like this:

team/core -> ../work/core
team/users -> ../work/users
team/payments -> ../work/payments

During my job search I have been putting perspective job notes into files. Then I realized I needed a quick way to know what jobs were still active. So, I created a ./current directory and added symlinks to the note files there.

current/meta -> ../meta.txt
current/apple -> ../apple.txt
current/37signals -> ../37signals.txt

Why is this nicer than some other organizational method? I like the way it allows quick access to a specific thing like a repo directory or a file. I don't need to think about a format because the format is the file system. In Ruby terms, it is kind of like a hash stored in a variable. The variable is the directory name and the value is the destination of the symlink.