WIP: add paths/backlinks to tree/blobview
Bu işleme şunda yer alıyor:
ebeveyn
2c2047ff67
işleme
5cd2bf7e7f
2
cgit.c
2
cgit.c
@ -56,7 +56,7 @@ static void cgit_print_repo_page(struct cacheitem *item)
|
||||
} else if (!strcmp(cgit_query_page, "log")) {
|
||||
cgit_print_log(cgit_query_head, cgit_query_ofs, 100, cgit_query_search);
|
||||
} else if (!strcmp(cgit_query_page, "tree")) {
|
||||
cgit_print_tree(cgit_query_sha1);
|
||||
cgit_print_tree(cgit_query_sha1, cgit_query_path);
|
||||
} else if (!strcmp(cgit_query_page, "commit")) {
|
||||
cgit_print_commit(cgit_query_sha1);
|
||||
} else if (!strcmp(cgit_query_page, "view")) {
|
||||
|
3
cgit.h
3
cgit.h
@ -59,6 +59,7 @@ extern char *cgit_query_search;
|
||||
extern char *cgit_query_head;
|
||||
extern char *cgit_query_sha1;
|
||||
extern char *cgit_query_sha2;
|
||||
extern char *cgit_query_path;
|
||||
extern int cgit_query_ofs;
|
||||
|
||||
extern int htmlfd;
|
||||
@ -108,7 +109,7 @@ extern void cgit_print_repolist(struct cacheitem *item);
|
||||
extern void cgit_print_summary();
|
||||
extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep);
|
||||
extern void cgit_print_view(const char *hex);
|
||||
extern void cgit_print_tree(const char *hex);
|
||||
extern void cgit_print_tree(const char *hex, char *path);
|
||||
extern void cgit_print_commit(const char *hex);
|
||||
extern void cgit_print_diff(const char *old_hex, const char *new_hex);
|
||||
|
||||
|
3
shared.c
3
shared.c
@ -39,6 +39,7 @@ char *cgit_query_head = NULL;
|
||||
char *cgit_query_search = NULL;
|
||||
char *cgit_query_sha1 = NULL;
|
||||
char *cgit_query_sha2 = NULL;
|
||||
char *cgit_query_path = NULL;
|
||||
int cgit_query_ofs = 0;
|
||||
|
||||
int htmlfd = 0;
|
||||
@ -100,6 +101,8 @@ void cgit_querystring_cb(const char *name, const char *value)
|
||||
cgit_query_has_sha1 = 1;
|
||||
} else if (!strcmp(name, "ofs")) {
|
||||
cgit_query_ofs = atoi(value);
|
||||
} else if (!strcmp(name, "path")) {
|
||||
cgit_query_path = xstrdup(value);
|
||||
}
|
||||
}
|
||||
|
||||
|
12
ui-tree.c
12
ui-tree.c
@ -29,11 +29,16 @@ static int print_entry(const unsigned char *sha1, const char *base,
|
||||
if (S_ISDIR(mode)) {
|
||||
html("<div class='ls-dir'><a href='");
|
||||
html_attr(cgit_pageurl(cgit_query_repo, "tree",
|
||||
fmt("id=%s", sha1_to_hex(sha1))));
|
||||
fmt("id=%s&path=%s%s/",
|
||||
sha1_to_hex(sha1),
|
||||
cgit_query_path ? cgit_query_path : "",
|
||||
pathname)));
|
||||
} else {
|
||||
html("<div class='ls-blob'><a href='");
|
||||
html_attr(cgit_pageurl(cgit_query_repo, "view",
|
||||
fmt("id=%s", sha1_to_hex(sha1))));
|
||||
fmt("id=%s&path=%s%s", sha1_to_hex(sha1),
|
||||
cgit_query_path ? cgit_query_path : "",
|
||||
pathname)));
|
||||
}
|
||||
html("'>");
|
||||
html_txt(name);
|
||||
@ -46,7 +51,7 @@ static int print_entry(const unsigned char *sha1, const char *base,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cgit_print_tree(const char *hex)
|
||||
void cgit_print_tree(const char *hex, char *path)
|
||||
{
|
||||
struct tree *tree;
|
||||
unsigned char sha1[20];
|
||||
@ -62,6 +67,7 @@ void cgit_print_tree(const char *hex)
|
||||
}
|
||||
|
||||
html("<h2>Tree content</h2>\n");
|
||||
html_txt(path);
|
||||
html("<table class='list'>\n");
|
||||
html("<tr>");
|
||||
html("<th class='left'>Mode</th>");
|
||||
|
Yükleniyor…
Yeni konuda referans
Bir kullanıcı engelle