Page MenuHomePhabricator

Add a "/source/..." URI for Diffusion commits which redirects
ClosedPublic

Authored by epriestley on Oct 3 2017, 7:52 PM.
Tags
None
Referenced Files
F18808749: D18676.diff
Sun, Oct 19, 8:22 AM
F18767033: D18676.id44836.diff
Tue, Oct 7, 8:16 PM
F18742885: D18676.diff
Thu, Oct 2, 9:36 PM
F18629694: D18676.id.diff
Sep 16 2025, 9:38 AM
F18621409: D18676.diff
Sep 15 2025, 8:10 AM
F18620699: D18676.diff
Sep 15 2025, 6:04 AM
F18292573: D18676.id44834.diff
Aug 23 2025, 12:21 PM
F18185212: D18676.id44836.diff
Aug 16 2025, 3:29 PM
Subscribers
None

Details

Summary

See PHI112. The install presumably wants to generate links to Diffusion commits from an external tool, but only knows the short name of the repository.

Provide a /source/phabricator/commit/abcdef908273 URI which redirects to the canonical URI for the commit.

Test Plan
  • Visited /source/ URI for a commit, got a redirect.
  • Visited normal URI for a commit, got a commit page.
  • Visited /branches/ and /tags/ for a /source/ repository, got proper pages.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Just out of curiosity, what happens if a commit identifier collides with more than one commit hash?

This revision is now accepted and ready to land.Oct 3 2017, 8:05 PM

Hmm.. bad stuff, but pre-existing bad stuff:

$ git log --oneline --format=%H | cut -c1-6 | sort | uniq -c | sort -n
...
   2 bd3c23

Yields this:

https://secure.phabricator.com/rPbd3c23

...which fatals, probably on executeOne().

Expected a single result!

Better behavior would be to execute(), then special case for multiple results.

This revision was automatically updated to reflect the committed changes.