Daniel Barkalow | 95fc751 | 2005-06-06 16:31:29 -0400 | [diff] [blame] | 1 | #ifndef REFS_H |
| 2 | #define REFS_H |
| 3 | |
Linus Torvalds | 8a65ff7 | 2005-07-02 20:23:36 -0700 | [diff] [blame] | 4 | /* |
| 5 | * Calls the specified function for each ref file until it returns nonzero, |
| 6 | * and returns the value |
| 7 | */ |
Linus Torvalds | 723c31f | 2005-07-05 11:31:32 -0700 | [diff] [blame] | 8 | extern int head_ref(int (*fn)(const char *path, const unsigned char *sha1)); |
Linus Torvalds | 944d858 | 2005-07-03 10:01:38 -0700 | [diff] [blame] | 9 | extern int for_each_ref(int (*fn)(const char *path, const unsigned char *sha1)); |
Linus Torvalds | 8a65ff7 | 2005-07-02 20:23:36 -0700 | [diff] [blame] | 10 | |
Daniel Barkalow | 95fc751 | 2005-06-06 16:31:29 -0400 | [diff] [blame] | 11 | /** Reads the refs file specified into sha1 **/ |
| 12 | extern int get_ref_sha1(const char *ref, unsigned char *sha1); |
| 13 | |
| 14 | /** Locks ref and returns the fd to give to write_ref_sha1() if the ref |
| 15 | * has the given value currently; otherwise, returns -1. |
| 16 | **/ |
| 17 | extern int lock_ref_sha1(const char *ref, const unsigned char *old_sha1); |
| 18 | |
| 19 | /** Writes sha1 into the refs file specified, locked with the given fd. **/ |
| 20 | extern int write_ref_sha1(const char *ref, int fd, const unsigned char *sha1); |
| 21 | |
| 22 | /** Writes sha1 into the refs file specified. **/ |
| 23 | extern int write_ref_sha1_unlocked(const char *ref, const unsigned char *sha1); |
| 24 | |
| 25 | /** Returns 0 if target has the right format for a ref. **/ |
| 26 | extern int check_ref_format(const char *target); |
| 27 | |
| 28 | #endif /* REFS_H */ |