ui-patch: Apply path limit to generated patch
Also indicate in the comment section of the patch that a path limit was applied, too easily see when a generated patch is only partial. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
		 Johan Herland
					Johan Herland
				
			
				
					committed by
					
						 Lars Hjemli
						Lars Hjemli
					
				
			
			
				
	
			
			
			 Lars Hjemli
						Lars Hjemli
					
				
			
						parent
						
							ab42741c49
						
					
				
				
					commit
					eac1b67541
				
			
							
								
								
									
										2
									
								
								cmd.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								cmd.c
									
									
									
									
									
								
							| @@ -90,7 +90,7 @@ static void repolist_fn(struct cgit_context *ctx) | ||||
|  | ||||
| static void patch_fn(struct cgit_context *ctx) | ||||
| { | ||||
| 	cgit_print_patch(ctx->qry.sha1); | ||||
| 	cgit_print_patch(ctx->qry.sha1, ctx->qry.path); | ||||
| } | ||||
|  | ||||
| static void plain_fn(struct cgit_context *ctx) | ||||
|   | ||||
| @@ -60,7 +60,7 @@ void cgit_print_commit(char *hex, const char *prefix) | ||||
| 	tmp = sha1_to_hex(commit->object.sha1); | ||||
| 	cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp, 0); | ||||
| 	html(" ("); | ||||
| 	cgit_patch_link("patch", NULL, NULL, NULL, tmp); | ||||
| 	cgit_patch_link("patch", NULL, NULL, NULL, tmp, prefix); | ||||
| 	html(") ("); | ||||
| 	if ((ctx.qry.ssdiff && !ctx.cfg.ssdiff) || (!ctx.qry.ssdiff && ctx.cfg.ssdiff)) | ||||
| 		cgit_commit_link("unidiff", NULL, NULL, ctx.qry.head, tmp, 1); | ||||
|   | ||||
| @@ -77,7 +77,7 @@ static void filepair_cb(struct diff_filepair *pair) | ||||
| 		html("Binary files differ\n"); | ||||
| } | ||||
|  | ||||
| void cgit_print_patch(char *hex) | ||||
| void cgit_print_patch(char *hex, const char *prefix) | ||||
| { | ||||
| 	struct commit *commit; | ||||
| 	struct commitinfo *info; | ||||
| @@ -122,7 +122,9 @@ void cgit_print_patch(char *hex) | ||||
| 			html("\n"); | ||||
| 	} | ||||
| 	html("---\n"); | ||||
| 	cgit_diff_tree(old_sha1, sha1, filepair_cb, NULL); | ||||
| 	if (prefix) | ||||
| 		htmlf("(limited to '%s')\n\n", prefix); | ||||
| 	cgit_diff_tree(old_sha1, sha1, filepair_cb, prefix); | ||||
| 	html("--\n"); | ||||
| 	htmlf("cgit %s\n", CGIT_VERSION); | ||||
| 	cgit_free_commitinfo(info); | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| #ifndef UI_PATCH_H | ||||
| #define UI_PATCH_H | ||||
|  | ||||
| extern void cgit_print_patch(char *hex); | ||||
| extern void cgit_print_patch(char *hex, const char *prefix); | ||||
|  | ||||
| #endif /* UI_PATCH_H */ | ||||
|   | ||||
| @@ -388,9 +388,9 @@ void cgit_diff_link(const char *name, const char *title, const char *class, | ||||
| } | ||||
|  | ||||
| void cgit_patch_link(const char *name, const char *title, const char *class, | ||||
| 		     const char *head, const char *rev) | ||||
| 		     const char *head, const char *rev, const char *path) | ||||
| { | ||||
| 	reporevlink("patch", name, title, class, head, rev, NULL); | ||||
| 	reporevlink("patch", name, title, class, head, rev, path); | ||||
| } | ||||
|  | ||||
| void cgit_stats_link(const char *name, const char *title, const char *class, | ||||
|   | ||||
| @@ -32,7 +32,7 @@ extern void cgit_commit_link(char *name, const char *title, | ||||
| 			     const char *rev, int toggle_ssdiff); | ||||
| extern void cgit_patch_link(const char *name, const char *title, | ||||
| 			    const char *class, const char *head, | ||||
| 			    const char *rev); | ||||
| 			    const char *rev, const char *path); | ||||
| extern void cgit_refs_link(const char *name, const char *title, | ||||
| 			   const char *class, const char *head, | ||||
| 			   const char *rev, const char *path); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user