<div dir="ltr">On 16 August 2013 09:57, Pierre-Yves David <span dir="ltr"><<a href="mailto:pierre-yves.david@ens-lyon.org" target="_blank">pierre-yves.david@ens-lyon.org</a>></span> wrote:<br><div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 8 août 2013, at 09:48, Dan Villiom Podlaski Christiansen wrote:<br>
<br>
> # HG changeset patch<br>
> # User Dan Villiom Podlaski Christiansen  <<a href="mailto:danchr@gmail.com">danchr@gmail.com</a>><br>
> # Date 1375624663 -7200<br>
> #      Sun Aug 04 15:57:43 2013 +0200<br>
> # Node ID 5507e2af80f5e8026a054ce440c0c8958134eefe<br>
> # Parent  b1f7ae28c3e371a70ee363a4fbe5d50063a224fc<br>
> hgweb: handle obsolete changesets gracefully<br>
><br>
> If the changeset has any successors, issue a 403 Moved Permanently;<br>
> otherwise we issue a 410 Gone. Please note that this is slightly<br>
> misleading for 'secret' changesets, as they may appear later on.<br>
<br>
</div>You are going too fast here.<br>
<br>
1) issue 410 for filtered changeset<br>
1.1) (403 or 404 for secret ?)<br>
2) issue a smarter message with potential link to successors (could include information about who and when it was rewritten)<br>
3) use redirect (does not like the idea yet)</blockquote><div><br></div><div>IMO 410 Gone should not be used for filtered changesets - 410 should be considered to be a permanent condition. The only case I think a 410 would be appropriate would be an obsolete changeset with no successors (this situation could change, but that would be unusual).</div>
<div><br></div><div>If an obsolete changeset has multiple successors then I think 409 Conflict would be appropriate since it is possible for the user to resolve the conflict and resubmit.</div><div><br></div><div>For all other filtered changesets I think 403 or 404 is the most appropriate response. 403 feels more appropriate to me, but does leak some information about the filtered changeset that wouldn't be leaked by a 404. OTOH I personally think that it would be useful to distinguish between a filtered changeset and a non-existent changeset, so would favour 403.</div>
<div><br></div><div>Tim Delaney</div></div></div></div>