CodeConnect/SourceBrowser

Make upload process clearer.

JoshVarty opened this issue · 3 comments

Sitting there doing nothing is probably the absolute worst thing we could do. People are likely to think their internet is slow and try to upload again. (See #81).

Contrast this to GitHub's approach when forking large repositories:

image

When forking a large repo, three things happen:

  1. You're immediately redirected to the correct place.
  2. A message tells you something is going on.
  3. It refreshes automatically when it's read.

Number 3 will be too hard for us to do right now. But we need to tackle 1 and 2.

That's the right approach.
What is the correct place isn't ready yet? Should we establish some form of file-based synchronization (since we don't have a database) that would mark a folder as containing fully processed repo?

Yeah, I think we should place a file called write.lock inside the SB_Files directory we're processing. (I think this is what Lucene does)

If the file exists, we'll say that someone is currently processing this repository. Then we can display a temporary page like GitHub does.

If the file doesn't exist, we will return the repository as usual.

This has been fixed in #87