Programmer's File Editor With Change Tracking?
passionfingers writes "My business users regularly have to tweak large (>32MB text) data files manually. Overlords charged with verifying the aforementioned changes have requested that the little people be provided with a new file editor that will track changes made to a file (as a word processor does). I have scouted around online for such an animal, but to no avail — even commercial offerings like UltraEdit32 don't offer such a feature. Likewise on the OSS side of the fence, where I expected a Notepad++ plugin or the like, it appears that the requirements to a) open a file containing a large volume of text data and b) track changes to the data, are mutually exclusive. Does anyone in the Slashdot community already have such a beast in their menagerie? Perhaps there is there a commercial offering I've missed, or could someone possibly point me to their favorite (stable) OSS project that might measure up?"
In the open-source world you edit your text file, finish for a bit, save it, and check it back into your favorite form of source control. You can then look at the diffs between various revisions.
The World Wide Web is dying. Soon, we shall have only the Internet.
You don't solve that by changing editors. You solve that by standardizing on a version control system and using it. For example, you could stick a Subversion server somehwere on your network, then install TortoiseSVN on your client machines. When you edit the file, you commit it with a log message of why you made the changes.
This is infinitely preferable to forcing all of your developers to use one specific editor (which is the universal holy war among programmers), when all of them will be half-assed at best when compared to real version control.
Dewey, what part of this looks like authorities should be involved?
Are the overlords retarded? Just use source control (svn?). "Track changes" is evil.
What's so bad about diff that you're not using it already? Certainly it would be a better choice for dealing with multiple text files: make a working copy (which can be an entire directory tree), do your changes on the working copy, and then run diff against the original and working copies. And I bet that there's an Emacs mode for that too.
In Soviet Russia, Jesus asks: "What Would You Do?"
I understand you want an all-in-one, however I believe that most "programming" editors can hook into some sort of change management program. I use one locally with my AutoIT3 scripts and the SCiTE editor, every time I compile it asks me for a "changes/reason" and enters that into my own local source management.
SCiTE
SCiTE for AutoIT with screenshots
CVS/SVN wrapper for SCiTE with screenshots and instructions
Jonah HEX
Horror & SciFi Erotic Nudes
In addition to joining the chorus that will suggest you use version control, I'll put in a suggestion to write a custom tool to view and make specific changes to the file. Multiple users editing *data* files by hand, with no validation, is silly.
SVN is "half-assed" when compared to real version control. Install git.
Umm, you mention UltraEdit... UltraStudio adds SVN or CVS control to it... whats wrong with that?
if your business users have to edit 32MB text files by hand, someone is a moron.
Someone didn't know what they were doing in the first place.
Change the process to make sense.
Perhaps those "files" should actually be in a database. SQL makes automatic manipulation quite easy.
They're using their grammar skills there.
I'll echo the same sentiments as everybody else... use source control. In addition, you're asking for the impossible. Word Processors can do "change tracking" within a file because the file contains more stuff than simply the text that you type in. Based on your description, the file you're talking about is simple text data, and has no provisions for storing "previous versions" directly within the text file. Where were you expecting this additional information to reside? And if it's in the same file, you would also have to change whatever tools you're using to process that file to be aware of all of this new (and to that tool, useless) information within the file.
I just wrote one for you, and it is even using your favorite editor:
cp $1 $1.bak
`$EDITOR $1`
diff $1.bak $1
Many of the Slashdotters actually pay for the opportunity to, among other things, answer questions like that. If you do not derive satisfaction from doing it, just step aside, no one is forcing you to post.
I can assure you, the best way to get rid of dragons is to have one of your own.
Sounds like Wiki may be the best... It is easy enough to split the document into sections, which can be edited concurrently. It keeps the history available. And the format is (almost) text.
Pick MediaWiki (the same software, that powers WikiPedia) or any other implementation (some may be easier to operate on a small LAN, and/or be able to export pure text, etc.)
In Soviet Washington the swamp drains you.
When you don't know how to do something, where do you go? I usually got to Google first and look around. Sometimes I find something, sometimes I don't. When I can't find anything via Google, where then do you turn? A co-worker? A friend? Maybe an online community of people who would know? The latter sounds like the most promising to me.
A company isn't concerned with how you find the answer (provided you come by it legally), they just want an answer as soon as possible. The faster, the cheaper the solution man-hours-wise.
I wouldn't be surprised if you've posted for help on an online forum or asked a friend for help with something. It's no different. It's all part of research.
why not use diff/bdiff/sdiff or (gasp) some kind of source control system? Nah, too obvious...
Automatic file versioning built right into the file system! Problem solved! Next!
Monstar L
He points out that he has had a look himself, but he doesn't seem to have heard of version tracking software, or cpmsoders it overly complex for their needs. Personally I've never used any myself, but it sounds about right for this type of task.
which is totally what she said
"not to sound like a..." TOO LATE!
Why complain? Too many people on slashdot are whiners! If you don't want to help, don't respond! That is the beauty of "open source". Help if you want or don't.
I have been programming for over 30 years and am considered a guru by my peers. But I know my limitations. For example I would not touch a SAP project with out help, because I have no experience.
Maybe the solution for everyone, is to have a category for "I need help" that people like you can tell slashdot not to show on your home page.
For those who are not observant: this comment is recursive and sarcastic.
Never trust a man wearing a coat and tie!
I seem to recall Eclipse saves your edit history
I don't know the meaning of the word 'don't' - J
Using free software written by someone else is not the only way to take advantage of the community knowledge base.
Come on man, get with the program. Everyone contributes, debugs, tweaks, uses.
Good judgement comes from experience, and experience comes from bad judgement.
- W. Wriston, former Citibank CEO
http://plan9.bell-labs.com/magic/man2html/1/yesterday
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
I think tracking changes should not be the job of the editor, but of something else that is good at it, like svn. I would let people use the editor they like, and add this script on their local machine to track changes. They can then commit the changes to the svn server and the Overlords can check out the changes (or any revision of them) from the main repo.
I just don't trust anything that bleeds for five days and doesn't die.
a new file editor that will track changes made to a file (as a word processor does)
A large part of the 'as a word processor does' feature is that the file format itself supports it - all the changes are saved right along side each other and the word processor picks and chooses what to display to you at any particular point in time. If your file format does not support change tracking, you need to look at external change tracking solutions such as SVN/CVS or something on the file system level.
I use to use CodeWright for this.
MS Visual Studio does this at work.
Notepad++ does this for free at home.
Never trust a man wearing a coat and tie!
Do something cool like have a samba/NFS share to the users with a versioned file system backend
http://en.wikipedia.org/wiki/Versioning_file_system
Sorry, I stopped reading right there. Quit your job. NOW
It always does, for everything.
A learning experience is one of those things that say, 'You know that thing you just did? Don't do that.' - D. Adams
Basically, it's a realtime distributed editor, but has a native format that saves who authored what. Works really well.
http://www.codingmonkeys.de/subethaedit/
War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
track changes made to a file (as a word processor does)
A word processor (or other office application) can track changes because the format of the file is specifically designed to allow such tracking. You data files, which you imply are text, are just data. Unlike a word processing document file, the editor is showing you everything in the file - there is nothing in the file to provide for change tracking.
Of course, the file format could be enhanced, but then everything that uses the data files would need to be changed.
As suggested elsewhere, your best bet is to use some kind of version control system. Some editors have support for interfacing to version control built in. Others require a plug-in extension. Assuming your users are using Microsoft Windows, one nice tool is TortoiseSVN (http://tortoisesvn.net). It integrates with Windows, directly, so you have access to version control from Windows Explorer (aka "My Computer", "My Documents", etc.) or even from the File Open dialog of many (though not all) applications.
Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
Eclipse offers such a feature, but I need to ask what format is this 32MB file you are meant to be editing?
Jumpstart the tartan drive.
> cpmsoders
I think you need to move your keyboard about this much (___) to the left. The scary thing is it made perfect sense!
I believe SlickEdit now supports change tracking directly. Not sure how well it works with plain text data files, but it is supported on several platforms, has hooks for version control integration, and so on.
BitWorksMusic.com -- odd tunes for odd times
This isn't school and it's not cheating to copy. If somebody is willing to answer the question, then the OP has just found a cost-effective means of doing his job (mind you, part of his job will be to vet the answer against reality and common sense).
Microsoft Word?
Is it straight text? If so, does it have to remain straight text?
Do the overlords want to be able to identify who made the changes, or just verify the changes were made and made correctly?
Is there a reason the data is not in a DB, etc?
Different answers result in different solutions.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
When I can't find anything via Google, where then do you turn?
You could ask Slashdot or some other forum, but provide an example of a Google query that you thought was promising but didn't turn up anything relevant. This way, others can see that you at least tried, and people can use why the queries didn't work as a starting point for conversation.
Most any respectable programmer's editor has hooks for versioning and build systems. The nicest ones are Gedit and Geany.
Excuse me, but please get off my Pennisetum Clandestinum, eh!
Overlords charged with verifying the aforementioned changes have requested that the little people be provided with a new file editor that will track changes made to a file (as a word processor does).
Apparently your Overlords' heads have some fault code and need to be debugged.
Revision tracking is accomplished with revision tracking software.
You may think it is easier to just do what they are telling you to do, but in the long run it is not. They need to understand the difference between editing and revision tracking. If they do not, they will not be getting what they are looking for.
There are a variety of methods for tracking revisions, from diff files to Subversion. Word processors store delta histories in the document, which is a poor place to store such things because it is insecure and liable to corruption.
Then again, if you're doing hand edits to 32M text files, you probably are working in a company with less comprehension of information science than the City of San Francisco (alas, my beloved home city, but boy do they have their heads up their nether regions).
Seriously - you may not like this answer, but it is the only correct one. Fix their understanding of revision tracking.
Stop-Prism.org: Opt Out of Surveillance
Oops! That's quite imcjaracjterostoc of me... my apologies.
which is totally what she said
Keep your master copy in Microsoft Word with its Change Tracking turned on, then export it to .txt every time you save it. LOL. Perfect!
Doesn't anyone vet these questions at all?! The market offers a choice of version control systems, and even just plain old diff might be good enough for the task (or not). It's very clear that zero research was done prior to tasking Slashdot. I've been mulling over whether it was a dumb question or a lazy one, and things have become clear: both dumb and lazy.
Even a little googling would have yielded good answers to the problem, but more to the point, if they asked someone who could not, off the top of her/his head give an answer that a version control system, or possibly just diff, are good approaches to solve the problem, then the "overlords" were obviously asking the question of someone who is unqualified to answer it, or to be in charge of implementing whatever solution they choose.
If his job involves finding solutions, then that's just it: he needs to find solutions. He doesn't need to INVENT them.
Oh, and unless you invented source control and diffs, or stumbled upon them in some lost dungeon, you probably found out about them by asking people too, meaning you're just as "bad" as him.
I'd "Ask Slashdot" but I am skeptical that people would come up with workable solutions. (I don't trust the idiot mob on here)
“Common sense is not so common.” — Voltaire
Mod the parent up, please. He's not flame baiting and he's no trolling. It's a legitimate post.
We see too many of these types of questions on Slashdot these days. While I also don't mind helping others, I would like to see less people asking how to do their jobs and more articles that give me good or interesting information instead.
It's still good to have questions asked, but they should be challenging and puzzling. Simple questions like this do not even merit interesting responses in the comments. They most certainly don't motivate me to try to come up with a solution.
Use it.
I'm guessing the point of having change tracking is so that the Overlord can review and approve the changes. In that case, maybe UltraCompare(http://www.ultraedit.com/products/ultracompare.html) is what you're looking for?
Keep a copy of the original file and make a diff. Am I missing something?
As others ahve said, best combo is
*use Eclipse for lcoal changes that other users don't haveto se
*use SVN (there's Eclispe plugin called Subclipse) for changes ready for others
All from one tool. And it is as free as beer - and you might learn more by jsut using it.
I was once on an interview where the interviewer showed me some stuff in OpenVMS. Apparently the file system has built-in change tracking of files. Whenever you saved a file the previous versioin got 'versioned'. I'm not an openvms export so I can't verify it. Seemed interesting.
v[,dpfrtd?
b].f[gtyh?
xonaiswea?
zib UAQW?
I am losing it!!
One place I worked, the lead developer was paranoid and liked to review and understand every change I made to the code before "committing" it to his own tree. (Yeah they didn't use source control much either. Very stupid...) So we got really good at using WinMerge. It has good keyboard shortcuts that let you step through the diffs between two files, one at a time, and merge them from one to the other.
On Linux, meld is comparable (except the keyboard shortcuts are inferior, IMO, but you can probably change them).
The best text editor I've sen for tracking changes has to be e text editor. I don't know if it's exactly what you want, but I think there's a demo so you can check it out. It falls down with 700MB files, but might do okay with 32.
--- You are in a little twisty maze of comments, all different.
Text editors do not work that way!
Goodnight!
$ svn checkout svn://YOUR_REPO/trunk; cd trunk
$ gvim your_file.txt &
ia simple change<RETURN><ESC>
:w
:!svn diff
:!svn commit
:new
:r !svn log your_file.txt
:qall!
well considering many of us here are at work, we are getting paid for it.
Are the 'tweaks' you are making the same each time you bring in the file? Are they structured (csv)? If they are, you might want to consider using an ETL tool to do the work (Pentaho Data Integration comes to mind - it's open source - kettle.pentaho.org). You can either read the original file, modify it, and write it out to another file, or you can even write it out to a database table. Pentaho is pretty flexible and I've found several 'off label' uses for it.
I'll add my voice to everyone suggesting that you use a revision control system.
Meld is a useful tool that lets you view diffs visually http://meld.sourceforge.net/. You can either ask it to diff two files or directories, or use the built-in subversion support. It shows the two versions of files side-by-side and highlights where stuff was added/deleted/modified.
I agree with the folks who suggest version control is the answer, but if for some reason that's a problem, there are definitely editors that do this. IntelliJ IDEA, the commercial Java IDE, has what it calls "local history" that tracks changes like this very well. It will track changes for any file it can edit, and tag the changes with date, username, etc.
Cantankerous old coot since 1957.
32 MB of text isn't worth the overhead of the bloat-fests we call databases these days.
Perhaps someone needs to learn gawk or sed... or step back from the problem and re-engineer it so that there aren't any 32 MB text files.
And here's one that will track previous changes as well as well as preventing edits by two people at once...
$ cat edit.sh
#!/bin/sh
co -l $1
$EDITOR $1
ci $1
co $1
The reason why word processors are able to track such version changes is because a good percentage of the document is allocated for meta-data where this information and more is preserved. If you are editing text files you do not want to corrupt the files to which your program(s) utilize(s) by adding this meta-data garbage.
So, I would agree with everyone else by saying that you should seek a version control application such as CVS, SVN, Borland's Starteam, IBM's Rational ClearCase, Seapine's Surround SCM, etc. There are so many out, some open source and other commercial and they are all extremely simple to install and manage (so long as you read the documentation).
1) Obviously never heard of version control like (CVS, SVN, etc.). This is excusable, as setting up and keeping with your very own SVN repo isn't the top of people's lists, and it's entirely possible to not have heard of such a beast.
2) Accepting the commandment of "thou shalt manually wade through gobs of data in a text file means he's no programmer. This is also perfectly fine, but means he's not the right person to be changing this file anyway.
3) Is under the impression that revision history could conceivably be hidden within said plain text file, implying the OP doesn't understand basic file formats, which confirms that he is not merely the wrong person but absolutely the last person you want manually mucking with your data files.
Therefore...
My suggestion: Forward the request to your IT department (or rent a geek).
They most certainly don't motivate me to try to come up with a solution.
No, apparently they motivate you just enough to whine about them in the comments section of the post that you supposedly have no interest in.
My company uses ClearCase (as do most Government developers) for revision control and version organizing. The open source community has a similar program called "Git" which can do version control. Both programs have the capability of letting a file be edited on multiple branches by different developers and merged later.
Learn from science that you must doubt the experts. --Richard Feynman
It seems to me that since a text file doesn't have invisible data like Word doc, there isn't any where to store change tracking information in the file other than in comments. If whatever uses the files supports them, then it seems like the simplest way (though not necessarily the easiest training-wise) would be to manually comment the changes.
If you can't have extraneous/ignored characters in the file, then I guess you'd need a version control system that stores the data outside the file. Even then you could have a manual "changes.txt" file.
My choice when using Windows: EditPlus - text editor WinMerge - difference Team Foundation Server - version control with a good comparison engine Zach
Once the data is stored in an SVN repository, people may want a graphical overview of the documents' history. Google has a small Java application that allows to browse through older revisions using a time slider and shows diffs of them.
If such a time-lapse view is not needed, kdiff2, kdiff3 and meld are nice graphical diff frontends that work well with Subversion's command line client.
While git is an excellent and fast version control program, it suffers from a huge flaw: it DOES NOT WORK tolerably on Windows.
For projects like the linux kernel, and most FOSS applications, this isn't a huge problem, but in a heterogenous work environment, this is a large, critical problem.
If you use gedit, you can install Xdialog and svn. Then go to the gedit plugin's and enable the 'External Tools' plugin. Finally, go create a script with a short cut and use this code: #!/bin/bash Xdialog --title="SVN Comments" --no-close --no-cancel --keep-colors --inputbox "" 6 30 &>/tmp/commit.msg svn ci --file="/tmp/commit.msg" --username="your username" --password="your pass" $GEDIT_CURRENT_DOCUMENT_PATH rm -f /tmp/commit.msg
Now you just have to hit the shortcut after saving the file and it will commit it for you.
...supports six different version control systems. It is enabled by default. Read the manual.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
That's the model that the PHBs want, give it to them. Export as ascii so you can actually build the damn thing, and make sure that every single automated formatting feature is turned off: smart quotes, spell checking, etc...Word tracks changes creditably, of course as the chorus correctly says, version control is where this ought to be done, not in the file itself. You don't need the same degree of change tracking in a source file that you do in a legal document, but heck I'm a programmer not a lawyer, or a PHB.
Also, just to stick it to the man, make sure that you order MS Office in the most expensive way possible...when they ask why it costs so much, tell them it's the "idiot tax".
Give it a try. It's got version history built in. It's a collaborative text editor, doubt you need that ability, but it does the version history stuff as far as I recall. Or, you could do what everyone else is saying and cobble together a SVN/CVS/whatever system and use that, but that decision is up to you.
Then don't post, oh phallic one
Search the web for document management software, there is plenty. Basically a more "end user" friendly type of software than your typical developer oriented version control software. Usually quite expensive though.
Regards, Steve
how would it even be possible? in a flat text file where would you store such information? a version control system and whatever editor you like seems like the obvious solution
Many of the Slashdotters actually pay for the opportunity to, among other things, answer questions like that.
[Citation Needed]
As a proud BOFH (of which I would presume there are equally as many that would "pay to answer [stupid] questions"), I would immediately direct him to MS Word (which does have such brain-dead change tracking) in order to make the suffering more enjoyable for me to watch...*devilish grin*
Have your users rename the file and run diff, or store these files within SVN.
Use a regular text editor over a versioning file system.
This is freaking awsome, no more ~ files in my src directories.
Much thanks.
You're asking for a screwdriver that's good at hammering nails. You want a hammer--in this case, a change-control system, of which there are many good OSS choices available.
There are few circumstances under which I would recommend Google Apps to someone, but this is one of them. Apps does a great job of tracking incremental changes, saving versions, and allowing you to diff between them. Also, it's only $50 per seat.
The only disadvantage is that your documents would be stored in the cloud, so if your internet connection is less than excellent you might have some frustration transferring those large files. Storage should be no problem though - I believe you get 10GB per license.
I didn't think of it until I saw that question, then hmm, I would love something like that too! Probably have to build an text editor that would generate a 'hidden' filename.track.xml(?) file and then build an add-on in the text editor that would parse thru the XML file displaying changes.
...a shingle is just fine.
I didn't try it much, but I think it could do the job.
I think the reason why you are having troubles with this is because most developers use an external version control system (SVN/CVS/git) to manage their history much better than a text editor could. So most text editors don't even bother wasting resources trying to recreate a sub-par versions of what is already done when very few people will use it anyway.) :)
It sounds like your company could use one of these collaborative version control tools to solve its problems correctly. These would also allow you to make edits to the file while the overlords make their edits, and keep track of who made what changes where, why and when.
Google Docs keeps a revision history, perhaps Zoho does as well (don't know). OpenOffice has a GDocs plugin that will sync back to your GDocs account, and Google Gears gets you offline access. I use Notepad++ and the GDocs Sidebar extension for Firefox to keep my workflow going. Of course, I only work in SQL and XML, so it's not really programming. It seems to me though, if you can find a way to either sync it back to GDocs or find an API implementation that will give you code friendly editing in browser, you could be set.
If it looks like a duck, let's call it a moose.
Not Open Source, but Microsoft Visual Studio did the trick for me when I needed to clean up generated javascript and html code of about 30MB.
You don't mention what you are using now or what environment you are in. That might be helpful.
However, you might consider a three part solution:
1. Whatever editor is your favorite.
2. A version control system - there are many.
3. A good diff program. Look around but don't overlook BeyondCompare from Scooter Software - they have a Linux and Windows version in the works.
As many people have suggested, you really do need a version control system no matter what else you do.
Maybe I'm missing something here (hint: i'm not), but why would you want to be manually editing such a file anyway ? It sounds like this task should be handled by a lightweight interface, be it web or otherwise, that controls access to the file and natively logs edits to a database.
-Billco, Fnarg.com
Ctrl+Shift+E
- Anonymous Coward!
VIM & GVIM have built-in support for side-by-side display of two files with the differences highlighted (produced via "diff", of course). It's called a "split diff." Now all you have to do is train your business users to edit files with VIM. Good luck with that. But here's the deal: you need to figure out the problem you're solving (err, the problem the overlords are trying to solve). They may not understand this, but it is fundamentally and basically impossible for a text editing program to show you a change history that you can simply "hide" or "display" as Word and other word processors do. This is because they can store the data in a format that internally tracks changes. A raw text file, by definition, can only store one set of data. It is 100% inpossile to store the changes inside. Period. End of story. Thus, an editor could show changes made during a given session, or differences between two files, but it can never open a file and show a history of changes on a text file. If it were integrated with a source code control / versioning system, that's different. But in that case, it's not "opening a text file" it's "opening a repository".
Under the 'View' menu select 'Undo History' for a nice graphical interface to changes that have been made in the current document.
You can even click a particular version to revert the document to that exact content.
Of course it's not free-ware... but it is quite stable and the demo version _is_ free.
http://www.e-texteditor.com/
Editpadpro would be a good place to start, it has Multi backup optins, and hidden history (creates a hidden __history folder and puts backup there), you can add a tool like svn/cvs with no pain. It has a tool option where you can make your own, very simple. If your looking at buying some kind of bulk, I'm willing to bet that Jan would add some kind of version control to the binary (database, cvs interface, local server, roll his own), or add the tool to your build. Download EditPadLight and open help, go to the index tab, and double click .bak (the first thing), it will take you to the page you want to see if it does what you want.
Just a happy EditPadPro owner (for when I have to be on windows)
"My business users regularly have to tweak large (>32MB text) data files manually."
Sounds like an entry for The Daily WTF.
And while you're at it, read this article.
Then start using a database and maybe even build a proper editing tool, rather than insisting on editing 32 megabyte data files with a text editor.
NO ONE should need to edit 32 megabyte files with a text editor.
Although this is a site where the obvious answer is snv/emacs/vim/etc., the OP mentioned using UltraEdit and Notepad++, implying a Windows environment where these choices are not obvious, nor perhaps easy.
I transitioned (in part) from UltraEdit and SourceSafe to Vim and Subversion, and am happier having done so, but many of my colleagues are not ready to do the same - they went the Visual Studio and TFS route. To each his or her own.
For this audience, tools such as http://www.e-texteditor.com may make sense.
I should have been a Geologist.
FIRST check if a different data representation may be more appropriate than those huge text files (e.g. split up into smaller files; or condense the data into a more compact representation; or put the data into a database with appropriate front end)
SECOND, if you stick with text files I second the common advice to consider a source control system like svn or Mercurial.
If you are still going with your head through the wall, WinMerge (winmerge.org) and KDiff3 (kdiff3.sourceforge.net) are handy and configurable tools. Their usefulness may depend on the data file structure and on the kind of changes applied.
Or take a second look at commercial UltraEdit which easily handles 300MB files and, iirc, DOES have a built-in diff feature.
Bernhard
SlickEdit maintains a nice file history, and it comes with a decent diff tool. It's meant to be an IDE, but it should be capable of editing large text files too. The only problem is that it costs about $300.
You should use M$ word. Then right before you finish editing it, copy the .~!23myfile.doc from /Documents and Settings/~/Application Data/MSOffice/MSWord/Shadow/etc/temp/.temp/hidde~1/ to your desktop, and then copy it from there to your backups folder.
I suggest also using the mouse for all copying maneuvers.
For $10,000
Meridian's Ada compiler, as I recall (this was more than a decade ago), came with an editor that saved information on edits; IIRC, you could 'undo' even across editing sessions.
I seem to recall this being part of the Ada spec, but as I consider it, it sounds funny to expect a language spec to cover the development environment as well; perhaps it was aaaaaaaaaaalllllll just a dream ... Anybody else remember?
Your attitude is your problem: Overlords... little people.
You are a jerk and they should just fire your ass.
---- Booth was a patriot ----
Its multiplatform and suports CVS
---- Booth was a patriot ----
Netbeans, while normally used for java programming, has a text editor. When you combine it with the plugin named "Local History" you are able to see every version of the file that's saved. You can have it show you the differences also.
~M "There is no moral precept that does not have something inconvenient about it." - Denis Diderot
If it walks like a duck and, um, talks like a duck... ;)
Seriously, writing, fixing, implementing users' wishes and distributing free software can also be perceived as doing someone's work. Should we stop because we're not being paid (nor laid, mostly) for that?
OOoSVN 0.3.8
http://extensions.services.openoffice.org/node/230
A while back I was involved with a company that produced a piece of Windows software that would monitor the filesystem and create backup copies of what you were working on (only from specified directories). Full version history included, as well as a differening tool (they licensed Beyond Compare from scooter software). The product was called File Journal but the website (http://www.filejournal.com) is long since departed. The software worked very well; if you're interested I can send you a copy. I'm one of the ex-owners of the company so there'd be no issue with licensing. Risking spam, you can reach me at i a n -at- b e v a n t e c h -dot- c o m.
1. Checkout with "co -l $1" (RCS - has the advantage of no setup required) or your favorite SCCS
2. "vim $1" (or your favorite editor)
3. "rscdiff $1 (to check for changes)
4. "ci $1" (to check in and ask for description)
Trackback comes with Understand for Ada and seems to be separately downloadable for free from http://www.scitools.com/products/trackback/. I had Meridian Ada long ago but don't remember much about the IDE. Some editors can do multiple undos back through previous editing sessions.
You mean to the right?
"In our tactical decisions, we are operating contrary to our strategic interest."
You may:
1)split your >32MB text data file into smaller files to get a better response in the programmer's text editor. split and cat are great linux tools.
2)use something like subversion or cvs. This are called "version control" tools.
3)Ok what else do programmers use to make their lives easier? Check out "meld" in order to let your buddies blend two versions of your > 32MB text data files.
Just use ed, it's been around longer than most unix-users have been alive (and consequently very stable).
You can save incremental updates with w file[start],[stop]w file where start and stop are both line numbers, to write specific lines a file, if you want to keep a record just of changes you made.
Don't make mistakes, though.
Perhaps it's time we combine Wiki with coding. I could see this growing into something pretty cool, Ã la Google Docs.
-- thinkyhead software and media
Too many people on slashdot are whiners!
There is a joke in here somewhere.
You can do what you're looking for with E: http://www.e-texteditor.com/
--AP
Eclipse keeps a complete revision history of changes you've made, and you can restore any version. It's like a local, mini VCS.
MultiEdit, http://www.multiedit.com/ will interface with CVS and other systems.
g.bnaiocn?
Clearly not good advice for a DSK keyboard.
Not a sentence!
Actually, it's only the right hand that needs to move--and only whilst typing that one word!
This free program (PFE) [if you can still find it] was only 20KB or so and was an excellent notepad replacement. It could probably handle 30 MB files (it could do about everything else).
tree line
http://treeline.bellz.org/
And take a snapshot every time you need to edit.
You should check out a tool called File Hamster thers a free version and pro version for something around 20 $, you should check it out
Well, it would have been funny if his pseudonym was something like Phil Gramm. However James Welch is a Mass state representative, not a former US senator.
Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
The commercial editor, Crisp, is excellent for these kinds of tasks. Crisp is a modern offering based on the Brief editor from days of old. This editor has a small following because it is buyware but is very multiplatform, very fast with large files and has a good macro language, keystroke macros etc.. It can track changed lines visually and also has a built in diff but I'm not sure if either can be harnessed through the macro language. Due to its enormous feature-set and the large amount of platforms it supports there are plenty of bugs in Crisp but it is regularly updated and its author is very responsive to bug reports. Also, and importantly, I've never found a bug that's crashed Crisp or lost me work: the core editing engine seems to be very efficient and bug free and most of the bugs lie in the extra functionality that's provided by way of the enormous amount of macros thrown in with it. My advice if you want to buy a copy is to contact Pacemaker software (the UK distributor) and broker a deal. The US has its own distributor (Vital Inc.) but you'll get a much more personal service (and price!) speaking to Pacemaker since the owner is on very good terms with the author of the software. The latest versions of crisp is available directly from the author's website here, unlicensed copies run in trial mode with writing disabled. Having used virtually every editor on the planet and been programming in a variety of languages since the eighties, I can say that no editor is perfect. Crisp has its faults but has overall speed, ease of use, a wonderful macro language and a solid editing engine. It won't do your work for you but this job sounds like countless little "challenges" that I've cut through with crisp in the past. Seb :)
If you have 32mb of text in one file, shouldn't you have broken that up into parts by the time it reaches that size? I'm having difficulty imagining code that in some way hadn't required breaking up into more than one file... Not everything that said 'overlords' request has a solution. I would suggest one goes back to the overlords and tells them their request is not practicable? (... or is that kind of questioning thy master thing juat not done?)
After logging in slashdot still does not take you back to the page you were on. It's been that way for 20 years.
Eclipse has its own version history. http://www.eclispe.org
It doesn't come configured this way out of the box, but you can certainly set up Emacs to do this. Off the top of my head I don't recall the exact hook to use, but I know that there *is* a hook that's called after every operation, however small (even, say, moving the cursor), so at worst you could use that. Ideally, if there's a hook that's called only when something actually changes, that would be better. Anyway, you'd want to add a function to that hook that calls diff and appends the result to a log, or somesuch, depending on exactly how you want it to work. Anyone who's comfortable in elisp should be able to set this up in a couple of minutes.
Of course, then your users have to learn Emacs, which might take rather longer...
Cut that out, or I will ship you to Norilsk in a box.
What type of information is in those huge documents?
If it's code: split the code up in multiple files and put them under revision control.
If it's a legal document: a decent word processor (no, not MS Word) is more appropriate, while splitting the document up in multiple pieces (if possible) might also help.
If it's some sort of list, store it in a database.
The list goes on, and on. Give us some more information, so we can give you some useful feedback.
Wikipedia has a compare versions function. And it's free. :-)
Didn't see this program mentioned here but my favourite is Beyond Compare. In my opinion the algorithm used for align matching lines is not that good but the UI makes up for that.
http://www.scootersoftware.com/
I agree that version control is the absolute best way the 'track changes'.
But, Within an editing session maybe there's a way to show the complete Undo history. It is all available in a stack, but does vi/m or emacs allow you to view without applying, say the 10th edit?.
This may count as 'tracking changes', not sure how useful this actually is though.
"No, apparently they motivate you just enough to whine about them in the comments section of the post that you supposedly have no interest in."
Why not? If this ends up with editors learning these kind of questions are not welcome by "the Slashdot crowd" then maybe they stop bringing them up to head page making place for more interesting questions instead.
I'd say that would be quite a good outcome.
Some File Systems allow for this (ext3cow comes to mind) so you can see exact state at exact times but you would also have to have somebody watching the watchers:) :)
the guys cron tabbing the snapshots
Mercurial [ http://www.selenic.com/mercurial/ ] is a multiplataform (Python) distributed control version system.
You only have to place docs in one directory, and run mercurial to update the changes.
Is newer and more adaptable than cvs and svn
If you publish a subversion repository over webdav, you can easily accomplish this with a feature known as AutoVersioning. As for using webdav to edit a 32MB file, I cannot vouch, but using this method is completely editor agnostic, assuming your OS has a method of mounting a WebDAV directory as a logical volume.