[PATCH v4 03/28] send-pack: forbid pushing from a shallow repository
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Dec 5, 2013, 13:02 UTC
- Message-ID
- <1386248575-10206-4-git-send-email-pclouds@gmail.com>
- In-Reply-To
- <1386248575-10206-1-git-send-email-pclouds@gmail.com>
send-pack can send a pack with loose ends to the server. receive-pack before 6d4bb38 (fetch: verify we have everything we need before updating our ref - 2011-09-01) does not detect this and keeps the pack anyway, which corrupts the repository, at least from fsck point of view.
send-pack will learn to safely push from a shallow repository later.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> --- builtin/send-pack.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/builtin/send-pack.c b/builtin/send-pack.c index faaa603..961df04 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c @@ -208,6 +208,9 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix) (send_all && args.send_mirror)) usage(send_pack_usage); + if (is_repository_shallow()) + die("attempt to push from a shallow repository"); + if (remote_name) { remote = remote_get(remote_name); if (!remote_has_url(remote, dest)) {
-- 1.8.5.1.25.g8667982