Stefan Beller writes:
> The "checkout --recurse-submodules" series got too large to comfortably send
> it out for review, so I had to break it up into smaller series'; this is the
> first subseries, but it makes sense on its own.
>
> This series teaches git-rm to absorb the
Stefan Beller writes:
> Remove the space between redirection and file name.
> Also remove unnecessary invocations of subshells, such as
>
> (cd submod &&
> echo X >untracked
> ) &&
>
> as there is no point of having the shell for functional purposes.
Torsten Bögershausen writes:
> The typical instructions I have seen are a sequence of shell commands
> to be executed, which hopefully simply work by doing "copy-and-paste".
> I find this error-prone, as you you may loose the last character while
> moving the mouse, or don't check
SZEDER Gábor writes:
>>> - if (i1 == -1 && starts_with(s1 + off, suffix))
>>> - i1 = i;
>>> - if (i2 == -1 && starts_with(s2 + off, suffix))
>>> - i2 = i;
>>> + int j, start, suffix_len =
Brandon Williams writes:
> On 12/12, Stefan Beller wrote:
>> On Mon, Dec 12, 2016 at 3:47 PM, Junio C Hamano wrote:
>> > Junio C Hamano writes:
>> >
>> >> Brandon Williams writes:
>> >>
>> >>> Migrate callers of
Sure, and I'd rather see the update-unicode.sh script moved
somewhere in contrib/ while at it. Those who are interested in
keeping up with the unicode standard are tiny minority of the
developer population, and most of us would treat the built width
table as the source (after all, that is what
On Mon, Dec 12, 2016 at 05:40:55PM -0800, Stefan Beller wrote:
> When deleting a submodule we need to keep the actual git directory around,
> such that we do not lose local changes in there and at a later checkout
> of the submodule we don't need to clone it again.
>
> Implement
Remove the space between redirection and file name.
Also remove unnecessary invocations of subshells, such as
(cd submod &&
echo X >untracked
) &&
as there is no point of having the shell for functional purposes.
In case of a single Git command use the `-C` option
When deleting a submodule we need to keep the actual git directory around,
such that we do not lose local changes in there and at a later checkout
of the submodule we don't need to clone it again.
Implement `depopulate_submodule`, that migrates the git directory before
deletion of a submodule and
As the upcoming series will add a lot of functions to the submodule
header, let's first make the header consistent to the rest of the project
by adding the extern keyword to functions.
As per the CodingGuidelines we try to stay below 80 characters per line,
so adapt all those functions to stay
In different contexts the question whether deleting a submodule is ok
to remove may be answered differently.
In 293ab15eea (submodule: teach rm to remove submodules unless they
contain a git directory, 2012-09-26) a case was made that we can safely
ignore ignored untracked files for removal as we
Instead of constructing the NULL terminated array ourselves, we
should make use of the argv_array infrastructure.
While at it, adapt the error messages to reflect the actual invocation.
Signed-off-by: Stefan Beller
---
submodule.c | 14 --
1 file changed, 4
When deciding if a submodule can be deleted a major
reason to say no is the git directory of the submodule
being contained in the submodules working directory.
Instead of failing migrate the git directory into the
superproject and proceed with the other checks.
Signed-off-by: Stefan Beller
The "checkout --recurse-submodules" series got too large to comfortably send
it out for review, so I had to break it up into smaller series'; this is the
first subseries, but it makes sense on its own.
This series teaches git-rm to absorb the git directory of a submodule instead
of failing and
On 12/12, Stefan Beller wrote:
> On Mon, Dec 12, 2016 at 3:47 PM, Junio C Hamano wrote:
> > Junio C Hamano writes:
> >
> >> Brandon Williams writes:
> >>
> >>> Migrate callers of real_path() who duplicate the retern value to use
> >>>
On Mon, Dec 12, 2016 at 10:27 PM, Junio C Hamano wrote:
> SZEDER Gábor writes:
>
>> diff --git a/versioncmp.c b/versioncmp.c
>> index a55c23ad5..f86ac562e 100644
>> --- a/versioncmp.c
>> +++ b/versioncmp.c
>> @@ -26,12 +26,15 @@ static int initialized;
>>
On Mon, Dec 12, 2016 at 3:47 PM, Junio C Hamano wrote:
> Junio C Hamano writes:
>
>> Brandon Williams writes:
>>
>>> Migrate callers of real_path() who duplicate the retern value to use
>>> real_pathdup or strbuf_realpath.
>>
>> Looks
Remove the space between redirection and file name.
Also remove unnecessary invocations of subshells, such as
(cd submod &&
echo X >untracked
) &&
as there is no point of having the shell for functional purposes.
In case of a single Git command use the `-C` option
On 12.12.16 19:33, Junio C Hamano wrote:
> Torsten Bögershausen writes:
>
>> If I run ./update_unicode.sh on the latest master of
>> https://github.com/depp/uniset.git , commit
>> a5fac4a091857dd5429cc2d, I get a diff in unicode_width.h like
>> this:
>>
>> -{ 0x0300, 0x036F },
>>
Junio C Hamano writes:
> Brandon Williams writes:
>
>> Migrate callers of real_path() who duplicate the retern value to use
>> real_pathdup or strbuf_realpath.
>
> Looks good.
This has small non-textual conflicts with Stefan's embed^Wabsorption
topic;
Brandon Williams writes:
> On 12/12, Junio C Hamano wrote:
> ...
>> E.g. for input path "foo/bar/", the above loop runs zero times and
>> then ...
>>
>> > + /* Skip sequences of multiple path-separators */
>> > + while (offset < len && is_dir_sep(path->buf[len - 1]))
>> > +
On 12/12, Junio C Hamano wrote:
> Brandon Williams writes:
>
> > +/* removes the last path component from 'path' except if 'path' is root */
> > +static void strip_last_component(struct strbuf *path)
> > +{
> > + size_t offset = offset_1st_component(path->buf);
> > +
Stefan Beller writes:
> $ git send-email 00* --cc=list --cc=bmwill --cc=duy --to=jch
> -cover-letter.patch
> ...
> (mbox) Adding cc: Stefan Beller from line 'From:
> Stefan Beller '
>
> From: Stefan Beller
>
Jeff King writes:
> So here are patches that do that. It kicks in only when the first
> character of a path is a double-quote, and then expects the usual
> C-style quoting.
The quote being per delimited component is what makes this fifth
approach a huge win.
All sane
Brandon Williams writes:
> Migrate callers of real_path() who duplicate the retern value to use
> real_pathdup or strbuf_realpath.
Looks good.
Brandon Williams writes:
> Create real_pathdup which returns a caller owned string of the resolved
> realpath based on the provide path.
>
> Signed-off-by: Brandon Williams
> ---
> abspath.c | 13 +
> cache.h | 1 +
> 2 files changed, 14
Brandon Williams writes:
> Change the name of real_path_internal to strbuf_realpath. In addition
> push the static strbuf up to its callers and instead take as a
> parameter a pointer to a strbuf to use for the final result.
>
> This change makes strbuf_realpath reentrant.
Brandon Williams writes:
> +/* removes the last path component from 'path' except if 'path' is root */
> +static void strip_last_component(struct strbuf *path)
> +{
> + size_t offset = offset_1st_component(path->buf);
> + size_t len = path->len;
> +
> + /* Find
Thanks; queued and pushed out together with the follow-up series.
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.
Quite a many topics that have
SZEDER Gábor writes:
> diff --git a/versioncmp.c b/versioncmp.c
> index a55c23ad5..f86ac562e 100644
> --- a/versioncmp.c
> +++ b/versioncmp.c
> @@ -26,12 +26,15 @@ static int initialized;
>
> /*
> * off is the offset of the first different character in the two strings
Addition to the bug
Proposal
https://github.com/git-for-windows/git/commit/30395c645adf21828bbccbdcd3c5c36c39f07050
should be considered and possibly implemented.
But as described in
https://github.com/git-for-windows/git/issues/761#issuecomment-221057828.
And then an implementation without
Am 12.12.2016 um 20:53 schrieb Jeff King:
Johannes, please let me know if I am wrong about skipping the test on
!MINGW.
Thanks for being considerate. The !MINGW prerequisite is required for
the test as written.
The appropriate check there would be ";" anyway, but I am not
sure _that_ is
On Mon, Dec 12, 2016 at 12:35 PM, Brandon Williams wrote:
> On 12/12, Stefan Beller wrote:
>> v8:
>> * Change the worktree implementation: do not have an internal
>> submodule_get_worktrees, and count the number of worktrees, instead
>> directly look if there is a worktrees
Hi,
On 12/11/2016 02:00 PM, Jeff King wrote:
> On Sat, Dec 10, 2016 at 02:04:33PM -0800, Junio C Hamano wrote:
>> Jeff King writes:
>>> On Fri, Dec 09, 2016 at 01:43:24PM -0500, Ariel wrote:
>>> ...
But it doesn't have to be that way. You could make add -p identical to add
On 12/12, Stefan Beller wrote:
> v8:
> * Change the worktree implementation: do not have an internal
> submodule_get_worktrees, and count the number of worktrees, instead
> directly look if there is a worktrees dir and check if there are any files
> in there.
> * reworded one test title
Hi Ariel,
On 12/09/2016 07:26 PM, Ariel wrote:
> On Wed, 7 Dec 2016, Duy Nguyen wrote:
>> We could improve it a bit, suggesting the user to do git add -N. But
>> is there a point of using -p on a new file?
>
> I got into the habit of always using -p as a way of checking my diffs
> before
Since Git version 2.11, git gui destroys the author name when 'git
commit amend' is executed and the author name contains UTF-8-specific
characters.
This is a known issue from 'Git for Windows' and now a
platform-independent bug.
Please refer
- https://github.com/git-for-windows/git/issues/761
-
On Mon, Dec 12, 2016 at 08:51:14PM +0100, René Scharfe wrote:
> It's kinda cool to have a bespoke compatibility layer for major platforms,
> but the more I think about it the less I can answer why we would want that.
> Safety, reliability and performance can't be good reasons -- if our fallback
>
Commit 722ff7f87 (receive-pack: quarantine objects until
pre-receive accepts, 2016-10-03) regressed pushes to
repositories with colon (or semi-colon in Windows in them)
because it adds the repository's main object directory to
GIT_ALTERNATE_OBJECT_DIRECTORIES. The receiver interprets
the colon as
We read lists of alternates from objects/info/alternates
files (delimited by newline), as well as from the
GIT_ALTERNATE_OBJECT_DIRECTORIES environment variable
(delimited by colon or semi-colon, depending on the
platform).
There's no mechanism for quoting the delimiters, so it's
impossible to
Am 01.12.2016 um 21:22 schrieb Junio C Hamano:
Junio C Hamano writes:
Eh, wait. BSD and Microsoft have paramters reordered in the
callback comparison function. I suspect that would not fly very
well.
Hmm. We could do it like this, which may not be too bad.
It's kinda
On Sat, Dec 10, 2016 at 03:51:33AM -0500, Jeff King wrote:
> So here's the array of options, as I see it:
>
> 1. Disable quarantine by default; only turn it on if you don't have
> any of the funny corner cases.
>
> 2. Introduce an extra single-item environment variable that gets
>
On Sat, Dec 10, 2016 at 1:13 AM, Jeff King wrote:
> On Fri, Dec 09, 2016 at 12:34:49PM -0800, Stefan Beller wrote:
>
>> My first perl contribution to Git. :)
>
> Yes, I have some style suggestions below. :)
>
>> Marked as RFC to gauge general interest before writing tests and
>>
On 12.12.16 19:12, Torsten Bögershausen wrote:
>
>>> Minor question, especially to the next commit:
>>> Should we make sure to checkout the exact version, which has been tested?
>>> In this case cb97792880625e24a9f581412d03659091a0e54f
>>>
>>> And this is for both a fresh clone and the git pull
Junio C Hamano wrote:
> Thanks; basing these two on top of "Start post 2.11 cycle" that is
> on 'master' would mean that this won't merge to 'maint' for 2.11.x,
> though. I hope you wouldn't mind if I rebased them on top of
> 'maint' before merging?
Nope, wouldn't mind at
Subtree Split has a bug in which irrelevant commits are included in
the sub-project's history. Along with breaking compatibility with
branches created before the bug was introduced, this significantly and
unnecessarily bloats the sub-project's git repository.
I contacted this group about a this
When a submodule has its git dir inside the working dir, the submodule
support for checkout that we plan to add in a later patch will fail.
Add functionality to migrate the git directory to be absorbed
into the superprojects git directory.
The newly added code in this patch is structured such
In a later patch we want to move around the the git directory of
a submodule. Both submodules as well as worktrees are involved in
placing git directories at unusual places, so their functionality
may collide. To react appropriately to situations where worktrees
in submodules are in use, offer a
That function was primarily used by submodule code, but the function
itself is not inherently about submodules. In the next patch we'll
introduce relocate_git_dir, which can be used by worktrees as well,
so find a neutral middle ground in dir.h.
Signed-off-by: Stefan Beller
Specifically when setting up submodule tests, it comes in handy if
we can create commits in repositories that are not at the root of
the tested trash dir. Add "-C " similar to gits -C parameter
that will perform the operation in the given directory.
Signed-off-by: Stefan Beller
Luis Ressel writes:
> Last time I checked, I was living in the UTC+01:00 time zone. UTC+02:00
> would be Central European _Summer_ Time.
>
> Signed-off-by: Luis Ressel
> ---
> Documentation/date-formats.txt | 2 +-
> 1 file changed, 1 insertion(+), 1
Just like main commands in Git, the submodule helper needs
access to the superproject prefix. Enable this in the git.c
but have its own fuse in the helper code by having a flag to
turn on the super prefix.
Signed-off-by: Stefan Beller
---
builtin/submodule--helper.c | 31
Eric Wong writes:
> Blindly checking a path component for falsiness is unwise, as
> "0" is false to Perl, but a valid pathname component for SVN
> (or any filesystem).
>
> Found via random code reading.
>
> Signed-off-by: Eric Wong
> ---
> Junio: this bugfix
v8:
* Change the worktree implementation: do not have an internal
submodule_get_worktrees, and count the number of worktrees, instead
directly look if there is a worktrees dir and check if there are any files
in there.
* reworded one test title slightly.
* interdiff to v7 (that is queued as
The current caller of connect_work_tree_and_git_dir passes
an absolute path for the `git_dir` parameter. In the future patch
we will also pass in relative path for `git_dir`. Extend the functionality
of connect_work_tree_and_git_dir to take relative paths for parameters.
We could work around this
Eric Wong writes:
> The following changes since commit 8d7a455ed52e2a96debc080dfc011b6bb00db5d2:
>
> Start post 2.11 cycle (2016-12-05 11:31:47 -0800)
>
> are available in the git repository at:
>
> git://bogomips.org/git-svn.git master
>
> for you to fetch changes up to
Torsten Bögershausen writes:
> If I run ./update_unicode.sh on the latest master of
> https://github.com/depp/uniset.git , commit
> a5fac4a091857dd5429cc2d, I get a diff in unicode_width.h like
> this:
>
> -{ 0x0300, 0x036F },
>
> +{ 768, 879 },
>
> IOW, all hex values are printed
Change the name of real_path_internal to strbuf_realpath. In addition
push the static strbuf up to its callers and instead take as a
parameter a pointer to a strbuf to use for the final result.
This change makes strbuf_realpath reentrant.
Signed-off-by: Brandon Williams
---
Migrate callers of real_path() who duplicate the retern value to use
real_pathdup or strbuf_realpath.
Signed-off-by: Brandon Williams
---
builtin/init-db.c | 6 +++---
environment.c | 2 +-
setup.c | 13 -
sha1_file.c | 2 +-
submodule.c
The current implementation of real_path uses chdir() in order to resolve
symlinks. Unfortunately this isn't thread-safe as chdir() affects a
process as a whole and not just an individual thread. Instead perform
the symlink resolution by hand so that the calls to chdir() can be
removed, making
Create real_pathdup which returns a caller owned string of the resolved
realpath based on the provide path.
Signed-off-by: Brandon Williams
---
abspath.c | 13 +
cache.h | 1 +
2 files changed, 14 insertions(+)
diff --git a/abspath.c b/abspath.c
index
Changes in v3:
* Rewrite of `strip_last_component()` as the v2 verison didn't properly handle
inputs like '/foo'. Thanks to Johannes for pointing this out and suggesting
a solution.
* Small style changes
* Revert the call in `get_common_dir_noenv()` to maintain proper functionality.
Brandon
>> Minor question, especially to the next commit:
>> Should we make sure to checkout the exact version, which has been tested?
>> In this case cb97792880625e24a9f581412d03659091a0e54f
>>
>> And this is for both a fresh clone and the git pull
>> needs to be replaced by
>> git fetch && git
Stefan Beller writes:
> On Sat, Dec 10, 2016 at 5:41 AM, vi0oss wrote:
>> On 12/08/2016 04:38 AM, vi0...@gmail.com wrote:
>>>
>>> Third review: missing && in test fixed.
>>>
>>
>> Shall something more be done about this or just wait until the patch
On Mon, Dec 12, 2016 at 10:10 PM, Jeff King wrote:
> On Mon, Dec 12, 2016 at 09:59:49PM +0530, Karthik Nayak wrote:
>
>> >> > This caller never stores the return value, and it ends up leaking. So I
>> >> > wonder if you wanted "static struct strbuf" in the first place (and that
>>
Johannes Schindelin writes:
>> This is a great find, and a very impactful fix, as redirecting from
>> /dev/null is how we try to force a "go interactive if talking to
>> tty" program to realize that it is not talking to a tty.
>
> Can we fast-track this to maint?
Last time I checked, I was living in the UTC+01:00 time zone. UTC+02:00
would be Central European _Summer_ Time.
Signed-off-by: Luis Ressel
---
Documentation/date-formats.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/date-formats.txt
On Mon, Dec 12, 2016 at 09:59:49PM +0530, Karthik Nayak wrote:
> >> > This caller never stores the return value, and it ends up leaking. So I
> >> > wonder if you wanted "static struct strbuf" in the first place (and that
> >> > would explain the strbuf_reset() in your function).
> >>
> >> Ah!
On Mon, Dec 12, 2016 at 5:45 PM, Jeff King wrote:
> On Mon, Dec 12, 2016 at 04:50:20PM +0530, Karthik Nayak wrote:
>
>> > This caller never stores the return value, and it ends up leaking. So I
>> > wonder if you wanted "static struct strbuf" in the first place (and that
>> > would
Hi Klaus,
you probably missed the note about reply-to-all being customary on this
list. The reason is that this list is high-volume, and open to
non-subscribers. You may want to get into the habit of hitting
reply-to-all when responding to mails from this list, in case that you
plan to continue
On Mon, Dec 12, 2016 at 04:50:20PM +0530, Karthik Nayak wrote:
> > This caller never stores the return value, and it ends up leaking. So I
> > wonder if you wanted "static struct strbuf" in the first place (and that
> > would explain the strbuf_reset() in your function).
>
> Ah! Yes this should
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512
Hi,
Am Mo den 12. Dez 2016 um 12:03 schrieb Johannes Schindelin:
> On Sun, 11 Dec 2016, Klaus Ethgen wrote:
> > Am Sa den 10. Dez 2016 um 19:18 schrieb Johannes Schindelin:
> > > On Sat, 10 Dec 2016, Klaus Ethgen wrote:
> > > > Am Fr den 9. Dez
From: "David Aguilar"
On Sat, Dec 10, 2016 at 09:15:34AM +0100, Johannes Sixt wrote:
Am 10.12.2016 um 04:21 schrieb David Aguilar:
> Signed-off-by: David Aguilar
> ---
> This patch builds upon da/mergetool-trust-exit-code
>
> mergetools/tortoisemerge | 2
On Fri, Dec 9, 2016 at 7:33 PM, Jeff King wrote:
> On Wed, Dec 07, 2016 at 09:06:26PM +0530, Karthik Nayak wrote:
>
>> +const char *quote_literal_for_format(const char *s)
>> {
>> + struct strbuf buf = STRBUF_INIT;
>>
>> + strbuf_reset();
>> + while (*s) {
>> +
The following changes since commit 8d7a455ed52e2a96debc080dfc011b6bb00db5d2:
Start post 2.11 cycle (2016-12-05 11:31:47 -0800)
are available in the git repository at:
git://bogomips.org/git-svn.git master
for you to fetch changes up to 1b7edec78b754a1e901c164a4bf4e94bff96ed7b:
git-svn:
Blindly checking a path component for falsiness is unwise, as
"0" is false to Perl, but a valid pathname component for SVN
(or any filesystem).
Found via random code reading.
Signed-off-by: Eric Wong
---
Junio: this bugfix should go to "maint".
Will push along with a doc fix
Hi Klaus,
On Sun, 11 Dec 2016, Klaus Ethgen wrote:
> Am Sa den 10. Dez 2016 um 19:18 schrieb Johannes Schindelin:
> > On Sat, 10 Dec 2016, Klaus Ethgen wrote:
> > > Am Fr den 9. Dez 2016 um 22:32 schrieb Johannes Sixt:
> > > > There are too many systems out there that use a backslash in path
>
On Fri, Dec 9, 2016 at 5:28 AM, Junio C Hamano wrote:
> Thanks.
>
> Will replace, with the attached stylistic fixes squashed in for
> minor issues that were spotted by my mechanical pre-acceptance
> filter.
>
Thanks for this. Will add it to my local branch too if there's a
On Thu, Dec 8, 2016 at 5:31 AM, Jacob Keller wrote:
>> diff --git a/Documentation/git-for-each-ref.txt
>> b/Documentation/git-for-each-ref.txt
>> index f4ad297..c72baeb 100644
>> --- a/Documentation/git-for-each-ref.txt
>> +++ b/Documentation/git-for-each-ref.txt
>> @@
Hi Junio,
On Sun, 11 Dec 2016, Junio C Hamano wrote:
> Johannes Schindelin writes:
>
> > I finally got a chance to debug the problems with the ever-timing-out
> > test runs of `pu` on Windows. Turns out that pb/bisect uncovered a
> > really old, really bad bug: on
On Mon, Nov 07, 2016 at 07:54:28PM +0100, Markus Hitter wrote:
>
> List, Paul,
>
> after searching for a while on why Gitk sometimes consumes exorbitant amounts
> of memory I found a pair of minor issues and also a big one: the text widget
> comes with an unlimited undo manager, which is
On Mon, Dec 12, 2016 at 09:34:13PM +1300, Chris Packham wrote:
> Teach 'git merge' the --continue option which allows 'continuing' a
> merge by completing it. The traditional way of completing a merge after
> resolving conflicts is to use 'git commit'. Now with commands like 'git
> rebase' and
On Tue, Oct 25, 2016 at 12:35:10AM +0900, Satoshi Yasushima wrote:
> Signed-off-by: Satoshi Yasushima
> ---
> po/ja.po | 9 +
> 1 file changed, 5 insertions(+), 4 deletions(-)
Applied, thanks,
Paul.
Hi Uxio,
On Thu, Sep 08, 2016 at 03:41:29PM +0200, Uxío Prego wrote:
> Hello, please forgive me for not introducing me.
>
> +---+
> |Description|
> +---+
>
> Patch for showing all stashes in `gitk`.
>
> +---+
> |The problem|
> +---+
>
> Being `gitk` one of the
Am 12.12.2016 um 09:34 schrieb Chris Packham:
> Teach 'git merge' the --continue option which allows 'continuing' a
> merge by completing it. The traditional way of completing a merge after
> resolving conflicts is to use 'git commit'. Now with commands like 'git
> rebase' and 'git cherry-pick'
On 2016-12-12 06:53, Torsten Bögershausen wrote:
On 2016-12-12 00:34, Beat Bolli wrote:
We need to track the new commits in uniset, otherwise their and our
code
get out of sync.
Signed-off-by: Beat Bolli
---
Junio, these go on top of my bb/unicode-9.0 branch, please.
Teach 'git merge' the --continue option which allows 'continuing' a
merge by completing it. The traditional way of completing a merge after
resolving conflicts is to use 'git commit'. Now with commands like 'git
rebase' and 'git cherry-pick' having a '--continue' option adding such
an option to
88 matches
Mail list logo