An overview of what Git object types mean and how they loosely translate
into filesystem types users are already familiar with is a good start to
making Git's internals less scary to users. This post is an interactive
overview of the various types, demonstrating subcommands which show what
the obje
Since --preserve-merges has been deprecated in favour of
--rebase-merges, mark this option as hidden so it no longer shows up in
the usage and completions.
Signed-off-by: Denton Liu
---
This patch continues the deprecation effort and can be based on top of
`js/rebase-deprecate-preserve-merges`.
Philip Oakley writes:
> branch..merge::
> Defines, for the local branch , the upstream branch ref
> _on the remote_ (as given by branch..remote).
> The upstream ref may be different from the local branch ref.
>
> optionally s/different from/ same as/ ?
That "optionally" part is exact
On Fri, Oct 18, 2019 at 06:40:27PM +0200, SZEDER Gábor wrote:
>
> Just leaving a quick note here: an entry about the new command should
> be added to 'command-list.txt' as well, so it will be included in the
> list of available commands in 'git help -a' or even in 'git help'
> and in completion, i
On Fri, Oct 18, 2019 at 12:06:59AM +, Heba Waly via GitGitGadget wrote:
> From: Heba Waly
Hi Heba,
Thanks for the patch!
I'd like to highlight to the community that this is an Outreachy
applicant and microproject. Heba, when you send the next version, I
think you can add [Outreachy] manuall
On Fri, Oct 18, 2019 at 03:10:21PM -0700, Denton Liu wrote:
> Currently, in the case where we are using test_cmp_rev() to report
> not-equals, we write `! test_cmp_rev`. However, since test_cmp_rev()
> contains
>
> r1=$(git rev-parse --verify "$1") &&
> r2=$(git rev-parse --verify "$2"
> From: Heba Waly
>
> This commit is copying and summarizing the documentation from
> documentation/technical/api-config.txt to comments in config.h
Thanks for this commit!
As for your commit message, as far as I know, the idea is to move the
documentation, not to copy it. Also, write this in i
Sorry for the double-send. public-inbox and MARC both showed that
only 3 messages got through the in the first send so I sent it again.
Seems to have gotten through find the second time around.
On Fri, Oct 18, 2019 at 03:04:03PM -0700, Denton Liu wrote:
> Like earlier patchsets, I want to implemen
Like earlier patchsets, I want to implement a feature that involves
modifications to the test suite. Since that feature will probably take a
while to polish up, however, let's clean up the test suite in a separate
patchset first so it's not blocked by the feature work.
1/15 is a cleanup to an unre
Improve the test style by removing leading and trailing empty lines
within test cases. Also, reformat multi-line subshells to conform to the
existing style.
Signed-off-by: Denton Liu
---
t/t5520-pull.sh | 88 +
1 file changed, 45 insertions(+), 43
In case an invocation of `git rev-list` fails within the subshell, the
failure will be masked. Remove the subshell and use test_cmp_rev() so
that failures can be discovered.
This change was done with the following sed expressions:
s/test "$(git rev-parse.* \([^)]*\))" = "$(git rev-parse
In case an invocation of a Git command fails within the subshell, the
failure will be masked. Replace the subshell with a file-redirection and
a call to test_cmp.
This change was done with the following GNU sed expressions:
s/\(\s*\)test \([^ ]*\) = "$(\(git [^)]*\))"/\1echo \2 >expect
\
Currently, if a Git command fails in an unexpected way, such as a
segfault, it will be masked and ignored. Replace the ! with
test_must_fail so that only expected failures pass.
Signed-off-by: Denton Liu
---
t/t5520-pull.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/
The style for tests in Git is to have the redirect operator attached to
the filename with no spaces. Fix test cases where this is not the case.
Signed-off-by: Denton Liu
---
t/t5520-pull.sh | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/t/t5520-pull.sh b/t/t5520-p
Before, if the invocation of git failed, it would be masked by the pipe
since only the return code of the last element of a pipe is used.
Rewrite the test to put the Git command on its own line so its return
code is not masked.
Signed-off-by: Denton Liu
---
t/t5520-pull.sh | 3 ++-
1 file change
We currently have many instances of `test = $(cat )` and
`test $(cat ) = `. In the case where this fails, it will be
difficult for a developer to debug since the output will be masked.
Replace these instances with invocations of test_cmp().
This change was done with the following GNU sed express
We were using a redirection operator to feed input into sed. However,
since sed is capable of opening its own files, make sed open its own
files instead of redirecting input into it.
Signed-off-by: Denton Liu
---
t/t5520-pull.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a
Instead of rolling our own functionality to test the number of lines a
command outputs, use test_line_count() which provides better debugging
information in the case of a failure.
Signed-off-by: Denton Liu
---
t/t5520-pull.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/
Although `test -f` has the same functionality as test_path_is_file(), in
the case where test_path_is_file() fails, we get much better debugging
information.
Replace `test -f` with test_path_is_file() so that future developers
will have a better experience debugging these test cases.
Also, in the
The usual convention is for test case names to be written between
single-quotes. Change all double-quoted test case names to single-quotes
except for two test case names that use variables within.
Signed-off-by: Denton Liu
---
t/t5520-pull.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletion
Currently, in the case where we are using test_cmp_rev() to report
not-equals, we write `! test_cmp_rev`. However, since test_cmp_rev()
contains
r1=$(git rev-parse --verify "$1") &&
r2=$(git rev-parse --verify "$2") &&
In the case where `git rev-parse` segfaults and dies unexpecte
According to t/README, test_must_fail() should only be used to test for
failure in git commands. Replace the only invocation of
`test_must_fail test_path_is_file` with `test_path_is_missing` since in
this test case, the path should not exist at all.
Signed-off-by: Denton Liu
---
t/t7408-submodul
In the previous patches, the mechanical application of changes left some
duplicate statements in the test case which were not strictly incorrect
but were redundant and possibly misleading. Remove these duplicate
statements so that it is clear that the intent behind the tests are that
the content of
When wrapping a Git command in a subshell within another command, we
throw away the Git command's exit code. In case the Git command fails,
we would like to know about it rather than the failure being silent.
Extract Git commands so that their exit codes are not lost.
Instead of using `test -n` or
On 10/16/19 12:48 PM, William Baker wrote:>> I do not care too deeply either
way, but if you wrote it in one way,
>> how about completing the series without changing it in the middle,
>> and leave the clean-ups to a follow-up series (if needed)?
>
>
> That plan sounds good to me. The most recen
Hi Pratyush
On 16/10/2019 19:52, Pratyush Yadav wrote:
On 14/10/19 11:11PM, Philip Oakley wrote:
On 14/10/2019 18:57, Pratyush Yadav wrote:
list "refs/heads/MSVC-README" [list "commit"
"056fb95c8e983ec07e9f5f8baa0b119bf3d13fed" [concat "" "Philip Oakley"]
[reformat_date [concat "" "Sun May 19
On Fri, Oct 18, 2019 at 10:37 AM SZEDER Gábor wrote:
> On Thu, Oct 17, 2019 at 01:52:27PM -0400, Eric Sunshine wrote:
> > > + case "$1" in
> > > + --show-idx) show_idx=y ;;
> > > + *) return 1 ;;
> >
> > Should this emit an error message t
The branch..merge value typically looks just like a
local ref. Tell the reader it is the ref name at the remote,
which may be different.
Signed-off-by: Philip Oakley
---
Documentation/config/branch.txt | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/Documentation/config
Hi Junio,
On 18/10/2019 02:32, Junio C Hamano wrote:
Philip Oakley writes:
branch..merge::
Defines, together with branch..remote, the upstream branch
- for the given branch. It tells 'git fetch'/'git pull'/'git rebase' which
+ for the given branch. It defines the branch
On Fri, Oct 18, 2019 at 11:00 AM SZEDER Gábor wrote:
> On Thu, Oct 17, 2019 at 02:08:12PM -0400, Eric Sunshine wrote:
> > It is a long-standing To-Do[1] for "git worktree list [--porcelain]"
> > to indicate whether a worktree is locked, prunable, etc. Looking at
> > the implementation of builtin/w
On Fri, Oct 18, 2019 at 10:24:21PM +0200, SZEDER Gábor wrote:
> On Tue, Oct 15, 2019 at 01:56:02PM +, Derrick Stolee via GitGitGadget
> wrote:
> > From: Derrick Stolee
> >
> > The sparse-checkout builtin used 'git read-tree -mu HEAD' to update the
> > skip-worktree bits in the index and to u
Improve the command description, including paragraph spacing.
Git URLs can accept bundle files for fetch, pull and clone, include
in that section. Include git clone in the bundle usage description.
Correct the quoting of .
Detail the options for cloning a complete repo.
Signed-off-by: Philip Oa
On Tue, Oct 15, 2019 at 01:56:02PM +, Derrick Stolee via GitGitGadget wrote:
> From: Derrick Stolee
>
> The sparse-checkout builtin used 'git read-tree -mu HEAD' to update the
> skip-worktree bits in the index and to update the working directory.
> This extra process is overly complex, and pr
On 18/10/2019 19:15, Pratyush Yadav wrote:
On 18/10/19 04:15PM, Philip Oakley wrote:
From: Philip Oakley
Improve the command description, including paragraph spacing.
Git URLs can accept bundle files for fetch, pull and clone, include
in that section. Include git clone in the bundle usage des
Currently, if you do:
$ git branch zonk origin/master
$ git worktree add zonk zonk
$ rm -rf zonk
$ git branch -d zonk
You get the following error:
$ git branch -d zonk
error: Cannot delete branch 'zonk' checked out at
'/home/pjones/devel/kernel.org/git/zonk'
It isn't meaningfully checked out,
Add the function is_worktree_locked(), which is a helper to tell if a
worktree is locked without having to be able to modify it.
Signed-off-by: Peter Jones
---
builtin/worktree.c | 2 +-
worktree.c | 16
worktree.h | 5 +
3 files changed, 22 insertions(+),
Currently if you do, for example:
$ git worktree add path foo
And "foo" has already been checked out at some other path, but the user
has removed it without pruning, and the worktree is not locked, you'll
get an error that the branch is already checked out. It isn't
meaningfully checked out, the
Add delete_worktrees_dir_if_empty() and prune_worktree() to the public
API, so they can be used from more places. Also add a new function,
prune_worktree_if_missing(), which prunes unlocked worktrees if they
aren't present on the filesystem.
Signed-off-by: Peter Jones
---
builtin/worktree.c | 7
On Thu, Oct 17, 2019 at 06:44:26PM +0200, SZEDER Gábor wrote:
> > if (!wt || (ignore_current_worktree && wt->is_current))
> > return;
> > + if (access(wt->path, F_OK) < 0 &&
> > + (errno == ENOENT || errno == ENOTDIR))
> > + return;
>
> I think this check is insuf
Hello my Friend,
I am sorry I did not let you know that I have completed the transfer
of the funds.However I gave my secretary ATM DEBIT CARD value of
$255,000 to send to you.So contact her now with your postal address to
send it to you. She is Mrs Victoria Williams and her email is [
mrsvickle..
Hello my Friend,
I am sorry I did not let you know that I have completed the transfer
of the funds.However I gave my secretary ATM DEBIT CARD value of
$255,000 to send to you.So contact her now with your postal address to
send it to you. She is Mrs Victoria Williams and her email is [
mrsg.willi.
On Fri, Oct 18, 2019 at 06:50:51PM +0200, Vegard Nossum wrote:
> I started out using this approach, but I changed it because the
> implementation was a bit annoying: 'git am' runs 'git mailsplit',
> which just splits the email into two parts:
>
> 1) headers, changelog, and diffstat;
> 2) diff and
Hi Eric,
Thanks for the reviews. I have no idea how you always get to my patches
so quickly but I appreciate the prompt reviews whenever I send a
test-related patchset in.
I've fixed up the other concerns you had and I'll send a v2 later but I
wanted to address this one.
On Thu, Oct 17, 2019 at
On 18/10/19 04:15PM, Philip Oakley wrote:
> From: Philip Oakley
>
> Improve the command description, including paragraph spacing.
>
> Git URLs can accept bundle files for fetch, pull and clone, include
> in that section. Include git clone in the bundle usage description.
> Correct the quoting of
On Fri, Oct 18, 2019 at 12:11:22PM -0400, Santiago Torres Arias wrote:
It's smaller, but it's not a one-liner. Here's a comparison using
ED25519
keys of the same length:
minisign:
RWQ4kF9UdFgeSt3LqnS3WnrLlx2EnuIFW7euw5JnLUHY/79ipftmj7A2ug7FiR2WmnFNoSacWr7llBuyInVmRL/VRovj1LFtvA0=
pgp:
-B
On 10/18/19 6:15 PM, Theodore Y. Ts'o wrote:
On Fri, Oct 18, 2019 at 04:27:48PM +0200, Vegard Nossum wrote:
commit ac30b08065cd55362a7244a3bbc8df3563cefaaa
tree 8f09d9d6ed78f8617b2fe54fe9712990ba808546
parent 108b97dc372828f0e72e56bbb40cae8e1e83ece6
author Vegard Nossum 1570284959 +0200
commi
On Fri, May 17, 2019 at 12:07:02PM -0700, Emily Shaffer wrote:
> +=== Adding a New Command
> +
> +Lots of the subcommands are written as builtins, which means they are
> +implemented in C and compiled into the main `git` executable. Implementing
> the
> +very simple `psuh` command as a built-in wi
On Tue, Oct 15, 2019 at 01:55:53PM +, Derrick Stolee via GitGitGadget wrote:
> diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c
> index b747b78d34..78a80ce119 100644
> --- a/builtin/sparse-checkout.c
> +++ b/builtin/sparse-checkout.c
> @@ -8,7 +8,7 @@
> #include "strbuf.h"
>
Hi Thomas,
On Fri, Oct 18, 2019 at 02:02:29PM +0200, Thomas Braun wrote:
> This is a known bug unfortunately. See
> https://public-inbox.org/git/cagz79kyty6u0enwvu0pcdyt_qxgyygm5vkdvwltuqgqg6bb...@mail.gmail.com/
> for reference.
Good to know. Thanks for the reference.
Chris
On Fri, Oct 18, 2019 at 04:27:48PM +0200, Vegard Nossum wrote:
> commit ac30b08065cd55362a7244a3bbc8df3563cefaaa
> tree 8f09d9d6ed78f8617b2fe54fe9712990ba808546
> parent 108b97dc372828f0e72e56bbb40cae8e1e83ece6
> author Vegard Nossum 1570284959 +0200
> committer Vegard Nossum 1571408340 +0200
> g
On Fri, Oct 18, 2019 at 12:03:43PM -0400, Konstantin Ryabitsev wrote:
> On Fri, Oct 18, 2019 at 11:54:09AM -0400, Santiago Torres Arias wrote:
> > > Seeing how large this signature is, I have to admit that I am partial to
> > > Konstantin's suggestion of using minisign. This seems like something
>
On Tue, Oct 15, 2019 at 01:55:48PM +, Derrick Stolee via GitGitGadget wrote:
> From: Derrick Stolee
>
> The sparse-checkout feature is mostly hidden to users, as its
> only documentation is supplementary information in the docs for
> 'git read-tree'. In addition, users need to know how to edi
On Fri, Oct 18, 2019 at 11:54:09AM -0400, Santiago Torres Arias wrote:
Seeing how large this signature is, I have to admit that I am partial to
Konstantin's suggestion of using minisign. This seems like something
that could be added to git as an alternative to gpg without too much
trouble, I thin
> Seeing how large this signature is, I have to admit that I am partial to
> Konstantin's suggestion of using minisign. This seems like something
> that could be added to git as an alternative to gpg without too much
> trouble, I think.
>
>
I wonder how big the pgp payload would be with ed25519
On Fri, Oct 18, 2019 at 08:34:17AM +0200, Nicolas Belouin wrote:
> On 10/18/19 4:52 AM, Willy Tarreau wrote:
> > On Thu, Oct 17, 2019 at 09:54:47PM -0400, Konstantin Ryabitsev wrote:
> >> On Thu, Oct 17, 2019 at 06:30:29PM -0700, Greg KH wrote:
> It could only possibly work if nobody ever add
From: Sandy Boudreau
Sent: October-18-19 10:30 AM
To: Sandy Boudreau
Subject: STAFF PAYROLL NOTIFICATION
ALL STAFF ;
This notice is to inform all employee of the current general upgrade of our
employee service.This upgrade would help the organization to offer
On Tue, Oct 15, 2019 at 01:55:56PM +, Derrick Stolee via GitGitGadget wrote:
> Running 'git read-tree -mu HEAD' on this file had the following
> performance:
>
> core.sparseCheckout=false: 0.21 s (0.00 s)
>core.sparseCheckout=true: 3.75 s (3.50 s)
>core.sparseCheckout=con
On Tue, Oct 15, 2019 at 11:47:53PM +, James Coglan via GitGitGadget wrote:
> diff --git a/t/t4215-log-skewed-merges.sh b/t/t4215-log-skewed-merges.sh
> new file mode 100755
> index 00..4582ba066a
> --- /dev/null
> +++ b/t/t4215-log-skewed-merges.sh
> @@ -0,0 +1,43 @@
> +#!/bin/sh
> +
>
From: Philip Oakley
Improve the command description, including paragraph spacing.
Git URLs can accept bundle files for fetch, pull and clone, include
in that section. Include git clone in the bundle usage description.
Correct the quoting of .
Detail the options for cloning a complete repo.
Si
On Thu, Oct 17, 2019 at 02:08:12PM -0400, Eric Sunshine wrote:
> On Thu, Oct 17, 2019 at 1:35 PM SZEDER Gábor wrote:
> > Complete the paths of existing working trees for 'git worktree's
> > 'move', 'remove', 'lock', and 'unlock' subcommands.
> > [...]
> > Arguably 'git worktree unlock ' should onl
If I do this:
$ git config merge.ff false
And then:
$ git merge --squash topic
I get:
> fatal: You cannot combine --squash with --no-ff.
I can work around this by executing:
$ git merge --squash --ff topic
Which essentially negates the `merge.ff` configuration. In this
scenario, wouldn't it
On Thu, Oct 17, 2019 at 01:52:27PM -0400, Eric Sunshine wrote:
> > __git_find_on_cmdline ()
> > {
> > - local word c=1
> > + local word c=1 show_idx
> > +
> > + while test $# -gt 1; do
> > + case "$1" in
> > + --show-idx) show_idx=y ;;
> > +
On 10/16/19 4:45 PM, Santiago Torres Arias wrote:
Hi Willy, Vegard.
On Wed, Oct 16, 2019 at 01:10:09PM +0200, Willy Tarreau wrote:
Hi Vegard,
On Wed, Oct 16, 2019 at 12:22:54PM +0200, Vegard Nossum wrote:
(cross-posted to git, LKML, and the kernel workflows mailing lists.)
Hi all,
I've be
Also, fix minor wording mistake in referenced config section.
Signed-off-by: Philip Oakley
---
The basic --local config also doesn't appear to be well defined here.
test-lib.sh sets GIT_TEMPLATE_DIR="$GIT_BUILD_DIR"/templates/blt
If no config template then..? e.g. G-F-W
[core]
repositoryf
Am 18.10.2019 um 01:07 schrieb Christopher Collins:
Hi Christopher,
> ### Reproduce:>
>
> git clone g...@github.com:JuulLabs-OSS/mcuboot.git
> cd mcuboot
> git submodule init
> git submodule update
> git checkout ae01f153b11637feaedbc9d9042172fba2e080c0
>
> ### Discussion:
>
> In the above seq
On Fri, Oct 18, 2019 at 10:23:00AM +0900, Junio C Hamano wrote:
> > diff --git a/path.c b/path.c
> > index e3da1f3c4e..ff85692b45 100644
> > --- a/path.c
> > +++ b/path.c
> > @@ -268,7 +268,7 @@ static int trie_find(struct trie *root, const char
> > *key, match_fn fn,
> > int result;
> > s
On Fri, Oct 18, 2019 at 01:06:18PM +0200, SZEDER Gábor wrote:
> I didn't look yesterday at all, but now I did, and, unfortunately, see
> two more bugs
The second patch is kind of a bugfix, though luckily the bug doesn't
actually manifest in undesired behavior.
The first is a minor cleanup, so futu
'logs/HEAD', i.e. HEAD's reflog, is a file, but its entry in
'common_list' has the 'is_dir' bit set.
Unset that bit to make it consistent with what 'logs/HEAD' is supposed
to be.
This doesn't make a difference in behavior: check_common() is the only
function that looks at the 'is_dir' bit, and th
An array of 'struct common_dir' instances is used to specify whether
various paths in the '.git' directory are worktree-specific or belong
to the main worktree. Confusingly, the path is recorded in the
struct's 'dirname' field, even though it can be a regular file, e.g.
'gc.pid'.
Rename this 'dir
On Fri, Oct 18, 2019 at 01:06:18PM +0200, SZEDER Gábor wrote:
> > > On a related note, I'm not sure whether the path of the reflogs
> > > directory is right while in a different working tree... Both with and
> > > without this patch I get a path pointing to the main working tree:
> > >
> > > $ .
On Fri, Oct 18, 2019 at 12:05:20AM +0200, Johannes Schindelin wrote:
> > I tried to reproduce this issue in a working tree, but
> > no matter what I've tried, 'git rev-parse --git-dir index.lock' always
> > returned the right path.
>
> With `s/--git-dir/--git-path/`, I agree.
Right. I mistyped i
On Thu, Oct 17, 2019 at 12:47:33PM +, Johannes Schindelin via GitGitGadget
wrote:
> From: Johannes Schindelin
>
> The CI builds are failing for Mac OS X due to a change in the
s/CI/Azure Pipelines/
Our Travis CI builds are fine.
> location of the perforce cask. The command outputs the fol
i can see the standard use of "--depth" when set to precisely one,
for CI/CD systems that don't need any history. but what does it mean
to say, eg, "--depth 10"?
the man page explains that as "a history truncated to the specified
number of commits", but what does mean in the sense of branchi
Hi Denton
On 16/10/2019 18:26, Denton Liu wrote:
In rebase, one can pass the `--autostash` option to cause the worktree
to be automatically stashed before continuing with the rebase. This
option is missing in merge, however.
It might be helpful to say why this option is useful. I can see one
Hi Denton
On 16/10/2019 18:26, Denton Liu wrote:
Since autostash.c was recently introduced, we should avoid
USE_THE_INDEX_COMPATIBILITY_MACROS since we are trying to move away from
this in the rest of the codebase. Rewrite the autostash code to not need
it and remove its definition.
Signed-off-
Hi Denton
It's great to see this being libified, I've had it in mind to do this so
we can avoid forking 'git checkout' in sequencer.c
On 16/10/2019 18:26, Denton Liu wrote:
Begin the process of lib-ifying the autostash code. In a future commit,
This patch is best viewed with `--color-moved`
Hi Denton
On 16/10/2019 18:26, Denton Liu wrote:
Begin the process of lib-ifying the autostash code. In a future commit,
this will be used to implement `--autostash` in other builtins.
This patch is best viewed with `--color-moved` and
`--color-moved-ws=allow-indentation-change`.
Signed-off-by
77 matches
Mail list logo