bug: --shallow-since misbehaves on old branch heads
- From
Andreas Krey <a.krey@gmx.de>
- Date
- May 22, 2018, 19:48 UTC
- Message-ID
- <20180522194854.GA29564@inner.h.apk.li>
Hi everybody,
I think I have discovered a problem with clone/fetch --shallow-since: When a ref that is fetches has a head that is already older than the 'since' time, then the entire branch is fetched, instead of just the current commit.
Repro:
rm -rf tmp out deep
git init tmp
for i in `seq 10 31`; do
d="2017-05-${i}T12:00"
GIT_AUTOR_DATE="$d" GIT_COMMITTER_DATE="$d" git -C tmp commit -m nix$i --allow-empty
done
git -C tmp checkout -b test HEAD^^^
for i in `seq 10 14`; do
d="2017-06-${i}T12:00"
GIT_AUTHOR_DATE="$d" GIT_COMMITTER_DATE="$d" git -C tmp commit -m nax$i --allow-empty
done
for i in `seq 1 4`; do
git -C tmp commit -m new$i --allow-empty
doneecho "** This is fine:"
git clone --shallow-since '1 month ago' file://`pwd`/tmp out --branch test git -C out log --oneline
echo "** This should show one commit but shows all:"
git clone --shallow-since '1 month ago' file://`pwd`/tmp deep --branch master git -C deep log --oneline
Do I expect the wrong thing?
- Andreas
-- "Totally trivial. Famous last words." From: Linus Torvalds <torvalds@*.org> Date: Fri, 22 Jan 2010 07:29:21 -0800