mirror of
https://git.zx2c4.com/cgit
synced 2024-11-25 18:08:41 +00:00
Merge branch 'stable'
This commit is contained in:
commit
3157ea3b7e
23
Makefile
23
Makefile
@ -7,6 +7,26 @@ SHA1_HEADER = <openssl/sha.h>
|
||||
GIT_VER = 1.6.0.3
|
||||
GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2
|
||||
|
||||
# Define NO_STRCASESTR if you don't have strcasestr.
|
||||
#
|
||||
# Define NEEDS_LIBICONV if linking with libc is not enough (eg. Darwin).
|
||||
#
|
||||
|
||||
#-include config.mak
|
||||
|
||||
#
|
||||
# Platform specific tweaks
|
||||
#
|
||||
|
||||
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
||||
uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
|
||||
uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
|
||||
|
||||
ifeq ($(uname_O),Cygwin)
|
||||
NO_STRCASESTR = YesPlease
|
||||
NEEDS_LIBICONV = YesPlease
|
||||
endif
|
||||
|
||||
#
|
||||
# Let the user override the above settings.
|
||||
#
|
||||
@ -96,6 +116,9 @@ CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
|
||||
ifdef NO_ICONV
|
||||
CFLAGS += -DNO_ICONV
|
||||
endif
|
||||
ifdef NO_STRCASESTR
|
||||
CFLAGS += -DNO_STRCASESTR
|
||||
endif
|
||||
|
||||
cgit: $(OBJECTS) libgit
|
||||
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o cgit $(OBJECTS) $(EXTLIBS)
|
||||
|
6
cgit.h
6
cgit.h
@ -233,11 +233,5 @@ extern const char *cgit_repobasename(const char *reponame);
|
||||
|
||||
extern int cgit_parse_snapshots_mask(const char *str);
|
||||
|
||||
/* libgit.a either links against or compiles its own implementation of
|
||||
* strcasestr(), and we'd like to reuse it. Simply re-declaring it
|
||||
* seems to do the trick.
|
||||
*/
|
||||
extern char *strcasestr(const char *haystack, const char *needle);
|
||||
|
||||
|
||||
#endif /* CGIT_H */
|
||||
|
@ -96,6 +96,9 @@ char *parse_user(char *t, char **name, char **email, unsigned long *date)
|
||||
return p;
|
||||
}
|
||||
|
||||
#ifdef NO_ICONV
|
||||
#define reencode(a, b, c)
|
||||
#else
|
||||
const char *reencode(char **txt, const char *src_enc, const char *dst_enc)
|
||||
{
|
||||
char *tmp;
|
||||
@ -110,6 +113,7 @@ const char *reencode(char **txt, const char *src_enc, const char *dst_enc)
|
||||
}
|
||||
return *txt;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct commitinfo *cgit_parse_commit(struct commit *commit)
|
||||
{
|
||||
|
17
ui-log.c
17
ui-log.c
@ -64,18 +64,31 @@ void print_commit(struct commit *commit)
|
||||
cgit_free_commitinfo(info);
|
||||
}
|
||||
|
||||
static const char *disambiguate_ref(const char *ref)
|
||||
{
|
||||
unsigned char sha1[20];
|
||||
const char *longref;
|
||||
|
||||
longref = fmt("refs/heads/%s", ref);
|
||||
if (get_sha1(longref, sha1) == 0)
|
||||
return longref;
|
||||
|
||||
return ref;
|
||||
}
|
||||
|
||||
void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern,
|
||||
char *path, int pager)
|
||||
{
|
||||
struct rev_info rev;
|
||||
struct commit *commit;
|
||||
const char *argv[] = {NULL, tip, NULL, NULL, NULL};
|
||||
const char *argv[] = {NULL, NULL, NULL, NULL, NULL};
|
||||
int argc = 2;
|
||||
int i, columns = 3;
|
||||
|
||||
if (!tip)
|
||||
argv[1] = ctx.qry.head;
|
||||
tip = ctx.qry.head;
|
||||
|
||||
argv[1] = disambiguate_ref(tip);
|
||||
|
||||
if (grep && pattern && (!strcmp(grep, "grep") ||
|
||||
!strcmp(grep, "author") ||
|
||||
|
@ -6,6 +6,10 @@
|
||||
* (see COPYING for full license text)
|
||||
*/
|
||||
|
||||
/* This is needed for strcasestr to be defined by <string.h> */
|
||||
#define _GNU_SOURCE 1
|
||||
#include <string.h>
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#include "cgit.h"
|
||||
|
Loading…
Reference in New Issue
Block a user