author | Petr Baudis <pasky@suse.cz> | |
Mon, 3 Jul 2006 20:48:05 +0000 (22:48 +0200) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Sun, 9 Jul 2006 08:20:01 +0000 (01:20 -0700) | ||
commit | 3c479c37f8651d09e1d08b8d6ea9757164ee1235 | |
tree | a01c9f7cc7cb7812b1691d0fb524052b5ed83a6a | tree | snapshot |
parent | 0270083ded143fd49841e3d3d0cac5eb06081d2a | commit | diff |
Git.pm: Introduce fast get_object() method
Direct .xs routine. Note that it does not work 100% correctly when
you juggle multiple repository objects, but it is not that bad either.
The trouble is that we might reuse packs information for another
Git project; that is not an issue since Git depends on uniqueness
of SHA1 ids so if we have found the object somewhere else, it is
nevertheless going to be the same object. It merely makes object
existence detection through this method unreliable; it is duly noted
in the documentation.
At least that's how I see it, I hope I didn't overlook any other
potential problem. I tested it for memory leaks and it appears to be
doing ok.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Direct .xs routine. Note that it does not work 100% correctly when
you juggle multiple repository objects, but it is not that bad either.
The trouble is that we might reuse packs information for another
Git project; that is not an issue since Git depends on uniqueness
of SHA1 ids so if we have found the object somewhere else, it is
nevertheless going to be the same object. It merely makes object
existence detection through this method unreliable; it is duly noted
in the documentation.
At least that's how I see it, I hope I didn't overlook any other
potential problem. I tested it for memory leaks and it appears to be
doing ok.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
perl/Git.pm | diff | blob | history | |
perl/Git.xs | diff | blob | history |