The content of this blog is my personal opinion only. Although I am an employee - currently of Nvidia, in the past of other companies such as Iagination Technologies, MIPS, Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Friday, March 09, 2018

Idea?: symlinks to reorganized content marked, aged, and deprecated

I am reorganizing a number of my directory trees (actually, moving Windows "stuff" out of a Cygwin repo to make it easier to use when I have not installed Cygwin).

As I am doing this, I am (often) leaving symlinks in the old location pointing to the new.

The problem with such symlinks is that the filesystem never gets clean.  Not until you actually delete the symlinks.  But then you may not be able to find old references.

Version control .... yeah, but who wants to go through VC logs.

IDEA:  mark such "legacy symlinks".  Hide them by default.   When code tries to follow such a symlink, return an error - but a special error, that a suitable UI could provide meaningful info about.

Something like HTTP status codes

  • 3xx Redirection
    • 301 Moved Permanently
    • 308 Permanent Redirect
But we can do better:

Instead of returning an error and expecting the user to understand, we might allow the user to set configuration options that 
  • ? automatically follow such redirects ?
    • with a verbose warning
    • only if valid as of time T
    • only if not conflicting with current redefinitions of the name.

Essentially providing some sort of version control functionality.

And encouraging true cleanups, while still keeping the "find out where it went functionality".

No comments: