Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Share my pain point: I want dead easy version control.
12 points by impendia on June 4, 2012 | hide | past | favorite | 13 comments
I am a research mathematician. I collaborate with various people on papers, around the globe. Math papers are written in LaTeX, which is basically plain text with markup.

When I worked for a software company, we had version control setup (Subversion), which was a godsend. It was a little bit of a pain to get going, but once it worked it was great.

I would love to use some kind of version control now. Nothing fancy -- for example, I collaborate with a mathematician from Japan, and I would love version control with a good diffing feature. I'm thinking web interface, we can both upload versions of the file, run diffs, choose which changes to keep and which to discard. Ideally, this could all be done from a webpage.

I know enough programming to speculate that this should not be too terribly difficult (although of course I could be mistaken).

Such a solution does not seem to be out there. Just this morning, I tried Github. It makes me install git first, and when I install it I get the following error message:

dyld: unknown required load command 0x80000022 Trace/BPT trap

Upon Googling and fixing that:

error: Cannot access URL https://github.com/FrankThorne/Frank-Test-Repository.git/, return code 60

What the f* is that? I could google that too, but I don't know how long it will take before it eventually works. I suck at system administration (and have more pressing things to do than learn it), and I have often found that "trivial" tasks take me several hours.

Subversion, Bitbucket, even Dropbox (on Linux), same story.

Now, of course, suppose I do whatever is required to install this, which is probably easy but could turn out to be a headache. The real pain point is that I then have to persuade my colleagues to use it, and if installation causes them any difficulty, then I look like an ass.

Almost no research mathematicians use version control. We all should be. The way to make this painless (as far as I can tell) is to make everything doable over the web. I would pay money to be able to work like this with my colleagues.

Is there something I am missing? Is there some reason such software does not already exist? If not, seems like an opportunity to me.



I googled "latex track changes", knowing that for documents, people are more likely to call it "track changes" than "version control", and got this:

http://trackchanges.sourceforge.net/

http://www.peteryu.ca/tutorials/publishing/latexdiff

http://narnia.cs.ttu.edu/drupal/node/130

Seems like there are a few solutions.


What's with the posts saying "Please send me your ideas. Maybe I can do something with them."? Um, no. Please publish your ideas and let the world help you with your problem.

Actually, you already have. Why _isn't_ there a one-button (or script) way to get started with github? This is exactly the sort of thing github should be doing to extend their community. The instructions at https://github.com/ (GitHub Bootcamp) seemed pretty good to me, but that just means I didn't fail at some step for impenetrable reasons, and give up. It's not obvious to me that the entire business of starting up, including generating ssh keys and registering them with github, couldn't be done in a simple installer.

Next, of course, comes the difficulty in learning to use git. And no, it isn't obvious. I'm not entirely sure the problem can be solved with training, but I am sure it certainly would be better solved by training focused at a particular user community. For example (to pick one out of the air), where is the tutorial for people who collaborate to write a document written in LaTeX? Do they want a centralized, single-master repository with a small number of committers, a centralized repository wiki-style, where everyone on the list can push, or distributed repositories? How to manage these scenarios? What special problems will be encountered because of LaTeX markup? This is probably best addressed by the community of LaTeX users, if they could only get started, and if only they could figure out how to use the tool to best advantage.


> Is there something I am missing?

Yes, training.

I assume you've had much training at being a research mathematician. Even, things that seem obvious to a layperson, say using library resources to research papers, takes training/experience to do efficiently.

Version Control tools are no different.

Given that. There are numerous subversion GUI clients both native and web. Google "GUI subversion client"

Google docs also provides some revision control features I believe.


I believe I've run into the return code 60 problem before, IIRC, it had something to do with the curl library and https. Try using the SSH address instead, if possible, git@github.com/FrankThorne/Frank-Test-Repository.git.

What I found to work for using the https address was creating a file named '_netrc' (on Windows XP, it would be '.netrc' on Linux) in your home directory with the following:

  machine <git_host_ip>
  login <your_user_name>
  password <your_password>
This wasn't for github, but a local git server. May work regardless. I don't have the link to where I found this solution for further information. Hope this helps.


I have found that the Github GUI for Mac is pretty good, my teammates who are designers figured it out pretty fast. But honestly, if you are using linux you are probably the type of person who would get comfortable with the command line tools pretty fast.

Like anything else there will be a learning curve. The hard part is getting used to the clone/commit/push/branch/merge/pull workflow as opposed to the typical open/save/send/saveas environment most users are accustomed to.

At first it seems like an extra step, but once the light bulb clicks it's like "This changes everything, again!"

I do agree that there is a lot of room for improvement in get an average user from zero to lightbulb phase faster.

A good place to start for anyone learning git is the github bootcamp, starting with: https://help.github.com/articles/set-up-git


It sounds like the real difficulty is that you can't install these pieces of software on your particular operating system, which all already solve this problem in a relatively robust and well-tested way. All you should have to do is put together a robust piece of software that installs cleanly on your OS to support revisioning... but this is the same challenge faced by all of the examples you've mentioned. I'm not convinced that you're solving the right problem if the main difficulty lies in installing.

In the HCI research community, SVN is the norm, backed by sites like Unfuddle, Github, or private SVN servers. All of these sites let you upload directly through the web.


It sounds like what you're looking for is a version control system (VCS) for rich text documents, whereas most are made for program source code. I built pretty much the exact application you're describing, but it was for the company I work for as an internal project only. (And not very pretty either)

If you had some specific ideas, I'm always looking for project to work on. Feel free to send them to me (blazes816@yahoo.com). I doubt I'd personally get much done on it, but I tend to get into things and go nuts sometimes. At the very least, you may get some workable code or ideas to go about it.


You used Subversion and you said it was a godsend. Stick with that. I use Subversion with all sorts of non technical people such as writers, graphics people, etc.

On Windows you can download TortoiseSVN and install it and it works well http://tortoisesvn.net/

To get a Subversion server up and running, the easiest is to just buy access to a Subversion server. They are not expensive, e.g. I had good experiences with http://wush.net/ at $6.66 a month, but there are many others out there.


can you write me your ideas? I got the same problem with git (I hate it!) and we could find a solution maybe!

aw4y noneofthem@gmail.com


Why not use a hosted VCS, so you don't have to install it? Most free VCS hosts offer public-only repositories for free. However, a few, such as BitBucket, provide free private repositories. There are likely others too. I think this would solve your problem.


That would take care of the hosting, but of the actual usage of the tool.


Most code-oriented version control tools are all or nothing, because if you take some of coder_x's changes, but not all of them, it's very likely that your software will break.

If you want to review changes like you're suggesting, Microsoft Word can support that.


GitHub has released Windows GUI now too. It is really easy to use if you want to give git another try :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: