Programmer's File Editor With Change Tracking? 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?"
vi/emacs/eclipse/whatever + svn? (Score:5, Insightful)
Version control (Score:5, Insightful)
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.
source control? (Score:2, Insightful)
change the process (Score:5, Insightful)
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.
Source Control (Score:5, Insightful)
Re:AskSlashdot: "Please Do My Work For Me" (Score:5, Insightful)
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 (Score:5, Insightful)
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:change the process (Score:5, Insightful)
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.
Simple, switch to VMS! (Score:5, Insightful)
Does the file format support it? (Score:5, Insightful)
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:Real version control (Score:5, Insightful)
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.
Ask Google, then ask Slashdot (Score:3, Insightful)
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.
Fix The Bug In The Overlords Heads (Score:5, Insightful)
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.
Re:change the process (Score:3, Insightful)
Thats silly. Spammers don't edit their lists. They just blast it out to all, valid or fake.
Re:change the process (Score:2, Insightful)
Agreed. Fix the real problem, which is "Having to hand-edit a 32 MB text file in the first place."
Re:AskSlashdot: "Please Do My Work For Me" (Score:2, Insightful)
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.
Re:AskSlashdot: "Please Do My Work For Me" (Score:2, Insightful)
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.
More Details Please (Score:2, Insightful)
diff (Score:3, Insightful)
Re:change the process (Score:2, Insightful)
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:Wiki? (Score:2, Insightful)
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.
Re:RCS (Score:3, Insightful)
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
rent a geek (Score:5, Insightful)
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).
Re:AskSlashdot: "Please Do My Work For Me" (Score:1, Insightful)
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.
Re:That's not fair (Score:1, Insightful)
I think that it would be a horrible idea. Content accessed by Google should be accessible to anyone. If you want Google to index your private site, pay them to do so and host the search within your site.
Re:That's not fair (Score:3, Insightful)
Re:Real version control (Score:5, Insightful)
It's not "unusual", it's simply nonsense.
If your business process requires non-techie users to edit and share 32M-sized textfiles regularly then your business process is broken. The whole approach is broken beyond repair, the obvious solution would be to build some kind of frontend for the users.