
Share my pain point: I want dead easy version control. - impendia
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.<p>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.<p>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.<p>I know enough programming to speculate that this should not be too terribly difficult (although of course I could be mistaken).<p>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:<p>dyld: unknown required load command 0x80000022
Trace/BPT trap<p>Upon Googling and fixing that:<p>error: Cannot access URL https://github.com/FrankThorne/Frank-Test-Repository.git/, return code 60<p>What the f<i></i>* 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.<p>Subversion, Bitbucket, even Dropbox (on Linux), same story.<p>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 <i>real</i> 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.<p><i>Almost no research mathematicians use version control. We all should be.</i> 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.<p>Is there something I am missing? Is there some reason such software does not already exist? If not, seems like an opportunity to me.
======
jellicle
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.

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

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

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

------
crisnoble
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>

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

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

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

------
aw4y
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

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

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

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

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

