Gruß

2018-01-05 Thread Clark Harrison
Gruß In einer kurzen Einführung bin ich Barrister Clark Harrison, aus Portugal, aber jetzt lebe ich in London, ich habe Ihnen eine E-Mail über Ihre verstorbene Verwandte Familie geschickt, aber ich habe keine Antwort von Ihnen erhalten, verstorben ist ein Bürger Ihres Landes mit derselbe Nachname

Re: Bug report: git clone with dest

2018-01-05 Thread Jeff King
On Fri, Jan 05, 2018 at 02:37:25PM -0800, Junio C Hamano wrote: > Well, MaintNotes on the 'todo' branch needs a bit of updating, as it > says something somewhat misleading. > > -- >8 -- > Subject: MaintNotes: clarify the purpose of maint->master upmerge Yup, this makes sense. Thanks for

Hey

2018-01-05 Thread Financial Services
Loan Offer at 3% Lowest Rate Get Now.

Re: [PATCH 1/5] convert_to_git(): checksafe becomes an integer

2018-01-05 Thread Lars Schneider
> On 06 Jan 2018, at 00:22, Junio C Hamano wrote: > > Lars Schneider writes: > >>> On 31 Dec 2017, at 09:05, tbo...@web.de wrote: >>> >>> From: Torsten Bögershausen >>> >>> When calling convert_to_git(), the checksafe parameter

[PATCH v3 1/7] strbuf: remove unnecessary NUL assignment in xstrdup_tolower()

2018-01-05 Thread lars . schneider
From: Lars Schneider Since 3733e69464 (use xmallocz to avoid size arithmetic, 2016-02-22) we allocate the buffer for the lower case string with xmallocz(). This already ensures a NUL at the end of the allocated buffer. Remove the unnecessary assignment. Signed-off-by:

[PATCH v3 6/7] convert: add support for 'checkout-encoding' attribute

2018-01-05 Thread lars . schneider
From: Lars Schneider Git recognizes files encoded with ASCII or one of its supersets (e.g. UTF-8 or ISO-8859-1) as text files. All other encodings are usually interpreted as binary and consequently built-in Git text processing tools (e.g. 'git diff') as well as most Git

[PATCH v3 2/7] strbuf: add xstrdup_toupper()

2018-01-05 Thread lars . schneider
From: Lars Schneider Create a copy of an existing string and make all characters upper case. Similar xstrdup_tolower(). This function is used in a subsequent commit. Signed-off-by: Lars Schneider --- strbuf.c | 12 strbuf.h |

[PATCH v3 7/7] convert: add tracing for checkout-encoding

2018-01-05 Thread lars . schneider
From: Lars Schneider Add the GIT_TRACE_CHECKOUT_ENCODING environment variable to enable tracing for content that is reencoded with the checkout-encoding attribute. Signed-off-by: Lars Schneider --- convert.c| 28

[PATCH v3 4/7] utf8: add function to detect a missing UTF-16/32 BOM

2018-01-05 Thread lars . schneider
From: Lars Schneider If the endianness is not defined in the encoding name, then let's be strict and require a BOM to avoid any encoding confusion. The has_missing_utf_bom() function returns true if a required BOM is missing. The Unicode standard instructs to assume

[PATCH v3 3/7] utf8: add function to detect prohibited UTF-16/32 BOM

2018-01-05 Thread lars . schneider
From: Lars Schneider Whenever a data stream is declared to be UTF-16BE, UTF-16LE, UTF-32BE or UTF-32LE a BOM must not be used [1]. The function returns true if this is the case. This function is used in a subsequent commit. [1]

[PATCH v3 5/7] convert_to_git(): safe_crlf/checksafe becomes int conv_flags

2018-01-05 Thread lars . schneider
From: Torsten Bögershausen When calling convert_to_git(), the checksafe parameter defined what should happen if the EOL conversion (CRLF --> LF --> CRLF) does not roundtrip cleanly. In addition, it also defined if line endings should be renormalized (CRLF --> LF) or kept as they

[PATCH v3 0/7] convert: add support for different encodings

