946 B
- tag: Generalize HEAD to refs
As part of implementing tag
, we'll generalize the way we handle HEAD. If you
think about it, HEAD and tags are similar. They are both ways for ugit to attach
a name to an OID. In case of HEAD, the name is hardcoded by ugit; in case of
tags, the name will be provided by the user. It makes sense to handle them
similarly in data.py.
In data.py, let's extend the function set_HEAD
and get_HEAD
to
update_ref
and get_ref
. "Ref" is a short for reference, and that's the name
Git uses. The function will now accept the name of the ref and write/read it as
a file under .ugit directory. Logically, a ref is a named pointer to an object.
The important change is in data.py. The rest of the changes just rename some functions:
- get_HEAD() -> get_ref('HEAD')
- set_HEAD(oid) -> update_ref('HEAD', oid)
Note that we didn't change any behaviour of ugit here, this is purely refactoring.