Page MenuHomePhabricator

new svn create repository workflow a pain
Closed, InvalidPublic

Description

After upgrading to the latest phabricator the creation of non-hosted svn repositories has changed. It now has a series of CRUD interfaces, whereas it used to be a wizard. It is now significantly harder and error prone to create a new repository.

what I'm running now:
phabricator cadac75b82bbed18d52c3ee7ba6d396bff69c009 (Fri, Jun 24)
arcanist 18b27b03fa3d9f2439bf998c5fa2e4f5bd93db16 (Jun 18 2016)
phutil 8aa8612a094b4dafcf5c461b746a613a1e229b86 (Jun 18 2016)

What I used to run:
phabricator fea2389066edf3ad0a7547ae12d8e988428a4f5c (Sat, Apr 2)
arcanist f89f3de65805f7f65c8082ed387e8e2572596f7a (Mar 19 2016)
phutil d414e4436e1c8779634458c23ab8880cf613312f (Fri, Apr 1)

without fully reverting my install, the old workflow was something like:

  1. click create repository
  2. select SVN, hosted elsewhere, NEXT
  3. Put in label/name for use inside phabricator
  4. put in HTTPS url to repo, NEXT
  5. selected my credential from dropdown, NEXT
  6. hit advanced
  7. add tags, callsign
  8. start import

I just went through the same process in the new workflow.

  1. click create repository
  2. selected SVN, NEXT
  3. Put in label/name for use inside phabricator, tags, callsign
  4. now sitting at a CRUD interface that defaults to self-hosted
  5. fail to find setting for non-hosted repo in basic, storage and subversion tabs. Check an existing repo and see it is probably uri. Click uri.
  6. click add uri
  7. put in https uri, not sure what to select i/o and display type, the language has changed and no longer designes hosted vs non-hosted. Left default at first, until I verified that existing repos made with previous methods actually did observe and hidden, so went back and changed them. Wondered why it wasn't asking for credentials.
  8. Saw there is a seperate CRUD to assign a credential, click it, selected my credential
  9. went back to basic tab, active repo

The biggest problem is how unstreamlined the process is compared to the old wizard. I feel like I'm back with a simple CRUD interface to a 3rd normal form db, instead of something that is intelligent about the actual human process. Not only that but the language has moved away from human-friendly terms like "hosted" vs "non-hosted" to "observe". The whole process is much more confusing, and I feel it cannot simply be attributed to learning the new way.

Adding the URI was the main problem here, and if the "create repository" step had prompted me for it like the old wizard did, I probably wouldn't have minded the new CRUD interface afterwards as much, even though I do believe it to be a step backwards in usability and readability.

Event Timeline

I want to also stress that the new interface does not communicate the different options available very well. The old wizard had radio buttons with things like "have phabricator host your repo" and "host your repo outside of phabricator".

Once you hit the CRUD interface, there's absolutely no indication that anything can be done differently. You have to know what tabs to go to and what dropdowns to pick to then magically turn it into a non-hosted repo.

epriestley added a subscriber: epriestley.

import.png (1×2 px, 250 KB)

Not only that but the language has moved away from human-friendly terms like "hosted" vs "non-hosted" to "observe".

This was changed in response to a user having difficulty understanding the old language. See T9679.

Thank you for the timely response. I'm glad to hear you're thinking about this. I still have many concerns about this that I hope you will consider.

Here's what I have, which possibly contributed to my confusion.

create repo.png (1×1 px, 35 KB)

  1. From your post I don't know if the circled area is new since the June 24th build I last updated to (I update once a month to stable), or if I have a configuration problem on my end stopping it from showing up.

    Until I update at the end of the month, I also can't tell if it's a link to a 4th wizard, or from what I can tell in the screenshot, just a link to documentation.
  1. If it is a link to the documentation, and not another wizard, then the process was still changed, the old wizard is gone, and the new process for non-hosted repositories is confusing and non-intuitive. Documentation does not change this, merely helps users navigate the problem. I would like to see this improved or reverted to the old wizard for the creation process. Even if you retained the confusing (to me) CRUD interface post-creation, that would still represent an improvement over the current state.
  1. I was not talking about the ambiguity of the word import, I agree with T9679 that import is confusing when dealing with non-hosted repos, maybe observe is better. But the loss of hosted vs non-hosted is what I was talking about. In the new workflow it says hosted at first, and only after you add a url with observe does it change to non-hosted. It could do more to point you to the option to make this change from within the GUI, and to indicate that this is what this option does.
  1. Lastly, since I didn't have a link to the docs the image above may link to, I went looking. I ended up here: https://secure.phabricator.com/book/phabricator/article/diffusion/ and the Overview mentions hosted and non-hosted repos. The Adding Repositories mentions hosted repos, but does not mention non-hosted repos. You have to go back to the index and find https://secure.phabricator.com/book/phabricator/article/diffusion_uris/ at random to discover where non-hosted instructions are. It would be helpful if the Adding Repositories had a bullet linking to this document directly for non-hosted repos. The wording on the index could even be improved, I'm not sure fetching hints enough that this is where non-hosted repos would be, though I realize the index should be very succinct so this is a difficult call.

Thank you

@ofbeaton How can we make the bug reporting guide more clear with respect that we don't take bug reports on older versions of Phabricator? Nor do we take feature requests or feedback as bug reports.

These guidelines and rules exist so that developer time is spent working on Phabricator, not answering questions that don't exist at HEAD or have been previously discussed in other tasks. Providing free support is the largest cost that currently exists in building Phabricator.

We really want community members, especially frequent ones, to do their part in helping us build Phabricator. The easiest way to do that is following our Support Resources guide, due diligence in keeping up to date and searching before filing anything, as well as being mindful of the free product and free support you are receiving. If we allow people to ignore the guidelines and file anything, anytime, we'll be too overwhelmed with support to move Phabricator forward, and that's something we just don't want to do. See T9212 for previous discussions on this topic.

First I apologise if I somehow came across with any hostility, that was certainly not my intent.

@chad I personally don't think being a few weeks behind HEAD is unreasonable. I run stable updated once a month, which is already a week behind, and the documentation states this is the version Phacility runs as well. I thought this was pretty good updating on my part, but you make it sound like I'm a horrible administrator. I'm exploring ways to automate it, though I'm concerned of waking up to a broken install. Do you really expect us to be updating daily against a version phacility itself does not run?

If you are serious about wanting ideas on how to reject any submission from anyone not running HEAD, then add required version fields to the submit form and have it display a rejection the moment they put in a version behind HEAD.

I put a lot of thought to if this was a feature request or bug report, but since an existing workflow was changed from being clear, direct and understandable to in my mind; confusing, fragmented and ambiguous, I considered it a bug report, is that not correct?

You can be assured that I searched multiple times and went through over 10 ticket threads. This does not always reveal existing tasks or discussions.

I am more than sympathetic to your support costs, and the benefits we get from phabricator for free. Indeed I agree, I want to do my part in helping you build phabricator. In my mind, that includes reporting problems.

I didn't need help in figuring out how to do something, I managed that on my own. I reported a problem when a process was made worse and difficult to use. I have seen phabricator staff say well nobody has complained about this, so we don't see a problem.

Here is your complaint.

In general we want people to update if possible before filing a bug report. The reason is most real "bugs" are fixed usually same day reported. For example we had a recent "Repository is not attached" exception that was fixed same day, but we're still getting reports trickling in weeks later. Being on this week's stable is all we usually expect. HEAD of master is better, but not required.