From 8ad01ee239f9111133e52af29b78daed34c52e49 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Tue, 23 Nov 2010 15:58:32 +0100 Subject: SymbolicReference: log method added, including test --- refs/log.py | 3 +-- refs/symbolic.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'refs') diff --git a/refs/log.py b/refs/log.py index e7f18c6a..1d07ef9a 100644 --- a/refs/log.py +++ b/refs/log.py @@ -1,4 +1,3 @@ -from head import Head from git.util import join_path from gitdb.util import ( join, @@ -170,7 +169,7 @@ class RefLog(list, Serializable): write = stream.write # write all entries - for i, e in enumerate(self): + for e in self: write(repr(e)) #END for each entry diff --git a/refs/symbolic.py b/refs/symbolic.py index 3329d51c..9dd7629c 100644 --- a/refs/symbolic.py +++ b/refs/symbolic.py @@ -16,6 +16,8 @@ from gitdb.util import ( hex_to_bin ) +from log import RefLog + __all__ = ["SymbolicReference"] class SymbolicReference(object): @@ -270,6 +272,14 @@ class SymbolicReference(object): except TypeError: return True + def log(self): + """ + :return: RefLog for this reference. Its last entry reflects the latest change + applied to this reference + + .. note:: As the log is parsed every time, its recommended to cache it for use + instead of calling this method repeatedly""" + return RefLog.from_file(RefLog.path(self)) @classmethod def to_full_path(cls, path): -- cgit v1.2.3