Add support for 'remove-suffix' option
When this option is enabled, the '.git' suffix of repository directories found while processing the 'scan-path' option will be removed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Šī revīzija ir iekļauta:
		 Jason A. Donenfeld
					Jason A. Donenfeld
				
			
				
					revīziju iesūtīja
					
						 Lars Hjemli
						Lars Hjemli
					
				
			
			
				
	
			
			
			 Lars Hjemli
						Lars Hjemli
					
				
			
						vecāks
						
							3516502aa0
						
					
				
				
					revīzija
					2e4a941626
				
			
							
								
								
									
										3
									
								
								cgit.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								cgit.c
									
									
									
									
									
								
							| @@ -205,6 +205,8 @@ void config_cb(const char *name, const char *value) | ||||
| 		ctx.cfg.agefile = xstrdup(value); | ||||
| 	else if (!strcmp(name, "renamelimit")) | ||||
| 		ctx.cfg.renamelimit = atoi(value); | ||||
| 	else if (!strcmp(name, "remove-suffix")) | ||||
| 		ctx.cfg.remove_suffix = atoi(value); | ||||
| 	else if (!strcmp(name, "robots")) | ||||
| 		ctx.cfg.robots = xstrdup(value); | ||||
| 	else if (!strcmp(name, "clone-prefix")) | ||||
| @@ -302,6 +304,7 @@ static void prepare_context(struct cgit_context *ctx) | ||||
| 	ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s"; | ||||
| 	ctx->cfg.project_list = NULL; | ||||
| 	ctx->cfg.renamelimit = -1; | ||||
| 	ctx->cfg.remove_suffix = 0; | ||||
| 	ctx->cfg.robots = "index, nofollow"; | ||||
| 	ctx->cfg.root_title = "Git repository browser"; | ||||
| 	ctx->cfg.root_desc = "a fast webinterface for the git dscm"; | ||||
|   | ||||
							
								
								
									
										1
									
								
								cgit.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								cgit.h
									
									
									
									
									
								
							| @@ -202,6 +202,7 @@ struct cgit_config { | ||||
| 	int noplainemail; | ||||
| 	int noheader; | ||||
| 	int renamelimit; | ||||
| 	int remove_suffix; | ||||
| 	int snapshots; | ||||
| 	int summary_branches; | ||||
| 	int summary_log; | ||||
|   | ||||
| @@ -229,6 +229,11 @@ project-list:: | ||||
| 	should loaded as git repositories. This must be defined prior to | ||||
| 	scan-path. Default value: none. See also: scan-path. | ||||
|  | ||||
| remove-suffix:: | ||||
| 	If set to "1" and scan-path is enabled, if any repositories are found | ||||
| 	with a suffix of ".git", this suffix will be removed for the url and | ||||
| 	name. Default value: "0". See also: scan-path. | ||||
|  | ||||
| renamelimit:: | ||||
| 	Maximum number of files to consider when detecting renames. The value | ||||
| 	 "-1" uses the compiletime value in git (for further info, look at | ||||
| @@ -538,3 +543,4 @@ will generate the following html element: | ||||
| AUTHOR | ||||
| ------ | ||||
| Lars Hjemli <hjemli@gmail.com> | ||||
| Jason A. Donenfeld <Jason@zx2c4.com> | ||||
|   | ||||
| @@ -81,6 +81,9 @@ static void add_repo(const char *base, const char *path, repo_config_fn fn) | ||||
| 		p[strlen(p) - 5] = '\0'; | ||||
|  | ||||
| 	repo = cgit_add_repo(xstrdup(p)); | ||||
| 	if (ctx.cfg.remove_suffix) | ||||
| 		if ((p = strrchr(repo->url, '.')) && !strcmp(p, ".git")) | ||||
| 			*p = '\0'; | ||||
| 	repo->name = repo->url; | ||||
| 	repo->path = xstrdup(path); | ||||
| 	p = (pwd && pwd->pw_gecos) ? strchr(pwd->pw_gecos, ',') : NULL; | ||||
|   | ||||
		Atsaukties uz šo jaunā problēmā
	
	Block a user