--shallow-exclude commit list is offsetted one commit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



What did you do before the bug happened? (Steps to reproduce your issue)
git clone -b A --shallow-exclude=B


What did you expect to happen? (Expected behavior)
My remote repo looks like this:

  A B   # two branches, A and B
1 |     # commit in A
2 |\    # merge from B to A
3   |   # commit in B
4 |     # commit in A
5 |\    # merge from B to A
6   |   # commit in B

A and B are branches. 1 is a commit in A, 2 is a merge from B to A etc.

I would have expected the following repo as a result

  A
1 |
2 |
4 |
5 |

I would also have expected a shallow file with the following commits in .git:
3
6

What happened instead? (Actual behavior)

When I run the command I get a repo like this:

  A
1 |

I also get a shallow file in .git with the following commit list
2
5

What's different between what you expected and what actually happened?
The commit list in the shallow file is offsetted one commit.
he consequence of that is that not only B is excluded but also
everything in A that depends on B

Anything else you want to add:
The result is the same if I use the git fetch --shallow-exclude

Please review the rest of the bug report below.
You can delete any lines you don't wish to share.


[System Info]
git version:
git version 2.40.0.windows.1
cpu: x86_64
built from commit: 1d90ca2906dd4b7ddaf0669a13c173ec579d794a
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon
uname: Windows 10.0 22621
compiler info: gnuc: 12.2
libc info: no libc information available
$SHELL (typically, interactive shell): <unset>


[Enabled Hooks]
not run from a git repository - no hooks to show



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux