From: "McRoberts, John" <John.McRoberts@ga.com>
To: Elijah Newren <newren@gmail.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: RE: -EXT-Re: Problem with git diff
Date: Tue, 9 Jul 2019 23:26:57 +0000 [thread overview]
Message-ID: <67b7d1d35bf14f56865b91410b6fc0ec@ASGEXCPWP07.ga.com> (raw)
In-Reply-To: <CABPp-BE1fQs99ipi9Y8gfQO3QHkxzQhn1uriEbj6YjdYH839eQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4823 bytes --]
Actually, I was actually using git log (not git diff... sorry for the mistake)
because I also mine other information I(dates, author, summary, etc)
'git log -m --first-parent --pretty=fuller --decorate=short --name-only
REL1..REL2'
That being said, I can work with the git diff output to filter out the
irrelevant info. I would still be curious about whether this is a valid use
of git log.
Thanks,
Jack McRoberts
Configuration Management Software Specialist
General Atomics EMS Group
Work Phone: 858-522-8342
16969 Mesamint St, Room 86-1023G,
San Diego, CA 92127
************************************************************************
CONFIDENTIALITY NOTICE: This communication is intended to be confidential to
the
person(s) to whom it is addressed. If you are not the intended recipient or
the agent of the
intended recipient or if you are unable to deliver this communication to the
intended
recipient, you must not read, use or disseminate this information. If you
have received this
communication in error, please advise the sender immediately by telephone and
delete
this message and any attachments without retaining a copy.
**************************************************************************
-----Original Message-----
From: Elijah Newren <newren@gmail.com>
Sent: Tuesday, July 9, 2019 4:13 PM
To: McRoberts, John <John.McRoberts@ga.com>
Cc: git@vger.kernel.org
Subject: -EXT-Re: Problem with git diff
WARNING: This message is from an external source. Evaluate the message
carefully BEFORE clicking on links or opening attachments.
Hi John,
On Tue, Jul 9, 2019 at 3:57 PM McRoberts, John <John.McRoberts@ga.com> wrote:
>
> I am responsible for generating a list of all files changed between
> two successive releases of software. I was using 'git diff' but have
> run into a problem.
>
> Consider the following situation: A development branch comes off of
> commit A and files are changed three times. A tag (REL1) is placed on
> the third commit. Then the branch is merged back to master. At this
> point, master's HEAD is at C (and it remains there). Two development
> branches are created off of master, the first of which is not
> important here. In the second one, there are files changed and a tag (REL2)
> applied.
>
>
> ---------------------[I]
>
> / {dev branch}
>
> /
>
> /
> {master branch}
> /
> [A]
> ---------------------------------[B]------------------------------->[C
> ]
> master <HEAD>
> \ filelist 6 / \
> \ /
> \
> \ /
> \
> \ /
> \
> \ {development branch} /
> \
> \------->[D]----------------------->[E]-------------------[F]
> \------[G]--------[H]
> REL1
> REL2
> fileset 1 fileset 2 fileset 3
> fileset 4 fileset 5
>
> At this point, I run
> 'git diff -m --first-parent --pretty=fuller --decorate=short
> --name-only REL2..REL2'
Wow, we really, really need to throw errors and warnings when people use crazy
range operators with diff.[1][2] What version of git are you using that
accepts --decorate=short as an argument to `git diff`?
And why in the world does git diff accept --first-parent or --pretty=fuller?!?
That's insane for git-diff to swallow that.
(#leftoverbits?) Also, I think you meant `REL1` one of the two times you
wrote `REL2`, which makes me suspect you may have done some copy-edit-paste
and didn't try this actual command.
> I expect to see only filesets 4 and 5 listed. I also see filesets 1,
> 2 and
> 3 showing up. This means that the git diff command is showing files
> that,in fact, did not change between the two tags. By the way, I
> verified with a file by file comparison that under REL2 and REL1, the
> files represented by filesets 1, 2 and 3 had identical contents.
From your description, I assume you actually ran something like
git diff --name-only REL1..REL2
which compares REL2 to the merge base of REL1 and REL2 (yes, this is totally
counter-intuitive to a large percentage of the git userbase, but it is well
documented and hard to change). Also from your description, what you seem to
want is
git diff --name-only REL1 REL2
since you want to compare the two endpoints. Does that help get what you
want?
Hope that helps,
Elijah
[1]
https://public-inbox.org/git/CABPp-BECj___HneAYviE3SB=wU6OTcBi3S=+Un1sP6L4WJ7agA@mail.gmail.com/
[2]
https://public-inbox.org/git/CABPp-BGg_iSx3QMc-J4Fov97v9NnAtfxZGMrm3WfrGugOThjmA@mail.gmail.com/
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 7316 bytes --]
next prev parent reply other threads:[~2019-07-09 23:36 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-09 22:09 Problem with git diff McRoberts, John
2019-07-09 23:13 ` Elijah Newren
2019-07-09 23:26 ` McRoberts, John [this message]
2019-07-09 23:29 ` Bryan Turner
2019-07-09 23:35 ` Elijah Newren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=67b7d1d35bf14f56865b91410b6fc0ec@ASGEXCPWP07.ga.com \
--to=john.mcroberts@ga.com \
--cc=git@vger.kernel.org \
--cc=newren@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).