alarmz / boar

Automatically exported from code.google.com/p/boar
0 stars 0 forks source link

Boar should support symbolic links #35

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I primarily use boar in a windows 7 environment, however the lack of support 
for tracking symlinks/junctions makes it very difficult to use as a "backup" 
solution.

The issue I have is that by not at least storing metadata about the existence 
of junctions in the bloblist, information about the directory structure you are 
ostensibly checking in is irrevocably lost.

You want to know that your data is safe when using any version control system. 
Symlinks and junctions *are* important. They're usually there for a reason, and 
if they're missing, things can break in nonobvious ways. By not having any 
means to at least track or log their existence, boar is losing potentially 
important data. When restoring a session that included symlinks or junctions 
the user will not have any indication what files are missing or any place to 
look for hints about recreating them.

Even if boar doesn't allow you to recreate them fully (due to filesystem  or 
permissions issues) perhaps simply providing a hint/placeholder file or 
including an entry in the bloblist with symlink and reparse point (name -> 
target) information would allow the user to recreate these structures on 
whatever filesystem they are using with a fairly trivial script using mklink or 
ln (or what have you).

Also, does boar store information about empty directories? Again, this comes 
down to the issue of "losing" information. I realize boar is aimed at story 
binary data, but as a practical matter the directory structures (ie the 
"where") in which blobs are stored matters. Even if a directory is empty, the 
name or location of a directory can be provide important information that is 
otherwise irrevocably lost if not stored somehow. 

Philosophically, I feel backup and especially archival tools should err on the 
side of caution when it comes to being able to faithfully restore the data they 
are entrusted with. If a user has a file in a directory the safest assumption 
is because they want it there and as such any VCS that deals with files should 
provide a mechanism for restoring or at least capturing information about it.

Any thoughts on this (even simply having an entry in the bloblist about 
directories and symlinks/junctions)?

Original issue reported on code.google.com by cryptob...@gmail.com on 19 Dec 2011 at 5:46

GoogleCodeExporter commented 9 years ago
story = storing, can be provide = can provide ... (grumble grumble, typos, 
grumble grumble)

Original comment by cryptob...@gmail.com on 19 Dec 2011 at 7:17

GoogleCodeExporter commented 9 years ago
I'm accepting the symbolic links, but empty directories will not be supported. 
Although it'd be nice to have, it's more trouble than it's worth. There is a 
high risk for introducing bugs during all the special case handling.

Original comment by ekb...@gmail.com on 29 Feb 2012 at 12:49