2018-01-05 Thread lars . schneider
From: Lars Schneider Hi, Patches 1-5 and 6 are helper functions and preparation. Patch 6 is the actual change. I am still torn between "checkout-encoding" and "working-tree-encoding" as attribute name. I am happy to hear arguments for/against one or the other.

[PATCH v2] stash: don't delete untracked files that match pathspec

2018-01-05 Thread Thomas Gummerer
Currently when 'git stash push -- ' is used, untracked files that match the pathspec will be deleted, even though they do not end up in a stash anywhere. This is because the original commit introducing the pathspec feature in git stash push (df6bba0937 ("stash: teach 'push' (and 'create_stash')

Re: Can't squash merge with merge.ff set to false

2018-01-05 Thread Jonathan Nieder
Hi, Robert Dailey wrote: > Not sure if this is intended or a bug, but with the following configuration: > > $ git config --global merge.ff false > > I am not able to merge my topic branch into master with squash option: > > $ git checkout master > $ git merge --squash topic > fatal: You cannot

Re: [PATCH 20/26] fetch-pack: perform a fetch using v2

2018-01-05 Thread Brandon Williams
On 01/03, Stefan Beller wrote: > On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > > + > > +#define FETCH_CHECK_LOCAL 0 > > +#define FETCH_SEND_REQUEST 1 > > +#define FETCH_PROCESS_ACKS 2 > > +#define FETCH_SEND_HAVES 3 > > +#define FETCH_GET_PACK 4 > > +#define

Re: [PATCH 12/26] ls-refs: introduce ls-refs server command

2018-01-05 Thread Brandon Williams
On 01/03, Stefan Beller wrote: > On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > > Introduce the ls-refs server command. In protocol v2, the ls-refs > > command is used to request the ref advertisement from the server. Since > > it is a command which can be

Re: [PATCH 01/26] pkt-line: introduce packet_read_with_status

2018-01-05 Thread Brandon Williams
On 01/03, Stefan Beller wrote: > On Tue, Jan 2, 2018 at 4:18 PM, Brandon Williams wrote: > > The current pkt-line API encodes the status of a pkt-line read in the > > length of the read content. An error is indicated with '-1', a flush > > with '0' (which can be confusing

[ANNOUNCE] Git v2.16.0-rc1

2018-01-05 Thread Junio C Hamano
A release candidate Git v2.16.0-rc1 is now available for testing at the usual places. It is comprised of 455 non-merge commits since v2.15.0, contributed by 79 people, 23 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following

What's cooking in git.git (Jan 2018, #01; Fri, 5)

2018-01-05 Thread Junio C Hamano
Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. The tip of 'master' has been

Re: [PATCH 1/5] convert_to_git(): checksafe becomes an integer

2018-01-05 Thread Junio C Hamano
Lars Schneider writes: >> On 31 Dec 2017, at 09:05, tbo...@web.de wrote: >> >> From: Torsten Bögershausen >> >> When calling convert_to_git(), the checksafe parameter has been used to >> check if commit would give a non-roundtrip conversion of EOL. >>

Hello Dear

2018-01-05 Thread Ruth Mawere
-- Hello Dear, Its me Ruth, did you receive my previous email? please write me back immediately to let me know, i wait to hear back from you, kisses.

Re: [PATCH v4 8/7] wildmatch test: skip file creation tests on Windows proper

2018-01-05 Thread Junio C Hamano
Ævar Arnfjörð Bjarmason writes: > Skip the newly added file creation tests on Windows proper, these > already work under Cygwin, but as that involves a significant > emulation layer the results are different under Windows proper with > MinGW. > ... > diff --git

Re: Bug report: git clone with dest

2018-01-05 Thread Junio C Hamano
Jeff King writes: > On Fri, Jan 05, 2018 at 12:45:03PM -0800, Junio C Hamano wrote: > >> Jeff King writes: >> >> > Out of curiosity, did this change at some point? I thought the process >> > used to be to merge to maint, and then pick up topics in master by >> >

Re: [PATCH] perf: amend the grep tests to test grep.threads

2018-01-05 Thread Junio C Hamano
Ævar Arnfjörð Bjarmason writes: >> Judging by the way the other side uses "test_perf $prereq ..." >> without quotes around it, I suspect you do expect it to be empty in >> some cases. It means you expect test_have_prereq is prepared to >> skip an empty prerequisite in a prereq

Re: [PATCH 6/6] fsmonitor: Use fsmonitor data in `git diff`

2018-01-05 Thread Junio C Hamano
Johannes Schindelin writes: >> diff --git a/diff-lib.c b/diff-lib.c >> index 8104603a3..13ff00d81 100644 >> --- a/diff-lib.c >> +++ b/diff-lib.c >> @@ -95,6 +95,9 @@ int run_diff_files(struct rev_info *revs, unsigned int >> option) >> >>

Re: [BUG] v2.16.0-rc0 seg faults when git bisect skip

2018-01-05 Thread Junio C Hamano
Yasushi SHOJI writes: > The patch (actually, I've tested the one in pu, 2e9fdc795cb27) avoids > the seg fault for sure, but the question is: > > When does the list allowed to contain NULLs? A very legitimate question. With the proposed log message alone, it is even

[PATCH v4 8/7] wildmatch test: skip file creation tests on Windows proper

2018-01-05 Thread Ævar Arnfjörð Bjarmason
Skip the newly added file creation tests on Windows proper, these already work under Cygwin, but as that involves a significant emulation layer the results are different under Windows proper with MinGW. Ideally we'd get exhaustive coverage for this area on all platforms, but having any increase

Re: Git 2.15.0 on OSX 10.12.6: gui multi-select stage

2018-01-05 Thread Matthew Orres
Beautiful! Pulled down that commit, was able to build and can confirm the issue is fixed in git gui! This has been a thorn in my side, so I appreciate your help! I look forward to it being included in the next release for git in Homebrew! :) On Fri, Jan 5, 2018 at 4:41 PM, Johannes Schindelin

Re: Can't squash merge with merge.ff set to false

2018-01-05 Thread Robert Dailey
On Fri, Jan 5, 2018 at 2:54 PM, Bryan Turner wrote: > The two _aren't_ distinctly separate, though. "git merge --squash > --ff-only" has very different semantics to "git merge --squash --ff", > in that it will only create a new squashed commit (or fast-forward a > single

Re: Bug report: git clone with dest

2018-01-05 Thread Johannes Schindelin
Hi Peff, On Fri, 5 Jan 2018, Jeff King wrote: > On Fri, Jan 05, 2018 at 09:22:07PM +0100, Johannes Schindelin wrote: > > > On Fri, 5 Jan 2018, Isaac Shabtay wrote: > > > > > Done: https://github.com/git-for-windows/git/pull/1421 > > > > > > I added credit to Jeff in the PR's description. > >

Re: [PATCH] perf: amend the grep tests to test grep.threads

2018-01-05 Thread Ævar Arnfjörð Bjarmason
On Thu, Jan 04 2018, Junio C. Hamano jotted: > Ævar Arnfjörð Bjarmason writes: > >> Ever since 5b594f457a ("Threaded grep", 2010-01-25) the number of >> threads git-grep uses under PTHREADS has been hardcoded to 8, but >> there's no performance test to check whether this is

Re: [PATCH 3/3] merge-recursive: add explanation for src_entry and dst_entry

2018-01-05 Thread Johannes Schindelin
Hi Elijah, On Fri, 5 Jan 2018, Elijah Newren wrote: > If I have to walk through the debugger and inspect the values found in > here in order to figure out their meaning, despite having known these > things inside and out some years back, then they probably need a comment > for the casual reader

Re: [PATCH 1/3] Tighten and correct a few testcases for merging and cherry-picking

2018-01-05 Thread Johannes Schindelin
Hi Elijah, On Fri, 5 Jan 2018, Elijah Newren wrote: > t3501 had a testcase originally added in 05f2dfb965 (cherry-pick: > demonstrate a segmentation fault, 2016-11-26) to ensure cherry-pick > wouldn't segfault when working with a dirty file involved in a rename. > > While the segfault was fixed,

Re: [PATCH 2/3] merge-recursive: fix logic ordering issue

2018-01-05 Thread Johannes Schindelin
Hi Elijah, On Fri, 5 Jan 2018, Elijah Newren wrote: > merge_trees() did a variety of work, including: > * Calling get_unmerged() to get unmerged entries > * Calling record_df_conflict_files() with all unmerged entries to > do some work to ensure we could handle D/F conflicts correctly >

Re: Can't squash merge with merge.ff set to false

2018-01-05 Thread Paul Smith
On Fri, 2018-01-05 at 12:12 -0800, Bryan Turner wrote: > On Fri, Jan 5, 2018 at 11:59 AM, Robert Dailey > wrote: > > Not sure if this is intended or a bug, but with the following > > configuration: > > > > $ git config --global merge.ff false > > > > I am not able to

Re: [PATCH] rebase -p: fix quoting when calling `git merge`

2018-01-05 Thread Johannes Schindelin
Hi Junio, On Fri, 5 Jan 2018, Junio C Hamano wrote: > Johannes Schindelin writes: > > > git-rebase--interactive.sh | 9 ++--- > > t/t3418-rebase-continue.sh | 14 ++ > > 2 files changed, 20 insertions(+), 3 deletions(-) > > > > diff --git

Re: Git 2.15.0 on OSX 10.12.6: gui multi-select stage

2018-01-05 Thread Johannes Schindelin
Hi Matthew, On Fri, 5 Jan 2018, Matthew Orres wrote: > I'd be glad to give it a try - but am unfamiliar with how portable a > manual build of Git can be used along side the version I have > installed via Homebrew - do I just use full paths to reference the > compiled executable from within my

Re: Bug report: git clone with dest

2018-01-05 Thread Johannes Schindelin
Hi, On Fri, 5 Jan 2018, Junio C Hamano wrote: > Jeff King writes: > > > On Wed, Jan 03, 2018 at 02:42:51PM -0800, Isaac Shabtay wrote: > > > >> Indeed interesting... this one's for the books... > >> Thanks for the patches. Any idea when these are going to make it to the > >>

Re: Can't squash merge with merge.ff set to false

2018-01-05 Thread Bryan Turner
On Fri, Jan 5, 2018 at 12:35 PM, Robert Dailey wrote: > On Fri, Jan 5, 2018 at 2:26 PM, Paul Smith wrote: >> On Fri, 2018-01-05 at 12:12 -0800, Bryan Turner wrote: >>> On Fri, Jan 5, 2018 at 11:59 AM, Robert Dailey >>>

Re: Bug report: git clone with dest

2018-01-05 Thread Jeff King
On Fri, Jan 05, 2018 at 12:45:03PM -0800, Junio C Hamano wrote: > Jeff King writes: > > > Out of curiosity, did this change at some point? I thought the process > > used to be to merge to maint, and then pick up topics in master by > > merging maint to master. > > If you look at

Re: [PATCH v4 7/7] wildmatch test: create & test files on disk in addition to in-memory

2018-01-05 Thread Johannes Schindelin
Hi Ævar, On Fri, 5 Jan 2018, Ævar Arnfjörð Bjarmason wrote: > On Fri, Jan 05 2018, Johannes Schindelin jotted: > > > [...] > > > > In short: the Unix shell script t3070 manages to write what it thinks is a > > file called 'foo*', but Git only sees 'foo'. > > > > I tried to address this problem

Re: Bug report: git clone with dest

2018-01-05 Thread Junio C Hamano
Jeff King writes: > Out of curiosity, did this change at some point? I thought the process > used to be to merge to maint, and then pick up topics in master by > merging maint to master. If you look at "Sync with maint" merges made to 'master', you'd notice that most of them are

Re: Bug report: git clone with dest

2018-01-05 Thread Jeff King
On Fri, Jan 05, 2018 at 09:22:07PM +0100, Johannes Schindelin wrote: > On Fri, 5 Jan 2018, Isaac Shabtay wrote: > > > Done: https://github.com/git-for-windows/git/pull/1421 > > > > I added credit to Jeff in the PR's description. > > Sadly, the PR's description won't make it into the commit

Re: Bug report: git clone with dest

2018-01-05 Thread Junio C Hamano
Johannes Schindelin writes: > Hi Isaac, > > On Fri, 5 Jan 2018, Isaac Shabtay wrote: > >> Done: https://github.com/git-for-windows/git/pull/1421 >> >> I added credit to Jeff in the PR's description. > > Sadly, the PR's description won't make it into the commit

Re: Can't squash merge with merge.ff set to false

2018-01-05 Thread Robert Dailey
On Fri, Jan 5, 2018 at 2:26 PM, Paul Smith wrote: > On Fri, 2018-01-05 at 12:12 -0800, Bryan Turner wrote: >> On Fri, Jan 5, 2018 at 11:59 AM, Robert Dailey >> wrote: >> > Not sure if this is intended or a bug, but with the following >> >

Re: [PATCH v5 13/34] directory rename detection: tests for handling overwriting untracked files

2018-01-05 Thread Elijah Newren
On Fri, Jan 5, 2018 at 12:31 PM, Thomas Gummerer wrote: > On 01/04, Elijah Newren wrote: >> On Wed, Jan 3, 2018 at 5:52 PM, SZEDER Gábor wrote: >> >> >> + test $(git rev-parse :0:y/b) = $(git rev-parse O:z/b) && >> > >> > There is a test

[PATCHv6 03/31] directory rename detection: testcases to avoid taking detection too far

2018-01-05 Thread Elijah Newren
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 f36493289..239819f2d 100755 ---

[PATCH] upload-pack: fix some sparse warnings

2018-01-05 Thread Ramsay Jones
Signed-off-by: Ramsay Jones --- Hi Brandon, If you need to re-roll your 'bw/protocol-v2' branch, could you please squash this (or something like it) into the relevant patches. The first hunk would go in commit 6ec1105192, "upload-pack: convert to a builtin",

[PATCHv6 02/31] directory rename detection: directory splitting testcases

2018-01-05 Thread Elijah Newren
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 c68ae87f1..f36493289 100755 ---

[PATCHv6 13/31] merge-recursive: introduce new functions to handle rename logic

2018-01-05 Thread Elijah Newren
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

[PATCHv6 11/31] directory rename detection: tests for handling overwriting dirty files

2018-01-05 Thread Elijah Newren
Signed-off-by: Elijah Newren --- t/t6043-merge-rename-directories.sh | 458 1 file changed, 458 insertions(+) diff --git a/t/t6043-merge-rename-directories.sh b/t/t6043-merge-rename-directories.sh index 5a2a4449d..d69d26951 100755 ---

[PATCHv6 04/31] directory rename detection: partially renamed directory testcase/discussion

2018-01-05 Thread Elijah Newren
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 239819f2d..c61ecb9b7 100755 ---

[PATCHv6 12/31] merge-recursive: move the get_renames() function

2018-01-05 Thread Elijah Newren
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

Re: [PATCH] rebase -p: fix quoting when calling `git merge`

2018-01-05 Thread Junio C Hamano
Johannes Schindelin writes: > git-rebase--interactive.sh | 9 ++--- > t/t3418-rebase-continue.sh | 14 ++ > 2 files changed, 20 insertions(+), 3 deletions(-) > > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh > index

[PATCHv6 16/31] merge-recursive: split out code for determining diff_filepairs

2018-01-05 Thread Elijah Newren
Create a new function, get_diffpairs() to compute the diff_filepairs between two trees. While these are currently only used in get_renames(), I want them to be available to some new functions. No actual logic changes yet. Signed-off-by: Elijah Newren --- merge-recursive.c |

[PATCHv6 09/31] directory rename detection: miscellaneous testcases to complete coverage

2018-01-05 Thread Elijah Newren
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

[PATCHv6 14/31] merge-recursive: fix leaks of allocated renames and diff_filepairs

2018-01-05 Thread Elijah Newren
get_renames() has always zero'ed out diff_queued_diff.nr while only manually free'ing diff_filepairs that did not correspond to renames. Further, it allocated struct renames that were tucked away in the return string_list. Make sure all of these are deallocated when we are done with them.

[PATCHv6 06/31] directory rename detection: testcases checking which side did the rename

2018-01-05 Thread Elijah Newren
Signed-off-by: Elijah Newren --- t/t6043-merge-rename-directories.sh | 336 1 file changed, 336 insertions(+) diff --git a/t/t6043-merge-rename-directories.sh b/t/t6043-merge-rename-directories.sh index f9d75c83c..dc3fc66e5 100755 ---

[PATCHv6 10/31] directory rename detection: tests for handling overwriting untracked files

2018-01-05 Thread Elijah Newren
Signed-off-by: Elijah Newren --- t/t6043-merge-rename-directories.sh | 367 1 file changed, 367 insertions(+) diff --git a/t/t6043-merge-rename-directories.sh b/t/t6043-merge-rename-directories.sh index 717cf1483..5a2a4449d 100755 ---

Re: [PATCH v5 13/34] directory rename detection: tests for handling overwriting untracked files

2018-01-05 Thread Thomas Gummerer
On 01/04, Elijah Newren wrote: > On Wed, Jan 3, 2018 at 5:52 PM, SZEDER Gábor wrote: > > >> + test $(git rev-parse :0:y/b) = $(git rev-parse O:z/b) && > > > > There is a test helper for that :) > > > > test_cmp_rev :0:y/b O:z/b > > > > Note, that this is not

[PATCHv6 21/31] merge-recursive: add a new hashmap for storing file collisions

2018-01-05 Thread Elijah Newren
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

[PATCHv6 20/31] merge-recursive: check for directory level conflicts

2018-01-05 Thread Elijah Newren
Before trying to apply directory renames to paths within the given directories, we want to make sure that there aren't conflicts at the directory level. There will be additional checks at the individual file level too, which will be added later. Signed-off-by: Elijah Newren

[PATCHv6 27/31] merge-recursive: fix overwriting dirty files involved in renames

2018-01-05 Thread Elijah Newren
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

[PATCHv6 22/31] merge-recursive: add computation of collisions due to dir rename & merging

2018-01-05 Thread Elijah Newren
directory renaming and merging can cause one or more files to be moved to where an existing file is, or to cause several files to all be moved to the same (otherwise vacant) location. Add checking and reporting for such cases, falling back to no-directory-rename handling for such paths.

[PATCHv6 31/31] merge-recursive: ensure we write updates for directory-renamed file

2018-01-05 Thread Elijah Newren
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,

[PATCHv6 23/31] merge-recursive: check for file level conflicts then get new name

2018-01-05 Thread Elijah Newren
Before trying to apply directory renames to paths within the given directories, we want to make sure that there aren't conflicts at the file level either. If there aren't any, then get the new name from any directory renames. Signed-off-by: Elijah Newren --- merge-recursive.c

[PATCHv6 18/31] merge-recursive: make a helper function for cleanup for handle_renames

2018-01-05 Thread Elijah Newren
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

[PATCHv6 25/31] merge-recursive: apply necessary modifications for directory renames

2018-01-05 Thread Elijah Newren
This commit hooks together all the directory rename logic by making the necessary changes to the rename struct, it's dst_entry, and the diff_filepair under consideration. Signed-off-by: Elijah Newren --- merge-recursive.c | 187

[PATCHv6 17/31] merge-recursive: add a new hashmap for storing directory renames

2018-01-05 Thread Elijah Newren
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(+)

[PATCHv6 26/31] merge-recursive: avoid clobbering untracked files with directory renames

2018-01-05 Thread Elijah Newren
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

[PATCHv6 29/31] directory rename detection: new testcases showcasing a pair of bugs

2018-01-05 Thread Elijah Newren
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

[PATCHv6 24/31] merge-recursive: when comparing files, don't include trees

2018-01-05 Thread Elijah Newren
get_renames() would look up stage data that already existed (populated in get_unmerged(), taken from whatever unpack_trees() created), and if it didn't exist, would call insert_stage_data() to create the necessary entry for the given file. The insert_stage_data() fallback becomes much more

[PATCHv6 19/31] merge-recursive: add get_directory_renames()

2018-01-05 Thread Elijah Newren
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

[PATCHv6 15/31] merge-recursive: make !o->detect_rename codepath more obvious

2018-01-05 Thread Elijah Newren
Previously, if !o->detect_rename then get_renames() would return an empty string_list, and then process_renames() would have nothing to iterate over. It seems more straightforward to simply avoid calling either function in that case. Signed-off-by: Elijah Newren ---

[PATCHv6 01/31] directory rename detection: basic testcases

2018-01-05 Thread Elijah Newren
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

[PATCHv6 28/31] merge-recursive: fix remaining directory rename + dirty overwrite cases

2018-01-05 Thread Elijah Newren
Signed-off-by: Elijah Newren --- merge-recursive.c | 26 +++--- t/t6043-merge-rename-directories.sh | 8 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/merge-recursive.c b/merge-recursive.c index

[PATCHv6 08/31] directory rename detection: testcases exploring possibly suboptimal merges

2018-01-05 Thread Elijah Newren
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 38ca791e9..470c9a79f 100755 ---

[PATCHv6 00/31] Add directory rename detection to git

2018-01-05 Thread Elijah Newren
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

[PATCHv6 07/31] directory rename detection: more involved edge/corner testcases

2018-01-05 Thread Elijah Newren
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 dc3fc66e5..38ca791e9 100755 ---

[PATCHv6 05/31] directory rename detection: files/directories in the way of some renames

2018-01-05 Thread Elijah Newren
Signed-off-by: Elijah Newren --- t/t6043-merge-rename-directories.sh | 330 1 file changed, 330 insertions(+) diff --git a/t/t6043-merge-rename-directories.sh b/t/t6043-merge-rename-directories.sh index c61ecb9b7..f9d75c83c 100755 ---

[PATCHv6 30/31] merge-recursive: avoid spurious rename/rename conflict from dir renames

2018-01-05 Thread Elijah Newren
If a file on one side of history was renamed, and merely modified on the other side, then applying a directory rename to the modified side gives us a rename/rename(1to2) conflict. We should only apply directory renames to pairs representing either adds or renames. Making this change means that a

Re: Git 2.15.0 on OSX 10.12.6: gui multi-select stage

2018-01-05 Thread Matthew Orres
I'd be glad to give it a try - but am unfamiliar with how portable a manual build of Git can be used along side the version I have installed via Homebrew - do I just use full paths to reference the compiled executable from within my repository folder? Thanks! On Wed, Nov 1, 2017 at 5:58 PM,

[PATCH 2/3] merge-recursive: fix logic ordering issue

2018-01-05 Thread Elijah Newren
merge_trees() did a variety of work, including: * Calling get_unmerged() to get unmerged entries * Calling record_df_conflict_files() with all unmerged entries to do some work to ensure we could handle D/F conflicts correctly * Calling get_renames() to check for renames. An easily

[PATCH 0/3] Some small fixes to merge-recursive and tests

2018-01-05 Thread Elijah Newren
These three patches were the first three from en/rename-directory-detection[1], but as Stefan suggested[2], I'm submitting them separately as they are independent fixes. Change from PATCHv5-rename-directory-detection: * Split from the rest of the series. * Added Stefan's Reviewed-By. [1]

Re: Bug report: git clone with dest

2018-01-05 Thread Johannes Schindelin
Hi Isaac, On Fri, 5 Jan 2018, Isaac Shabtay wrote: > Done: https://github.com/git-for-windows/git/pull/1421 > > I added credit to Jeff in the PR's description. Sadly, the PR's description won't make it into the commit history, and the authorship really should have been retained. I found

[PATCH 1/3] Tighten and correct a few testcases for merging and cherry-picking

2018-01-05 Thread Elijah Newren
t3501 had a testcase originally added in 05f2dfb965 (cherry-pick: demonstrate a segmentation fault, 2016-11-26) to ensure cherry-pick wouldn't segfault when working with a dirty file involved in a rename. While the segfault was fixed, there was another problem this test demonstrated: namely, that

[PATCH 3/3] merge-recursive: add explanation for src_entry and dst_entry

2018-01-05 Thread Elijah Newren
If I have to walk through the debugger and inspect the values found in here in order to figure out their meaning, despite having known these things inside and out some years back, then they probably need a comment for the casual reader to explain their purpose. Reviewed-By: Stefan Beller

Re: [PATCH] send-email: add test for Linux's get_maintainer.pl

2018-01-05 Thread Junio C Hamano
Matthieu Moy writes: > Alex Bennée writes: > >> I think you need to apply Eric's suggestions from: >> >> From: Eric Sunshine >> Date: Sat, 18 Nov 2017 21:54:46 -0500 >> Message-ID: >>

Re: Can't squash merge with merge.ff set to false

2018-01-05 Thread Bryan Turner
On Fri, Jan 5, 2018 at 11:59 AM, Robert Dailey wrote: > Not sure if this is intended or a bug, but with the following configuration: > > $ git config --global merge.ff false > > I am not able to merge my topic branch into master with squash option: > > $ git checkout

Re: Bring together merge and rebase

2018-01-05 Thread Junio C Hamano
Martin Fick writes: > These scenarios seem to come up most for me at Gerrit hack- > a-thons where we collaborate a lot in short time spans on > changes. We (the Gerrit maintainers) too have wanted and > sometimes discussed ways to track the relation of "amended" >

[PATCHv4 4/4] submodule: submodule_move_head omits old argument in forced case

2018-01-05 Thread Stefan Beller
When using hard reset or forced checkout with the option to recurse into submodules, the submodules need to be reset, too. It turns out that we need to omit the duplicate old argument to read-tree in all forced cases to omit the 2 way merge and use the more assertive behavior of reading the

[PATCHv4 3/4] unpack-trees: oneway_merge to update submodules

2018-01-05 Thread Stefan Beller
When there is a one way merge, each submodule needs to be one way merged as well, if we're asked to recurse into submodules. In case of a submodule, check if it is up-to-date, otherwise set the flag CE_UPDATE, which will trigger an update of it in the phase updating the tree later.

[PATCHv4 2/4] t/lib-submodule-update.sh: Fix test ignoring ignored files in submodules

2018-01-05 Thread Stefan Beller
It turns out that the test replacing a submodule with a file with the submodule containing an ignored file is incorrectly titled, because the test put the file in place, but never ignored that file. When having an untracked file Instead of an ignored file in the submodule, git should refuse to

[PATCHv4 1/4] t/lib-submodule-update.sh: clarify test

2018-01-05 Thread Stefan Beller
Keep the local branch name as the upstream branch name to avoid confusion. Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- t/lib-submodule-update.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git

[PATCHv4 0/4] Fix --recurse-submodules for submodule worktree changes

2018-01-05 Thread Stefan Beller
v4: * dropped the patch "t/helper/test-lazy-name-hash: fix compilation" (that snuck into v3 by accident, it is already present at remotes/origin/jh/memihash-opt, but I am carrying it locally in most branches currently.) * Junio pointed out the micro-optimisation below, both in terms of

Re: Apparent bug in 'git stash push ' loses untracked files

2018-01-05 Thread Thomas Gummerer
On 12/18, Junio C Hamano wrote: > Thomas Gummerer writes: > > > Ah interesting, what you have below looks good to me indeed, it > > matches what I'd expect it to do and fixes the bug that was reported. > > Thanks! > > > > I've taken the liberty to take what you have below

Can't squash merge with merge.ff set to false

2018-01-05 Thread Robert Dailey
Not sure if this is intended or a bug, but with the following configuration: $ git config --global merge.ff false I am not able to merge my topic branch into master with squash option: $ git checkout master $ git merge --squash topic fatal: You cannot combine --squash with --no-ff. I'm not

Re: Bug report: git clone with dest

2018-01-05 Thread Jeff King
On Fri, Jan 05, 2018 at 11:53:50AM -0800, Junio C Hamano wrote: > > They haven't even been reviewed yet. If they get good feedback, then the > > maintainer will pick them up, then merge them to 'next', and then > > eventually to 'master', after which they'd become part of the next > > major

Re: [PATCH v3 0/5] Add --no-ahead-behind to status

2018-01-05 Thread Junio C Hamano
Jeff Hostetler writes: > I kinda trying to serve 2 masters here. As we discussed earlier, we > don't want config options to change porcelain formats, hence the > true/false thing only affecting non-porcelain formats. On the other > hand, VS and git.exe are on different

Re: Bug report: git clone with dest

2018-01-05 Thread Junio C Hamano
Jeff King writes: > On Wed, Jan 03, 2018 at 02:42:51PM -0800, Isaac Shabtay wrote: > >> Indeed interesting... this one's for the books... >> Thanks for the patches. Any idea when these are going to make it to the >> official Git client builds? (specifically the Windows one) > >

  1   2   >