Slashdot Mirror


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

18 of 286 comments (clear)

  1. diff -Nrau by red_dragon · · Score: 4, Informative

    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?"
  2. CVS/SVN? by Jonah+Hex · · Score: 5, Informative

    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

  3. Re:Version control by Shaitan+Apistos · · Score: 5, Informative

    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.

  4. Re:AskSlashdot: "Please Do My Work For Me" by somersault · · Score: 2, Informative

    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
  5. Um, Eclipse? by Progman3K · · Score: 5, Informative

    I seem to recall Eclipse saves your edit history

    --
    I don't know the meaning of the word 'don't' - J
  6. try SlickEdit by davido42 · · Score: 2, Informative

    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

  7. Re:Simple, switch to VMS! by UnderCoverPenguin · · Score: 4, Informative

    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.

    --
    Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
  8. Emacs - ~/.saves directory by JBrow · · Score: 5, Informative
    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)

    --
    --- You are in a little twisty maze of comments, all different.
  9. Re:That's not fair by didroe84 · · Score: 2, Informative

    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.

  10. Re:Real version control by Dragonmaster+Lou · · Score: 2, Informative

    Actually, it only appears to keep a full copy for the most recent versions, and repacking the repository ('git gc') will delta-encode everything as necessary. At least, that's how I understand the way it's described on the git wiki: http://git.or.cz/gitwiki/Git?highlight=(delta)|(compress)

  11. Re:change the process by Baddas · · Score: 2, Informative

    Sounds like they're in a non-sustainable environment. Once they run off the rails, or someone gets sick, or someone puts a comma where they shouldn't, the whole house of cards comes crashing down.

    Risk management via creating space to improve the process is surely a better option than that, right?

  12. Re:That's not fair by FiloEleven · · Score: 2, Informative

    I've never had to turn off cookies or anything to view answers on Experts Exchange. Just scroll down past the masked answers and past all the categories: lo and behold, all of the answers are there in plain sight! This is the case for Firefox, at least.

  13. Re:vi/emacs/eclipse/whatever + svn? by dthrall · · Score: 2, Informative

    No offense, but using a java ide to edit text files doesn't seem like the most efficient way to do things, especially dealing with 32mb files (I find most of the java-based ide's i've used tend to choke on large files... Sure, the diff viewer is part of the whole bundle, but for the subversion functionality, TortoiseSVN is a decent windows client, as it sounds like the person inquiring is a more non-technical user. Of course, I'm not sure if you actually mean a true OSS way of doing this, or if you're just looking for a free way to do so...

  14. Re:That's not fair by Fez · · Score: 2, Informative

    They show up fine for me, just keep scrolling down. When I land on one of their pages from a google search, I see all of their gibberish posts but underneath all that, way down the page, I see the full text answers.

  15. Re:That's not fair by Oroki · · Score: 4, Informative

    Just scroll to the bottom of the page; all the answers are there.

  16. Re:rent a geek by Chuckstar · · Score: 2, Informative

    But that only works if the file format supports comments.

  17. if you must: UltraEdit, WinMerge, KDiff3 by Anonymous Coward · · Score: 1, Informative

    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

  18. Re:rent a geek by AigariusDebian · · Score: 2, Informative

    Storing version information in a complimentary file is the very basic description of what version control systems do.

    Give your users an editor with WebDav support and make them edit the files directly in the SVN repository using a HTTP WebDav repository feature of SVN.