Skip to content

Commit

Permalink
refname_is_safe(): improve docstring
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
  • Loading branch information
Michael Haggerty authored and Jeff King committed Nov 20, 2015
1 parent a935ebd commit 03b3262
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions refs.c
Original file line number Diff line number Diff line change
Expand Up @@ -341,13 +341,17 @@ static struct ref_dir *get_ref_dir(struct ref_entry *entry)
}

/*
* Check if a refname is safe.
* For refs that start with "refs/" we consider it safe as long they do
* not try to resolve to outside of refs/.
* Return true iff refname is minimally safe. "Safe" here means that
* deleting a loose reference by this name will not do any damage, for
* example by causing a file that is not a reference to be deleted.
* This function does not check that the reference name is legal; for
* that, use check_refname_format().
*
* For all other refs we only consider them safe iff they only contain
* upper case characters and '_' (like "HEAD" AND "MERGE_HEAD", and not like
* "config").
* We consider a refname that starts with "refs/" to be safe as long
* as any ".." components that it might contain do not escape "refs/".
* Names that do not start with "refs/" are considered safe iff they
* consist entirely of upper case characters and '_' (like "HEAD" and
* "MERGE_HEAD" but not "config" or "FOO/BAR").
*/
static int refname_is_safe(const char *refname)
{
Expand Down

0 comments on commit 03b3262

Please sign in to comment.