×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Programmer's File Editor With Change Tracking?

kdawson posted more than 5 years ago | from the and-a-pony dept.

Programming 286

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?"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

286 comments

vi/emacs/eclipse/whatever + svn? (4, Insightful)

FooAtWFU (699187) | more than 5 years ago | (#24336217)

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.

Re:vi/emacs/eclipse/whatever + svn? (1, Funny)

Anonymous Coward | more than 5 years ago | (#24336611)

Yeah, there's no way I'd switch from vi, even if it meant better integrated version control. Of course, I'm sure that Emacs has an SVN server built in ;)

Re:vi/emacs/eclipse/whatever + svn? (1)

dedazo (737510) | more than 5 years ago | (#24336727)

Agreed. When doing the day job Visual Studio is nice (regardless of version control used) for this in the visual (no pun intended) sense.

For my Python coding, vim + bash (or powershell) + svn + vimdiff gets the job done, if not as elegantly or real-time-ish.

Emacs - ~/.saves directory (5, Informative)

JBrow (668684) | more than 5 years ago | (#24338011)

Aside from using version control, I also have Emacs set up with an extensive save history. My settings are:

; backup
(setq make-backup-files t)
(setq
backup-by-copying t
backup-directory-alist '(("." . "~/.saves"))
delete-old-versions t
kept-new-versions 6
kept-old-versions 2
version-control t)

AskSlashdot: "Please Do My Work For Me" (-1, Troll)

slifox (605302) | more than 5 years ago | (#24336251)

I'll find an appropriate solution for you, but in exchange do I get your job? How about just 1 days worth of pay?

Seriously, I've seen more and more posts on slashdot recently with people asking for solutions to their problems at work...
Isn't that what they pay *you* for?

I'm all for helping people out, but where is the line between problems whose solutions could help everyone, and those where it is clearly doing someone's work for them?

...not to sound like a dick or anything :)

Re:AskSlashdot: "Please Do My Work For Me" (4, Insightful)

Yurka (468420) | more than 5 years ago | (#24336455)

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.

That's not fair (5, Insightful)

Scotteh (885130) | more than 5 years ago | (#24336463)

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.

Re:That's not fair (1)

mweather (1089505) | more than 5 years ago | (#24337209)

Just turn your cookies off and use Experts Exchange. If answering questions is your thing, you can even get free access. 'Course turning off cookies is easier.

Re:That's not fair (5, Funny)

spazdor (902907) | more than 5 years ago | (#24337489)

their domain name used to be "expertsexchange.com".
Then one day that address suddenly redirected to "experts-exchange.com" You could almost feel the webmasters smacking themselves in the forehead.

Re:That's not fair (1)

blueZ3 (744446) | more than 5 years ago | (#24338059)

You can get free access by looking at the cached version using google.

Re:That's not fair (2, Informative)

didroe84 (1324187) | more than 5 years ago | (#24338307)

They've become slightly more tricky about it now. It uses Javascript to hide all the comments so even the cached copy doesn't work. Unless you use NoScript of course :).

I'm not sure this would be a good idea but Google could offer a service where webmasters can register a key with their domains and then when the Google crawler comes along it could sign something with that key to ask for "protected" content. That way services you have to sign up for could still be indexed. Assuming you're willing to hand all your data over to Google of course, but nobody seems to have a problem with that at the moment.

Ask Google, then ask Slashdot (2, Insightful)

tepples (727027) | more than 5 years ago | (#24337365)

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.

Re:AskSlashdot: "Please Do My Work For Me" (2, Informative)

somersault (912633) | more than 5 years ago | (#24336537)

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.

Re:AskSlashdot: "Please Do My Work For Me" (4, Funny)

Anonymous Coward | more than 5 years ago | (#24337129)

> cpmsoders

I think you need to move your keyboard about this much (___) to the left. The scary thing is it made perfect sense!

Re:AskSlashdot: "Please Do My Work For Me" (1, Funny)

Anonymous Coward | more than 5 years ago | (#24337839)

v[,dpfrtd?
b].f[gtyh?
xonaiswea?
zib UAQW?

I am losing it!!

Re:AskSlashdot: "Please Do My Work For Me" (2, Interesting)

jimwelch (309748) | more than 5 years ago | (#24336547)

"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.

It's Free and Open Tech Support (1)

marcus (1916) | more than 5 years ago | (#24336571)

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.

Re:AskSlashdot: "Please Do My Work For Me" (1)

Your.Master (1088569) | more than 5 years ago | (#24337161)

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).

Re:AskSlashdot: "Please Do My Work For Me" (2, Insightful)

JakeD409 (740143) | more than 5 years ago | (#24337567)

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.

AskSlashdot: "Please Don't Do My Work For Me" (1)

OrangeTide (124937) | more than 5 years ago | (#24337593)

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)

Re:AskSlashdot: "Please Do My Work For Me" (1, Insightful)

EightBits (61345) | more than 5 years ago | (#24337611)

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.

Re:AskSlashdot: "Please Do My Work For Me" (2, Funny)

ianare (1132971) | more than 5 years ago | (#24338247)

well considering many of us here are at work, we are getting paid for it.

Version control (5, Insightful)

Just Some Guy (3352) | more than 5 years ago | (#24336253)

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.

Real version control (1, Troll)

pjt33 (739471) | more than 5 years ago | (#24336367)

SVN is "half-assed" when compared to real version control. Install git.

Re:Real version control (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#24336431)

Still sucking Linus's tit?

Re:Real version control (1)

blp (4207) | more than 5 years ago | (#24336669)

As I understand it: Git is not good at tracking large files, because it keeps a full copy of every version of a file. A Git repository that contains 10 versions of a 32 MB file will be 320 MB in size (before compression: Git uses gzip).

Re:Real version control (4, Insightful)

pjt33 (739471) | more than 5 years ago | (#24337241)

It's not quite as straightforward as that [kerneltrap.org], but there's a valid objection there, and I take the point.

Of course, the real problem is the idea that users manually editing a 32MB file on a regular basis is at all a sensible idea.

Re:Real version control (1)

mweather (1089505) | more than 5 years ago | (#24337247)

Solution: pay $200 for a terabyte hard drive. That should be enough space for a decade or two.

Re:Real version control (0, Flamebait)

Just Some Guy (3352) | more than 5 years ago | (#24336973)

  1. It sounds like they're all editing the same master file. That's begging for centralized VC.
  2. VC didn't exist before 2005. Yep. It's a proven fact. No one ever used VC successfully before Linus invented it.

Re:Real version control (2, Interesting)

pjt33 (739471) | more than 5 years ago | (#24337481)

When I was young, we used RCS and we liked it! As the state of the art changes, so do the requirements to stay at the top. It's possible that SVN 1.5 qualifies as real version control by modern standards - I'll find out when it reaches my somewhat conservative distro - but previous versions have poor support for merging.

I'm also rather unhappy at SVN this week because it managed to get itself in a horribly confused state in which it told me I needed to run svn cleanup to fix some locks, but running svn cleanup just got me an error message saying that I needed to run svn cleanup to fix the locks. I ended up having to delete and do a clean checkout, and was not impressed.

As to the accusations of Linus fanboydom (yours is the second), the only reason I mentioned git is that I used it in my previous job and it worked well. I could equally have said Mercurial or BitKeeper, but since I have no experience with those I can't really recommend them.

Re:Version control (5, Informative)

Shaitan Apistos (1104613) | more than 5 years ago | (#24336375)

Some editors, netbeans for example, even have visual cues in the margin indicating what you've changed from the svn revision you've checked out since your last commit.

Re:Version control (1)

Shados (741919) | more than 5 years ago | (#24336421)

Yeah, I just don't think a 32 meg file in netbeans with svn and the change tracking in the margin will be a very efficient way of editing the file though, considering these features in most such IDEs tend to start choking after a few hundred kilobytes.

source control? (2, Insightful)

MariusBoo (883340) | more than 5 years ago | (#24336307)

Are the overlords retarded? Just use source control (svn?). "Track changes" is evil.

diff -Nrau (4, Informative)

red_dragon (1761) | more than 5 years ago | (#24336331)

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.

Re:diff -Nrau (0)

Anonymous Coward | more than 5 years ago | (#24337805)

M-x ediff-files or ediff-directories?

CVS/SVN? (5, Informative)

Jonah Hex (651948) | more than 5 years ago | (#24336345)

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 [scintilla.org]

SCiTE for AutoIT [autoitscript.com] with screenshots

CVS/SVN wrapper for SCiTE [autoitscript.com] with screenshots and instructions

Jonah HEX

Re:CVS/SVN? (1)

nmb3000 (741169) | more than 5 years ago | (#24337495)

SCiTE

I've also used Scite for AutoIt and it does work very well, but in general Scite is a royal PITA to configure. If you want to change text styles or colors you have to wade through several mountains of configuration files, hunting for just the right line to change, restart the editor and hope you picked the right place to edit.

For Windows users, Notepad++ [sourceforge.net] is a much better solution. It uses the Scintilla editor engine so it has the same capabilities as Scite, but the configuration is all done through a GUI editor. This makes configuring syntax highlighting and styles much easier and less time consuming.

Custom tool (2, Interesting)

CaseyB (1105) | more than 5 years ago | (#24336353)

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.

UltraStudio.... (0)

Anonymous Coward | more than 5 years ago | (#24336419)

Umm, you mention UltraEdit... UltraStudio adds SVN or CVS control to it... whats wrong with that?

change the process (5, Insightful)

DragonTHC (208439) | more than 5 years ago | (#24336423)

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.

Re:change the process (5, Insightful)

blincoln (592401) | more than 5 years ago | (#24336477)

Perhaps those "files" should actually be in a database. SQL makes automatic manipulation quite easy.

Exactly. That also makes it easy to build a change audit logging table.

Re:change the process (0)

Anonymous Coward | more than 5 years ago | (#24337587)

That's assuming that the data isn't going to be imported into SQL after the data is repaired. It could be improperly structured EDI data or something of that nature that isn't importing properly because of errors in the file.

Re:change the process (4, Funny)

DragonTHC (208439) | more than 5 years ago | (#24336505)

come to think of it, it sounds like you're asking us how to best manage spam hit lists.

Re:change the process (2, Insightful)

cstdenis (1118589) | more than 5 years ago | (#24337485)

Thats silly. Spammers don't edit their lists. They just blast it out to all, valid or fake.

Re:change the process (2, Insightful)

Anonymous Coward | more than 5 years ago | (#24337565)

Agreed. Fix the real problem, which is "Having to hand-edit a 32 MB text file in the first place."

Re:change the process (2, Interesting)

qoncept (599709) | more than 5 years ago | (#24337699)

That's a pretty short-sighted comment. It's very easy to end up doing something that outwardly looks totally foolish. Maybe these files started out about 4kb (and as I imagine this example, I'm remembering when it happened in my project) and unforseen changes caused it to gradually grow to 32mb. Hand editing from the beginning wasn't a big deal, but now it is.

Which brings up the issue of changing this "process." Have you worked in a fast paced environment with limited resoures? Processes don't just change. Projects just like this are thought up, planned, and indefinately postponed because they don't have extra resources to devote to the two months it would take to rewrite the process, allocate hardware, set up a database, migrate the data, train the users, test, install client software and so on.

Re:change the process (2, Insightful)

jzu (74789) | more than 5 years ago | (#24337813)

Yes, CVS/SVN/whatever is a good technical answer to a bad requirement. You probably cannot change anything at the requirement level, however, so your best bet would be to report your findings in a very technical and neutral way... And, as a side note or even a line in the corporate summary, just point out the deficiencies in the process and possible solutions if you can imagine straigthforward ones, leaving options open. BTW, the word "risks" has magical powers.

Re:change the process (1)

SparkEE (954461) | more than 5 years ago | (#24338171)

In and of itself, having to edit 32MB files may not point to a bad process. I'm write vhdl/verilog for a living, and when the designs are synthesized, most tools can create a gate-level vhdl or verilog output that can be used for back-annotated simulation. These files are typically very very large. In fact, I remember having problems years ago when the files went into the GB range. It's sometimes necessary to edit these files when a bug is found and a fix needs to be tested without having to re-run synthesis first (a very long process).

That said, a "track changes" "feature" for a text file editor just sounds like a bad idea. I'm with everyone else here saying that version control and diff should be the answer.

Source Control (5, Insightful)

Imagix (695350) | more than 5 years ago | (#24336439)

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.

diff (5, Funny)

Anonymous Coward | more than 5 years ago | (#24336453)

I just wrote one for you, and it is even using your favorite editor:
cp $1 $1.bak
`$EDITOR $1`
diff $1.bak $1

Wiki? (3, Interesting)

mi (197448) | more than 5 years ago | (#24336459)

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 [mediawiki.org] (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.)

Re:Wiki? (2, Insightful)

Anonymous Coward | more than 5 years ago | (#24338053)

Did you ever open a 32mb text file in a browser?
Or edit it in a textbox inside a browser?

(Even if you split it in sections of, say, 1mb, it's still not gonna work comfortably. And then we're not even talking about reassembling the pieces to get the original big file.)

And, like someone else said, if you need to start tweaking text files bigger than 32mb, then something in your business processes is wrong.

Hmm, (0)

Anonymous Coward | more than 5 years ago | (#24336487)

why not use diff/bdiff/sdiff or (gasp) some kind of source control system? Nah, too obvious...

Simple, switch to VMS! (5, Insightful)

antifoidulus (807088) | more than 5 years ago | (#24336499)

Automatic file versioning built right into the file system! Problem solved! Next!

Re:Simple, switch to VMS! (1)

Tsunayoshi (789351) | more than 5 years ago | (#24337007)

Of my limited 1 year of pain with VMS back in the 90s (the software got ported to Linux shortly after), I think the file versioning was awesome.

We had a custom DIR alias to only show the current version, and custom purge scripts to keep the directories from becoming unwieldy.

Re:Simple, switch to VMS! (4, Informative)

UnderCoverPenguin (1001627) | more than 5 years ago | (#24337201)

If the users are using Linux, there is also ext3cow, which was discussed on /. (http://linux.slashdot.org/article.pl?sid=07/05/02/0413253&from=rss), the newly announced Tux3 (http://lkml.org/lkml/2008/7/23/257), Wayback (http://wayback.sourceforge.net/) and others.

Re:Simple, switch to VMS! (1)

Richard Steiner (1585) | more than 5 years ago | (#24338301)

Unisys OS2200 is better -- it supports file and directory "cycling" which is roughly similar to versioning, but you can also use a directory file ("program file") to store files ("elements") that are never actually delated (only marked as such) until the directory is packed. That means you can have dozens of older versions saved, but they don't clutter up your directory displays unless you choose to see them. :-)

Um, Eclipse? (5, Informative)

Progman3K (515744) | more than 5 years ago | (#24336563)

I seem to recall Eclipse saves your edit history

Re:Um, Eclipse? (0)

Anonymous Coward | more than 5 years ago | (#24337059)

Important Stuff
    Read other people's messages before posting your own to avoid simply duplicating what has already been said.

Re:Um, Eclipse? (1)

bacchu_anjan (100466) | more than 5 years ago | (#24338057)

Hi there,

    I tried to duplicate what you suggested. As long as a file is in a project, eclipse tracks history BUT if the file is NOT in a project, then eclipse does NOT track history.

BR,
~A

Your editor of choice + svn + scripts (1)

Simon (S2) (600188) | more than 5 years ago | (#24336589)

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 [diffuse.it] 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.

Does the file format support it? (4, Insightful)

Richard_at_work (517087) | more than 5 years ago | (#24336599)

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.

Re:Does the file format support it? (1)

tsalmark (1265778) | more than 5 years ago | (#24337621)

I'd give you Plus 6 Insightful if it raised you up the page any. Personally my vote is on SVN and which ever text editor works best with the dataset in question - config file/ flat database or novel would all get a different vote from me.

Editor with hooks to Source Control (1)

jimwelch (309748) | more than 5 years ago | (#24336653)

I use to use CodeWright for this.
MS Visual Studio does this at work.
Notepad++ does this for free at home.

Versioning file system (0)

Anonymous Coward | more than 5 years ago | (#24336721)

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

uhhh.. yeah (0)

Anonymous Coward | more than 5 years ago | (#24336793)

My business users regularly have to tweak large (>32MB text) data files manually

Sorry, I stopped reading right there. Quit your job. NOW

aboiut change tracking (1)

UnderCoverPenguin (1001627) | more than 5 years ago | (#24337047)

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.

try SlickEdit (3, Informative)

davido42 (956948) | more than 5 years ago | (#24337147)

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.

Not enough info to give an authorative answer (1)

DaveV1.0 (203135) | more than 5 years ago | (#24337301)

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.

Geany + SVN, CVS or even RCS (1)

flyingfsck (986395) | more than 5 years ago | (#24337407)

Most any respectable programmer's editor has hooks for versioning and build systems. The nicest ones are Gedit and Geany.

Re:Geany + SVN, CVS or even RCS (0)

Anonymous Coward | more than 5 years ago | (#24337631)

They don't really "track changes" in the way a word processor can
track all editing operations - typically programming-oriented version control only tracks diffs between files (or just the file contents themselves in the case of git) when explicitly told to snapshot a version.

OpenOffice's change tracking is particularly good (basically it's like microsoft word's, only not so buggy as to be unusable).

Emacs _nearly_ has this feature, in at least two ways - you could
do the editing with the keyboard macro recorder active, using the macro recording to record the changes (never bothering to actually rerun the macro of course), or you could periodically rip a copy of the undo list from its guts.

But in either case, you'd get stuck on one obvious point - a text file, unlike a word processing file format, has no provision for saving such data in the same file. It'd be a recipe for data loss and fuckups.

Really, it sounds like the people editing these files _should_ be using a data entry frontend to some database. A simple RDBMS is not hard to set up, and, while it's insane to use MS Access' own "JET" embedded database engine, it (or OpenOffice) serve as fine frontends to a real database over ODBC.

Fix The Bug In The Overlords Heads (4, Insightful)

Bob9113 (14996) | more than 5 years ago | (#24337411)

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 [slashdot.org] (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.

Microsoft Word! (1)

Saint Stephen (19450) | more than 5 years ago | (#24337451)

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? (1)

gujo-odori (473191) | more than 5 years ago | (#24337505)

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.

Re:Doesn't anyone vet these questions? (1)

Orion Blastar (457579) | more than 5 years ago | (#24337861)

It makes a good story when someone who doesn't do any research asks Slashdot readers to do the research for them. Stuff like asking if there is a PDF reader that isn't created by Adobe, or if there is an alternative to Windows that runs Unix code, or even if there is an open source alternative to Photoshop, usually are good submissions to Slashdot on a slow news day. :)

What's wrong with sqlite? (0)

Anonymous Coward | more than 5 years ago | (#24337615)

Use it.

Eclipse/Netbeans for local history + SVN (1)

postmortem (906676) | more than 5 years ago | (#24337777)

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.

E Text Editor (1)

YourMotherCalled (888364) | more than 5 years ago | (#24337783)

Have you looked at E Text Editor?

One cool thing that E does is to give you a visual tree of your edits. That is, as you undo and make changes, you visually create a different branch of your previous changes and you can instantly go back to any point in time with just a click.

I don't know how well E might handle a 32MB file but it might be worth a look.

There's a free evaluation and I it's $35/license.

You can find it here http://www.e-texteditor.com/ [e-texteditor.com]

OpenVMS? (1)

ryen (684684) | more than 5 years ago | (#24337829)

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.

WinMerge or Meld (1)

ecloud (3022) | more than 5 years ago | (#24337925)

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 [sourceforge.net]. 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 [sourceforge.net] is comparable (except the keyboard shortcuts are inferior, IMO, but you can probably change them).

Re:WinMerge or Meld (1)

Winter (87716) | more than 5 years ago | (#24338065)

WinMerge works under wine (version 2.4.x and 2.8.x at least, 2.6 didn't), and is actually my preferred merge utility under Linux.

"e" (1)

Trillan (597339) | more than 5 years ago | (#24337965)

The best text editor I've sen for tracking changes has to be e text editor [e-texteditor.com]. 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.

Use GVIM + any Revision Control SW. (1)

m6ack (922653) | more than 5 years ago | (#24338217)

$ 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!

Maybe an ETL tool? (0)

Anonymous Coward | more than 5 years ago | (#24338283)

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.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...