Symlink-safe rename?

Janek Kozicki janek_listy at wp.pl
Fri Nov 14 17:46:25 UTC 2008


Hi,

I'm a happy mc user since 1996. After many years my $HOME becomes a
bit messy and I'd like to clean up a bit and organize my files. The
problem is that I didn't abstain from using symlinks.

Now if I will re-organize my files all the symlinks will become
dangling. And If I will change my personal stuff's directory
structure it will be a major problem for me.

A solution is quite simple - scan whole $HOME (or a configurable set
of directories) for symlinks and remember them in memory. Then
everytime when a rename/move is performed scan this list and update
appropriate symlinks.

I started by adding an option for that in src/option.c

I see that I will need to probably modify src/file.c:move_dir_dir()
and move_file_file() (and what else to modify?)

Questions:

1. where in the code should I store a std::list of scanned symlinks?

2. where in the code should I fill that list with contents (scanning the $HOME dir)?

3. would you accept a patch like that _if_ I happen to write it?

4. is anybody going to help me a bit more with this idea?

5. why on debian I have mc 4.6.2-pre1 while on
http://www.ibiblio.org/mc/ there's only mention of 4.6.1 ?

my best regards

-- 
Janek Kozicki                                                         |



More information about the mc-devel mailing list