Comments (6)
For Medley: On a filesystem that doesn't support hard links at all, it reports a "File not found" error if creating the file would require hard linking a version. You can create a completely new file and it will create it as the unversioned name, but as soon as it would have to make links it fails. However, I think we'd get the desired effect if it renamed foo => foo.1 and wrote the new file as foo, then next rename would be foo => foo.2 and write foo again. You can experiment using a FAT formatted thumbdrive as your target -- it doesn't support hard links.
from medley.
I think you need to store the "intended" version number in metadata somewhere.
let's suppose i do a makefile(foo) 5 times in a session. It writes versions 1 through 5.
now i 'thin' and delete version 4. You don't want the unadorned FOO to be treated as version 4 now.
from medley.
This might be a separate issue but it's all tied up with DSK.c code -- how to emulate Interlisp versions with Git versioning.
Every time you write a file (even one opened in read-write mode?) it creates a new git checkin when you close the file.
The checkin has the version of the file as a tag.
files have as many versions as they have in GitHub. To convert a file name that uses the DSK method of filename.~version~
to the gitversioned method, convert the lowest version first (without
from medley.
@nbriggs notes
You've mentioned a couple of times that you wondered why Interlisp version numbers on Unix files weren't the same as Emacs versions, and today I happened to look at what Emacs does --
26.1.3 Making and Deleting Numbered Backup Files
If a file's name is foo, the names of its numbered backup versions arefoo.~v~
, for various integers v, like this:foo.~1~
,foo.~2~
,foo.~3~
, ...,foo.~259~
, and so on.so we're using the same format for file versions -- but what we're NOT doing like emacs is that we treat
foo
as equivalent tofoo.~1~
, while emacs treats the unversioned name as the "real" version, and.~1~
as the backup representing the old version.I suspect that originated in matching the IFS behavior where it wasn't an issue of numbered "backup" versions, but every file had a version number and if there was only one it was
.;1
-- Nick
The emacs method doesn't require a file system supporting hard links, or preserving them through folder sharing or git.
The DSK.c code seems to recover fine with it finds unlinked version.
. It isn’t a problem on read, but when you’re writing a new file it gives an error.
from medley.
looks like the CMLSMARTARGS in venuelispcore.zip had a similar problem with CMLSMARTARGS.~3~
a duplicate of CMLSMARTARGS.~2~
and CMLSMARTARGS.~4~
and CMLSMARTARGS (with no version) empty.
from medley.
Most of the discussion is about how Interlisp {DSK} works, and not about the subject title.
There was a github and versions back a while ago but I will mark this as Won't Fix.
from medley.
Related Issues (20)
- Add Guidestar rating to Donations page HOT 3
- Issue with defstruct in XCL HOT 6
- Loadup says SUCCESS when it actually failed HOT 5
- MAKEFILE of file with edited function includes 2nd copy of COMS, but modified! HOT 4
- Editing function from MASTERSCOPE show paths graph locks MOUSE process
- Build fails - can't find Maiko directory despite claiming to check the correct path HOT 6
- OPENSTREAM on XNS File Server (Dodo) no longer works (as of Nov 20, 2023) HOT 2
- Windows "native" installer fails with can't find program 'tar' HOT 2
- The charitable deduction page should list the EIN and pointers to the official web sites. HOT 7
- Question mark (?) command fails to find documentation for named argument HOT 3
- Hugo won't build the site on my Mac HOT 8
- TEDIT feature: Quiet variant of READONLY
- TEDIT: add meta-d for man page, meta-o for ED open HOT 2
- TEDIT BOUT should replace and not insert HOT 3
- Tedit prompt window messages: when should they be cleared? HOT 1
- <lspusers>MANAGER has call to FB.FASTSEE.ONEFILE whidh errors ARG NOT FILEBROWSER
- [maiko] odd mix of naming conventions, duplicate pointers
- Updating Organizational Partners on Interlisp.org HOT 1
- type treatment of NIL does not follow CLtL2
- LOOPS is not creating a New Class HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from medley.