Slashdot Mirror


Ask Slashdot: Version Control For Non-Developers?

occamboy writes My spouse works at a company that deals with lots of documents (Word, spreadsheets, scans, and so forth), and they have a classic version control problem that sucks up hours of her time each week. Documents are stored on a shared server in some sort of hierarchy, but there are all kinds of problems, e.g. multiple copies get saved with slightly-different names because people are afraid of overwriting the old version 'just in case' and nobody can figure out which is the latest version, or which got sent out to a client, etc.

Version control should help, and my first thought was to use SVN with TortoiseSVN, but I'm wondering if there's something even simpler that they could use? Do the Slashdotteratti have any experiences or thoughts that they could share? The ideal solution would also make it easy to text search the document tree.

74 of 343 comments (clear)

  1. perforce by Anonymous Coward · · Score: 2, Informative

    Easy to install, free for 20-users or less, rock solid, and clients for many OSes. Most importantly, it supports single-user checkouts, which is vital for things like Word documents that won't merge.

    1. Re:perforce by telchine · · Score: 2

      My preference would be Google Drive or Dropbox

    2. Re:perforce by monkeyzoo · · Score: 3, Insightful

      LOL. I was going to say Perforce too. But as a joke!
      I'm sure these teachers will love the process for creating "changesets" before they can check in any documents. Perforce is awesome, but not really for laymen.

    3. Re:perforce by mattyj · · Score: 2

      Aside from Perforce itself, non-developers should look into Perforce Commons, a web-based frontend to document storage. It's all drag-and-droppy and pretty and has search and etc. etc. It's a good solution if the organization is paranoid about having all their documents in the cloud.

      If they're not paranoid about that, why not Dropbox or something similar? They have their desktop apps so non-developers won't have to be confused about web interfaces and whatnot.

      Please downvote anyone that says 'SharePoint'.

    4. Re:perforce by monkeyzoo · · Score: 2

      Ooops. I misread the OP and thought he mentioned teachers. Anyway, I think the idea applies the same to business users. A technical tool is going to only really work well for technical staff. There are tools like Google Docs that offer versioning built-in without thinking about it. Even MS Office has it available too. But in any scenario, user training is going to be needed to make people understand these features and how to use them. In that case, even something as simple as a naming convention that uses the author's initials and a timestamp would work perfectly well and maybe even better since it's "low tech."

    5. Re:perforce by chipschap · · Score: 2

      I thought Google Drive did, but may be wrong; maybe it's just Google Docs that does version control?

      Google Drive sort of offers version control for non-Google-docs. Previous versions are merely saved (which you can argue is not really version control, I suppose). However --- be careful --- they are only saved for 30 days unless you actively go in and retain them. I lost 7,000 words of a novel I was writing partly because I didn't realize this (and admittedly, partly because I overwrote the working copy).

      A Google Doc has much better version control.

    6. Re:perforce by malacandrian · · Score: 3, Informative

      Won't merge? Word has built in merge and diff tools https://support.microsoft.com/...

    7. Re:perforce by nyet · · Score: 2

      That functionality belongs in the revision control system, not hidden away in some app someplace.

    8. Re:perforce by im_thatoneguy · · Score: 2

      If you actually use Microsoft Office with their collaborative tools enabled (aka saving to OneDrive or SharePoint server) it's much much better than Google Docs. The problem is that people use Microsoft office often in the worst possible configuration and insist that their Office 2003 version "has everything they would ever need" with everything turned off and then complain that it's not as good as Google Docs. Yes, if you use Microsoft Office from the year 2000 and don't use any of the collaborative features like OneDrive cloud storage or Sharepoint hosting it's going to be like using a word processor from the year 2000 without any cloud features. Microsoft can't make your ancient version of office that you refuse to upgrade work any better. Or you could always use the free web version of Office that then is pretty much exaclty the same as Google Docs if that's all that you need.

    9. Re:perforce by UnknownSoldier · · Score: 2

      > Perforce is widely used in the video game industry for saving both code AND art assets.

      Actually Perforce's popularity is slowly decreasing due to free version control for code:

      * Git,
      * Mercurial, or
      * SVN

      At our fortune 50 company we use SVN (SmartSVN on OSX, TortoiseSVN on Windows)

      For binary assets, AlienBrain is pretty popular. I've used it in the past and it seemed decent.

      http://gamedev.stackexchange.c...

    10. Re:perforce by Dutch+Gun · · Score: 2

      The entire videogame industry stores source code, art assets, and documents in source control repositories, and it's absolutely indispensable to them.

      When some people talk about how binaries shouldn't be stored in source control, many mistakenly believe that refers to all binary formats. In truth, what is often meant by this is that binary executables created from the source that's being stored shouldn't be in the repository as well, since it can obviously be generated from the source itself.

      Binary documents and art assets, however, ARE source data as well, and so can equally benefit from version control. I'm curious why you would think that text source code documents should use version control, but binary documents should not. Disk space is stupidly cheap nowadays, so it's worthwhile even if you're simply storing the binary data side by side.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    11. Re:perforce by nyet · · Score: 2

      All the more reason not to use opaque binary formats at all.

    12. Re:perforce by monkeyzoo · · Score: 3, Informative

      As someone who trained people on my team in the video game industry in how to use Perforce who were already familiar with version control concepts, I would reiterate that I don't see any of the above as viable solutions for this bloke. It's exactly the point that all of these tools are going to require non-trivial training, and do you think this guy is going to be able to tell his wife... "Hey! I asked Slashdot, and they recommended Perforce (or git or SVN or CVS or VCS or PVCS or whatever!), so just teach that to your colleagues and you're all set!"

      No. What they can perhaps nominally hope for is to get everyone to switch to Google Docs which does version control and concurrent editing and merging without you asking. Heck even the built-in MS Office does versioning, but again, that is going to require team training and buy-in. Meh

      To reiterate, I like Perforce a lot and found the reward for spending the time to understand its core concepts worthwhile, but its learning curve is steeper than other tools out there. And if git ever got decent GUI tools, it would beat its pants off.

  2. Business problem != technology problem by Maxwell · · Score: 5, Insightful
    Throwing more technology on the pile won't help without a lot of user education, and if you had that you would not need the technology anyway...

    1) Create a rational naming convention and use that.

    Or

    2) use Sharepoint's (base version is free beer) built in versioning system. That is what it is designed for and is one of the few things that SP does well.

    1. Re:Business problem != technology problem by khasim · · Score: 4, Informative

      For other types of documents, it's a matter of defining a process and naming convention on how to keep a track of items.

      Seconded. It's also easier (in my experience) to get non-tech people to understand a naming standard than it is to get them to learn a new app.

      You do NOT want to be the one who has to help everyone find their "lost" documents that NEED TO BE SENT RIGHT NOW IT IS A CRISIS WE WILL LOSE THIS ACCOUNT AND IT WILL BE YOUR PROBLEM OF COURSE I CHECKED IT IN YOUR APP LOST THEM.

    2. Re:Business problem != technology problem by jeffmeden · · Score: 2

      Throwing more technology on the pile won't help without a lot of user education, and if you had that you would not need the technology anyway...

      1) Create a rational naming convention and use that.

      Or

      2) use Sharepoint's (base version is free beer) built in versioning system. That is what it is designed for and is one of the few things that SP does well.

      This. SharePoint does it in a fairly elegant and comprehensive way if you are a Microsoft shop. If you don't want to invest the time into installing/learning SharePoint, just look into Shadow copy or one of the many delete-less for the server, so you can go back in time if changes do get clobbered. For a more user-friendly but less controllable solution, every cloud file storage platform (Onedrive, google drive, dropbox, box, etc) offers this feature in a pretty straightforward way, and they have all have paid team collaboration solutions as well to managed shared files. And if you really want to flip them the fuck out, move to an online doc platform like Office 365 or Google Docs where you can actually do collaborative editing within the documents.

    3. Re:Business problem != technology problem by RingDev · · Score: 2

      Actually you can do diffing of MS Office docs via SharePoint. Makes picking out when people try to ninja requirement changes into a spec super easy to see ;)

      There are horrible, horrible things people try to do in SharePoint, but storage/organization, versioning, and collaboration of MS Office documents is actually something it does really, really well.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    4. Re:Business problem != technology problem by im_thatoneguy · · Score: 2

      And as a last ditch effort I would also firewall the problem by enabling Shadow Copy of the file server (assuming they have a Windows Server). Then when someone inevitably does write over an existing document, fail to use the right file name convention or use Office "incorrectly" there'll still be the old version in the Versions tab of explorer.

      They could also setup a OneDrive account and that would avoid using Sharepoint. And all you would have to tell them is "save to OneDrive" and you would get collaborative mode enabled without hosting Sharepoint.

    5. Re:Business problem != technology problem by lgw · · Score: 2

      SharePoint is the worst possible answer (without extensive user training). It proves it's physically possible to suck and blow at the same time.

      The problem is, while there is built-in change tracking for editing a document, it's easier for the user to just upload a new version of the doc, instead of editing the existing doc, which ruins everything - it relaces the existing doc and all editing history.

      Maybe it's possible to configure SharePoint to make the wrong thing impossible, but I've sure never seen in so configured. All I ever see are people clobbering one another''s changes and then the yelling starts.

      Office365 forces you to the right approach, if you're comfortable with the cloud, and just transparently solves all the problems (or as close as version control ever manages), but lots of people just don't like the cloud.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    6. Re:Business problem != technology problem by grcumb · · Score: 3, Interesting

      Throwing more technology on the pile won't help without a lot of user education, and if you had that you would not need the technology anyway...

      1) Create a rational naming convention and use that.

      Go no further than this. I've worked in office environments where we had dozens of editors and sub-editors proofing and editing tens of thousands of legal documents (legislation, judicial decisions and regulation), where even a single character out of place was unacceptable. After years of trial and error, the single most foolproof way of working with these documents was using the file system to define where they were in the editing process, and using filenames to indicate their status and ownership.

      It's primitively simple. But simple is an abundantly good thing in this context. Make some basic rules. Enforce them. Bob's your uncle.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    7. Re:Business problem != technology problem by UnderCoverPenguin · · Score: 2

      People still mess up naming schemes and will still blame "you" when they can't find their documents. Then, when you point out that they failed to follow the corporate document naming standard, they will blame you for the naming standard.

      --
      Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
    8. Re:Business problem != technology problem by UnknownSoldier · · Score: 2

      > MS Office has some pretty good versioning support

      This is the same company that bought SourceSafe from another company and you want to _trust_ them NOT to screw up version control???

      There is this table of collaborative software. SharePoint's last stable release was in 2010, almost 5 years ago. Again, you want to trust Microsoft with updated Service Packs and Cumulative Updates ??

    9. Re:Business problem != technology problem by mcswell · · Score: 2

      No, the last stable release was a couple months ago (Dec 2014). You must be looking at Sharepoint Workspace, which is a discontinued product.

    10. Re:Business problem != technology problem by Pascal+Sartoretti · · Score: 2

      use Sharepoint's (base version is free beer)

      The base version Sharepoint is not free, it is included in the Windows Server license you need to buy. And don't forget the SQL Server Licence.

  3. Take a look at Owl by LWATCDR · · Score: 3, Interesting

    http://www.doxbox.ca/
    It is a document management system

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  4. Document Management System by Anonymous Coward · · Score: 2, Informative

    Something like Alfresco ?

    1. Re:Document Management System by jbolden · · Score: 2

      Alfresco is much more serious than what's he asking for. That's a step up from SharePoint. A typical use case would be: company X wants legal to be able to access documents by different dimensions than how they were generated...

    2. Re:Document Management System by ShopMgr · · Score: 2

      Alfresco Document Management. Gives you a Folder Structure with Version Control.

    3. Re:Document Management System by Sarten-X · · Score: 2

      As a librarian's husband, I feel a bit of a duty to point out that a larger company (say, of the size where document control and user training are becoming real problems) may be well-served by hiring a corporate librarian.

      Librarians are trained to organize documents and articles in an appropriate manner, and to help users find what they need quickly. Categorization and cataloging should not be left to the whims of the users.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    4. Re:Document Management System by blue9steel · · Score: 2

      As a librarian's husband, I feel a bit of a duty to point out that a larger company (say, of the size where document control and user training are becoming real problems) may be well-served by hiring a corporate librarian.

      One moment while I laugh myself sick. Sorry, you're not wrong it's just that doing something sensible like hiring an expert and then listening to their advice is pretty rare these days.

  5. Business problem != technology problem by rgbe · · Score: 5, Insightful

    I agree it's a business problem. MS Office has some pretty good versioning support built into it and multiple people can edit a document at the same time, if you know how to set it up. There should a technical person in your wife's company that understands how MS Office and other tools work. They should train the staff on the capabilities and the staff should come up with a process that works for everyone.

    With SharePoint you can have MS Office documents versioned, it is basic versioning, not like git where you can have branches and things like that. For other types of documents, it's a matter of defining a process and naming convention on how to keep a track of items.

  6. Document Management System by kdekorte · · Score: 5, Insightful

    What you are looking for is a Document Management System, something like Documentum or FileNet that are built for this specific version and include additional features like workflow and extra attributes that you can add to the content to find it easier. Web Content Management systems are not the same thing, and will not work the way you want them to so make sure you look at all the options out there.

  7. Pick an easy solution by hhawk · · Score: 4, Interesting

    I would recommend Google docs, assuming there isn't any crazy formating involved.

    #1) It is a single document so you don't have to worry about the naming of it..
    #2) Google Docs has a built in ver. control, in that you can roll backwards to early version of the document, and you can see who is editing, changing etc. (assuming everyone has their own password).

    It's low tech, easy to use, and the only education is to keep on using the same file name.

    --
    http://www.hawknest.com/
    1. Re:Pick an easy solution by uncqual · · Score: 3, Insightful

      Some businesses are not comfortable putting their documents in the hands of another party due to security concerns. Some also are hesitant to rely on a service that may go away with relatively short notice.

      Google Docs would require additional training as well if they are already using Word/Excel and legacy documents would need to be maintained somewhere.

      Google Docs does not import a lot of Word and Excel documents adequately. I've rarely had it import a Word document with sufficient fidelity that I didn't find it necessary to at least touch it up. With Excel documents, I almost always have to do a lot more than "touch up" work to make it whole again. Therefore, it's likely switching to Google Docs would require a lot of effort if some of these documents are "living" documents that change from time to time.

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  8. DON'T use git.... by bobbied · · Score: 2, Informative

    Lord help you if you do... It's bad enough for source code, but it's horrible for Office documents.... On the plus side, everybody has their own local repository so loosing data due to drive failures is minimized over having everything on a server, but all that pushing and puling with merging is painful on things like word documents...

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  9. I'd avoid Subversion by alvinrod · · Score: 2, Informative

    I'd avoid SVN for anything that isn't a flat text file, otherwise it becomes a pain to merge or determine what the actual difference between two files is. I'm not aware of anything that will make viewing diffs for Word documents human readable. Never mind that some of the people who need to use it will probably be a afraid of it or have even more basic problems like forgetting to commit.

    If they're not doing anything that requires absolute security or precise formatting, something like Google docs might work reasonably well. It's simple to use and doesn't require the users to understand the complexities of version control. No idea if there's anything that can be hosted locally in case the company can't or would prefer not to put the data on Google's servers.

    1. Re:I'd avoid Subversion by AikonMGB · · Score: 4, Informative

      I'd avoid SVN for anything that isn't a flat text file, otherwise it becomes a pain to merge or determine what the actual difference between two files is. I'm not aware of anything that will make viewing diffs for Word documents human readable.

      TortoiseSVN already does this. It uses the hooks in Office to create what is basically a "track-changes" copy, where previous version is the base, and new version is if you accept all changes. This is about as good as it gets to diffing Word files, and flows logically with how they were intended to be used in businesses anyway. It will do the same for Excel, but it's... a monster that should never be allowed to live.

    2. Re:I'd avoid Subversion by StatureOfLiberty · · Score: 3, Interesting

      If you are using Windows PCs and using the TortoiseSVN client, you are able to diff word docs just fine. The diff view is displayed in Word itself.

  10. My experience by Anonymous Coward · · Score: 2, Interesting

    I had a similar arrangement for a medical practice using Subversion and Cornerstone but ran into the same issues mentioned in the parent, creating new weird names, forgetting to check-in their changes, etc. Given the docs were Word, Excel, and Powerpoint, merges between files aren't possible.

    The only real solution was to park everything online, including the editing and version control. Removing the notion of a 'file' that had to be down/uploaded was the biggest thing to overcome but they soon adapted and having simultaneous edits while everyone is on Skype was a real win for them.

    Google Docs, its free and your collaborators don't even need Gmail accounts to contribute. Compared to the other offerings (Smartsheet, etc), the ability to add additional scripting behaviours puts it on a level above the rest. At that point you'll have to pay about $50/user/year which is quite reasonable.

  11. Google Drive / Docs by imnes · · Score: 2

    If they are open using Google Docs, it supports multiple simultaneous editing, and does versioning of files.

  12. Re:Fuck Beta by Anonymous Coward · · Score: 2

    A lot of us are on soylent news. http://soylentnews.org/

    Buck Feta!

  13. OpenVMS by frooddude · · Score: 3, Funny

    It has an automatic versioning filesystem (Files-11)...

    Far as I can tell there isn't really a 'modern' filesystem that does this. Because what you need is for no one to have to think about doing it. Save the file, done. w/ Files-11 it gets a version number appended and if it's important enough to recover I'm sure someone would manage to figure out how to dig up the older revision that they want.

  14. Alfresco by Anonymous Coward · · Score: 3, Informative

    Alfresco has a versioning capability: http://docs.alfresco.com/4.0/concepts/versioning.html

  15. Don't forget the people side of the equation by Registered+Coward+v2 · · Score: 4, Insightful

    The greatest document version control solution will ultimately prove to be useless without considering the human, i.e. user, part of the solution. Unless you have clear procedures in place detailing how to maintain version control, teach people how to use the software, explain to them why version control is important (and yes that means you, Mr or Ms senior executive who doesn't have time or the need to follow procedures that are in place to prevent the last screwup you caused by ignoring them), and have someone who maintains the document library and keeps it in shape so it actually is easy to use, your solution will fail. Without that, people will download the latest, make edits, save a copy and upload the edited version. After a while they will simply edit the saved copy and, if you're lucky, upload it as a new document.Others will download a document, make edits, save a copy and send it out without ever checking the document back in so no one else can edit it; those people will find an older version and simply edit it.

    I've been there and seen it done very poorly and very well; the key difference is those who do it well have someone who knows how to make it work, can educate people and convince them why it is important, and actually make it work. Those where it fails simply put in a technology solution and then wonder why it didn't works they search for the next technology solution.

    --
    I'm a consultant - I convert gibberish into cash-flow.
  16. Document Version Control by Bacon+Bits · · Score: 4, Informative

    There are dozens of document management and document version control systems, and many enterprise content management systems have document management as a component. The most well known is probably Microsoft SharePoint, but there are open source alternatives like LogicalDOC, OpenKM, Plone, Nuxeo, Alfresco, etc. as well as other commercial offerings like IBM Enterprise Content Management and others.

    However, the technology won't replace poor training or users determined to do their own thing.

    --
    The road to tyranny has always been paved with claims of necessity.
  17. Sharepoint? by Dracula · · Score: 2

    or confluence, alfresco.. or most other CMSs.

  18. Proper solution by Registered+Coward+v2 · · Score: 2

    You left out:

    5.a Spend an inordinate amount of time explaining and defending your estimate to the point the CTO and CFO forget about the initial problem

    Delete steps 6 - 9

    --
    I'm a consultant - I convert gibberish into cash-flow.
  19. Re:Use GIT by DarkDust · · Score: 4, Informative

    I've been using SubVersion since it was in beta and have used it at work and in private in multi-gigabyte projects. SubVersion was always rock-solid for us, and it's handling binary files very well (which was the prime reason we decided to switch use SVN back then in about 2003). Git is an excellent tool for us developers, but I feel it's way too complicated for non-technical people who don't need these bells and whistles.

  20. You are asking the wrong queston... by bobbied · · Score: 5, Insightful

    The problem you have is a "process" problem. If everybody is editing documents all over the place at the same time on shared drives, you simply cannot avoid the *real* problem and that is a process one. CVS or RCS, or any other "version control system" cannot fix the process problem.

    You need to think about why the "process" allows multiple people to be editing the same document at the same time. If you continue to allow this practice, your issue becomes a question of "how to merge" all this input back into ONE document. Unfortunately, Merging is pretty much *always* guaranteed to be a hard problem, especially when you are merging things that are complex in structure. Source code is bad enough, but you are dealing with stuff that most revision control systems just store as binary blobs and can usually only tell you that copy x is different than copy y, but not what the changes actually are.

    So, your FIRST responsibility here is to solve the problem with your process that leads to multiple editors having the file open at once and pare that down to the minimum number of editors you can (hopefully ONE at a time) and then deal with the difficult merge task that's left. I'll warn you that you may need to enforce the process using file permissions, only giving limited people write access to the file on the share so only they can change it. Everybody else has to go though them.

    THEN, you can implement just about ANY revision management system you want, or if your access controls are well enough established, just keep everything on a common share that everybody can read, but only by going though the process can they change things... If you *must* have revision management, go with something that can parse the internal changes of the files you store as much as possible. For Office documents, I would assume Microsoft has tools for that, beyond just sharepoint...

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    1. Re:You are asking the wrong queston... by bobbied · · Score: 2

      You must not write software.... The Evils of MERGING cannot be over estimated. Us software engineers go to great lengths to avoid having to do a difficult merge process because it is error prone, time consuming and messy...

      If you don't design your process to avoid the merge, you will be forever doomed to spend your resources trying to do merges.

      Tools *can* help you, but only if the process model of the tool matches your process close enough. But good tools usually cost lots of money, even the free ones, when you install and configure them. Training your employees to use them is costly too. Most tools will force you into process changes.

      I suggest you START by adapting the process to fix your problems. If that is simply not possible, and you are sure a tool will save you (unlikely), then you will need to adapt your process to fit the tool you choose.... But I don't care what direction you end up going, the process WILL change. The low risk move is to forget the tool and fix the process if you can.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  21. This can help by fyngyrz · · Score: 4, Informative

    One decidedly low-tech thing that can be done without any other changes is to have your users start saving documents with sortable times in the filenames, updated as to the time they are doing the save:

    client1-document-20150217114003.doc

    YYYYmmDDhhMMss

    If that's done with a save-as, they get the previous version safety they seem to like just by using "save as" intelligently, and they get latest version sorted using just alpha sort, so it cuts down on the confusion factor.

    It isn't much effort, but it's surprisingly effective.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:This can help by znrt · · Score: 2, Informative

      doesn't solve concurrent edits = you have no single source of information = you can't just pick the last.

      i don't think their problem is solvable just with tools. they need to understand collaborative workflow: you either block or are prepared to merge often. i don't know of any such tool that doesn't require a minimum of training and thought. i've heard microsoft claims to have such thing in office 365. and i wouldn't recommend ms to my worst enemy but since it looks like they are on the hook anyway they may as well get raped to the end, won't hurt that much more.

      another radical alternative is google docs. yes, sheesh, but better than office.

    2. Re:This can help by Anonymous Coward · · Score: 3, Insightful

      This is a terrible idea.

      a) in practice people will make typos on the 14 char datetime string, miss leading zeroes etc.. resulting in a mess of similarly named files in the folder

      b) even if miraculously this format was followed rigorously by the users for every file, you'd still have people forgetting to sort the directory files by time (or thinking it is sorted when it isn't) and opening the wrong file etc

      Timestamping files with a 14 char string is the kind of thing computers are good at and people are not.

    3. Re:This can help by FatdogHaiku · · Score: 3, Insightful

      ...another radical alternative is google docs. yes, sheesh, but better than office.

      My fear is that Google docs has attained the level of usability and popularity that often precedes a Google project, service, or feature being shut down...

      --
      You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
  22. Re:Backup? by pahles · · Score: 4, Informative

    Which is not a version control system at all. Time Machine does periodic backup once per hour, and only once per hour. Not on each save. Not multi-user. No mod points for you.

    --
    Sig?
  23. DO NOT Use GIT by Anonymous Coward · · Score: 2, Interesting

    No. You are wrong.

    Git handles text files well.

    Git handles infrequenly changing binaries well enough.

    Git handles frequently changing binaries very very very poorly.

    Plus, with either svn or git, you are basically asking each user of the system to download all revisions of all files ever used on your system. That makes perfect sense for a codebase. That makes terrible terrible sense for business documents in a shared pool.

    1. Re:DO NOT Use GIT by DarkDust · · Score: 4, Interesting

      With SubVersion, you can check out subtrees instead of the whole repository (even non-recursively, so you can check out a directory "in the middle"). That's something that Git or Mercurial can't do by design; IIRC it's because the always-complete-repository approach makes merging and other tasks much, much easier. In your SVN working copy, only the data of commit you've checked out are stored. For everything else SVN needs to contact the server which depending on the requirements and workflow, is either a good or bad thing. On the other hand, Git and Mercurial do have the complete history locally which allows them to perform a lot of tasks without contacting a server that SubVersion could not do (simple example: get log history of a file).

      But it's actually besides the point: all of these things won't matter to an office user. Ease-of-use and chances-to-screw-up do.

  24. Re:Use GIT by Jaime2 · · Score: 3, Insightful

    Git and SVN are different products. SVN is centralized and git is distributed. If you want to create a centralized repository and only allow people to have access to certain parts of it, SVN is a much better fit for that workflow. Neither allows the user to browse the document repository with first checking it out. Well, they both have web interfaces, but those don't support a good editing workflow.

  25. Re:Use GIT by DarkDust · · Score: 5, Interesting

    Now you've got into rant-mode, sorry. I really hope non-technical people are never forced to actually type in commands but use a GUI instead, no matter which VCS they use. But especially with Git. I think Git is a very powerful tool and have come to like it for its features, but I still hate it for its commands and what I feel are inconsistencies and "fuck how other VCS are naming it, we use something different".

    For example, discard changes on a single file: "git reset foo.bar". Discard changes on all files: "git checkout -- .". WTF? Just a few days ago, I wanted Git to give me the diff of specific commit, the equivalent to "svn diff -c revision" or "hg diff -c revision". In git? "git diff revision^ revision" or "git diff revision^!" (which I overread when I was reading the man page and needed to look it up on Ye Olde Interweb). Or "git diff-tree -p revision" or "git whatchanged -m -n 1 -p revision" since why not? And "git add" both adds a new file to the repository but also picks a modified file to be included in the next commit (but only the parts that have not changed between add and commit. The add behaviour does make sense when you think "from the inside" of the VCS, but I was confused at first and I'm a technical guy. Normal people will have trouble with this stuff. Seriously, I've been using various VCS in last two decades and still am doing a lot in the shell, especially VCS stuff since I feel to be more in control this way. But Git is the first VCS that I use almost exclusively in a GUI because it's CLI is too cumbersome.

  26. Microsoft SharePoint by KermodeBear · · Score: 3, Informative

    I know that Microsoft products aren't hipster and all, but the OP mentioned Word and Excel documents. SharePoint supports version control. I don't know how well it works for scanned images, but for documents and spreadsheets it works just fine.

    --
    Love sees no species.
  27. Re:Use GIT by DarkDust · · Score: 3, Interesting

    I've worked on a SubVersion project for several years where the smallest useful checkout was 5GB (it was an in-house Linux distribution I've built and maintained). On a local network, SubVersion works pretty well for these things but you're right, I wouldn't want to do this over a poor Internet connection. It's pretty space efficient with binary files and handles things like copies and renames very well, so if you need to deal with them a lot then SubVersion is a good choice. Git and SubVersion work very differently, each have features the other doesn't have, by design. Believe it or not, SubVersion was also *designed* for large projects, but different use-cases. I really, really wouldn't want to maintain my distribution with Git. Now that I'm a "normal" developer again, we're using Mercurial and Git since they're better suited for these tasks, handling source/text files with lots of branching and merging.

  28. OpenText does that by MikeBabcock · · Score: 2

    http://www.opentext.com/what-w...

    Disclaimer: my cousin works there.

    --
    - Michael T. Babcock (Yes, I blog)
  29. ownCloud by Anonymous Coward · · Score: 2, Informative

    ownCloud(https://owncloud.org/) supports versioning and will automatically sync changes. It's easy to set up on your own server.

  30. I used this and it works. by serviscope_minor · · Score: 4, Interesting

    You can set up Apache to serve files over WebDAV. WebDAV is mountable as a network FS on Windows, OSX and Linux. Apache can store the webdav files in an SVN repository, so you get file versioning built into the mounted filesystem that is completely transparent to the user.

    You can also set up apache to allow normal browsing of the SVN repo, so you can browse it online without mouting and also access old versions.

    So basically you get transparently versioned files. Native read/write access. Access to old versions via a web browser. No tools required on the clients for it to work.

    Also all free and open source and the data is not stored in an obnoxious format that it opaque: it's a refular SVN repo and works just as well with commandline tools.

    --
    SJW n. One who posts facts.
  31. methodology by BradMajors · · Score: 2

    Configuration control is all about the methodology, and not about using a particular tool. It is possible to have great configuration control without using any software tool, and it is also possible to have no configuration control while using a software tool.

    The simplest solution in the above case is to put into place configuration control procedures while not using any software tool.

  32. SharePoint by iONiUM · · Score: 2

    Probably people will downvote me for this, but this exactly scenario is why SharePoint exists. It's specifically to help non-technical users post, share and have version control for their office documents.

    It integrates with Microsoft Office, so Word etc. simply presents a 'check out' button on the top, and asks you to 'check in' if you press the 'x' and try to leave, and you can add comments.

    Don't know why this wasn't considered?

  33. Re:Use GIT by diamondmagic · · Score: 3, Interesting

    Git has the "stage", right. The stage is just the next commit. It's a little hidden filesystem (git tree, actually) that's already processed and ready to be attached to a commit message once you run `git commit`.

    For example, discard changes on a single file: "git reset foo.bar". Discard changes on all files: "git checkout -- .". WTF?

    `git checkout` is about your working directory. Use "git checkout -- foo.bar" if you made a modification and you don't want to commit it, just erase it. Or better yet, `git checkout -p`

    `git reset` is about unstaging changes, it doesn't touch the filesystem. (It also has `git reset -p`)

    Just a few days ago, I wanted Git to give me the diff of specific commit, the equivalent to "svn diff -c revision" or "hg diff -c revision". In git? "git diff revision^ revision" or "git diff revision^!" (which I overread when I was reading the man page and needed to look it up on Ye Olde Interweb). Or "git diff-tree -p revision" or "git whatchanged -m -n 1 -p revision" since why not?

    You want to see the changes that one commit introduced, so of course you ask git: "What were the changed from parent-of-'$revision' through '$revision'?"

    You're probably looking for `git show $revision`

    And "git add" both adds a new file to the repository but also picks a modified file to be included in the next commit (but only the parts that have not changed between add and commit.

    `git add` copies a file from the working tree to the stage (index). What happens when you use `cp` and the target file doesn't exist? It gets created. (Since you can't copy a nonexistent file, there's also `git rm` to remove files from the stage.)

  34. SharePoint not so great. by fortunatus · · Score: 2

    My experience with SharePoint: A) it does not protect against multiple check-outs followed by multiple check-ins erasing other people's changes. Basically there's no detection of collisions between your changes and changes since you checked out. This caused a lot of grief in my work group. B) The versioning is strictly linear, at least I never saw any branching. That is very unlikely to address business needs. So you will need a naming scheme to represent branches.

  35. Basic versioning: Notepad++ by Futurepower(R) · · Score: 2

    " basic versioning"

    The free Notepad++ can make a backup of every save, with date and time in the .BAK file name. The .BAK files can be in a special folder.

  36. MediaWiki. by sbaker · · Score: 4, Interesting

    My wife and I use MediaWiki! Seems kinda silly - but you can configure it to accept all kinds of file types - and you have all of the nice stuff like discussion pages and categories to help you to organize them.

    The huge advantage is that it's insanely easy to use. Super-light on features also...but, hey...it's a thought, right?

        -- Steve

    --
    www.sjbaker.org
  37. 3 Easy options by Dynedain · · Score: 2

    1 - Switch to Office 365 or Google Docs in which revisions are a built-in feature of document editing
    2 - Enable Office's built-in version tracking
    3 - Move all document storage into a CMS like Sharepoint (which has good Office integration at least on Windows) or BaseCamp, Jive, Confluence - any system that allows for online editing and has revision tracking built-in

    Any other ideas, skip. Anything having to do with a source-code like version control system will result in people "committing" but duplicating files over and over in the old pattern.

    --
    I'm out of my mind right now, but feel free to leave a message.....
  38. Been there, done that. Here's how: by Qbertino · · Score: 4, Interesting

    My Gig currently is with a classic marketing agency. Very nice folks - a breath of fresh air when it comes to my history with agencies - but breathtakingly clueless with IT - as usual in this industry. I'm basically the only IT/dev guy in a shop of 30. Has its ups and downs. ... Whatever.

    They asked me on board as a webdev, to establish a pipeline and introduce versioning. I'm using Git on a VMed central linux system and SourceTree as client. Our outside SSH port is mapped to that VM, so the the people on a project can commit docs or code on the go.

    Sidenote: I wouldn't use anything other than Git, it's just not worth it. Git has won the versioning thing. End of story. ... Bazaar might be an alternative, if you need the same click-ui on windows, mac *and* linux, but that is probably a very rare case.

    As a client we use SourceTree on both Mac and Windows, so all UIs look more or less the same. No Tortoise, for that exact reason! I show them where to click to see the entire file-tree as in finder or explorer, so nobody is confused and explain the difference between a commit and a push. In a pinch, the windows and mac folks can help each other out if I'm not around, since they’re all using SourceTree. And it keeps this "Versioning" thing nice and secluded. That's also a reason.

    I want to get them to use versioning, so I tell them #1 is always fear of using it. I tell them not to worry, it's pratically impossible to break anything (one of the advantages of Git). I tell them to version often and comment their commits, even if it's just smalltalk. The point is getting used to commenting. We don't uses branches, just master. I also tell them to try and logically group commits, but not kill themselves if it goes wrong. It happens - with me aswell. No harm done.

    Once everyone is pro in versioning, we might change the branching policy.

    As for all the other buttons in SourceTree, I just tell them to ignore them and that they are for later. I do tell them the meaning of "Stash" and how nifty that is when you've forgotten to pull before starting your work, but only those who need and want to know. ... As soon as they get a pull conflict, they ususall do want to know, so no problem here.

    I've established a naming-standard with ProjectFolderName/git-repo for local clones, so everyone has a space where they can fiddle for the project without needing to inmediately version if they just want to try out a new tool or salvage an older Photoshop template or something. Project docs go into /docs, developer stuff goes into /code (mostly complete wordpress installs or some other thing), DB dumps into /db, graphics, layout, DTP files and videos and other raw material usually goes into /assets, etc. ... You get the picture.
    We're/I'm not to strict with dir-policy and let it grow a little too. No project is like another.

    Important:
    I put my agency behind versioning, because right now its Filename-02122014-final-extra-specialEdit-Peter.doc on a central drive and shit. Especially with the editorial team. Not good. I did a neat presentation and help everyone who comes into versioning to get familiar with the concept. Installing SourceTree, doing a few demo commits, have them do it, show them the red numbers, looking at the history log and file-changes and stuff.

    A few months in and the online team is starting to get used to versioning on some projects. Once everyone there is on board we’ll move into other departments. My PM for one large online project is using versioning regularly now, as are the students helping out. That the bosses are behind all this helps.

    Sidenote: More than half of the team is ladies, as is my PM, btw.

    I tell everyone that they can ask me everything a million times and call me at 2 o’clock in the morning if it’s a versioning problem and they need my advice or some handholding. Very import

    --
    We suffer more in our imagination than in reality. - Seneca
  39. Training by Curunir_wolf · · Score: 2

    This is NOT a technical issue that new software will solve. It is a training or management issue. If people don't understand how to use version control, they will use it like a file share instead. I've encountered this MANY times, and right now I'm struggling with the idiots (actual software developers) that are using dead-simple SubVersion tools and STILL want to make copies for new versions, create new folders for the "current" docs and rename folders as archives. Constantly. And these are supposed to be DEVELOPERS! They seem to have no concept of tagging, branching, or even versioning in general. WHY did you delete all these files and then commit a bunch of modified files into a new folder!??!?

    The only way to fix this is to create some policy and procedure documents (they can be really short and simple), and then get management to ENFORCE them. Otherwise, you might as well just throw out the version control system and let everybody do whatever they want in a shared store. Because that's what they'll do anyway if they don't "get" version control.

    --
    "Somebody has to do something. It's just incredibly pathetic it has to be us."
    --- Jerry Garcia
  40. Re:Use GIT by DarkDust · · Score: 3, Interesting

    I'd love to see you explain all this to an average office lady :-)