Merge branch 'rs/pull-signed-tag'
When "git merge-recursive" works on history with many criss-cross merges in "verbose" mode, the names the command assigns to the virtual merge bases could have overwritten each other by unintended reuse of the same piece of memory. * rs/pull-signed-tag: commit: use FLEX_ARRAY in struct merge_remote_desc merge-recursive: fix verbose output for multiple base trees commit: factor out set_merge_remote_desc() commit: use xstrdup() in get_merge_parent()
This commit is contained in:
4
commit.h
4
commit.h
@ -362,9 +362,11 @@ extern void for_each_mergetag(each_mergetag_fn fn, struct commit *commit, void *
|
||||
|
||||
struct merge_remote_desc {
|
||||
struct object *obj; /* the named object, could be a tag */
|
||||
const char *name;
|
||||
char name[FLEX_ARRAY];
|
||||
};
|
||||
#define merge_remote_util(commit) ((struct merge_remote_desc *)((commit)->util))
|
||||
extern void set_merge_remote_desc(struct commit *commit,
|
||||
const char *name, struct object *obj);
|
||||
|
||||
/*
|
||||
* Given "name" from the command line to merge, find the commit object
|
||||
|
Reference in New Issue
Block a user