When a file is present in HEAD before the merge and the other side of the
merge does not modify that file, we try to avoid re-writing the file and
making it stat-dirty. However, when a file is present in HEAD before the
merge and was in a directory that was renamed by the other side of the
merge,
This patchset introduces directory rename detection to merge-recursive. See
https://public-inbox.org/git/20171110190550.27059-1-new...@gmail.com/
for the first series (including design considerations, etc.), and follow-up
series can be found at
https://public-inbox.org/git/20171120220209.15111
Signed-off-by: Elijah Newren
---
t/t6043-merge-rename-directories.sh | 143
1 file changed, 143 insertions(+)
diff --git a/t/t6043-merge-rename-directories.sh
b/t/t6043-merge-rename-directories.sh
index d045f0e31e..b22a9052b3 100755
--- a/t/t6043-merge-renam
Signed-off-by: Elijah Newren
---
t/t6043-merge-rename-directories.sh | 107
1 file changed, 107 insertions(+)
diff --git a/t/t6043-merge-rename-directories.sh
b/t/t6043-merge-rename-directories.sh
index 8049ed5fc9..f0213f2bbd 100755
--- a/t/t6043-merge-renam
This populates a list of directory renames for us. The list of
directory renames is not yet used, but will be in subsequent commits.
Signed-off-by: Elijah Newren
---
merge-recursive.c | 155 --
1 file changed, 152 insertions(+), 3 deletions(-)
In anticipation of more involved cleanup to come, make a helper function
for doing the cleanup at the end of handle_renames. Rename the already
existing cleanup_rename[s]() to final_cleanup_rename[s](), name the new
helper initial_cleanup_rename(), and leave the big comment in the code
about why w
The amount of logic in merge_trees() relative to renames was just a few
lines, but split it out into new handle_renames() and cleanup_renames()
functions to prepare for additional logic to be added to each. No code or
logic changes, just a new place to put stuff for when the rename detection
gains
Signed-off-by: Elijah Newren
---
t/t6043-merge-rename-directories.sh | 153
1 file changed, 153 insertions(+)
diff --git a/t/t6043-merge-rename-directories.sh
b/t/t6043-merge-rename-directories.sh
index b22a9052b3..8049ed5fc9 100755
--- a/t/t6043-merge-renam
Add a testcase showing spurious rename/rename(1to2) conflicts occurring
due to directory rename detection.
Also add a pair of testcases dealing with moving directory hierarchies
around that were suggested by Stefan Beller as "food for thought" during
his review of an earlier patch series, but whic
This just adds dir_rename_entry and the associated functions; code using
these will be added in subsequent commits.
Signed-off-by: Elijah Newren
---
merge-recursive.c | 35 +++
merge-recursive.h | 8
2 files changed, 43 insertions(+)
diff --git a/merge-
Signed-off-by: Elijah Newren
---
t/t6043-merge-rename-directories.sh | 442
1 file changed, 442 insertions(+)
create mode 100755 t/t6043-merge-rename-directories.sh
diff --git a/t/t6043-merge-rename-directories.sh
b/t/t6043-merge-rename-directories.sh
new f
Signed-off-by: Elijah Newren
---
t/t6043-merge-rename-directories.sh | 396
1 file changed, 396 insertions(+)
diff --git a/t/t6043-merge-rename-directories.sh
b/t/t6043-merge-rename-directories.sh
index fbeb8f4316..68bd86f555 100755
--- a/t/t6043-merge-renam
Signed-off-by: Elijah Newren
---
t/t6043-merge-rename-directories.sh | 404
1 file changed, 404 insertions(+)
diff --git a/t/t6043-merge-rename-directories.sh
b/t/t6043-merge-rename-directories.sh
index 68bd86f555..e2db5d0ac1 100755
--- a/t/t6043-merge-renam
Directory renames with the ability to merge directories opens up the
possibility of add/add/add/.../add conflicts, if each of the N
directories being merged into one target directory all had a file with
the same name. We need a way to check for and report on such
collisions; this hashmap will be u
This fixes an issue that existed before my directory rename detection
patches that affects both normal renames and renames implied by
directory rename detection. Additional codepaths that only affect
overwriting of directy files that are involved in directory rename
detection will be added in a su
Signed-off-by: Elijah Newren
---
merge-recursive.c | 42 +++--
t/t6043-merge-rename-directories.sh | 6 +++---
2 files changed, 43 insertions(+), 5 deletions(-)
diff --git a/merge-recursive.c b/merge-recursive.c
index 7c78dc2dc1..39e161e094 1006
I want to re-use some other functions in the file without moving those
other functions or dealing with a handful of annoying split function
declarations and definitions.
Signed-off-by: Elijah Newren
---
merge-recursive.c | 139 +++---
1 file change
I came up with the testcases in the first eight sections before coding up
the implementation. The testcases in this section were mostly ones I
thought of while coding/debugging, and which I was too lazy to insert
into the previous sections because I didn't want to re-label with all the
testcase re
On Wed, Jan 31, 2018 at 6:01 AM, Stefan Beller wrote:
> On Tue, Jan 30, 2018 at 2:36 PM, Junio C Hamano wrote:
>> Duy Nguyen writes:
>>
>>> Is it simpler (though hacky) to just do
>>>
>>> #ifdef __cplusplus
>>> #define new not_new
>>> #define try really_try
>>> ...
>>>
>>> somewhere in git-comp
On Tue, Jan 30, 2018 at 4:48 PM, Duy Nguyen wrote:
> On Wed, Jan 31, 2018 at 6:01 AM, Stefan Beller wrote:
>> On Tue, Jan 30, 2018 at 2:36 PM, Junio C Hamano wrote:
>>> Duy Nguyen writes:
>>>
Is it simpler (though hacky) to just do
#ifdef __cplusplus
#define new not_new
>>>
On Sun, Jan 28, 2018 at 9:06 AM, brian m. carlson
wrote:
> This series wires up an alternate hash implementation, namely
> BLAKE2b-160. The goal is to allow us to identify tests which rely on
> the hash algorithm in use so that we can fix those tests.
>
> For this test, I picked BLAKE2b-160 for a
On Wed, Jan 31, 2018 at 7:57 AM, Stefan Beller wrote:
>> There's also C99 designator in builtin/clean.c (I thought we avoided
>> C99, I can start using this specific feature more now :D)
>
> That was a test balloon? See 512f41cfac
> (clean.c: use designated initializer, 2017-07-14)
Aww.. I though
Hello,
A regression in 2.3.1 (and 2.3.2) related with the detection of busy loops has
been revisited in version 2.3.3.
Release notes
-
Bug fixes:
- Revert "Handle \n like \r (#758)". (GH #769)
- Fix GH #164 by catching SIGHUP.
- Change `refs_tags` type to `size_t`.
Change summar
On Tue, Jan 30, 2018 at 1:39 PM, Derrick Stolee wrote:
> Add Documentation/technical/commit-graph.txt with details of the planned
> commit graph feature, including future plans.
>
> Signed-off-by: Derrick Stolee
> ---
> Documentation/technical/commit-graph.txt | 189
> ++
> +static void free_commit_graph(struct commit_graph **g)
> +{
> + if (!g || !*g)
> + return;
> +
> + close_commit_graph(*g);
> +
> + free(*g);
> + *g = NULL;
nit: You may want to use FREE_AND_NULL(*g) instead.
2018-01-30 23:49 GMT+03:00 Junio C Hamano :
> Оля Тележная writes:
>
>>> one place improves readability. If better readability is the
>>> purpose, I would even say
>>>
>>> for (i = 0; i < used_atom_cnt; i++) {
>>> if (...)
>>> - goto need_obj;
>>> +
101 - 126 of 126 matches
Mail list logo